4 * Definitions of TheoraEncoder data structures.
7 * Copyright (c) 2006 Arek Korbik
9 * This file is part of XiphQT, the Xiph QuickTime Components.
11 * XiphQT is free software; you can redistribute it and/or
12 * modify it under the terms of the GNU Lesser General Public
13 * License as published by the Free Software Foundation; either
14 * version 2.1 of the License, or (at your option) any later version.
16 * XiphQT is distributed in the hope that it will be useful,
17 * but WITHOUT ANY WARRANTY; without even the implied warranty of
18 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19 * Lesser General Public License for more details.
21 * You should have received a copy of the GNU Lesser General Public
22 * License along with XiphQT; if not, write to the Free Software
23 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
31 #if !defined(__encoder_types_h__)
32 #define __encoder_types_h__
34 #if defined(__APPLE_CC__)
35 #include <QuickTime/QuickTime.h>
37 #include <QuickTimeComponents.h>
39 #if defined(TARGET_OS_WIN32)
43 #endif /* __APPLE_CC__ */
45 #if defined(__APPLE_CC__)
46 #include <Theora/theora.h>
49 #endif /* __APPLE_CC__ */
53 //const UInt8 kNumPixelFormatsSupported = 2;
54 //const UInt32 kPacketBufferAllocIncrement = 64 * 1024;
58 ComponentInstance self
;
59 ComponentInstance target
;
61 ICMCompressorSessionRef session
;
62 ICMCompressionSessionOptionsRef sessionOptions
;
68 Boolean info_initialised
;
71 /* packet buffer information */
78 size_t maxEncodedDataSize
;
81 //struct InternalPixelBuffer currentFrame;
84 UInt32 yuv_buffer_size
;
86 /* ========================= */
87 int keyFrameCountDown
;
89 /* ======= settings ======== */
98 } TheoraGlobals
, *TheoraGlobalsPtr
;
100 #endif /* __decoder_types_h__ */