annotate loader/qtx/qtxsdk/components.h @ 34993:07b7e8355049

Pass in NULL as handle to parent or owner window. It's counter-intuitive to pass in the handle that is being created, although its value is NULL as well. Patch in part by Stephen Sheldon, sfsheldo gmail com.
author ib
date Wed, 15 Aug 2012 12:10:42 +0000
parents 25667edae85c
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25587
diff changeset
1 #ifndef MPLAYER_COMPONENTS_H
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25587
diff changeset
2 #define MPLAYER_COMPONENTS_H
25553
6ac1ece1f9fe Add multiple inclusion guards to all header files that lack them.
diego
parents: 13809
diff changeset
3
25587
938ad61247d5 Add missing #include so that the header works standalone.
diego
parents: 25553
diff changeset
4 #include <inttypes.h>
938ad61247d5 Add missing #include so that the header works standalone.
diego
parents: 25553
diff changeset
5
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
6 // Basic types:
e331fefb520e some more...
arpi
parents: 2797
diff changeset
7
e331fefb520e some more...
arpi
parents: 2797
diff changeset
8 typedef char * Ptr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
9 typedef Ptr * Handle;
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
10 typedef int32_t Size;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
11 typedef unsigned char Boolean;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
12 typedef unsigned char Str31[32];
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
13 typedef int32_t Fixed;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
14
30812
4c3685b029f7 Fix QuickTime emulated OSErr type.
sesse
parents: 29263
diff changeset
15 typedef int16_t OSErr;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
16 typedef int OSType;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
17
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
18 typedef int32_t ComponentResult;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
19 typedef unsigned char UInt8;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
20 typedef signed char SInt8;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
21 typedef unsigned short UInt16;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
22 typedef signed short SInt16;
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
23 typedef uint32_t UInt32;
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
24 typedef int32_t SInt32;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
25
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
26 #define FOUR_CHAR_CODE(a,b,c,d) ((uint32_t)(a)<<24 | (uint32_t)(b)<<16 | (uint32_t)(c)<<8 | (uint32_t)(d)) /* otherwise compiler will complain about values with high bit set */
2501
alex
parents:
diff changeset
27
2797
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
28 // codec private shit:
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
29 typedef void *GlobalsPtr;
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
30 typedef void **Globals;
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
31
30857
77ce62f13d42 Use the high-level QuickTime decoding APIs (DecompressSequenceFrameS and
sesse
parents: 30823
diff changeset
32 enum {
77ce62f13d42 Use the high-level QuickTime decoding APIs (DecompressSequenceFrameS and
sesse
parents: 30823
diff changeset
33 kInitializeQTMLNoSoundFlag = (1L << 0),
77ce62f13d42 Use the high-level QuickTime decoding APIs (DecompressSequenceFrameS and
sesse
parents: 30823
diff changeset
34 kInitializeQTMLUseGDIFlag = (1L << 1),
77ce62f13d42 Use the high-level QuickTime decoding APIs (DecompressSequenceFrameS and
sesse
parents: 30823
diff changeset
35 kInitializeQTMLDisableDirectSound = (1L << 2),
77ce62f13d42 Use the high-level QuickTime decoding APIs (DecompressSequenceFrameS and
sesse
parents: 30823
diff changeset
36 kInitializeQTMLUseExclusiveFullScreenModeFlag = (1L << 3),
77ce62f13d42 Use the high-level QuickTime decoding APIs (DecompressSequenceFrameS and
sesse
parents: 30823
diff changeset
37 kInitializeQTMLDisableDDClippers = (1L << 4)
77ce62f13d42 Use the high-level QuickTime decoding APIs (DecompressSequenceFrameS and
sesse
parents: 30823
diff changeset
38 };
77ce62f13d42 Use the high-level QuickTime decoding APIs (DecompressSequenceFrameS and
sesse
parents: 30823
diff changeset
39
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
40 //==================== COMPONENTS ===========================
2797
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
41
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
42 struct __attribute__((__packed__)) ComponentParameters {
2797
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
43 UInt8 flags; /* call modifiers: sync/async, deferred, immed, etc */
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
44 UInt8 paramSize; /* size in bytes of actual parameters passed to this call */
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
45 short what; /* routine selector, negative for Component management calls */
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
46 int32_t params[1]; /* actual parameters for the indicated routine */
2797
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
47 };
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
48 typedef struct ComponentParameters ComponentParameters;
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
49
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
50
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
51 struct __attribute__((__packed__)) ComponentDescription {
2797
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
52 OSType componentType; /* A unique 4-byte code indentifying the command set */
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
53 OSType componentSubType; /* Particular flavor of this instance */
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
54 OSType componentManufacturer; /* Vendor indentification */
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
55 uint32_t componentFlags; /* 8 each for Component,Type,SubType,Manuf/revision */
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
56 uint32_t componentFlagsMask; /* Mask for specifying which flags to consider in search, zero during registration */
2797
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
57 };
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
58 typedef struct ComponentDescription ComponentDescription;
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
59
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
60
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
61 struct __attribute__((__packed__)) ResourceSpec {
2797
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
62 OSType resType; /* 4-byte code */
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
63 short resID; /* */
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
64 };
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
65 typedef struct ResourceSpec ResourceSpec;
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
66
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
67
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
68 struct __attribute__((__packed__)) ComponentResource {
2797
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
69 ComponentDescription cd; /* Registration parameters */
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
70 ResourceSpec component; /* resource where Component code is found */
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
71 ResourceSpec componentName; /* name string resource */
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
72 ResourceSpec componentInfo; /* info string resource */
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
73 ResourceSpec componentIcon; /* icon resource */
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
74 };
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
75 typedef struct ComponentResource ComponentResource;
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
76 typedef ComponentResource * ComponentResourcePtr;
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
77 typedef ComponentResourcePtr * ComponentResourceHandle;
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
78
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
79
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
80 struct __attribute__((__packed__)) ComponentRecord {
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
81 int32_t data[1];
2797
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
82 };
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
83 typedef struct ComponentRecord ComponentRecord;
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
84 typedef ComponentRecord * Component;
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
85
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
86
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
87 struct __attribute__((__packed__)) ComponentInstanceRecord {
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
88 int32_t data[1];
2797
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
89 };
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
90 typedef struct ComponentInstanceRecord ComponentInstanceRecord;
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
91
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
92 typedef ComponentInstanceRecord * ComponentInstance;
4c9966c2b2ed updated
arpi
parents: 2776
diff changeset
93
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
94 // ========================= QUICKDRAW =========================
e331fefb520e some more...
arpi
parents: 2797
diff changeset
95
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
96 struct __attribute__((__packed__)) Rect {
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
97 short top;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
98 short left;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
99 short bottom;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
100 short right;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
101 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
102 typedef struct Rect Rect;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
103 typedef Rect * RectPtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
104
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
105 struct __attribute__((__packed__)) RGBColor {
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
106 unsigned short red; /*magnitude of red component*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
107 unsigned short green; /*magnitude of green component*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
108 unsigned short blue; /*magnitude of blue component*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
109 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
110 typedef struct RGBColor RGBColor;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
111 typedef RGBColor * RGBColorPtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
112 typedef RGBColorPtr * RGBColorHdl;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
113
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
114 struct __attribute__((__packed__)) ColorSpec {
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
115 short value; /*index or other value*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
116 RGBColor rgb; /*true color*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
117 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
118 typedef struct ColorSpec ColorSpec;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
119 typedef ColorSpec * ColorSpecPtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
120 typedef ColorSpec CSpecArray[1];
e331fefb520e some more...
arpi
parents: 2797
diff changeset
121
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
122 struct __attribute__((__packed__)) ColorTable {
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
123 int32_t ctSeed; /*unique identifier for table*/
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
124 short ctFlags; /*high bit: 0 = PixMap; 1 = device*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
125 short ctSize; /*number of entries in CTTable*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
126 CSpecArray ctTable; /*array [0..0] of ColorSpec*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
127 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
128 typedef struct ColorTable ColorTable;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
129 typedef ColorTable * CTabPtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
130 typedef CTabPtr * CTabHandle;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
131
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
132 struct __attribute__((__packed__)) MatrixRecord {
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
133 Fixed matrix[3][3];
e331fefb520e some more...
arpi
parents: 2797
diff changeset
134 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
135 typedef struct MatrixRecord MatrixRecord;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
136 typedef MatrixRecord * MatrixRecordPtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
137
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
138 typedef int32_t ImageSequence;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
139 typedef OSType CodecType;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
140 typedef unsigned short CodecFlags;
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
141 typedef uint32_t CodecQ;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
142
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
143 struct __attribute__((__packed__)) ImageDescription {
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
144 int32_t idSize; /* total size of ImageDescription including extra data ( CLUTs and other per sequence data ) */
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
145 CodecType cType; /* what kind of codec compressed this data */
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
146 int32_t resvd1; /* reserved for Apple use */
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
147 short resvd2; /* reserved for Apple use */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
148 short dataRefIndex; /* set to zero */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
149 short version; /* which version is this data */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
150 short revisionLevel; /* what version of that codec did this */
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
151 int32_t vendor; /* whose codec compressed this data */
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
152 CodecQ temporalQuality; /* what was the temporal quality factor */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
153 CodecQ spatialQuality; /* what was the spatial quality factor */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
154 short width; /* how many pixels wide is this data */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
155 short height; /* how many pixels high is this data */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
156 Fixed hRes; /* horizontal resolution */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
157 Fixed vRes; /* vertical resolution */
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
158 int32_t dataSize; /* if known, the size of data for this image descriptor */
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
159 short frameCount; /* number of frames this description applies to */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
160 Str31 name; /* name of codec ( in case not installed ) */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
161 short depth; /* what depth is this data (1-32) or ( 33-40 grayscale ) */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
162 short clutID; /* clut id or if 0 clut follows or -1 if no clut */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
163 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
164 typedef struct ImageDescription ImageDescription;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
165 typedef ImageDescription * ImageDescriptionPtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
166 typedef ImageDescriptionPtr * ImageDescriptionHandle;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
167
e331fefb520e some more...
arpi
parents: 2797
diff changeset
168 /* values for PixMap.pixelFormat*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
169 enum {
11412
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
170 k16LE555PixelFormat = FOUR_CHAR_CODE('L','5','5','5'), /* 16 bit LE rgb 555 (PC)*/
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
171 k16LE5551PixelFormat = FOUR_CHAR_CODE('5','5','5','1'), /* 16 bit LE rgb 5551*/
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
172 k16BE565PixelFormat = FOUR_CHAR_CODE('B','5','6','5'), /* 16 bit BE rgb 565*/
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
173 k16LE565PixelFormat = FOUR_CHAR_CODE('L','5','6','5'), /* 16 bit LE rgb 565*/
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
174 k24BGRPixelFormat = FOUR_CHAR_CODE('2','4','B','G'), /* 24 bit bgr */
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
175 k32BGRAPixelFormat = FOUR_CHAR_CODE('B','G','R','A'), /* 32 bit bgra (Matrox)*/
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
176 k32ABGRPixelFormat = FOUR_CHAR_CODE('A','B','G','R'), /* 32 bit abgr */
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
177 k32RGBAPixelFormat = FOUR_CHAR_CODE('R','G','B','A'), /* 32 bit rgba */
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
178 kYUVSPixelFormat = FOUR_CHAR_CODE('y','u','v','s'), /* YUV 4:2:2 byte ordering 16-unsigned = 'YUY2'*/
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
179 kYUVUPixelFormat = FOUR_CHAR_CODE('y','u','v','u'), /* YUV 4:2:2 byte ordering 16-signed*/
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
180 kYVU9PixelFormat = FOUR_CHAR_CODE('Y','V','U','9'), /* YVU9 Planar 9*/
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
181 kYUV411PixelFormat = FOUR_CHAR_CODE('Y','4','1','1'), /* YUV 4:1:1 Interleaved 16*/
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
182 kYVYU422PixelFormat = FOUR_CHAR_CODE('Y','V','Y','U'), /* YVYU 4:2:2 byte ordering 16*/
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
183 kUYVY422PixelFormat = FOUR_CHAR_CODE('U','Y','V','Y'), /* UYVY 4:2:2 byte ordering 16*/
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
184 kYUV211PixelFormat = FOUR_CHAR_CODE('Y','2','1','1'), /* YUV 2:1:1 Packed 8*/
ec3dac7d17a0 Warning fixes (approved by A'rpi).
rathann
parents: 8470
diff changeset
185 k2vuyPixelFormat = FOUR_CHAR_CODE('2','v','u','y') /* UYVY 4:2:2 byte ordering 16*/
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
186 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
187
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
188 struct __attribute__((__packed__)) PixMapExtension {
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
189 int32_t extSize; /*size of struct, duh!*/
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
190 uint32_t pmBits; /*pixmap attributes bitfield*/
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
191 void * pmGD; /*this is a GDHandle*/
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
192 int32_t pmSeed;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
193 Fixed gammaLevel; /*pixmap gammalevel*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
194 Fixed requestedGammaLevel;
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
195 uint32_t reserved2;
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
196 int32_t longRowBytes; /*used when rowBytes > 16382*/
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
197 uint32_t signature;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
198 Handle baseAddrHandle;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
199 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
200 typedef struct PixMapExtension PixMapExtension;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
201
e331fefb520e some more...
arpi
parents: 2797
diff changeset
202 typedef PixMapExtension * PixMapExtPtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
203 typedef PixMapExtPtr * PixMapExtHandle;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
204
e331fefb520e some more...
arpi
parents: 2797
diff changeset
205
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
206 struct __attribute__((__packed__)) PixMap {
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
207 Ptr baseAddr; /*pointer to pixels*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
208 short rowBytes; /*offset to next line*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
209 Rect bounds; /*encloses bitmap*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
210 short pmVersion; /*pixMap version number*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
211 short packType; /*defines packing format*/
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
212 int32_t packSize; /*length of pixel data*/
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
213 Fixed hRes; /*horiz. resolution (ppi)*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
214 Fixed vRes; /*vert. resolution (ppi)*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
215 short pixelType; /*defines pixel type*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
216 short pixelSize; /*# bits in pixel*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
217 short cmpCount; /*# components in pixel*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
218 short cmpSize; /*# bits per component*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
219 OSType pixelFormat; /*fourCharCode representation*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
220 CTabHandle pmTable; /*color map for this pixMap*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
221 PixMapExtHandle pmExt; /*Handle to pixMap extension*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
222 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
223 typedef struct PixMap PixMap;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
224 typedef PixMap * PixMapPtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
225 typedef PixMapPtr * PixMapHandle;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
226
e331fefb520e some more...
arpi
parents: 2797
diff changeset
227
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
228 struct __attribute__((__packed__)) BitMap {
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
229 Ptr baseAddr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
230 short rowBytes;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
231 Rect bounds;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
232 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
233 typedef struct BitMap BitMap;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
234 typedef BitMap * BitMapPtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
235 typedef BitMapPtr * BitMapHandle;
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
236 typedef struct OpaqueRgnHandle* RgnHandle;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
237
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
238 struct Pattern {
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
239 UInt8 pat[8];
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
240 };
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
241 typedef struct Pattern Pattern;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
242 typedef unsigned char Style;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
243 typedef Style StyleField;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
244 struct __attribute__((__packed__)) Point {
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
245 short v;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
246 short h;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
247 };
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
248 typedef struct Point Point;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
249 struct __attribute__((__packed__)) GrafPort {
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
250 short device;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
251 BitMap portBits;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
252 Rect portRect;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
253 RgnHandle visRgn;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
254 RgnHandle clipRgn;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
255 Pattern bkPat;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
256 Pattern fillPat;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
257 Point pnLoc;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
258 Point pnSize;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
259 short pnMode;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
260 Pattern pnPat;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
261 short pnVis;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
262 short txFont;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
263 StyleField txFace; /*StyleField occupies 16-bits, but only first 8-bits are used*/
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
264 UInt8 txFlags; /* QuickTime uses second 8 bits of StyleField for txFlags */
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
265 short txMode;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
266 short txSize;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
267 Fixed spExtra;
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
268 int32_t fgColor;
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
269 int32_t bkColor;
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
270 short colrBit;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
271 short patStretch;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
272 Handle picSave;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
273 Handle rgnSave;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
274 Handle polySave;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
275 /*QDProcsPtr*/void* grafProcs;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
276 };
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
277 typedef struct GrafPort GrafPort;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
278 typedef GrafPort *GWorldPtr;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
279 typedef GWorldPtr *GWorldHandle;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
280 #define anyCodec ((CodecComponent)0)
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
281 enum {
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
282 /* transfer modes */
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
283 srcCopy = 0, /*the 16 transfer modes*/
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
284 srcOr = 1,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
285 srcXor = 2,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
286 srcBic = 3,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
287 notSrcCopy = 4,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
288 notSrcOr = 5,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
289 notSrcXor = 6,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
290 notSrcBic = 7,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
291 patCopy = 8,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
292 patOr = 9,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
293 patXor = 10,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
294 patBic = 11,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
295 notPatCopy = 12,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
296 notPatOr = 13,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
297 notPatXor = 14,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
298 notPatBic = 15, /* Special Text Transfer Mode */
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
299 grayishTextOr = 49,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
300 hilitetransfermode = 50,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
301 hilite = 50, /* Arithmetic transfer modes */
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
302 blend = 32,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
303 addPin = 33,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
304 addOver = 34,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
305 subPin = 35,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
306 addMax = 37,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
307 adMax = 37,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
308 subOver = 38,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
309 adMin = 39,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
310 ditherCopy = 64, /* Transparent mode constant */
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
311 transparent = 36
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
312 };
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
313
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
314 typedef uint32_t GWorldFlags;
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
315
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
316
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
317
e331fefb520e some more...
arpi
parents: 2797
diff changeset
318 // ============================== CODECS ===========================
e331fefb520e some more...
arpi
parents: 2797
diff changeset
319
e331fefb520e some more...
arpi
parents: 2797
diff changeset
320 typedef Component CompressorComponent;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
321 typedef Component DecompressorComponent;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
322 typedef Component CodecComponent;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
323
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
324 enum {
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
325 codecLosslessQuality = 0x00000400,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
326 codecMaxQuality = 0x000003FF,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
327 codecMinQuality = 0x00000000,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
328 codecLowQuality = 0x00000100,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
329 codecNormalQuality = 0x00000200,
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
330 codecHighQuality = 0x00000300
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
331 };
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
332
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
333
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
334
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
335 // callbacks:
e331fefb520e some more...
arpi
parents: 2797
diff changeset
336 typedef void* ImageCodecDrawBandCompleteUPP;
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
337 typedef int64_t ICMProgressProcRecord;
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
338 typedef int64_t ICMCompletionProcRecord;
8470
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
339 typedef ICMCompletionProcRecord* ICMCompletionProcRecordPtr;
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
340 typedef int64_t ICMDataProcRecord;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
341 typedef void* ICMFrameTimePtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
342 typedef void* CDSequenceDataSourcePtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
343 typedef void* ICMFrameTimeInfoPtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
344
e331fefb520e some more...
arpi
parents: 2797
diff changeset
345 // graphics port
e331fefb520e some more...
arpi
parents: 2797
diff changeset
346 typedef struct OpaqueGrafPtr* GrafPtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
347 typedef GrafPtr CGrafPtr;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
348
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
349
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
350 /* codec capabilities flags */
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
351 enum {
8470
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
352 codecCanScale = 1L << 0, // 1
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
353 codecCanMask = 1L << 1, // 2
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
354 codecCanMatte = 1L << 2, // 4
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
355 codecCanTransform = 1L << 3, // 8
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
356 codecCanTransferMode = 1L << 4, // 10
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
357 codecCanCopyPrev = 1L << 5, // 20
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
358 codecCanSpool = 1L << 6, // 40
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
359 codecCanClipVertical = 1L << 7, // 80
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
360 codecCanClipRectangular = 1L << 8, // 100
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
361 codecCanRemapColor = 1L << 9, // 200
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
362 codecCanFastDither = 1L << 10, // 400
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
363 codecCanSrcExtract = 1L << 11, // 800
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
364 codecCanCopyPrevComp = 1L << 12, // 1000
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
365 codecCanAsync = 1L << 13, // 2000
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
366 codecCanMakeMask = 1L << 14, // 4000
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
367 codecCanShift = 1L << 15, // 8000
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
368 codecCanAsyncWhen = 1L << 16, // 10000
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
369 codecCanShieldCursor = 1L << 17, // 20000
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
370 codecCanManagePrevBuffer = 1L << 18, // 40000
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
371 codecHasVolatileBuffer = 1L << 19, // 80000 /* codec requires redraw after window movement */
8470
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
372 codecWantsRegionMask = 1L << 20, // 100000
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
373 codecImageBufferIsOnScreen = 1L << 21, // 200000 /* old def of codec using overlay surface, = ( codecIsDirectToScreenOnly | codecUsesOverlaySurface | codecImageBufferIsOverlaySurface | codecSrcMustBeImageBuffer ) */
8470
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
374 codecWantsDestinationPixels = 1L << 22, // 400000
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
375 codecWantsSpecialScaling = 1L << 23, // 800000
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
376 codecHandlesInputs = 1L << 24, // 1000000
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
377 codecCanDoIndirectSurface = 1L << 25, /* codec can handle indirect surface (GDI) */
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
378 codecIsSequenceSensitive = 1L << 26,
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
379 codecRequiresOffscreen = 1L << 27,
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
380 codecRequiresMaskBits = 1L << 28,
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
381 codecCanRemapResolution = 1L << 29,
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
382 codecIsDirectToScreenOnly = 1L << 30, /* codec can only decompress data to the screen */
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
383 codecCanLockSurface = 1L << 31 /* codec can lock destination surface, icm doesn't lock for you */
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
384 };
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
385
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
386 /* codec capabilities flags2 */
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
387 enum {
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
388 codecUsesOverlaySurface = 1L << 0, /* codec uses overlay surface */
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
389 codecImageBufferIsOverlaySurface = 1L << 1, /* codec image buffer is overlay surface, the bits in the buffer are on the screen */
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
390 codecSrcMustBeImageBuffer = 1L << 2, /* codec can only source data from an image buffer */
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
391 codecImageBufferIsInAGPMemory = 1L << 4, /* codec image buffer is in AGP space, byte writes are OK */
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
392 codecImageBufferIsInPCIMemory = 1L << 5 /* codec image buffer is across a PCI bus; byte writes are bad */
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
393 };
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
394
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
395 /* codec condition flags */
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
396 // FFD = 13 = 8+4+1
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
397 enum {
8470
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
398 codecConditionFirstBand = 1L << 0, // 1
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
399 codecConditionLastBand = 1L << 1, // 2
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
400 codecConditionFirstFrame = 1L << 2, // 4
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
401 codecConditionNewDepth = 1L << 3, // 8
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
402 codecConditionNewTransform = 1L << 4, // 10
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
403 codecConditionNewSrcRect = 1L << 5, // 20
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
404 codecConditionNewMask = 1L << 6, // 40
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
405 codecConditionNewMatte = 1L << 7, // 80
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
406 codecConditionNewTransferMode = 1L << 8, // 100
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
407 codecConditionNewClut = 1L << 9, // 200
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
408 codecConditionNewAccuracy = 1L << 10, // 400
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
409 codecConditionNewDestination = 1L << 11, // 800
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
410 codecConditionFirstScreen = 1L << 12, // 1000
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
411 codecConditionDoCursor = 1L << 13, // 2000
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
412 codecConditionCatchUpDiff = 1L << 14, // 4000
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
413 codecConditionMaskMayBeChanged = 1L << 15, // 8000
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
414 codecConditionToBuffer = 1L << 16, // 10000
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
415 codecConditionCodecChangedMask = 1L << 31 // 20000
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
416 };
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
417
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
418
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
419
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
420 struct __attribute__((__packed__)) CodecCapabilities {
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
421 int32_t flags;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
422 short wantedPixelSize;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
423 short extendWidth;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
424 short extendHeight;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
425 short bandMin;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
426 short bandInc;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
427 short pad;
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
428 uint32_t time;
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
429 int32_t flags2; /* field new in QuickTime 4.0 */
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
430 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
431 typedef struct CodecCapabilities CodecCapabilities;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
432
e331fefb520e some more...
arpi
parents: 2797
diff changeset
433 struct __attribute__((__packed__)) CodecDecompressParams {
e331fefb520e some more...
arpi
parents: 2797
diff changeset
434 ImageSequence sequenceID; /* predecompress,banddecompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
435 ImageDescriptionHandle imageDescription; /* predecompress,banddecompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
436 Ptr data;
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
437 int32_t bufferSize;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
438
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
439 int32_t frameNumber;
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
440 int32_t startLine;
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
441 int32_t stopLine;
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
442 int32_t conditionFlags;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
443
8470
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
444 CodecFlags callerFlags; // short
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
445 CodecCapabilities * capabilities; /* predecompress,banddecompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
446 ICMProgressProcRecord progressProcRecord;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
447 ICMCompletionProcRecord completionProcRecord;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
448
e331fefb520e some more...
arpi
parents: 2797
diff changeset
449 ICMDataProcRecord dataProcRecord;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
450 CGrafPtr port; /* predecompress,banddecompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
451 PixMap dstPixMap; /* predecompress,banddecompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
452 BitMapPtr maskBits;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
453 PixMapPtr mattePixMap;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
454 Rect srcRect; /* predecompress,banddecompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
455 MatrixRecord * matrix; /* predecompress,banddecompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
456 CodecQ accuracy; /* predecompress,banddecompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
457 short transferMode; /* predecompress,banddecompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
458 ICMFrameTimePtr frameTime; /* banddecompress */
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
459 int32_t reserved[1];
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
460
e331fefb520e some more...
arpi
parents: 2797
diff changeset
461 /* The following fields only exist for QuickTime 2.0 and greater */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
462 SInt8 matrixFlags; /* high bit set if 2x resize */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
463 SInt8 matrixType;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
464 Rect dstRect; /* only valid for simple transforms */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
465
e331fefb520e some more...
arpi
parents: 2797
diff changeset
466 /* The following fields only exist for QuickTime 2.1 and greater */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
467 UInt16 majorSourceChangeSeed;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
468 UInt16 minorSourceChangeSeed;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
469 CDSequenceDataSourcePtr sourceData;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
470
e331fefb520e some more...
arpi
parents: 2797
diff changeset
471 RgnHandle maskRegion;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
472
e331fefb520e some more...
arpi
parents: 2797
diff changeset
473 /* The following fields only exist for QuickTime 2.5 and greater */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
474 OSType ** wantedDestinationPixelTypes; /* Handle to 0-terminated list of OSTypes */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
475
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
476 int32_t screenFloodMethod;
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
477 int32_t screenFloodValue;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
478 short preferredOffscreenPixelSize;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
479
e331fefb520e some more...
arpi
parents: 2797
diff changeset
480 /* The following fields only exist for QuickTime 3.0 and greater */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
481 ICMFrameTimeInfoPtr syncFrameTime; /* banddecompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
482 Boolean needUpdateOnTimeChange; /* banddecompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
483 Boolean enableBlackLining;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
484 Boolean needUpdateOnSourceChange; /* band decompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
485 Boolean pad;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
486
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
487 int32_t unused;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
488
e331fefb520e some more...
arpi
parents: 2797
diff changeset
489 CGrafPtr finalDestinationPort;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
490
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
491 int32_t requestedBufferWidth; /* must set codecWantsSpecialScaling to indicate this field is valid*/
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
492 int32_t requestedBufferHeight; /* must set codecWantsSpecialScaling to indicate this field is valid*/
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
493
e331fefb520e some more...
arpi
parents: 2797
diff changeset
494 /* The following fields only exist for QuickTime 4.0 and greater */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
495 Rect displayableAreaOfRequestedBuffer; /* set in predecompress*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
496 Boolean requestedSingleField;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
497 Boolean needUpdateOnNextIdle;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
498 Boolean pad2[2];
e331fefb520e some more...
arpi
parents: 2797
diff changeset
499 Fixed bufferGammaLevel;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
500
e331fefb520e some more...
arpi
parents: 2797
diff changeset
501 /* The following fields only exist for QuickTime 5.0 and greater */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
502 UInt32 taskWeight; /* preferred weight for MP tasks implementing this operation*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
503 OSType taskName; /* preferred name (type) for MP tasks implementing this operation*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
504 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
505 typedef struct CodecDecompressParams CodecDecompressParams;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
506
e331fefb520e some more...
arpi
parents: 2797
diff changeset
507
e331fefb520e some more...
arpi
parents: 2797
diff changeset
508
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
509 struct __attribute__((__packed__)) ImageSubCodecDecompressCapabilities {
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
510 int32_t recordSize; /* sizeof(ImageSubCodecDecompressCapabilities)*/
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
511 int32_t decompressRecordSize; /* size of your codec's decompress record*/
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
512 Boolean canAsync; /* default true*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
513 UInt8 pad0;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
514
e331fefb520e some more...
arpi
parents: 2797
diff changeset
515 /* The following fields only exist for QuickTime 4.0 and greater */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
516 UInt16 suggestedQueueSize;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
517 Boolean canProvideTrigger;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
518
e331fefb520e some more...
arpi
parents: 2797
diff changeset
519 /* The following fields only exist for QuickTime 5.0 and greater */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
520 Boolean subCodecFlushesScreen; /* only used on Mac OS X*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
521 Boolean subCodecCallsDrawBandComplete;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
522 UInt8 pad2[1];
e331fefb520e some more...
arpi
parents: 2797
diff changeset
523
e331fefb520e some more...
arpi
parents: 2797
diff changeset
524 /* The following fields only exist for QuickTime 5.1 and greater */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
525 Boolean isChildCodec; /* set by base codec before calling Initialize*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
526 UInt8 pad3[3];
e331fefb520e some more...
arpi
parents: 2797
diff changeset
527 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
528 typedef struct ImageSubCodecDecompressCapabilities ImageSubCodecDecompressCapabilities;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
529
e331fefb520e some more...
arpi
parents: 2797
diff changeset
530
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
531 struct __attribute__((__packed__)) ImageSubCodecDecompressRecord {
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
532 Ptr baseAddr;
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
533 int32_t rowBytes;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
534 Ptr codecData;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
535 ICMProgressProcRecord progressProcRecord;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
536 ICMDataProcRecord dataProcRecord;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
537 void * userDecompressRecord; /* pointer to codec-specific per-band data*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
538 UInt8 frameType;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
539 Boolean inhibitMP; /* set this in BeginBand to tell the base decompressor not to call DrawBand from an MP task for this frame. (Only has any effect for MP-capable subcodecs. New in QuickTime 5.0.)*/
e331fefb520e some more...
arpi
parents: 2797
diff changeset
540 UInt8 pad[2];
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
541 int32_t priv[2];
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
542
e331fefb520e some more...
arpi
parents: 2797
diff changeset
543 /* The following fields only exist for QuickTime 5.0 and greater */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
544 ImageCodecDrawBandCompleteUPP drawBandCompleteUPP; /* only used if subcodec set subCodecCallsDrawBandComplete; if drawBandCompleteUPP is non-nil, codec must call it when a frame is finished, but may return from DrawBand before the frame is finished. */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
545 void * drawBandCompleteRefCon; /* Note: do not call drawBandCompleteUPP directly from a hardware interrupt; instead, use DTInstall to run a function at deferred task time, and call drawBandCompleteUPP from that. */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
546 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
547 typedef struct ImageSubCodecDecompressRecord ImageSubCodecDecompressRecord;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
548
e331fefb520e some more...
arpi
parents: 2797
diff changeset
549
e331fefb520e some more...
arpi
parents: 2797
diff changeset
550 /* These are the bits that are set in the Component flags, and also in the codecInfo struct. */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
551 enum {
e331fefb520e some more...
arpi
parents: 2797
diff changeset
552 codecInfoDoes1 = (1L << 0), /* codec can work with 1-bit pixels */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
553 codecInfoDoes2 = (1L << 1), /* codec can work with 2-bit pixels */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
554 codecInfoDoes4 = (1L << 2), /* codec can work with 4-bit pixels */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
555 codecInfoDoes8 = (1L << 3), /* codec can work with 8-bit pixels */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
556 codecInfoDoes16 = (1L << 4), /* codec can work with 16-bit pixels */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
557 codecInfoDoes32 = (1L << 5), /* codec can work with 32-bit pixels */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
558 codecInfoDoesDither = (1L << 6), /* codec can do ditherMode */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
559 codecInfoDoesStretch = (1L << 7), /* codec can stretch to arbitrary sizes */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
560 codecInfoDoesShrink = (1L << 8), /* codec can shrink to arbitrary sizes */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
561 codecInfoDoesMask = (1L << 9), /* codec can mask to clipping regions */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
562 codecInfoDoesTemporal = (1L << 10), /* codec can handle temporal redundancy */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
563 codecInfoDoesDouble = (1L << 11), /* codec can stretch to double size exactly */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
564 codecInfoDoesQuad = (1L << 12), /* codec can stretch to quadruple size exactly */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
565 codecInfoDoesHalf = (1L << 13), /* codec can shrink to half size */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
566 codecInfoDoesQuarter = (1L << 14), /* codec can shrink to quarter size */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
567 codecInfoDoesRotate = (1L << 15), /* codec can rotate on decompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
568 codecInfoDoesHorizFlip = (1L << 16), /* codec can flip horizontally on decompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
569 codecInfoDoesVertFlip = (1L << 17), /* codec can flip vertically on decompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
570 codecInfoHasEffectParameterList = (1L << 18), /* codec implements get effects parameter list call, once was codecInfoDoesSkew */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
571 codecInfoDoesBlend = (1L << 19), /* codec can blend on decompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
572 codecInfoDoesWarp = (1L << 20), /* codec can warp arbitrarily on decompress */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
573 codecInfoDoesRecompress = (1L << 21), /* codec can recompress image without accumulating errors */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
574 codecInfoDoesSpool = (1L << 22), /* codec can spool image data */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
575 codecInfoDoesRateConstrain = (1L << 23) /* codec can data rate constrain */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
576 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
577
e331fefb520e some more...
arpi
parents: 2797
diff changeset
578
e331fefb520e some more...
arpi
parents: 2797
diff changeset
579 enum {
e331fefb520e some more...
arpi
parents: 2797
diff changeset
580 codecInfoDepth1 = (1L << 0), /* compressed data at 1 bpp depth available */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
581 codecInfoDepth2 = (1L << 1), /* compressed data at 2 bpp depth available */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
582 codecInfoDepth4 = (1L << 2), /* compressed data at 4 bpp depth available */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
583 codecInfoDepth8 = (1L << 3), /* compressed data at 8 bpp depth available */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
584 codecInfoDepth16 = (1L << 4), /* compressed data at 16 bpp depth available */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
585 codecInfoDepth32 = (1L << 5), /* compressed data at 32 bpp depth available */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
586 codecInfoDepth24 = (1L << 6), /* compressed data at 24 bpp depth available */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
587 codecInfoDepth33 = (1L << 7), /* compressed data at 1 bpp monochrome depth available */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
588 codecInfoDepth34 = (1L << 8), /* compressed data at 2 bpp grayscale depth available */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
589 codecInfoDepth36 = (1L << 9), /* compressed data at 4 bpp grayscale depth available */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
590 codecInfoDepth40 = (1L << 10), /* compressed data at 8 bpp grayscale depth available */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
591 codecInfoStoresClut = (1L << 11), /* compressed data can have custom cluts */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
592 codecInfoDoesLossless = (1L << 12), /* compressed data can be stored in lossless format */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
593 codecInfoSequenceSensitive = (1L << 13) /* compressed data is sensitive to out of sequence decoding */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
594 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
595
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
596 struct __attribute__((__packed__)) CodecInfo {
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
597 Str31 typeName; /* name of the codec type i.e.: 'Apple Image Compression' */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
598 short version; /* version of the codec data that this codec knows about */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
599 short revisionLevel; /* revision level of this codec i.e: 0x00010001 (1.0.1) */
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
600 int32_t vendor; /* Maker of this codec i.e: 'appl' */
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
601 int32_t decompressFlags; /* codecInfo flags for decompression capabilities */
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
602 int32_t compressFlags; /* codecInfo flags for compression capabilities */
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
603 int32_t formatFlags; /* codecInfo flags for compression format details */
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
604 UInt8 compressionAccuracy; /* measure (1-255) of accuracy of this codec for compress (0 if unknown) */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
605 UInt8 decompressionAccuracy; /* measure (1-255) of accuracy of this codec for decompress (0 if unknown) */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
606 unsigned short compressionSpeed; /* ( millisecs for compressing 320x240 on base mac II) (0 if unknown) */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
607 unsigned short decompressionSpeed; /* ( millisecs for decompressing 320x240 on mac II)(0 if unknown) */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
608 UInt8 compressionLevel; /* measure (1-255) of compression level of this codec (0 if unknown) */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
609 UInt8 resvd; /* pad */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
610 short minimumHeight; /* minimum height of image (block size) */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
611 short minimumWidth; /* minimum width of image (block size) */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
612 short decompressPipelineLatency; /* in milliseconds ( for asynchronous codecs ) */
e331fefb520e some more...
arpi
parents: 2797
diff changeset
613 short compressPipelineLatency; /* in milliseconds ( for asynchronous codecs ) */
13809
a9e2fda933be AMD64 fixes based on patch by Timo Ter¸«£s <timo.teras@iki.fi>
faust3
parents: 11412
diff changeset
614 int32_t privateData;
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
615 };
e331fefb520e some more...
arpi
parents: 2797
diff changeset
616 typedef struct CodecInfo CodecInfo;
e331fefb520e some more...
arpi
parents: 2797
diff changeset
617
8470
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
618 enum {
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
619 codecFlagUseImageBuffer = (1L << 0), /* decompress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
620 codecFlagUseScreenBuffer = (1L << 1), /* decompress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
621 codecFlagUpdatePrevious = (1L << 2), /* compress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
622 codecFlagNoScreenUpdate = (1L << 3), /* decompress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
623 codecFlagWasCompressed = (1L << 4), /* compress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
624 codecFlagDontOffscreen = (1L << 5), /* decompress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
625 codecFlagUpdatePreviousComp = (1L << 6), /* compress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
626 codecFlagForceKeyFrame = (1L << 7), /* compress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
627 codecFlagOnlyScreenUpdate = (1L << 8), /* decompress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
628 codecFlagLiveGrab = (1L << 9), /* compress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
629 codecFlagDiffFrame = (1L << 9), /* decompress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
630 codecFlagDontUseNewImageBuffer = (1L << 10), /* decompress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
631 codecFlagInterlaceUpdate = (1L << 11), /* decompress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
632 codecFlagCatchUpDiff = (1L << 12), /* decompress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
633 codecFlagSupportDisable = (1L << 13), /* decompress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
634 codecFlagReenable = (1L << 14) /* decompress*/
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
635 };
08d7e1718dd0 CRLF->LF
arpi
parents: 8323
diff changeset
636
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
637 static inline void dump_ImageDescription(void* xxx){
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
638 ImageDescription* id=(ImageDescription*)xxx;
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
639 unsigned char* x;
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
640 int i;
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
641
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
642 for(i=0;i<id->idSize;i++){
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
643 printf(" %02X",((unsigned char*)id)[i]);
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
644 if((i%16)==15) printf("\n");
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
645 }
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
646 printf("\n");
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
647
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
648
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
649 printf("=============== ImageDescription at %p ==================\n",xxx);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
650 printf("idSize=0x%X fourcc=0x%08X\n",id->idSize,id->cType);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
651 printf("ver=%d rev=%d vendor=0x%08X\n",id->version,id->revisionLevel,id->vendor);
30823
4dfdb57de907 Correct QuickTime dpi output.
sesse
parents: 30812
diff changeset
652 printf("tempQ=%d spatQ=%d dim: %d x %d dpi: %.2f x %.2f depth: %d\n",
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
653 id->temporalQuality,id->spatialQuality,
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
654 id->width, id->height,
30823
4dfdb57de907 Correct QuickTime dpi output.
sesse
parents: 30812
diff changeset
655 id->hRes / 65536.0, id->vRes / 65536.0,
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
656 id->depth);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
657 printf("dataSize=%d frameCount=%d clutID=%d\n",id->dataSize, id->frameCount, id->clutID);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
658 printf("name='%.*s'\n",((char*)(&id->name))[0],((char*)(&id->name))+1);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
659 x=((char*)(&id->clutID))+2;
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
660 if(id->idSize>sizeof(ImageDescription)){
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
661 printf("%02X %02X %02X %02X | %02X %02X %02X %02X | %02X %02X %02X %02X | %02X %02X %02X %02X\n",
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
662 x[0],x[1],x[2],x[3],x[4],x[5],x[6],x[7],x[8],x[9],x[10],x[11],x[12],x[13],x[14],x[15]);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
663 }
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
664 printf("=========================================================\n");
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
665 }
5253
e331fefb520e some more...
arpi
parents: 2797
diff changeset
666
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
667 static inline void dump_Rect(char* title,Rect *r){
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
668 printf("%s: %d;%d - %d;%d\n",title,
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
669 (int)r->top,(int)r->left,(int)r->bottom,(int)r->right);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
670 }
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
671
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
672 static inline void dump_MatrixRecord(char* title, MatrixRecord *m){
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
673 printf("%s: [%d %d %d][%d %d %d][%d %d %d]\n",title,
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
674 m->matrix[0][0],m->matrix[0][1],m->matrix[0][2],
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
675 m->matrix[1][0],m->matrix[1][1],m->matrix[1][2],
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
676 m->matrix[2][0],m->matrix[2][1],m->matrix[2][2]);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
677 }
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
678
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
679 static inline void dump_PixMap(void* xxx){
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
680 PixMap *p=xxx;
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
681 printf("=============== PixMap at %p ==================\n",xxx);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
682 printf("base=%p stride=%d\n",p->baseAddr, p->rowBytes);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
683 dump_Rect("bounds",&p->bounds);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
684 printf("pmVersion=0x%X packType=0x%X\n packSize=0x%X\n",
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
685 p->pmVersion,p->packType, p->packSize);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
686 printf("hRes=0x%X vRes=0x%X pixelType=0x%X pixelSize=0x%X\n",
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
687 p->hRes,p->vRes,p->pixelType,p->pixelSize);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
688 printf("cmpCount=0x%X cmpSize=0x%X pixelFormat=0x%X\n",
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
689 p->cmpCount,p->cmpSize,p->pixelFormat);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
690 printf("pmTable=%p pmExt=%p\n",p->pmTable,p->pmExt);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
691 printf("=========================================================\n");
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
692 }
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
693
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
694 static inline void dump_CodecCapabilities(void* xxx){
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
695 CodecCapabilities* cc=xxx;
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
696 if(!xxx) return;
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
697 printf("=============== CodecCapabilities at %p =================\n",xxx);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
698 printf("flags=0x%X flags2=0x%X\n",cc->flags,cc->flags2);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
699 printf("wantedPixelSize=%d extendWidth=%d extendHeight=%d band=%d+%d\n",
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
700 cc->wantedPixelSize,cc->extendWidth,cc->extendHeight,
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
701 cc->bandMin,cc->bandInc);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
702 printf("pad=0x%X time=0x%X\n",cc->pad,cc->time);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
703 printf("=========================================================\n");
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
704 }
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
705
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
706 static inline void dump_CodecDecompressParams(void* xxx){
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
707 CodecDecompressParams* cd=xxx;
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
708 ImageDescription **idh;
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
709 int i;
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
710 if(!xxx) return;
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
711 printf("=============== CodecDecompressParams at %p ==================\n",xxx);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
712 printf("sequenceID=%d\n",cd->sequenceID);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
713 idh=cd->imageDescription;
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
714 if(idh && idh[0]) dump_ImageDescription(idh[0]);
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26045
diff changeset
715
8266
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
716 for(i=0;i<sizeof(CodecDecompressParams);i++){
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
717 printf(" %02X",((unsigned char*)cd)[i]);
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
718 if((i%16)==15) printf("\n");
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
719 }
2de1fa441839 fixes, updates
arpi
parents: 5334
diff changeset
720 printf("\n");
29263
0f1b5b68af32 whitespace cosmetics: Remove all trailing whitespace.
diego
parents: 26045
diff changeset
721
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
722 printf("data=%p size=%d\n",cd->data,cd->bufferSize);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
723 printf("frameno=%d lines: %d .. %d condflags=0x%X callerflags=0x%X\n",
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
724 cd->frameNumber, cd->startLine, cd->stopLine, cd->conditionFlags,cd->callerFlags);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
725 // printf("maskBits=%p mattePixMap=%p\n",
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
726 // cd->maskBits,cd->mattePixMap);
8323
75a09ccb1a18 dump more!
arpi
parents: 8266
diff changeset
727 dump_PixMap(&cd->dstPixMap);
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
728 // if(cd->mattePixMap) dump_PixMap(cd->mattePixMap);
8323
75a09ccb1a18 dump more!
arpi
parents: 8266
diff changeset
729 if(cd->matrix) dump_MatrixRecord("matrix",cd->matrix);
75a09ccb1a18 dump more!
arpi
parents: 8266
diff changeset
730 if(cd->capabilities) dump_CodecCapabilities(cd->capabilities);
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
731 printf("accuracy=%d transferMode=%d matrixFlags=0x%X matrixType=%d\n",
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
732 (int)cd->accuracy, (int)cd->transferMode, (int)cd->matrixFlags, (int)cd->matrixType);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
733 printf("srcrect: %d;%d - %d;%d\n",cd->srcRect.top,cd->srcRect.left,cd->srcRect.bottom,cd->srcRect.right);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
734 printf("dstrect: %d;%d - %d;%d\n",cd->dstRect.top,cd->dstRect.left,cd->dstRect.bottom,cd->dstRect.right);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
735 printf("wantedDestinationPixelTypes=%p\n",cd->wantedDestinationPixelTypes);
8323
75a09ccb1a18 dump more!
arpi
parents: 8266
diff changeset
736 if(cd->wantedDestinationPixelTypes){
75a09ccb1a18 dump more!
arpi
parents: 8266
diff changeset
737 unsigned int* p=cd->wantedDestinationPixelTypes;
75a09ccb1a18 dump more!
arpi
parents: 8266
diff changeset
738 while(p[0]){
33841
25667edae85c cleanup: adjust printf format strings to match parameter types
diego
parents: 30857
diff changeset
739 printf(" 0x%08X %p\n",p[0],&p[0]);
8323
75a09ccb1a18 dump more!
arpi
parents: 8266
diff changeset
740 ++p;
75a09ccb1a18 dump more!
arpi
parents: 8266
diff changeset
741 }
75a09ccb1a18 dump more!
arpi
parents: 8266
diff changeset
742 }
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
743 printf("screenFloodMethod=%d value=%d preferredOffscreenPixelSize=%d\n",
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
744 cd->screenFloodMethod, cd->screenFloodValue, cd->preferredOffscreenPixelSize);
33841
25667edae85c cleanup: adjust printf format strings to match parameter types
diego
parents: 30857
diff changeset
745 printf("callbacks: progress=%"PRId64" compl=%"PRId64" data=%"PRId64" ftime=%p srcdata=%p sync=%p\n",
5334
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
746 cd->progressProcRecord, cd->completionProcRecord,
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
747 cd->dataProcRecord, cd->frameTime, cd->sourceData, cd->syncFrameTime);
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
748 // printf("\n");
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
749
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
750 printf("=========================================================\n");
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
751
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
752
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
753 }
2cb0e0e83e95 dump stuff
arpi
parents: 5253
diff changeset
754
26045
a8ea87c71d18 Add MPLAYER_ prefix to multiple inclusion guards.
diego
parents: 25587
diff changeset
755 #endif /* MPLAYER_COMPONENTS_H */