xine-lib  1.2.10
components.h
Go to the documentation of this file.
1 // Basic types:
2 
3 typedef char * Ptr;
4 typedef Ptr * Handle;
5 typedef long Size;
6 typedef unsigned char Boolean;
7 typedef unsigned char Str31[32];
8 typedef long Fixed;
9 
10 typedef long OSErr;
11 typedef int OSType;
12 
13 typedef long ComponentResult;
14 typedef unsigned char UInt8;
15 typedef signed char SInt8;
16 typedef unsigned short UInt16;
17 typedef signed short SInt16;
18 typedef unsigned long UInt32;
19 typedef signed long SInt32;
20 
21 #define FOUR_CHAR_CODE(a,b,c,d) (((a)<<24)|((b)<<16)|((c)<<8)|(d))
22 
23 // codec private shit:
24 typedef void *GlobalsPtr;
25 typedef void **Globals;
26 
27 //==================== COMPONENTS ===========================
28 
29 struct __attribute__((__packed__)) ComponentParameters {
30  UInt8 flags; /* call modifiers: sync/async, deferred, immed, etc */
31  UInt8 paramSize; /* size in bytes of actual parameters passed to this call */
32  short what; /* routine selector, negative for Component management calls */
33  long params[1]; /* actual parameters for the indicated routine */
34 };
36 
37 
38 struct __attribute__((__packed__)) ComponentDescription {
39  OSType componentType; /* A unique 4-byte code indentifying the command set */
40  OSType componentSubType; /* Particular flavor of this instance */
41  OSType componentManufacturer; /* Vendor indentification */
42  unsigned long componentFlags; /* 8 each for Component,Type,SubType,Manuf/revision */
43  unsigned long componentFlagsMask; /* Mask for specifying which flags to consider in search, zero during registration */
44 };
46 
47 
48 struct __attribute__((__packed__)) ResourceSpec {
49  OSType resType; /* 4-byte code */
50  short resID; /* */
51 };
52 typedef struct ResourceSpec ResourceSpec;
53 
54 
55 struct __attribute__((__packed__)) ComponentResource {
56  ComponentDescription cd; /* Registration parameters */
57  ResourceSpec component; /* resource where Component code is found */
58  ResourceSpec componentName; /* name string resource */
59  ResourceSpec componentInfo; /* info string resource */
60  ResourceSpec componentIcon; /* icon resource */
61 };
65 
66 
67 struct __attribute__((__packed__)) ComponentRecord {
68  long data[1];
69 };
72 
73 
74 struct __attribute__((__packed__)) ComponentInstanceRecord {
75  long data[1];
76 };
78 
80 
81 // ========================= QUICKDRAW =========================
82 
83 struct __attribute__((__packed__)) Rect {
84  short top;
85  short left;
86  short bottom;
87  short right;
88 };
89 typedef struct Rect Rect;
90 typedef Rect * RectPtr;
91 
92 struct __attribute__((__packed__)) RGBColor {
93  unsigned short red; /*magnitude of red component*/
94  unsigned short green; /*magnitude of green component*/
95  unsigned short blue; /*magnitude of blue component*/
96 };
97 typedef struct RGBColor RGBColor;
100 
101 struct __attribute__((__packed__)) ColorSpec {
102  short value; /*index or other value*/
103  RGBColor rgb; /*true color*/
104 };
105 typedef struct ColorSpec ColorSpec;
108 
109 struct __attribute__((__packed__)) ColorTable {
110  long ctSeed; /*unique identifier for table*/
111  short ctFlags; /*high bit: 0 = PixMap; 1 = device*/
112  short ctSize; /*number of entries in CTTable*/
113  CSpecArray ctTable; /*array [0..0] of ColorSpec*/
114 };
115 typedef struct ColorTable ColorTable;
116 typedef ColorTable * CTabPtr;
117 typedef CTabPtr * CTabHandle;
118 
119 struct __attribute__((__packed__)) MatrixRecord {
120  Fixed matrix[3][3];
121 };
122 typedef struct MatrixRecord MatrixRecord;
124 
125 typedef long ImageSequence;
127 typedef unsigned short CodecFlags;
128 typedef unsigned long CodecQ;
129 
130 struct __attribute__((__packed__)) ImageDescription {
131  long idSize; /* total size of ImageDescription including extra data ( CLUTs and other per sequence data ) */
132  CodecType cType; /* what kind of codec compressed this data */
133  long resvd1; /* reserved for Apple use */
134  short resvd2; /* reserved for Apple use */
135  short dataRefIndex; /* set to zero */
136  short version; /* which version is this data */
137  short revisionLevel; /* what version of that codec did this */
138  long vendor; /* whose codec compressed this data */
139  CodecQ temporalQuality; /* what was the temporal quality factor */
140  CodecQ spatialQuality; /* what was the spatial quality factor */
141  short width; /* how many pixels wide is this data */
142  short height; /* how many pixels high is this data */
143  Fixed hRes; /* horizontal resolution */
144  Fixed vRes; /* vertical resolution */
145  long dataSize; /* if known, the size of data for this image descriptor */
146  short frameCount; /* number of frames this description applies to */
147  Str31 name; /* name of codec ( in case not installed ) */
148  short depth; /* what depth is this data (1-32) or ( 33-40 grayscale ) */
149  short clutID; /* clut id or if 0 clut follows or -1 if no clut */
150 };
154 
155 /* values for PixMap.pixelFormat*/
156 enum {
157  k16LE555PixelFormat = FOUR_CHAR_CODE('L','5','5','5'), /* 16 bit LE rgb 555 (PC)*/
158  k16LE5551PixelFormat = FOUR_CHAR_CODE('5','5','5','1'), /* 16 bit LE rgb 5551*/
159  k16BE565PixelFormat = FOUR_CHAR_CODE('B','5','6','5'), /* 16 bit BE rgb 565*/
160  k16LE565PixelFormat = FOUR_CHAR_CODE('L','5','6','5'), /* 16 bit LE rgb 565*/
161  k24BGRPixelFormat = FOUR_CHAR_CODE('2','4','B','G'), /* 24 bit bgr */
162  k32BGRAPixelFormat = FOUR_CHAR_CODE('B','G','R','A'), /* 32 bit bgra (Matrox)*/
163  k32ABGRPixelFormat = FOUR_CHAR_CODE('A','B','G','R'), /* 32 bit abgr */
164  k32RGBAPixelFormat = FOUR_CHAR_CODE('R','G','B','A'), /* 32 bit rgba */
165  kYUVSPixelFormat = FOUR_CHAR_CODE('y','u','v','s'), /* YUV 4:2:2 byte ordering 16-unsigned = 'YUY2'*/
166  kYUVUPixelFormat = FOUR_CHAR_CODE('y','u','v','u'), /* YUV 4:2:2 byte ordering 16-signed*/
167  kYVU9PixelFormat = FOUR_CHAR_CODE('Y','V','U','9'), /* YVU9 Planar 9*/
168  kYUV411PixelFormat = FOUR_CHAR_CODE('Y','4','1','1'), /* YUV 4:1:1 Interleaved 16*/
169  kYVYU422PixelFormat = FOUR_CHAR_CODE('Y','V','Y','U'), /* YVYU 4:2:2 byte ordering 16*/
170  kUYVY422PixelFormat = FOUR_CHAR_CODE('U','Y','V','Y'), /* UYVY 4:2:2 byte ordering 16*/
171  kYUV211PixelFormat = FOUR_CHAR_CODE('Y','2','1','1'), /* YUV 2:1:1 Packed 8*/
172  k2vuyPixelFormat = FOUR_CHAR_CODE('2','v','u','y') /* UYVY 4:2:2 byte ordering 16*/
173 };
174 
175 struct __attribute__((__packed__)) PixMapExtension {
176  long extSize; /*size of struct, duh!*/
177  unsigned long pmBits; /*pixmap attributes bitfield*/
178  void * pmGD; /*this is a GDHandle*/
179  long pmSeed;
180  Fixed gammaLevel; /*pixmap gammalevel*/
181  Fixed requestedGammaLevel;
182  unsigned long reserved2;
183  long longRowBytes; /*used when rowBytes > 16382*/
184  unsigned long signature;
185  Handle baseAddrHandle;
186 };
188 
191 
192 
193 struct __attribute__((__packed__)) PixMap {
194  Ptr baseAddr; /*pointer to pixels*/
195  short rowBytes; /*offset to next line*/
196  Rect bounds; /*encloses bitmap*/
197  short pmVersion; /*pixMap version number*/
198  short packType; /*defines packing format*/
199  long packSize; /*length of pixel data*/
200  Fixed hRes; /*horiz. resolution (ppi)*/
201  Fixed vRes; /*vert. resolution (ppi)*/
202  short pixelType; /*defines pixel type*/
203  short pixelSize; /*# bits in pixel*/
204  short cmpCount; /*# components in pixel*/
205  short cmpSize; /*# bits per component*/
206  OSType pixelFormat; /*fourCharCode representation*/
207  CTabHandle pmTable; /*color map for this pixMap*/
208  PixMapExtHandle pmExt; /*Handle to pixMap extension*/
209 };
210 typedef struct PixMap PixMap;
211 typedef PixMap * PixMapPtr;
213 
214 
215 struct __attribute__((__packed__)) BitMap {
216  Ptr baseAddr;
217  short rowBytes;
218  Rect bounds;
219 };
220 typedef struct BitMap BitMap;
221 typedef BitMap * BitMapPtr;
223 typedef struct OpaqueRgnHandle* RgnHandle;
224 
225 struct Pattern {
226  UInt8 pat[8];
227 };
228 typedef struct Pattern Pattern;
229 typedef unsigned char Style;
231 struct __attribute__((__packed__)) Point {
232  short v;
233  short h;
234 };
235 typedef struct Point Point;
236 struct __attribute__((__packed__)) GrafPort {
237  short device;
238  BitMap portBits;
239  Rect portRect;
240  RgnHandle visRgn;
241  RgnHandle clipRgn;
242  Pattern bkPat;
243  Pattern fillPat;
244  Point pnLoc;
245  Point pnSize;
246  short pnMode;
247  Pattern pnPat;
248  short pnVis;
249  short txFont;
250  StyleField txFace; /*StyleField occupies 16-bits, but only first 8-bits are used*/
251  UInt8 txFlags; /* QuickTime uses second 8 bits of StyleField for txFlags */
252  short txMode;
253  short txSize;
254  Fixed spExtra;
255  long fgColor;
256  long bkColor;
257  short colrBit;
258  short patStretch;
259  Handle picSave;
260  Handle rgnSave;
261  Handle polySave;
262  /*QDProcsPtr*/void* grafProcs;
263 };
264 typedef struct GrafPort GrafPort;
267 #define anyCodec ((CodecComponent)0)
268 enum {
269  /* transfer modes */
270  srcCopy = 0, /*the 16 transfer modes*/
271  srcOr = 1,
272  srcXor = 2,
273  srcBic = 3,
275  notSrcOr = 5,
278  patCopy = 8,
279  patOr = 9,
280  patXor = 10,
281  patBic = 11,
283  notPatOr = 13,
284  notPatXor = 14,
285  notPatBic = 15, /* Special Text Transfer Mode */
288  hilite = 50, /* Arithmetic transfer modes */
289  blend = 32,
290  addPin = 33,
291  addOver = 34,
292  subPin = 35,
293  addMax = 37,
294  adMax = 37,
295  subOver = 38,
296  adMin = 39,
297  ditherCopy = 64, /* Transparent mode constant */
299 };
300 
301 typedef unsigned long GWorldFlags;
302 
303 
304 
305 // ============================== CODECS ===========================
306 
310 
311 enum {
312  codecLosslessQuality = 0x00000400,
313  codecMaxQuality = 0x000003FF,
314  codecMinQuality = 0x00000000,
315  codecLowQuality = 0x00000100,
316  codecNormalQuality = 0x00000200,
317  codecHighQuality = 0x00000300
318 };
319 
320 
321 
322 // callbacks:
324 typedef long long ICMProgressProcRecord;
325 typedef long long ICMCompletionProcRecord;
326 typedef long long ICMDataProcRecord;
327 typedef void* ICMFrameTimePtr;
329 typedef void* ICMFrameTimeInfoPtr;
330 
331 // graphics port
332 typedef struct OpaqueGrafPtr* GrafPtr;
334 
335 
336 /* codec capabilities flags */
337 enum {
338  codecCanScale = 1L << 0,
339  // 1
340  codecCanMask = 1L << 1,
341  // 2
342  codecCanMatte = 1L << 2,
343  // 4
344  codecCanTransform = 1L << 3,
345  // 8
347  // 10
348  codecCanCopyPrev = 1L << 5,
349  // 20
350  codecCanSpool = 1L << 6,
351  // 40
353  // 80
355  // 100
357  // 200
358  codecCanFastDither = 1L << 10,
359  // 400
360  codecCanSrcExtract = 1L << 11,
361  // 800
363  // 1000
364  codecCanAsync = 1L << 13,
365  // 2000
366  codecCanMakeMask = 1L << 14,
367  // 4000
368  codecCanShift = 1L << 15,
369  // 8000
370  codecCanAsyncWhen = 1L << 16,
371  // 10000
373  // 20000
375  // 40000
376  codecHasVolatileBuffer = 1L << 19, // 80000 /* codec requires redraw after window movement */
378  // 100000
379  codecImageBufferIsOnScreen = 1L << 21, // 200000 /* old def of codec using overlay surface, = ( codecIsDirectToScreenOnly | codecUsesOverlaySurface | codecImageBufferIsOverlaySurface | codecSrcMustBeImageBuffer ) */
381  // 400000
383  // 800000
384  codecHandlesInputs = 1L << 24,
385  // 1000000
386  codecCanDoIndirectSurface = 1L << 25, /* codec can handle indirect surface (GDI) */
391  codecIsDirectToScreenOnly = 1L << 30, /* codec can only decompress data to the screen */
392  codecCanLockSurface = 1L << 31 /* codec can lock destination surface, icm doesn't lock for you */
393 };
394 
395 /* codec capabilities flags2 */
396 enum {
397  codecUsesOverlaySurface = 1L << 0, /* codec uses overlay surface */
398  codecImageBufferIsOverlaySurface = 1L << 1, /* codec image buffer is overlay surface, the bits in the buffer are on the screen */
399  codecSrcMustBeImageBuffer = 1L << 2, /* codec can only source data from an image buffer */
400  codecImageBufferIsInAGPMemory = 1L << 4, /* codec image buffer is in AGP space, byte writes are OK */
401  codecImageBufferIsInPCIMemory = 1L << 5 /* codec image buffer is across a PCI bus; byte writes are bad */
402 };
403 
404 /* codec condition flags */
405 // FFD = 13 = 8+4+1
406 enum {
408  // 1
410  // 2
412  // 4
414  // 8
416  // 10
418  // 20
420  // 40
422  // 80
424  // 100
426  // 200
428  // 400
430  // 800
432  // 1000
434  // 2000
436  // 4000
438  // 8000
440  // 10000
442  // 20000
443 };
444 
445 
446 
447 struct __attribute__((__packed__)) CodecCapabilities {
448  long flags;
449  short wantedPixelSize;
450  short extendWidth;
451  short extendHeight;
452  short bandMin;
453  short bandInc;
454  short pad;
455  unsigned long time;
456  long flags2; /* field new in QuickTime 4.0 */
457 };
459 
460 struct __attribute__((__packed__)) CodecDecompressParams {
461  ImageSequence sequenceID; /* predecompress,banddecompress */
462  ImageDescriptionHandle imageDescription; /* predecompress,banddecompress */
463  Ptr data;
464  long bufferSize;
465 
466  long frameNumber;
467  long startLine;
468  long stopLine;
469  long conditionFlags;
470 
471  CodecFlags callerFlags;
472  // short
473  CodecCapabilities * capabilities; /* predecompress,banddecompress */
474  ICMProgressProcRecord progressProcRecord;
475  ICMCompletionProcRecord completionProcRecord;
476 
477  ICMDataProcRecord dataProcRecord;
478  CGrafPtr port; /* predecompress,banddecompress */
479  PixMap dstPixMap; /* predecompress,banddecompress */
480  BitMapPtr maskBits;
481  PixMapPtr mattePixMap;
482  Rect srcRect; /* predecompress,banddecompress */
483  MatrixRecord * matrix; /* predecompress,banddecompress */
484  CodecQ accuracy; /* predecompress,banddecompress */
485  short transferMode; /* predecompress,banddecompress */
486  ICMFrameTimePtr frameTime; /* banddecompress */
487  long reserved[1];
488 
489  /* The following fields only exist for QuickTime 2.0 and greater */
490  SInt8 matrixFlags; /* high bit set if 2x resize */
491  SInt8 matrixType;
492  Rect dstRect; /* only valid for simple transforms */
493 
494  /* The following fields only exist for QuickTime 2.1 and greater */
495  UInt16 majorSourceChangeSeed;
496  UInt16 minorSourceChangeSeed;
497  CDSequenceDataSourcePtr sourceData;
498 
499  RgnHandle maskRegion;
500 
501  /* The following fields only exist for QuickTime 2.5 and greater */
502  OSType ** wantedDestinationPixelTypes; /* Handle to 0-terminated list of OSTypes */
503 
504  long screenFloodMethod;
505  long screenFloodValue;
506  short preferredOffscreenPixelSize;
507 
508  /* The following fields only exist for QuickTime 3.0 and greater */
509  ICMFrameTimeInfoPtr syncFrameTime; /* banddecompress */
510  Boolean needUpdateOnTimeChange; /* banddecompress */
511  Boolean enableBlackLining;
512  Boolean needUpdateOnSourceChange; /* band decompress */
513  Boolean pad;
514 
515  long unused;
516 
517  CGrafPtr finalDestinationPort;
518 
519  long requestedBufferWidth; /* must set codecWantsSpecialScaling to indicate this field is valid*/
520  long requestedBufferHeight; /* must set codecWantsSpecialScaling to indicate this field is valid*/
521 
522  /* The following fields only exist for QuickTime 4.0 and greater */
523  Rect displayableAreaOfRequestedBuffer; /* set in predecompress*/
524  Boolean requestedSingleField;
525  Boolean needUpdateOnNextIdle;
526  Boolean pad2[2];
527  Fixed bufferGammaLevel;
528 
529  /* The following fields only exist for QuickTime 5.0 and greater */
530  UInt32 taskWeight; /* preferred weight for MP tasks implementing this operation*/
531  OSType taskName; /* preferred name (type) for MP tasks implementing this operation*/
532 };
534 
535 
536 
538  long recordSize; /* sizeof(ImageSubCodecDecompressCapabilities)*/
539  long decompressRecordSize; /* size of your codec's decompress record*/
540  Boolean canAsync; /* default true*/
541  UInt8 pad0;
542 
543  /* The following fields only exist for QuickTime 4.0 and greater */
544  UInt16 suggestedQueueSize;
545  Boolean canProvideTrigger;
546 
547  /* The following fields only exist for QuickTime 5.0 and greater */
548  Boolean subCodecFlushesScreen; /* only used on Mac OS X*/
549  Boolean subCodecCallsDrawBandComplete;
550  UInt8 pad2[1];
551 
552  /* The following fields only exist for QuickTime 5.1 and greater */
553  Boolean isChildCodec; /* set by base codec before calling Initialize*/
554  UInt8 pad3[3];
555 };
557 
558 
559 struct __attribute__((__packed__)) ImageSubCodecDecompressRecord {
560  Ptr baseAddr;
561  long rowBytes;
562  Ptr codecData;
563  ICMProgressProcRecord progressProcRecord;
564  ICMDataProcRecord dataProcRecord;
565  void * userDecompressRecord; /* pointer to codec-specific per-band data*/
566  UInt8 frameType;
567  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.)*/
568  UInt8 pad[2];
569  long priv[2];
570 
571  /* The following fields only exist for QuickTime 5.0 and greater */
572  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. */
573  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. */
574 };
576 
577 
578 /* These are the bits that are set in the Component flags, and also in the codecInfo struct. */
579 enum {
580  codecInfoDoes1 = (1L << 0), /* codec can work with 1-bit pixels */
581  codecInfoDoes2 = (1L << 1), /* codec can work with 2-bit pixels */
582  codecInfoDoes4 = (1L << 2), /* codec can work with 4-bit pixels */
583  codecInfoDoes8 = (1L << 3), /* codec can work with 8-bit pixels */
584  codecInfoDoes16 = (1L << 4), /* codec can work with 16-bit pixels */
585  codecInfoDoes32 = (1L << 5), /* codec can work with 32-bit pixels */
586  codecInfoDoesDither = (1L << 6), /* codec can do ditherMode */
587  codecInfoDoesStretch = (1L << 7), /* codec can stretch to arbitrary sizes */
588  codecInfoDoesShrink = (1L << 8), /* codec can shrink to arbitrary sizes */
589  codecInfoDoesMask = (1L << 9), /* codec can mask to clipping regions */
590  codecInfoDoesTemporal = (1L << 10), /* codec can handle temporal redundancy */
591  codecInfoDoesDouble = (1L << 11), /* codec can stretch to double size exactly */
592  codecInfoDoesQuad = (1L << 12), /* codec can stretch to quadruple size exactly */
593  codecInfoDoesHalf = (1L << 13), /* codec can shrink to half size */
594  codecInfoDoesQuarter = (1L << 14), /* codec can shrink to quarter size */
595  codecInfoDoesRotate = (1L << 15), /* codec can rotate on decompress */
596  codecInfoDoesHorizFlip = (1L << 16), /* codec can flip horizontally on decompress */
597  codecInfoDoesVertFlip = (1L << 17), /* codec can flip vertically on decompress */
598  codecInfoHasEffectParameterList = (1L << 18), /* codec implements get effects parameter list call, once was codecInfoDoesSkew */
599  codecInfoDoesBlend = (1L << 19), /* codec can blend on decompress */
600  codecInfoDoesWarp = (1L << 20), /* codec can warp arbitrarily on decompress */
601  codecInfoDoesRecompress = (1L << 21), /* codec can recompress image without accumulating errors */
602  codecInfoDoesSpool = (1L << 22), /* codec can spool image data */
603  codecInfoDoesRateConstrain = (1L << 23) /* codec can data rate constrain */
604 };
605 
606 
607 enum {
608  codecInfoDepth1 = (1L << 0), /* compressed data at 1 bpp depth available */
609  codecInfoDepth2 = (1L << 1), /* compressed data at 2 bpp depth available */
610  codecInfoDepth4 = (1L << 2), /* compressed data at 4 bpp depth available */
611  codecInfoDepth8 = (1L << 3), /* compressed data at 8 bpp depth available */
612  codecInfoDepth16 = (1L << 4), /* compressed data at 16 bpp depth available */
613  codecInfoDepth32 = (1L << 5), /* compressed data at 32 bpp depth available */
614  codecInfoDepth24 = (1L << 6), /* compressed data at 24 bpp depth available */
615  codecInfoDepth33 = (1L << 7), /* compressed data at 1 bpp monochrome depth available */
616  codecInfoDepth34 = (1L << 8), /* compressed data at 2 bpp grayscale depth available */
617  codecInfoDepth36 = (1L << 9), /* compressed data at 4 bpp grayscale depth available */
618  codecInfoDepth40 = (1L << 10), /* compressed data at 8 bpp grayscale depth available */
619  codecInfoStoresClut = (1L << 11), /* compressed data can have custom cluts */
620  codecInfoDoesLossless = (1L << 12), /* compressed data can be stored in lossless format */
621  codecInfoSequenceSensitive = (1L << 13) /* compressed data is sensitive to out of sequence decoding */
622 };
623 
624 struct __attribute__((__packed__)) CodecInfo {
625  Str31 typeName; /* name of the codec type i.e.: 'Apple Image Compression' */
626  short version; /* version of the codec data that this codec knows about */
627  short revisionLevel; /* revision level of this codec i.e: 0x00010001 (1.0.1) */
628  long vendor; /* Maker of this codec i.e: 'appl' */
629  long decompressFlags; /* codecInfo flags for decompression capabilities */
630  long compressFlags; /* codecInfo flags for compression capabilities */
631  long formatFlags; /* codecInfo flags for compression format details */
632  UInt8 compressionAccuracy; /* measure (1-255) of accuracy of this codec for compress (0 if unknown) */
633  UInt8 decompressionAccuracy; /* measure (1-255) of accuracy of this codec for decompress (0 if unknown) */
634  unsigned short compressionSpeed; /* ( millisecs for compressing 320x240 on base mac II) (0 if unknown) */
635  unsigned short decompressionSpeed; /* ( millisecs for decompressing 320x240 on mac II)(0 if unknown) */
636  UInt8 compressionLevel; /* measure (1-255) of compression level of this codec (0 if unknown) */
637  UInt8 resvd; /* pad */
638  short minimumHeight; /* minimum height of image (block size) */
639  short minimumWidth; /* minimum width of image (block size) */
640  short decompressPipelineLatency; /* in milliseconds ( for asynchronous codecs ) */
641  short compressPipelineLatency; /* in milliseconds ( for asynchronous codecs ) */
642  long privateData;
643 };
644 typedef struct CodecInfo CodecInfo;
645 
646 static inline void dump_ImageDescription(void* xxx){
648  unsigned char* x;
649  int i;
650 
651  for(i=0;i<id->idSize;i++){
652  printf(" %02X",((unsigned char*)id)[i]);
653  if((i%16)==15) printf("\n");
654  }
655  printf("\n");
656 
657 
658  printf("=============== ImageDescription at %p ==================\n",xxx);
659  printf("idSize=0x%lX fourcc=0x%08X\n",id->idSize,id->cType);
660  printf("ver=%d rev=%d vendor=0x%08lX\n",id->version,id->revisionLevel,id->vendor);
661  printf("tempQ=%ld spatQ=%ld dim: %d x %d dpi: %ld x %ld depth: %d\n",
662  id->temporalQuality,id->spatialQuality,
663  id->width, id->height,
664  id->hRes, id->vRes,
665  id->depth);
666  printf("dataSize=%ld frameCount=%d clutID=%d\n",id->dataSize, id->frameCount, id->clutID);
667  printf("name='%.*s'\n",((char*)(&id->name))[0],((char*)(&id->name))+1);
668  x=((char*)(&id->clutID))+2;
669  if(id->idSize>(int)sizeof(ImageDescription)){
670  printf("%02X %02X %02X %02X | %02X %02X %02X %02X | %02X %02X %02X %02X | %02X %02X %02X %02X\n",
671  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]);
672  }
673  printf("=========================================================\n");
674 }
675 
676 static inline void dump_Rect(const char* title,Rect *r){
677  printf("%s: %d;%d - %d;%d\n",title,
678  (int)r->top,(int)r->left,(int)r->bottom,(int)r->right);
679 }
680 
681 static inline void dump_MatrixRecord(const char* title, MatrixRecord *m){
682  printf("%s: [%ld %ld %ld][%ld %ld %ld][%ld %ld %ld]\n",title,
683  m->matrix[0][0],m->matrix[0][1],m->matrix[0][2],
684  m->matrix[1][0],m->matrix[1][1],m->matrix[1][2],
685  m->matrix[2][0],m->matrix[2][1],m->matrix[2][2]);
686 }
687 
688 static inline void dump_PixMap(void* xxx){
689  PixMap *p=xxx;
690  printf("=============== PixMap at %p ==================\n",xxx);
691  printf("base=%p stride=%d\n",p->baseAddr, p->rowBytes);
692  dump_Rect("bounds",&p->bounds);
693  printf("pmVersion=0x%X packType=0x%X\n packSize=0x%lX\n",
694  p->pmVersion,p->packType, p->packSize);
695  printf("hRes=0x%lX vRes=0x%lX pixelType=0x%X pixelSize=0x%X\n",
696  p->hRes,p->vRes,p->pixelType,p->pixelSize);
697  printf("cmpCount=0x%X cmpSize=0x%X pixelFormat=0x%X\n",
698  p->cmpCount,p->cmpSize,p->pixelFormat);
699  printf("pmTable=%p pmExt=%p\n",p->pmTable,p->pmExt);
700  printf("=========================================================\n");
701 }
702 
703 static inline void dump_CodecCapabilities(void* xxx){
704  CodecCapabilities* cc=xxx;
705  if(!xxx) return;
706  printf("=============== CodecCapabilities at %p =================\n",xxx);
707  printf("flags=0x%lX flags2=0x%lX\n",cc->flags,cc->flags2);
708  printf("wantedPixelSize=%d extendWidth=%d extendHeight=%d band=%d+%d\n",
709  cc->wantedPixelSize,cc->extendWidth,cc->extendHeight,
710  cc->bandMin,cc->bandInc);
711  printf("pad=0x%X time=0x%lX\n",cc->pad,cc->time);
712  printf("=========================================================\n");
713 }
714 
715 static inline void dump_CodecDecompressParams(void* xxx){
716  CodecDecompressParams* cd=xxx;
717  ImageDescription **idh;
718  int i;
719  if(!xxx) return;
720  printf("=============== CodecDecompressParams at %p ==================\n",xxx);
721  printf("sequenceID=%ld\n",cd->sequenceID);
722  idh=cd->imageDescription;
723  if(idh && idh[0]) dump_ImageDescription(idh[0]);
724 
725  for(i=0;i<(int)sizeof(CodecDecompressParams);i++){
726  printf(" %02X",((unsigned char*)cd)[i]);
727  if((i%16)==15) printf("\n");
728  }
729  printf("\n");
730 
731  printf("data=%p size=%ld\n",cd->data,cd->bufferSize);
732  printf("frameno=%ld lines: %ld .. %ld condflags=0x%lX callerflags=0x%X\n",
733  cd->frameNumber, cd->startLine, cd->stopLine, cd->conditionFlags,cd->callerFlags);
734 // printf("maskBits=%p mattePixMap=%p\n",
735 // cd->maskBits,cd->mattePixMap);
736  dump_PixMap(&cd->dstPixMap);
737 // if(cd->mattePixMap) dump_PixMap(cd->mattePixMap);
738  if(cd->matrix) dump_MatrixRecord("matrix",cd->matrix);
739  if(cd->capabilities) dump_CodecCapabilities(cd->capabilities);
740  printf("accuracy=%d transferMode=%d matrixFlags=0x%X matrixType=%d\n",
741  (int)cd->accuracy, (int)cd->transferMode, (int)cd->matrixFlags, (int)cd->matrixType);
742  printf("srcrect: %d;%d - %d;%d\n",cd->srcRect.top,cd->srcRect.left,cd->srcRect.bottom,cd->srcRect.right);
743  printf("dstrect: %d;%d - %d;%d\n",cd->dstRect.top,cd->dstRect.left,cd->dstRect.bottom,cd->dstRect.right);
744  printf("wantedDestinationPixelTypes=%p\n",cd->wantedDestinationPixelTypes);
745  if(cd->wantedDestinationPixelTypes){
746  OSType **p=cd->wantedDestinationPixelTypes;
747  while(p[0]){
748  printf(" 0x%p %d\n",p[0],*p[0]);
749  ++p;
750  }
751  }
752  printf("screenFloodMethod=%ld value=%ld preferredOffscreenPixelSize=%d\n",
753  cd->screenFloodMethod, cd->screenFloodValue, cd->preferredOffscreenPixelSize);
754  printf("callbacks: progress=0x%08llX compl=0x%08llX data=0x%08llX ftime=%p srcdata=%p sync=%p\n",
755  cd->progressProcRecord, cd->completionProcRecord,
756  cd->dataProcRecord, cd->frameTime, cd->sourceData, cd->syncFrameTime);
757 // printf("\n");
758 
759  printf("=========================================================\n");
760 
761 
762 }
763 
Size
long Size
Definition: components.h:5
xine_s
Definition: xine_internal.h:80
qta_decoder_s::SoundConverterSetInfo
LPFUNC5 SoundConverterSetInfo
Definition: qt_decoder.c:155
dump_CodecCapabilities
static void dump_CodecCapabilities(void *xxx)
Definition: components.h:703
qta_reset
static void qta_reset(audio_decoder_t *this_gen)
Definition: qt_decoder.c:510
buf_element_s::size
int32_t size
Definition: buffer.h:343
CGrafPtr
GrafPtr CGrafPtr
Definition: components.h:333
qtv_decoder_t
struct qtv_decoder_s qtv_decoder_t
codecConditionNewAccuracy
@ codecConditionNewAccuracy
Definition: components.h:427
hilite
@ hilite
Definition: components.h:288
audio_buffer_s::num_frames
int num_frames
Definition: audio_out.h:150
qta_decoder_s::SoundConverterConvertBuffer
LPFUNC7 SoundConverterConvertBuffer
Definition: qt_decoder.c:157
XINE_STREAM_INFO_AUDIO_HANDLED
#define XINE_STREAM_INFO_AUDIO_HANDLED
Definition: xine.h:1021
addPin
@ addPin
Definition: components.h:290
qtv_decoder_s::GetComponentInfo
OSErr(* GetComponentInfo)(Component prev, ComponentDescription *desc, Handle h1, Handle h2, Handle h3)
Definition: qt_decoder.c:630
qta_open_plugin
static audio_decoder_t * qta_open_plugin(audio_decoder_class_t *class_gen, xine_stream_t *stream)
Definition: qt_decoder.c:549
codecConditionNewSrcRect
@ codecConditionNewSrcRect
Definition: components.h:417
qtv_decoder_s::codeccap
CodecCapabilities codeccap
Definition: qt_decoder.c:616
video_decoder_s
Definition: video_decoder.h:73
xine_stream_s
Definition: xine_internal.h:123
PixMapHandle
PixMapPtr * PixMapHandle
Definition: components.h:212
qta_decoder_s::myConverter
SoundConverter myConverter
Definition: qt_decoder.c:161
dump_Rect
static void dump_Rect(const char *title, Rect *r)
Definition: components.h:676
codecInfoDepth4
@ codecInfoDepth4
Definition: components.h:610
SoundComponentData::sampleCount
long sampleCount
Definition: qt_decoder.c:107
codecUsesOverlaySurface
@ codecUsesOverlaySurface
Definition: components.h:397
vo_frame_s::pts
int64_t pts
Definition: video_out.h:109
common.c
ComponentInstance
ComponentInstanceRecord * ComponentInstance
Definition: components.h:79
grayishTextOr
@ grayishTextOr
Definition: components.h:286
codecCanRemapColor
@ codecCanRemapColor
Definition: components.h:356
BUF_FLAG_FRAME_END
#define BUF_FLAG_FRAME_END
Definition: buffer.h:371
codecInfoDoesHorizFlip
@ codecInfoDoesHorizFlip
Definition: components.h:596
qtv_decoder_s::ImageCodecGetCodecInfo
ComponentResult(* ImageCodecGetCodecInfo)(ComponentInstance ci, CodecInfo *info)
Definition: qt_decoder.c:648
qta_decoder_s::SoundConverterOpen
LPFUNC2 SoundConverterOpen
Definition: qt_decoder.c:152
win32_codec_mutex
static pthread_mutex_t win32_codec_mutex
Definition: qt_decoder.c:78
codecInfoDoesBlend
@ codecInfoDoesBlend
Definition: components.h:599
codecConditionDoCursor
@ codecConditionDoCursor
Definition: components.h:433
codecInfoDoes16
@ codecInfoDoes16
Definition: components.h:584
codecInfoDepth32
@ codecInfoDepth32
Definition: components.h:613
codecRequiresOffscreen
@ codecRequiresOffscreen
Definition: components.h:388
qta_decoder_s::InFrameSize
int InFrameSize
Definition: qt_decoder.c:164
FOUR_CHAR_CODE
#define FOUR_CHAR_CODE
Definition: qt_decoder.c:61
LPFUNC7
int(__cdecl * LPFUNC7)(SoundConverter sc, const void *inputPtr, unsigned long inputFrames, void *outputPtr, unsigned long *outputFrames, unsigned long *outputBytes)
Definition: qt_decoder.c:125
qta_decoder_s::audio_decoder
audio_decoder_t audio_decoder
Definition: qt_decoder.c:139
codecWantsRegionMask
@ codecWantsRegionMask
Definition: components.h:377
notSrcXor
@ notSrcXor
Definition: components.h:276
xine_cfg_entry_s::str_value
char * str_value
Definition: xine.h:1646
CSpecArray
ColorSpec CSpecArray[1]
Definition: components.h:107
ImageDescriptionPtr
ImageDescription * ImageDescriptionPtr
Definition: components.h:152
notSrcOr
@ notSrcOr
Definition: components.h:275
codecInfoDoesRecompress
@ codecInfoDoesRecompress
Definition: components.h:601
dump_PixMap
static void dump_PixMap(void *xxx)
Definition: components.h:688
GetProcAddress
FARPROC WINAPI GetProcAddress(HMODULE, LPCSTR)
codecCanRemapResolution
@ codecCanRemapResolution
Definition: components.h:390
qta_discontinuity
static void qta_discontinuity(audio_decoder_t *this_gen)
Definition: qt_decoder.c:517
audio_decoder_s
Definition: audio_decoder.h:73
codecInfoHasEffectParameterList
@ codecInfoHasEffectParameterList
Definition: components.h:598
codecInfoDoesRateConstrain
@ codecInfoDoesRateConstrain
Definition: components.h:603
xine_fast_memcpy
void *(* xine_fast_memcpy)(void *to, const void *from, size_t len)
Definition: memcpy.c:60
qta_decoder_s::num_frames
int num_frames
Definition: qt_decoder.c:172
ComponentInstanceRecord
struct ComponentInstanceRecord ComponentInstanceRecord
Definition: components.h:77
qta_decoder_s::out_buf
uint8_t out_buf[1000000]
Definition: qt_decoder.c:149
codecImageBufferIsInPCIMemory
@ codecImageBufferIsInPCIMemory
Definition: components.h:401
notPatOr
@ notPatOr
Definition: components.h:283
qtv_decoder_s::FindNextComponent
Component(* FindNextComponent)(Component prev, ComponentDescription *desc)
Definition: qt_decoder.c:628
StyleField
Style StyleField
Definition: components.h:230
buf_element_s::decoder_info
uint32_t decoder_info[5]
Definition: buffer.h:353
codecConditionMaskMayBeChanged
@ codecConditionMaskMayBeChanged
Definition: components.h:437
k32RGBAPixelFormat
@ k32RGBAPixelFormat
Definition: components.h:164
qta_decoder_s::InitializeQTML
LPFUNC1 InitializeQTML
Definition: qt_decoder.c:151
codecCanAsyncWhen
@ codecCanAsyncWhen
Definition: components.h:370
get_win32_codecs_path
static const char * get_win32_codecs_path(config_values_t *cfg)
Definition: common.c:5
codecCanSrcExtract
@ codecCanSrcExtract
Definition: components.h:360
codecCanTransform
@ codecCanTransform
Definition: components.h:344
qta_decoder_s
Definition: qt_decoder.c:138
LPFUNC8
int(__cdecl * LPFUNC8)(SoundConverter sc, void *outputPtr, unsigned long *outputFrames, unsigned long *outputBytes)
Definition: qt_decoder.c:131
ComponentResourcePtr
ComponentResource * ComponentResourcePtr
Definition: components.h:63
ImageDescription
struct ImageDescription ImageDescription
Definition: components.h:151
LPFUNC9
int(__cdecl * LPFUNC9)(SoundConverter sc)
Definition: qt_decoder.c:135
kUYVY422PixelFormat
@ kUYVY422PixelFormat
Definition: components.h:170
qtv_discontinuity
static void qtv_discontinuity(video_decoder_t *this_gen)
Definition: qt_decoder.c:999
DecompressorComponent
Component DecompressorComponent
Definition: components.h:308
BitMapHandle
BitMapPtr * BitMapHandle
Definition: components.h:222
SoundComponentData
Definition: qt_decoder.c:101
ImageSequence
long ImageSequence
Definition: components.h:125
qta_decoder_s::data_len
int data_len
Definition: qt_decoder.c:171
codecInfoDepth40
@ codecInfoDepth40
Definition: components.h:618
audio_buffer_s::mem_size
int mem_size
Definition: audio_out.h:149
SInt16
signed short SInt16
Definition: components.h:17
audio_buffer_s
Definition: audio_out.h:144
__attribute__
struct __attribute__((__packed__)) ComponentParameters
Definition: components.h:29
ImageSubCodecDecompressCapabilities
struct ImageSubCodecDecompressCapabilities ImageSubCodecDecompressCapabilities
Definition: components.h:556
codecInfoDepth33
@ codecInfoDepth33
Definition: components.h:615
codecInfoStoresClut
@ codecInfoStoresClut
Definition: components.h:619
qtv_decoder_s::stream
xine_stream_t * stream
Definition: qt_decoder.c:597
adMin
@ adMin
Definition: components.h:296
qta_decoder_s::data
uint8_t data[1024 *1024]
Definition: qt_decoder.c:170
BitMap
struct BitMap BitMap
Definition: components.h:220
qta_decoder_s::OutFrameSize
int OutFrameSize
Definition: qt_decoder.c:165
srcBic
@ srcBic
Definition: components.h:273
SoundComponentData::numChannels
short numChannels
Definition: qt_decoder.c:104
ICMFrameTimePtr
void * ICMFrameTimePtr
Definition: components.h:327
srcCopy
@ srcCopy
Definition: components.h:270
codecMinQuality
@ codecMinQuality
Definition: components.h:314
ICMFrameTimeInfoPtr
void * ICMFrameTimeInfoPtr
Definition: components.h:329
codecInfoDoesWarp
@ codecInfoDoesWarp
Definition: components.h:600
codecInfoDepth24
@ codecInfoDepth24
Definition: components.h:614
RgnHandle
struct OpaqueRgnHandle * RgnHandle
Definition: components.h:223
patBic
@ patBic
Definition: components.h:281
qtv_init_class
void * qtv_init_class(xine_t *xine, const void *data)
Definition: qt_decoder.c:1054
qta_decoder_s::SoundConverterBeginConversion
LPFUNC9 SoundConverterBeginConversion
Definition: qt_decoder.c:159
codecInfoDoesTemporal
@ codecInfoDoesTemporal
Definition: components.h:590
qta_decoder_s::wave
xine_waveformatex wave
Definition: qt_decoder.c:148
ImageCodecDrawBandCompleteUPP
void * ImageCodecDrawBandCompleteUPP
Definition: components.h:323
qtv_decoder_s::bih
xine_bmiheader bih
Definition: qt_decoder.c:601
codecCanFastDither
@ codecCanFastDither
Definition: components.h:358
codecInfoDoes4
@ codecInfoDoes4
Definition: components.h:582
qtv_decoder_s::ratio
double ratio
Definition: qt_decoder.c:602
qta_init_driver
static void qta_init_driver(qta_decoder_t *this, buf_element_t *buf)
Definition: qt_decoder.c:210
_x_message
int _x_message(xine_stream_t *stream, int type,...)
Definition: xine_interface.c:1000
dump_CodecDecompressParams
static void dump_CodecDecompressParams(void *xxx)
Definition: components.h:715
LPFUNC4
int(__cdecl * LPFUNC4)(void)
Definition: qt_decoder.c:118
notSrcCopy
@ notSrcCopy
Definition: components.h:274
CodecQ
unsigned long CodecQ
Definition: components.h:128
Style
unsigned char Style
Definition: components.h:229
k2vuyPixelFormat
@ k2vuyPixelFormat
Definition: components.h:172
CodecType
OSType CodecType
Definition: components.h:126
BUFSIZE
#define BUFSIZE
Definition: qt_decoder.c:89
qtv_open_plugin
static video_decoder_t * qtv_open_plugin(video_decoder_class_t *class_gen, xine_stream_t *stream)
Definition: qt_decoder.c:1020
codecCanSpool
@ codecCanSpool
Definition: components.h:350
codecConditionNewMatte
@ codecConditionNewMatte
Definition: components.h:421
lprintf
#define lprintf(...)
Definition: xineutils.h:620
XINE_STREAM_INFO_VIDEO_HANDLED
#define XINE_STREAM_INFO_VIDEO_HANDLED
Definition: xine.h:1014
k16LE555PixelFormat
@ k16LE555PixelFormat
Definition: components.h:157
dump_MatrixRecord
static void dump_MatrixRecord(const char *title, MatrixRecord *m)
Definition: components.h:681
qtv_decode_data
static void qtv_decode_data(video_decoder_t *this_gen, buf_element_t *buf)
Definition: qt_decoder.c:903
codecConditionFirstFrame
@ codecConditionFirstFrame
Definition: components.h:411
codecWantsDestinationPixels
@ codecWantsDestinationPixels
Definition: components.h:380
Boolean
unsigned char Boolean
Definition: components.h:6
codecRequiresMaskBits
@ codecRequiresMaskBits
Definition: components.h:389
LPFUNC2
int(__cdecl * LPFUNC2)(const SoundComponentData *, const SoundComponentData *, SoundConverter *)
Definition: qt_decoder.c:114
patXor
@ patXor
Definition: components.h:280
audio_out.h
Pattern::pat
UInt8 pat[8]
Definition: components.h:226
PixMapExtPtr
PixMapExtension * PixMapExtPtr
Definition: components.h:189
audio_buffer_s::mem
int16_t * mem
Definition: audio_out.h:148
FOUR_CHAR_CODE
#define FOUR_CHAR_CODE(a, b, c, d)
Definition: components.h:21
qta_init_class
void * qta_init_class(xine_t *xine, const void *data)
Definition: qt_decoder.c:571
qtv_decoder_s::OutBufferGWorld
GWorldPtr OutBufferGWorld
Definition: qt_decoder.c:621
LoadLibraryA
HMODULE WINAPI LoadLibraryA(LPCSTR)
Rect
struct Rect Rect
Definition: components.h:89
k24BGRPixelFormat
@ k24BGRPixelFormat
Definition: components.h:161
Handle
Ptr * Handle
Definition: components.h:4
CodecComponent
Component CodecComponent
Definition: components.h:309
qta_decoder_t
struct qta_decoder_s qta_decoder_t
SoundComponentData::sampleSize
short sampleSize
Definition: qt_decoder.c:105
codecCanMakeMask
@ codecCanMakeMask
Definition: components.h:366
XINE_META_INFO_AUDIOCODEC
#define XINE_META_INFO_AUDIOCODEC
Definition: xine.h:1069
qtv_decoder_s::ImageCodecInitialize
ComponentResult(* ImageCodecInitialize)(ComponentInstance ci, ImageSubCodecDecompressCapabilities *cap)
Definition: qt_decoder.c:637
codecConditionCodecChangedMask
@ codecConditionCodecChangedMask
Definition: components.h:441
ComponentResult
long ComponentResult
Definition: components.h:13
addOver
@ addOver
Definition: components.h:291
init_routine
static void init_routine(void)
Definition: qt_decoder.c:80
codecInfoDoesShrink
@ codecInfoDoesShrink
Definition: components.h:588
codecInfoDoesRotate
@ codecInfoDoesRotate
Definition: components.h:595
_X_BE_16
#define _X_BE_16(x)
Definition: bswap.h:40
CodecFlags
unsigned short CodecFlags
Definition: components.h:127
ditherCopy
@ ditherCopy
Definition: components.h:297
SoundComponentData::format
OSType format
Definition: qt_decoder.c:103
qtv_decoder_s::NewHandleClear
OSErr(* NewHandleClear)(Size byteCount)
Definition: qt_decoder.c:663
buf_element_s::pts
int64_t pts
Definition: buffer.h:345
qtv_decoder_s::codec_initialized
int codec_initialized
Definition: qt_decoder.c:604
SInt32
signed long SInt32
Definition: components.h:19
qta_decoder_s::codec_initialized
int codec_initialized
Definition: qt_decoder.c:141
codecInfoSequenceSensitive
@ codecInfoSequenceSensitive
Definition: components.h:621
codecInfoDoesQuad
@ codecInfoDoesQuad
Definition: components.h:592
codecNormalQuality
@ codecNormalQuality
Definition: components.h:316
codecInfoDoes32
@ codecInfoDoes32
Definition: components.h:585
ImageSubCodecDecompressRecord
struct ImageSubCodecDecompressRecord ImageSubCodecDecompressRecord
Definition: components.h:575
codecCanDoIndirectSurface
@ codecCanDoIndirectSurface
Definition: components.h:386
SoundConverter
struct OpaqueSoundConverter * SoundConverter
Definition: qt_decoder.c:98
codecConditionLastBand
@ codecConditionLastBand
Definition: components.h:409
qta_decoder_s::OutputFormatInfo
SoundComponentData OutputFormatInfo
Definition: qt_decoder.c:162
CDSequenceDataSourcePtr
void * CDSequenceDataSourcePtr
Definition: components.h:328
qtv_decoder_s::OpenComponent
ComponentInstance(* OpenComponent)(Component c)
Definition: qt_decoder.c:636
NULL
NULL
Definition: xine_plugin.c:78
codecCanAsync
@ codecCanAsync
Definition: components.h:364
qtv_decoder_s::decpar
CodecDecompressParams decpar
Definition: qt_decoder.c:617
k16LE5551PixelFormat
@ k16LE5551PixelFormat
Definition: components.h:158
qta_decoder_s::SoundConverterEndConversion
LPFUNC8 SoundConverterEndConversion
Definition: qt_decoder.c:158
BUF_SPECIAL_STSD_ATOM
#define BUF_SPECIAL_STSD_ATOM
Definition: buffer.h:503
audio_decoder_class_s
Definition: audio_decoder.h:40
kYVYU422PixelFormat
@ kYVYU422PixelFormat
Definition: components.h:169
audio_decoder_class_s::open_plugin
audio_decoder_t *(* open_plugin)(audio_decoder_class_t *this_gen, xine_stream_t *stream)
Definition: audio_decoder.h:45
codecCanManagePrevBuffer
@ codecCanManagePrevBuffer
Definition: components.h:374
PixMapExtHandle
PixMapExtPtr * PixMapExtHandle
Definition: components.h:190
SoundComponentData::sampleRate
UnsignedFixed sampleRate
Definition: qt_decoder.c:106
codecCanLockSurface
@ codecCanLockSurface
Definition: components.h:392
vo_frame_s::bad_frame
int bad_frame
Definition: video_out.h:111
codecWantsSpecialScaling
@ codecWantsSpecialScaling
Definition: components.h:382
RGBColorHdl
RGBColorPtr * RGBColorHdl
Definition: components.h:99
LPFUNC6
int(__cdecl * LPFUNC6)(SoundConverter sc, unsigned long inputBytesTarget, unsigned long *inputFrames, unsigned long *inputBytes, unsigned long *outputBytes)
Definition: qt_decoder.c:120
adMax
@ adMax
Definition: components.h:294
codecCanShift
@ codecCanShift
Definition: components.h:368
codecConditionToBuffer
@ codecConditionToBuffer
Definition: components.h:439
codecCanCopyPrevComp
@ codecCanCopyPrevComp
Definition: components.h:362
LPFUNC1
int(__cdecl * LPFUNC1)(long flag)
Definition: qt_decoder.c:113
GrafPtr
struct OpaqueGrafPtr * GrafPtr
Definition: components.h:332
_x_abort
#define _x_abort()
Definition: xine_mpeg2new_decoder.c:50
SoundComponentData
struct SoundComponentData SoundComponentData
xine_s::config
config_values_t * config
Definition: xine_internal.h:82
codecConditionFirstScreen
@ codecConditionFirstScreen
Definition: components.h:431
width
unsigned int width
Definition: gfontrle.c:4
_x_stream_info_set
void _x_stream_info_set(xine_stream_t *s, int info, int value)
Definition: info_helper.c:79
codecInfoDoesDouble
@ codecInfoDoesDouble
Definition: components.h:591
codecConditionNewDepth
@ codecConditionNewDepth
Definition: components.h:413
codecImageBufferIsOverlaySurface
@ codecImageBufferIsOverlaySurface
Definition: components.h:398
ColorSpecPtr
ColorSpec * ColorSpecPtr
Definition: components.h:106
CTabHandle
CTabPtr * CTabHandle
Definition: components.h:117
GWorldHandle
GWorldPtr * GWorldHandle
Definition: components.h:266
codecConditionNewDestination
@ codecConditionNewDestination
Definition: components.h:429
vo_frame_s::duration
int duration
Definition: video_out.h:112
BUF_FLAG_SPECIAL
#define BUF_FLAG_SPECIAL
Definition: buffer.h:395
qtv_decoder_s::data_len
int data_len
Definition: qt_decoder.c:609
UInt8
unsigned char UInt8
Definition: components.h:14
codecConditionNewMask
@ codecConditionNewMask
Definition: components.h:419
ICMDataProcRecord
long long ICMDataProcRecord
Definition: components.h:326
k16BE565PixelFormat
@ k16BE565PixelFormat
Definition: components.h:159
codecMaxQuality
@ codecMaxQuality
Definition: components.h:313
qta_decoder_s::qtml_dll
HINSTANCE qtml_dll
Definition: qt_decoder.c:146
qta_decoder_s::TerminateQTML
LPFUNC4 TerminateQTML
Definition: qt_decoder.c:154
_CodecInfo
Definition: libwin32.h:31
codecInfoDoesLossless
@ codecInfoDoesLossless
Definition: components.h:620
CTabPtr
ColorTable * CTabPtr
Definition: components.h:116
codecConditionNewTransform
@ codecConditionNewTransform
Definition: components.h:415
codecIsSequenceSensitive
@ codecIsSequenceSensitive
Definition: components.h:387
kYUV411PixelFormat
@ kYUV411PixelFormat
Definition: components.h:168
LPFUNC5
int(__cdecl * LPFUNC5)(SoundConverter sc, OSType selector, void *infoPtr)
Definition: qt_decoder.c:119
codecInfoDoes1
@ codecInfoDoes1
Definition: components.h:580
CompressorComponent
Component CompressorComponent
Definition: components.h:307
codecInfoDepth36
@ codecInfoDepth36
Definition: components.h:617
_x_meta_info_set_utf8
void _x_meta_info_set_utf8(xine_stream_t *s, int info, const char *str)
Definition: info_helper.c:341
VO_BOTH_FIELDS
#define VO_BOTH_FIELDS
Definition: video_out.h:293
ImageDescriptionHandle
ImageDescriptionPtr * ImageDescriptionHandle
Definition: components.h:153
codecInfoDoesVertFlip
@ codecInfoDoesVertFlip
Definition: components.h:597
buf_element_s
Definition: buffer.h:337
codecCanClipVertical
@ codecCanClipVertical
Definition: components.h:352
codecInfoDepth34
@ codecInfoDepth34
Definition: components.h:616
GlobalsPtr
void * GlobalsPtr
Definition: components.h:24
GrafPort
struct GrafPort GrafPort
Definition: components.h:264
OSErr
long OSErr
Definition: components.h:10
codecInfoDepth16
@ codecInfoDepth16
Definition: components.h:612
kYUVUPixelFormat
@ kYUVUPixelFormat
Definition: components.h:166
xine_waveformatex
xine version of WAVEFORMATEX.
Definition: buffer.h:760
SInt8
signed char SInt8
Definition: components.h:15
BUF_AUDIO_QCLP
#define BUF_AUDIO_QCLP
Definition: buffer.h:233
codecInfoDoesMask
@ codecInfoDoesMask
Definition: components.h:589
codecCanCopyPrev
@ codecCanCopyPrev
Definition: components.h:348
PixMapPtr
PixMap * PixMapPtr
Definition: components.h:211
codecCanClipRectangular
@ codecCanClipRectangular
Definition: components.h:354
patOr
@ patOr
Definition: components.h:279
audio_buffer_s::vpts
int64_t vpts
Definition: audio_out.h:152
hilitetransfermode
@ hilitetransfermode
Definition: components.h:287
codecInfoDoesStretch
@ codecInfoDoesStretch
Definition: components.h:587
__XINE_FUNCTION__
#define __XINE_FUNCTION__
Definition: compat.h:37
codecIsDirectToScreenOnly
@ codecIsDirectToScreenOnly
Definition: components.h:391
XINE_VERBOSITY_DEBUG
#define XINE_VERBOSITY_DEBUG
Definition: xine.h:426
Component
ComponentRecord * Component
Definition: components.h:71
qta_decoder_s::FramesToGet
long FramesToGet
Definition: qt_decoder.c:166
buffer.h
qtv_decoder_s::EnterMovies
OSErr(* EnterMovies)(void)
Definition: qt_decoder.c:635
XINE_MSG_LIBRARY_LOAD_ERROR
#define XINE_MSG_LIBRARY_LOAD_ERROR
Definition: xine.h:2199
LPFUNC3
int(__cdecl * LPFUNC3)(SoundConverter sc)
Definition: qt_decoder.c:117
_x_ao_channels2mode
int _x_ao_channels2mode(int channels)
Definition: audio_out.c:1098
notSrcBic
@ notSrcBic
Definition: components.h:277
ColorSpec
struct ColorSpec ColorSpec
Definition: components.h:105
RGBColor
struct RGBColor RGBColor
Definition: components.h:97
video_decoder_class_s
Definition: video_decoder.h:41
codecImageBufferIsOnScreen
@ codecImageBufferIsOnScreen
Definition: components.h:379
addMax
@ addMax
Definition: components.h:293
BUF_FLAG_STDHEADER
#define BUF_FLAG_STDHEADER
Definition: buffer.h:401
PixMapExtension
struct PixMapExtension PixMapExtension
Definition: components.h:187
components.h
qta_decoder_s::SoundConverterClose
LPFUNC3 SoundConverterClose
Definition: qt_decoder.c:153
k32BGRAPixelFormat
@ k32BGRAPixelFormat
Definition: components.h:162
BUF_AUDIO_QDESIGN2
#define BUF_AUDIO_QDESIGN2
Definition: buffer.h:232
codecConditionFirstBand
@ codecConditionFirstBand
Definition: components.h:407
srcXor
@ srcXor
Definition: components.h:272
SoundComponentData::reserved
long reserved
Definition: qt_decoder.c:109
blend
@ blend
Definition: components.h:289
name
const char name[16]
Definition: memcpy.c:569
codecInfoDoesDither
@ codecInfoDoesDither
Definition: components.h:586
qta_decoder_s::output_open
int output_open
Definition: qt_decoder.c:142
notPatBic
@ notPatBic
Definition: components.h:285
codecHandlesInputs
@ codecHandlesInputs
Definition: components.h:384
codecLosslessQuality
@ codecLosslessQuality
Definition: components.h:312
XINE_META_INFO_VIDEOCODEC
#define XINE_META_INFO_VIDEOCODEC
Definition: xine.h:1068
height
unsigned int height
Definition: gfontrle.c:5
xine_cfg_entry_s
Definition: xine.h:1632
codecHighQuality
@ codecHighQuality
Definition: components.h:317
UInt32
unsigned long UInt32
Definition: components.h:18
qtv_decoder_s::ldt_fs
ldt_fs_t * ldt_fs
Definition: qt_decoder.c:665
codecInfoDepth8
@ codecInfoDepth8
Definition: components.h:611
subOver
@ subOver
Definition: components.h:295
ColorTable
struct ColorTable ColorTable
Definition: components.h:115
mode
enable disable number of frames of telecine pattern sync required before mode change make frames evenly spaced for film mode(24 fps)" ) PARAM_ITEM( POST_PARAM_TYPE_BOOL
patCopy
@ patCopy
Definition: components.h:278
ComponentRecord
struct ComponentRecord ComponentRecord
Definition: components.h:70
GWorldPtr
GrafPort * GWorldPtr
Definition: components.h:265
codecLowQuality
@ codecLowQuality
Definition: components.h:315
transparent
@ transparent
Definition: components.h:298
Fixed
long Fixed
Definition: components.h:8
codecSrcMustBeImageBuffer
@ codecSrcMustBeImageBuffer
Definition: components.h:399
buf_element_s::decoder_info_ptr
void * decoder_info_ptr[5]
Definition: buffer.h:355
k16LE565PixelFormat
@ k16LE565PixelFormat
Definition: components.h:160
qtv_decoder_s::ImageCodecPreDecompress
ComponentResult(* ImageCodecPreDecompress)(ComponentInstance ci, CodecDecompressParams *params)
Definition: qt_decoder.c:650
qta_decoder_s::InputFormatInfo
SoundComponentData InputFormatInfo
Definition: qt_decoder.c:162
codecImageBufferIsInAGPMemory
@ codecImageBufferIsInAGPMemory
Definition: components.h:400
codecInfoDoes2
@ codecInfoDoes2
Definition: components.h:581
RGBColorPtr
RGBColor * RGBColorPtr
Definition: components.h:98
qtv_decoder_s::ci
ComponentInstance ci
Definition: qt_decoder.c:612
codecInfoDoes8
@ codecInfoDoes8
Definition: components.h:583
qtv_decoder_s::ImageCodecDrawBand
ComponentResult(* ImageCodecDrawBand)(ComponentInstance ci, ImageSubCodecDecompressRecord *drp)
Definition: qt_decoder.c:643
qtv_decoder_s::data
uint8_t data[1024 *1024]
Definition: qt_decoder.c:608
RectPtr
Rect * RectPtr
Definition: components.h:90
vo_frame_s::draw
int(* draw)(vo_frame_t *vo_img, xine_stream_t *stream)
Definition: video_out.h:91
bswap.h
xine_bmiheader
xine version of BITMAPINFOHEADER.
Definition: buffer.h:742
subPin
@ subPin
Definition: components.h:292
buf_element_s::content
unsigned char * content
Definition: buffer.h:341
GWorldFlags
unsigned long GWorldFlags
Definition: components.h:301
BUF_AUDIO_QDESIGN1
#define BUF_AUDIO_QDESIGN1
Definition: buffer.h:231
kYUVSPixelFormat
@ kYUVSPixelFormat
Definition: components.h:165
codecCanScale
@ codecCanScale
Definition: components.h:338
Ptr
char * Ptr
Definition: components.h:3
once_control
static pthread_once_t once_control
Definition: qt_decoder.c:77
Point
struct Point Point
Definition: components.h:235
UInt16
unsigned short UInt16
Definition: components.h:16
_X_BE_32
#define _X_BE_32(x)
Definition: bswap.h:45
xine_internal.h
notPatCopy
@ notPatCopy
Definition: components.h:282
ICMProgressProcRecord
long long ICMProgressProcRecord
Definition: components.h:324
group_w32.h
codecCanMatte
@ codecCanMatte
Definition: components.h:342
qtv_decoder_s::QTNewGWorldFromPtr
OSErr(* QTNewGWorldFromPtr)(GWorldPtr *gw, OSType pixelFormat, const Rect *boundsRect, CTabHandle cTable, void *aGDevice, GWorldFlags flags, void *baseAddr, long rowBytes)
Definition: qt_decoder.c:655
qtv_decoder_s::plane
uint8_t * plane
Definition: qt_decoder.c:606
qta_decoder_s::frame_size
int frame_size
Definition: qt_decoder.c:168
codecInfoDoesSpool
@ codecInfoDoesSpool
Definition: components.h:602
buf_element_s::decoder_flags
uint32_t decoder_flags
Definition: buffer.h:350
ICMCompletionProcRecord
long long ICMCompletionProcRecord
Definition: components.h:325
config.h
CodecDecompressParams
struct CodecDecompressParams CodecDecompressParams
Definition: components.h:533
codecHasVolatileBuffer
@ codecHasVolatileBuffer
Definition: components.h:376
SoundComponentData::buffer
Byte * buffer
Definition: qt_decoder.c:108
kYVU9PixelFormat
@ kYVU9PixelFormat
Definition: components.h:167
vo_frame_s
Definition: video_out.h:59
srcOr
@ srcOr
Definition: components.h:271
qtv_decoder_s::framedescHandle
ImageDescriptionHandle framedescHandle
Definition: qt_decoder.c:624
qta_decode_data
static void qta_decode_data(audio_decoder_t *this_gen, buf_element_t *buf)
Definition: qt_decoder.c:416
qtv_decoder_s::ImageCodecEndBand
ComponentResult(* ImageCodecEndBand)(ComponentInstance ci, ImageSubCodecDecompressRecord *drp, OSErr result, long flags)
Definition: qt_decoder.c:645
qtv_decoder_s::InitializeQTML
OSErr(* InitializeQTML)(long flags)
Definition: qt_decoder.c:634
qtv_decoder_s::CountComponents
long(* CountComponents)(ComponentDescription *desc)
Definition: qt_decoder.c:633
buf_element_s::type
uint32_t type
Definition: buffer.h:362
ComponentResourceHandle
ComponentResourcePtr * ComponentResourceHandle
Definition: components.h:64
notPatXor
@ notPatXor
Definition: components.h:284
ComponentDescription
struct ComponentDescription ComponentDescription
Definition: components.h:45
codecInfoDepth2
@ codecInfoDepth2
Definition: components.h:609
UnsignedFixed
unsigned long UnsignedFixed
Definition: qt_decoder.c:99
qta_decoder_s::stream
xine_stream_t * stream
Definition: qt_decoder.c:144
FreeLibrary
int WINAPI FreeLibrary(HMODULE)
qtv_flush
static void qtv_flush(video_decoder_t *this_gen)
Definition: qt_decoder.c:987
PixMap
struct PixMap PixMap
Definition: components.h:210
SoundComponentData::flags
long flags
Definition: qt_decoder.c:102
qtv_decoder_s::qtml_dll
HINSTANCE qtml_dll
Definition: qt_decoder.c:599
Str31
unsigned char Str31[32]
Definition: components.h:7
CodecCapabilities
struct CodecCapabilities CodecCapabilities
Definition: components.h:458
BitMapPtr
BitMap * BitMapPtr
Definition: components.h:221
ResourceSpec
struct ResourceSpec ResourceSpec
Definition: components.h:52
qtv_dispose
static void qtv_dispose(video_decoder_t *this_gen)
Definition: qt_decoder.c:1004
audio_buffer_s::stream
xine_stream_t * stream
Definition: audio_out.h:159
codecCanMask
@ codecCanMask
Definition: components.h:340
MatrixRecordPtr
MatrixRecord * MatrixRecordPtr
Definition: components.h:123
vo_frame_s::base
uint8_t * base[3]
Definition: video_out.h:116
qtv_decoder_s::video_decoder
video_decoder_t video_decoder
Definition: qt_decoder.c:595
qtv_decoder_s::OutBufferRect
Rect OutBufferRect
Definition: qt_decoder.c:619
codecCanShieldCursor
@ codecCanShieldCursor
Definition: components.h:372
video_decoder_class_s::open_plugin
video_decoder_t *(* open_plugin)(video_decoder_class_t *this_gen, xine_stream_t *stream)
Definition: video_decoder.h:46
qtv_decoder_s
Definition: qt_decoder.c:594
k32ABGRPixelFormat
@ k32ABGRPixelFormat
Definition: components.h:163
qta_dispose
static void qta_dispose(audio_decoder_t *this_gen)
Definition: qt_decoder.c:521
codecInfoDoesHalf
@ codecInfoDoesHalf
Definition: components.h:593
dump_ImageDescription
static void dump_ImageDescription(void *xxx)
Definition: components.h:646
codecConditionCatchUpDiff
@ codecConditionCatchUpDiff
Definition: components.h:435
codecCanTransferMode
@ codecCanTransferMode
Definition: components.h:346
qtv_init_driver
static void qtv_init_driver(qtv_decoder_t *this, buf_element_t *buf)
Definition: qt_decoder.c:705
Byte
uint8_t Byte
Definition: qt_decoder.c:100
XINE_IMGFMT_YUY2
#define XINE_IMGFMT_YUY2
Definition: xine.h:495
codecConditionNewTransferMode
@ codecConditionNewTransferMode
Definition: components.h:423
Pattern
Definition: components.h:225
qtv_decoder_s::ImageCodecBandDecompress
ComponentResult(* ImageCodecBandDecompress)(ComponentInstance ci, CodecDecompressParams *params)
Definition: qt_decoder.c:652
codecConditionNewClut
@ codecConditionNewClut
Definition: components.h:425
OSType
int OSType
Definition: components.h:11
Globals
void ** Globals
Definition: components.h:25
xprintf
#define xprintf(xine, verbose,...)
Definition: xineutils.h:664
qtv_decoder_s::GetGWorldPixMap
PixMapHandle(* GetGWorldPixMap)(GWorldPtr offscreenGWorld)
Definition: qt_decoder.c:654
kYUV211PixelFormat
@ kYUV211PixelFormat
Definition: components.h:171
codecInfoDepth1
@ codecInfoDepth1
Definition: components.h:608
qta_decoder_s::SoundConverterGetBufferSizes
LPFUNC6 SoundConverterGetBufferSizes
Definition: qt_decoder.c:156
codecInfoDoesQuarter
@ codecInfoDoesQuarter
Definition: components.h:594
ComponentParameters
struct ComponentParameters ComponentParameters
Definition: components.h:35
qtv_decoder_s::ImageCodecBeginBand
ComponentResult(* ImageCodecBeginBand)(ComponentInstance ci, CodecDecompressParams *params, ImageSubCodecDecompressRecord *drp, long flags)
Definition: qt_decoder.c:639
N_
#define N_(String)
Definition: xineintl.h:47
MatrixRecord
struct MatrixRecord MatrixRecord
Definition: components.h:122
vo_frame_s::free
void(* free)(vo_frame_t *vo_img)
Definition: video_out.h:100
qtv_reset
static void qtv_reset(video_decoder_t *this_gen)
Definition: qt_decoder.c:993
ComponentResource
struct ComponentResource ComponentResource
Definition: components.h:62
qta_decoder_s::ldt_fs
ldt_fs_t * ldt_fs
Definition: qt_decoder.c:174