1 {
2      File:       QuickTime/ImageCompression.h
3 
4      Contains:   QuickTime Image Compression Interfaces.
5 
6      Version:    QuickTime 7.7.1
7 
8      Copyright:  � 1990-2012 by Apple Inc., all rights reserved
9 
10      Bugs?:      For bug reports, consult the following page on
11                  the World Wide Web:
12 
13                      http://bugs.freepascal.org
14 
15 }
16 {  Pascal Translation Updated:  Jonas Maebe, <jonas@freepascal.org>, October 2009 }
17 {  Pascal Translation Updated:  Jonas Maebe, <jonas@freepascal.org>, October 2012 }
18 {
19     Modified for use with Free Pascal
20     Version 308
21     Please report any bugs to <gpc@microbizz.nl>
22 }
23 
24 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
25 {$mode macpas}
26 {$modeswitch cblocks}
27 {$packenum 1}
28 {$macro on}
29 {$inline on}
30 {$calling mwpascal}
31 
32 unit ImageCompression;
33 interface
34 {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
35 {$setc GAP_INTERFACES_VERSION := $0308}
36 
37 {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
38     {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
39 {$endc}
40 
41 {$ifc defined CPUPOWERPC and defined CPUI386}
42 	{$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
43 {$endc}
44 {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
45 	{$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
46 {$endc}
47 
48 {$ifc not defined __ppc__ and defined CPUPOWERPC32}
49 	{$setc __ppc__ := 1}
50 {$elsec}
51 	{$setc __ppc__ := 0}
52 {$endc}
53 {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
54 	{$setc __ppc64__ := 1}
55 {$elsec}
56 	{$setc __ppc64__ := 0}
57 {$endc}
58 {$ifc not defined __i386__ and defined CPUI386}
59 	{$setc __i386__ := 1}
60 {$elsec}
61 	{$setc __i386__ := 0}
62 {$endc}
63 {$ifc not defined __x86_64__ and defined CPUX86_64}
64 	{$setc __x86_64__ := 1}
65 {$elsec}
66 	{$setc __x86_64__ := 0}
67 {$endc}
68 {$ifc not defined __arm__ and defined CPUARM}
69 	{$setc __arm__ := 1}
70 {$elsec}
71 	{$setc __arm__ := 0}
72 {$endc}
73 {$ifc not defined __arm64__ and defined CPUAARCH64}
74   {$setc __arm64__ := 1}
75 {$elsec}
76   {$setc __arm64__ := 0}
77 {$endc}
78 
79 {$ifc defined cpu64}
80   {$setc __LP64__ := 1}
81 {$elsec}
82   {$setc __LP64__ := 0}
83 {$endc}
84 
85 
86 {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
87 	{$error Conflicting definitions for __ppc__ and __i386__}
88 {$endc}
89 
90 {$ifc defined __ppc__ and __ppc__}
91 	{$setc TARGET_CPU_PPC := TRUE}
92 	{$setc TARGET_CPU_PPC64 := FALSE}
93 	{$setc TARGET_CPU_X86 := FALSE}
94 	{$setc TARGET_CPU_X86_64 := FALSE}
95 	{$setc TARGET_CPU_ARM := FALSE}
96 	{$setc TARGET_CPU_ARM64 := FALSE}
97 	{$setc TARGET_OS_MAC := TRUE}
98 	{$setc TARGET_OS_IPHONE := FALSE}
99 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
100 	{$setc TARGET_OS_EMBEDDED := FALSE}
101 {$elifc defined __ppc64__ and __ppc64__}
102 	{$setc TARGET_CPU_PPC := FALSE}
103 	{$setc TARGET_CPU_PPC64 := TRUE}
104 	{$setc TARGET_CPU_X86 := FALSE}
105 	{$setc TARGET_CPU_X86_64 := FALSE}
106 	{$setc TARGET_CPU_ARM := FALSE}
107 	{$setc TARGET_CPU_ARM64 := FALSE}
108 	{$setc TARGET_OS_MAC := TRUE}
109 	{$setc TARGET_OS_IPHONE := FALSE}
110 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
111 	{$setc TARGET_OS_EMBEDDED := FALSE}
112 {$elifc defined __i386__ and __i386__}
113 	{$setc TARGET_CPU_PPC := FALSE}
114 	{$setc TARGET_CPU_PPC64 := FALSE}
115 	{$setc TARGET_CPU_X86 := TRUE}
116 	{$setc TARGET_CPU_X86_64 := FALSE}
117 	{$setc TARGET_CPU_ARM := FALSE}
118 	{$setc TARGET_CPU_ARM64 := FALSE}
119 {$ifc defined iphonesim}
120  	{$setc TARGET_OS_MAC := FALSE}
121 	{$setc TARGET_OS_IPHONE := TRUE}
122 	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
123 {$elsec}
124 	{$setc TARGET_OS_MAC := TRUE}
125 	{$setc TARGET_OS_IPHONE := FALSE}
126 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
127 {$endc}
128 	{$setc TARGET_OS_EMBEDDED := FALSE}
129 {$elifc defined __x86_64__ and __x86_64__}
130 	{$setc TARGET_CPU_PPC := FALSE}
131 	{$setc TARGET_CPU_PPC64 := FALSE}
132 	{$setc TARGET_CPU_X86 := FALSE}
133 	{$setc TARGET_CPU_X86_64 := TRUE}
134 	{$setc TARGET_CPU_ARM := FALSE}
135 	{$setc TARGET_CPU_ARM64 := FALSE}
136 {$ifc defined iphonesim}
137  	{$setc TARGET_OS_MAC := FALSE}
138 	{$setc TARGET_OS_IPHONE := TRUE}
139 	{$setc TARGET_IPHONE_SIMULATOR := TRUE}
140 {$elsec}
141 	{$setc TARGET_OS_MAC := TRUE}
142 	{$setc TARGET_OS_IPHONE := FALSE}
143 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
144 {$endc}
145 	{$setc TARGET_OS_EMBEDDED := FALSE}
146 {$elifc defined __arm__ and __arm__}
147 	{$setc TARGET_CPU_PPC := FALSE}
148 	{$setc TARGET_CPU_PPC64 := FALSE}
149 	{$setc TARGET_CPU_X86 := FALSE}
150 	{$setc TARGET_CPU_X86_64 := FALSE}
151 	{$setc TARGET_CPU_ARM := TRUE}
152 	{$setc TARGET_CPU_ARM64 := FALSE}
153 	{$setc TARGET_OS_MAC := FALSE}
154 	{$setc TARGET_OS_IPHONE := TRUE}
155 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
156 	{$setc TARGET_OS_EMBEDDED := TRUE}
157 {$elifc defined __arm64__ and __arm64__}
158 	{$setc TARGET_CPU_PPC := FALSE}
159 	{$setc TARGET_CPU_PPC64 := FALSE}
160 	{$setc TARGET_CPU_X86 := FALSE}
161 	{$setc TARGET_CPU_X86_64 := FALSE}
162 	{$setc TARGET_CPU_ARM := FALSE}
163 	{$setc TARGET_CPU_ARM64 := TRUE}
164 {$ifc defined ios}
165 	{$setc TARGET_OS_MAC := FALSE}
166 	{$setc TARGET_OS_IPHONE := TRUE}
167 	{$setc TARGET_OS_EMBEDDED := TRUE}
168 {$elsec}
169 	{$setc TARGET_OS_MAC := TRUE}
170 	{$setc TARGET_OS_IPHONE := FALSE}
171 	{$setc TARGET_OS_EMBEDDED := FALSE}
172 {$endc}
173 	{$setc TARGET_IPHONE_SIMULATOR := FALSE}
174 {$elsec}
175 	{$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ nor __arm64__ is defined.}
176 {$endc}
177 
178 {$ifc defined __LP64__ and __LP64__ }
179   {$setc TARGET_CPU_64 := TRUE}
180 {$elsec}
181   {$setc TARGET_CPU_64 := FALSE}
182 {$endc}
183 
184 {$ifc defined FPC_BIG_ENDIAN}
185 	{$setc TARGET_RT_BIG_ENDIAN := TRUE}
186 	{$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
187 {$elifc defined FPC_LITTLE_ENDIAN}
188 	{$setc TARGET_RT_BIG_ENDIAN := FALSE}
189 	{$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
190 {$elsec}
191 	{$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
192 {$endc}
193 {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
194 {$setc CALL_NOT_IN_CARBON := FALSE}
195 {$setc OLDROUTINENAMES := FALSE}
196 {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
197 {$setc OPAQUE_UPP_TYPES := TRUE}
198 {$setc OTCARBONAPPLICATION := TRUE}
199 {$setc OTKERNEL := FALSE}
200 {$setc PM_USE_SESSION_APIS := TRUE}
201 {$setc TARGET_API_MAC_CARBON := TRUE}
202 {$setc TARGET_API_MAC_OS8 := FALSE}
203 {$setc TARGET_API_MAC_OSX := TRUE}
204 {$setc TARGET_CARBON := TRUE}
205 {$setc TARGET_CPU_68K := FALSE}
206 {$setc TARGET_CPU_MIPS := FALSE}
207 {$setc TARGET_CPU_SPARC := FALSE}
208 {$setc TARGET_OS_UNIX := FALSE}
209 {$setc TARGET_OS_WIN32 := FALSE}
210 {$setc TARGET_RT_MAC_68881 := FALSE}
211 {$setc TARGET_RT_MAC_CFM := FALSE}
212 {$setc TARGET_RT_MAC_MACHO := TRUE}
213 {$setc TYPED_FUNCTION_POINTERS := TRUE}
214 {$setc TYPE_BOOL := FALSE}
215 {$setc TYPE_EXTENDED := FALSE}
216 {$setc TYPE_LONGLONG := TRUE}
217 uses MacTypes,Components,CGLTypes,ColorSyncDeprecated,CVBase,CVImageBuffer,CVPixelBuffer,CVPixelBufferPool,Files,Dialogs,OSUtils,QuickdrawTypes,QDOffscreen,CFBase,CFData,CFDictionary,CGContext,CGImage;
218 {$endc} {not MACOSALLINCLUDE}
219 
220 
221 {$ifc TARGET_OS_MAC}
222 
223 {$ALIGN MAC68K}
224 
225 
226 type
227 	MatrixRecord = record
228 		matrix: array [0..2,0..2] of Fixed;
229 	end;
230 	MatrixRecordPtr = ^MatrixRecord;
231 const
232 	kRawCodecType = FourCharCode('raw ');
233 	kCinepakCodecType = FourCharCode('cvid');
234 	kGraphicsCodecType = FourCharCode('smc ');
235 	kAnimationCodecType = FourCharCode('rle ');
236 	kVideoCodecType = FourCharCode('rpza');
237 	kComponentVideoCodecType = FourCharCode('yuv2');
238 	kJPEGCodecType = FourCharCode('jpeg');
239 	kMotionJPEGACodecType = FourCharCode('mjpa');
240 	kMotionJPEGBCodecType = FourCharCode('mjpb');
241 	kSGICodecType = FourCharCode('.SGI');
242 	kPlanarRGBCodecType = FourCharCode('8BPS');
243 	kMacPaintCodecType = FourCharCode('PNTG');
244 	kGIFCodecType = FourCharCode('gif ');
245 	kPhotoCDCodecType = FourCharCode('kpcd');
246 	kQuickDrawGXCodecType = FourCharCode('qdgx');
247 	kAVRJPEGCodecType = FourCharCode('avr ');
248 	kOpenDMLJPEGCodecType = FourCharCode('dmb1');
249 	kBMPCodecType = FourCharCode('WRLE');
250 	kWindowsRawCodecType = FourCharCode('WRAW');
251 	kVectorCodecType = FourCharCode('path');
252 	kQuickDrawCodecType = FourCharCode('qdrw');
253 	kWaterRippleCodecType = FourCharCode('ripl');
254 	kFireCodecType = FourCharCode('fire');
255 	kCloudCodecType = FourCharCode('clou');
256 	kH261CodecType = FourCharCode('h261');
257 	kH263CodecType = FourCharCode('h263');
258 	kDVCNTSCCodecType = FourCharCode('dvc '); { DV - NTSC and DVCPRO NTSC (available in QuickTime 6.0 or later)}
259                                         { NOTE: kDVCProNTSCCodecType is deprecated.  }
260                                         { Use kDVCNTSCCodecType instead -- as far as the codecs are concerned, }
261                                         { the two data formats are identical.}
262 	kDVCPALCodecType = FourCharCode('dvcp');
263 	kDVCProPALCodecType = FourCharCode('dvpp'); { available in QuickTime 6.0 or later}
264 	kDVCPro50NTSCCodecType = FourCharCode('dv5n');
265 	kDVCPro50PALCodecType = FourCharCode('dv5p');
266 	kDVCPROHD720p60CodecType = FourCharCode('dvhp');
267 	kDVCPROHD720p50CodecType = FourCharCode('dvhq');
268 	kDVCPROHD720pCodecType = kDVCPROHD720p60CodecType;
269 	kDVCPro100NTSCCodecType = FourCharCode('dv1n');
270 	kDVCPro100PALCodecType = FourCharCode('dv1p');
271 	kDVCPROHD1080i60CodecType = FourCharCode('dvh6');
272 	kDVCPROHD1080i50CodecType = FourCharCode('dvh5');
273 	kDVCPROHD1080p30CodecType = FourCharCode('dvh3');
274 	kDVCPROHD1080p25CodecType = FourCharCode('dvh2');
275 	kBaseCodecType = FourCharCode('base');
276 	kFLCCodecType = FourCharCode('flic');
277 	kTargaCodecType = FourCharCode('tga ');
278 	kPNGCodecType = FourCharCode('png ');
279 	kTIFFCodecType = FourCharCode('tiff'); { NOTE: despite what might seem obvious from the two constants}
280                                         { below and their names, they really are correct. 'yuvu' really }
281                                         { does mean signed, and 'yuvs' really does mean unsigned. Really. }
282 	kComponentVideoSigned = FourCharCode('yuvu');
283 	kComponentVideoUnsigned = FourCharCode('yuvs');
284 	kCMYKCodecType = FourCharCode('cmyk');
285 	kMicrosoftVideo1CodecType = FourCharCode('msvc');
286 	kSorensonCodecType = FourCharCode('SVQ1');
287 	kSorenson3CodecType = FourCharCode('SVQ3'); { available in QuickTime 5 and later}
288 	kIndeo4CodecType = FourCharCode('IV41');
289 	kMPEG4VisualCodecType = FourCharCode('mp4v');
290 	k64ARGBCodecType = FourCharCode('b64a');
291 	k48RGBCodecType = FourCharCode('b48r');
292 	k32AlphaGrayCodecType = FourCharCode('b32a');
293 	k16GrayCodecType = FourCharCode('b16g');
294 	kMpegYUV420CodecType = FourCharCode('myuv');
295 	kYUV420CodecType = FourCharCode('y420');
296 	kSorensonYUV9CodecType = FourCharCode('syv9');
297 	k422YpCbCr8CodecType = FourCharCode('2vuy'); { Component Y'CbCr 8-bit 4:2:2  }
298 	k444YpCbCr8CodecType = FourCharCode('v308'); { Component Y'CbCr 8-bit 4:4:4  }
299 	k4444YpCbCrA8CodecType = FourCharCode('v408'); { Component Y'CbCrA 8-bit 4:4:4:4 }
300 	k422YpCbCr16CodecType = FourCharCode('v216'); { Component Y'CbCr 10,12,14,16-bit 4:2:2}
301 	k422YpCbCr10CodecType = FourCharCode('v210'); { Component Y'CbCr 10-bit 4:2:2 }
302 	k444YpCbCr10CodecType = FourCharCode('v410'); { Component Y'CbCr 10-bit 4:4:4 }
303 	k4444YpCbCrA8RCodecType = FourCharCode('r408'); { Component Y'CbCrA 8-bit 4:4:4:4, rendering format. full range alpha, zero biased yuv}
304 	kJPEG2000CodecType = FourCharCode('mjp2');
305 	kPixletCodecType = FourCharCode('pxlt');
306 	kH264CodecType = FourCharCode('avc1');
307 
308 
309 {$ifc not TARGET_CPU_64}
310 
311 { one source effects }
312 const
313 	kBlurImageFilterType = FourCharCode('blur');
314 	kSharpenImageFilterType = FourCharCode('shrp');
315 	kEdgeDetectImageFilterType = FourCharCode('edge');
316 	kEmbossImageFilterType = FourCharCode('embs');
317 	kConvolveImageFilterType = FourCharCode('genk');
318 	kAlphaGainImageFilterType = FourCharCode('gain');
319 	kRGBColorBalanceImageFilterType = FourCharCode('rgbb');
320 	kHSLColorBalanceImageFilterType = FourCharCode('hslb');
321 	kColorSyncImageFilterType = FourCharCode('sync');
322 	kFilmNoiseImageFilterType = FourCharCode('fmns');
323 	kSolarizeImageFilterType = FourCharCode('solr');
324 	kColorTintImageFilterType = FourCharCode('tint');
325 	kLensFlareImageFilterType = FourCharCode('lens');
326 	kBrightnessContrastImageFilterType = FourCharCode('brco');
327 
328 { two source effects }
329 const
330 	kAlphaCompositorTransitionType = FourCharCode('blnd');
331 	kCrossFadeTransitionType = FourCharCode('dslv');
332 	kChannelCompositeEffectType = FourCharCode('chan');
333 	kChromaKeyTransitionType = FourCharCode('ckey');
334 	kImplodeTransitionType = FourCharCode('mplo');
335 	kExplodeTransitionType = FourCharCode('xplo');
336 	kGradientTransitionType = FourCharCode('matt');
337 	kPushTransitionType = FourCharCode('push');
338 	kSlideTransitionType = FourCharCode('slid');
339 	kWipeTransitionType = FourCharCode('smpt');
340 	kIrisTransitionType = FourCharCode('smp2');
341 	kRadialTransitionType = FourCharCode('smp3');
342 	kMatrixTransitionType = FourCharCode('smp4');
343 	kZoomTransitionType = FourCharCode('zoom');
344 
345 { three source effects }
346 const
347 	kTravellingMatteEffectType = FourCharCode('trav');
348 
349 
350 { Supported by QTNewGWorld in QuickTime 4.0 and later }
351 const
352 	kCMYKPixelFormat = FourCharCode('cmyk'); { CMYK, 8-bit }
353 	k64ARGBPixelFormat = FourCharCode('b64a'); { ARGB, 16-bit big-endian samples }
354 	k48RGBPixelFormat = FourCharCode('b48r'); { RGB, 16-bit big-endian samples }
355 	k32AlphaGrayPixelFormat = FourCharCode('b32a'); { AlphaGray, 16-bit big-endian samples }
356 	k16GrayPixelFormat = FourCharCode('b16g'); { Grayscale, 16-bit big-endian samples }
357 	k422YpCbCr8PixelFormat = FourCharCode('2vuy'); { Component Y'CbCr 8-bit 4:2:2, ordered Cb Y'0 Cr Y'1 }
358 
359 { Supported by QTNewGWorld in QuickTime 4.1.2 and later }
360 const
361 	k4444YpCbCrA8PixelFormat = FourCharCode('v408'); { Component Y'CbCrA 8-bit 4:4:4:4, ordered Cb Y' Cr A }
362 	k4444YpCbCrA8RPixelFormat = FourCharCode('r408'); { Component Y'CbCrA 8-bit 4:4:4:4, rendering format. full range alpha, zero biased yuv, ordered A Y' Cb Cr }
363 
364 { Supported by QTNewGWorld in QuickTime 6.0 and later }
365 const
366 	kYUV420PixelFormat = FourCharCode('y420'); { Planar Component Y'CbCr 8-bit 4:2:0.  PixMap baseAddr points to a big-endian PlanarPixmapInfoYUV420 struct; see ImageCodec.i. }
367 
368 
369 { These are the bits that are set in the Component flags, and also in the codecInfo struct. }
370 const
371 	codecInfoDoes1 = 1 shl 0; { codec can work with 1-bit pixels }
372 	codecInfoDoes2 = 1 shl 1; { codec can work with 2-bit pixels }
373 	codecInfoDoes4 = 1 shl 2; { codec can work with 4-bit pixels }
374 	codecInfoDoes8 = 1 shl 3; { codec can work with 8-bit pixels }
375 	codecInfoDoes16 = 1 shl 4; { codec can work with 16-bit pixels }
376 	codecInfoDoes32 = 1 shl 5; { codec can work with 32-bit pixels }
377 	codecInfoDoesDither = 1 shl 6; { codec can do ditherMode }
378 	codecInfoDoesStretch = 1 shl 7; { codec can stretch to arbitrary sizes }
379 	codecInfoDoesShrink = 1 shl 8; { codec can shrink to arbitrary sizes }
380 	codecInfoDoesMask = 1 shl 9; { codec can mask to clipping regions }
381 	codecInfoDoesTemporal = 1 shl 10; { codec can handle temporal redundancy }
382 	codecInfoDoesDouble = 1 shl 11; { codec can stretch to double size exactly }
383 	codecInfoDoesQuad = 1 shl 12; { codec can stretch to quadruple size exactly }
384 	codecInfoDoesHalf = 1 shl 13; { codec can shrink to half size }
385 	codecInfoDoesQuarter = 1 shl 14; { codec can shrink to quarter size }
386 	codecInfoDoesRotate = 1 shl 15; { codec can rotate on decompress }
387 	codecInfoDoesHorizFlip = 1 shl 16; { codec can flip horizontally on decompress }
388 	codecInfoDoesVertFlip = 1 shl 17; { codec can flip vertically on decompress }
389 	codecInfoHasEffectParameterList = 1 shl 18; { codec implements get effects parameter list call, once was codecInfoDoesSkew }
390 	codecInfoDoesBlend = 1 shl 19; { codec can blend on decompress }
391 	codecInfoDoesReorder = 1 shl 19; { codec can rearrange frames during compression }
392 	codecInfoDoesWarp = 1 shl 20; { codec can warp arbitrarily on decompress }
393 	codecInfoDoesMultiPass = 1 shl 20; { codec can perform multi-pass compression }
394 	codecInfoDoesRecompress = 1 shl 21; { codec can recompress image without accumulating errors }
395 	codecInfoDoesSpool = 1 shl 22; { codec can spool image data }
396 	codecInfoDoesRateConstrain = 1 shl 23; { codec can data rate constrain }
397 
398 
399 const
400 	codecInfoDepth1 = 1 shl 0; { compressed data at 1 bpp depth available }
401 	codecInfoDepth2 = 1 shl 1; { compressed data at 2 bpp depth available }
402 	codecInfoDepth4 = 1 shl 2; { compressed data at 4 bpp depth available }
403 	codecInfoDepth8 = 1 shl 3; { compressed data at 8 bpp depth available }
404 	codecInfoDepth16 = 1 shl 4; { compressed data at 16 bpp depth available }
405 	codecInfoDepth32 = 1 shl 5; { compressed data at 32 bpp depth available }
406 	codecInfoDepth24 = 1 shl 6; { compressed data at 24 bpp depth available }
407 	codecInfoDepth33 = 1 shl 7; { compressed data at 1 bpp monochrome depth  available }
408 	codecInfoDepth34 = 1 shl 8; { compressed data at 2 bpp grayscale depth available }
409 	codecInfoDepth36 = 1 shl 9; { compressed data at 4 bpp grayscale depth available }
410 	codecInfoDepth40 = 1 shl 10; { compressed data at 8 bpp grayscale depth available }
411 	codecInfoStoresClut = 1 shl 11; { compressed data can have custom cluts }
412 	codecInfoDoesLossless = 1 shl 12; { compressed data can be stored in lossless format }
413 	codecInfoSequenceSensitive = 1 shl 13; { compressed data is sensitive to out of sequence decoding }
414 
415 
416 { input sequence flags}
417 const
418 	codecFlagUseImageBuffer = 1 shl 0; { decompress}
419 	codecFlagUseScreenBuffer = 1 shl 1; { decompress}
420 	codecFlagUpdatePrevious = 1 shl 2; { compress}
421 	codecFlagNoScreenUpdate = 1 shl 3; { decompress}
422 	codecFlagWasCompressed = 1 shl 4; { compress}
423 	codecFlagDontOffscreen = 1 shl 5; { decompress}
424 	codecFlagUpdatePreviousComp = 1 shl 6; { compress}
425 	codecFlagForceKeyFrame = 1 shl 7; { compress}
426 	codecFlagOnlyScreenUpdate = 1 shl 8; { decompress}
427 	codecFlagLiveGrab = 1 shl 9; { compress}
428 	codecFlagDiffFrame = 1 shl 9; { decompress}
429 	codecFlagDontUseNewImageBuffer = 1 shl 10; { decompress}
430 	codecFlagInterlaceUpdate = 1 shl 11; { decompress}
431 	codecFlagCatchUpDiff = 1 shl 12; { decompress}
432 	codecFlagSupportDisable = 1 shl 13; { decompress}
433 	codecFlagReenable = 1 shl 14; { decompress}
434 
435 
436 { output sequence flags}
437 const
438 	codecFlagOutUpdateOnNextIdle = 1 shl 9;
439 	codecFlagOutUpdateOnDataSourceChange = 1 shl 10;
440 	codecFlagSequenceSensitive = 1 shl 11;
441 	codecFlagOutUpdateOnTimeChange = 1 shl 12;
442 	codecFlagImageBufferNotSourceImage = 1 shl 13;
443 	codecFlagUsedNewImageBuffer = 1 shl 14;
444 	codecFlagUsedImageBuffer = 1 shl 15;
445 
446 
447 const
448 { The minimum data size for spooling in or out data }
449 	codecMinimumDataSize = 32768;
450 
451 
452 const
453 	compressorComponentType = FourCharCode('imco'); { the type for "Components" which compress images }
454 	decompressorComponentType = FourCharCode('imdc'); { the type for "Components" which decompress images }
455 
456 type
457 	CompressorComponent = Component;
458 	DecompressorComponent = Component;
459 	CodecComponent = Component;
460 
461 const
462 	anyCodec = 0;							{  take first working codec of given type  }
463 	bestSpeedCodec = -1;							{  take fastest codec of given type  }
464 	bestFidelityCodec = -2;							{  take codec which is most accurate  }
465 	bestCompressionCodec = -3;							{  take codec of given type that is most accurate  }
466 
467 {$endc} {not TARGET_CPU_64}
468 
469 type
470 	CodecType = OSType;
471 	CodecType_fix = CodecType; { used as field type when a record declaration contains a CodecType field identifier }
472 	CodecFlags = UInt16;
473 	CodecQ = UInt32;
474 
475 {$ifc not TARGET_CPU_64}
476 
477 const
478 	codecLosslessQuality = $00000400;
479 	codecMaxQuality = $000003FF;
480 	codecMinQuality = $00000000;
481 	codecLowQuality = $00000100;
482 	codecNormalQuality = $00000200;
483 	codecHighQuality = $00000300;
484 
485 const
486 	codecLockBitsShieldCursor = 1 shl 0; { shield cursor }
487 
488 const
489 	codecCompletionSource = 1 shl 0; { asynchronous codec is done with source data }
490 	codecCompletionDest = 1 shl 1; { asynchronous codec is done with destination data }
491 	codecCompletionDontUnshield = 1 shl 2; { on dest complete don't unshield cursor }
492 	codecCompletionWentOffscreen = 1 shl 3; { codec used offscreen buffer }
493 	codecCompletionUnlockBits = 1 shl 4; { on dest complete, call ICMSequenceUnlockBits }
494 	codecCompletionForceChainFlush = 1 shl 5; { ICM needs to flush the whole chain }
495 	codecCompletionDropped = 1 shl 6; { codec decided to drop this frame }
496 	codecCompletionDecoded = 1 shl 10; { codec has decoded this frame; if it is cancelled and rescheduled, set icmFrameAlreadyDecoded in ICMFrameTimeRecord.flags }
497 	codecCompletionNotDisplayable = 1 shl 11; { the frame may still be scheduled for decode, but will not be able to be displayed because the buffer containing it will need to be recycled to display earlier frames. }
498 	codecCompletionNotDrawn = 1 shl 12; { set in conjunction with codecCompletionDest to indicate that the frame was not drawn }
499 
500 const
501 	codecProgressOpen = 0;
502 	codecProgressUpdatePercent = 1;
503 	codecProgressClose = 2;
504 
505 type
varnull506 	ICMDataProcPtr = function( var dataP: Ptr; bytesNeeded: SIGNEDLONG; refcon: SIGNEDLONG ): OSErr;
datanull507 	ICMFlushProcPtr = function( data: Ptr; bytesAdded: SIGNEDLONG; refcon: SIGNEDLONG ): OSErr;
508 	ICMCompletionProcPtr = procedure( result: OSErr; flags: SInt16; refcon: SIGNEDLONG );
messagenull509 	ICMProgressProcPtr = function( message: SInt16; completeness: Fixed; refcon: SIGNEDLONG ): OSErr;
510 	StdPixProcPtr = procedure( var src: PixMap; var srcRect: Rect; var matrix: MatrixRecord; mode: SInt16; mask: RgnHandle; var matte: PixMap; var matteRect: Rect; flags: SInt16 );
511 	QDPixProcPtr = procedure( var src: PixMap; var srcRect: Rect; var matrix: MatrixRecord; mode: SInt16; mask: RgnHandle; var matte: PixMap; var matteRect: Rect; flags: SInt16 );
512 	ICMAlignmentProcPtr = procedure( var rp: Rect; refcon: SIGNEDLONG );
513 	ICMCursorShieldedProcPtr = procedure( const (*var*) r: Rect; refcon: UnivPtr; flags: SIGNEDLONG );
514 	ICMMemoryDisposedProcPtr = procedure( memoryBlock: Ptr; refcon: UnivPtr );
515 	ICMCursorNotify = UnivPtr;
refConnull516 	ICMConvertDataFormatProcPtr = function( refCon: UnivPtr; flags: SIGNEDLONG; desiredFormat: Handle; sourceDataFormat: Handle; srcData: UnivPtr; srcDataSize: SIGNEDLONG; var dstData: UnivPtr; var dstDataSize: SIGNEDLONG ): OSErr;
517 
518 
519 	ICMDataUPP = ICMDataProcPtr;
520 	ICMFlushUPP = ICMFlushProcPtr;
521 	ICMCompletionUPP = ICMCompletionProcPtr;
522 	ICMProgressUPP = ICMProgressProcPtr;
523 	StdPixUPP = StdPixProcPtr;
524 	QDPixUPP = QDPixProcPtr;
525 	ICMAlignmentUPP = ICMAlignmentProcPtr;
526 	ICMCursorShieldedUPP = ICMCursorShieldedProcPtr;
527 	ICMMemoryDisposedUPP = ICMMemoryDisposedProcPtr;
528 	ICMConvertDataFormatUPP = ICMConvertDataFormatProcPtr;
529 	ImageSequence = SIGNEDLONG;
530 	ImageSequenceDataSource = SIGNEDLONG;
531 	ImageTranscodeSequence = SIGNEDLONG;
532 	ImageFieldSequence = SIGNEDLONG;
533 	ICMProgressProcRecord = record
534 		progressProc: ICMProgressUPP;
535 		progressRefCon: SIGNEDLONG;
536 	end;
537 	ICMProgressProcRecordPtr = ^ICMProgressProcRecord;
538 type
539 	ICMCompletionProcRecord = record
540 		completionProc: ICMCompletionUPP;
541 		completionRefCon: SIGNEDLONG;
542 	end;
543 	ICMCompletionProcRecordPtr = ^ICMCompletionProcRecord;
544 type
545 	ICMDataProcRecord = record
546 		dataProc: ICMDataUPP;
547 		dataRefCon: SIGNEDLONG;
548 	end;
549 	ICMDataProcRecordPtr = ^ICMDataProcRecord;
550 type
551 	ICMFlushProcRecord = record
552 		flushProc: ICMFlushUPP;
553 		flushRefCon: SIGNEDLONG;
554 	end;
555 	ICMFlushProcRecordPtr = ^ICMFlushProcRecord;
556 type
557 	ICMAlignmentProcRecord = record
558 		alignmentProc: ICMAlignmentUPP;
559 		alignmentRefCon: SIGNEDLONG;
560 	end;
561 	ICMAlignmentProcRecordPtr = ^ICMAlignmentProcRecord;
562 type
563 	DataRateParams = record
564 		dataRate: SIGNEDLONG;
565 		dataOverrun: SIGNEDLONG;
566 		frameDuration: SIGNEDLONG;
567 		keyFrameRate: SIGNEDLONG;
568 		minSpatialQuality: CodecQ;
569 		minTemporalQuality: CodecQ;
570 	end;
571 	DataRateParamsPtr = ^DataRateParams;
572 
573 {$endc} {not TARGET_CPU_64}
574 
575 type
576 	ImageDescription = packed record
577 		idSize: SInt32;                 { total size of ImageDescription including extra data ( CLUTs and other per sequence data ) }
578 		cType: CodecType;                  { what kind of codec compressed this data }
579 		resvd1: SInt32;                 { reserved for Apple use }
580 		resvd2: SInt16;                 { reserved for Apple use }
581 		dataRefIndex: SInt16;           { set to zero  }
582 		version: SInt16;                { which version is this data }
583 		revisionLevel: SInt16;          { what version of that codec did this }
584 		vendor: SInt32;                 { whose  codec compressed this data }
585 		temporalQuality: CodecQ;        { what was the temporal quality factor  }
586 		spatialQuality: CodecQ;         { what was the spatial quality factor }
587 		width: SInt16;                  { how many pixels wide is this data }
588 		height: SInt16;                 { how many pixels high is this data }
589 		hRes: Fixed;                   { horizontal resolution }
590 		vRes: Fixed;                   { vertical resolution }
591 		dataSize: SInt32;               { if known, the size of data for this image descriptor }
592 		frameCount: SInt16;             { number of frames this description applies to }
593 		name: Str31;                   { name of codec ( in case not installed )  }
594 		depth: SInt16;                  { what depth is this data (1-32) or ( 33-40 grayscale ) }
595 		clutID: SInt16;                 { clut id or if 0 clut follows  or -1 if no clut }
596 	end;
597 	ImageDescriptionPtr = ^ImageDescription;
598 type
599 	ImageDescriptionHandle = ^ImageDescriptionPtr;
600 
601 {$ifc not TARGET_CPU_64}
602 
603 
604 type
605 	CodecInfoPtr = ^CodecInfo;
606 	CodecInfo = record
607 		typeName: Str31;               { name of the codec type i.e.: 'Apple Image Compression' }
608 		version: SInt16;                { version of the codec data that this codec knows about }
609 		revisionLevel: SInt16;          { revision level of this codec i.e: 0x00010001 (1.0.1) }
610 		vendor: SIGNEDLONG;                 { Maker of this codec i.e: 'appl' }
611 		decompressFlags: SIGNEDLONG;        { codecInfo flags for decompression capabilities }
612 		compressFlags: SIGNEDLONG;          { codecInfo flags for compression capabilities }
613 		formatFlags: SIGNEDLONG;            { codecInfo flags for compression format details }
614 		compressionAccuracy: UInt8;    { measure (1-255) of accuracy of this codec for compress (0 if unknown) }
615 		decompressionAccuracy: UInt8;  { measure (1-255) of accuracy of this codec for decompress (0 if unknown) }
616 		compressionSpeed: UInt16;       { ( millisecs for compressing 320x240 on base mac II) (0 if unknown)  }
617 		decompressionSpeed: UInt16;     { ( millisecs for decompressing 320x240 on mac II)(0 if unknown)  }
618 		compressionLevel: UInt8;       { measure (1-255) of compression level of this codec (0 if unknown)  }
619 		resvd: UInt8;                  { pad }
620 		minimumHeight: SInt16;          { minimum height of image (block size) }
621 		minimumWidth: SInt16;           { minimum width of image (block size) }
622 		decompressPipelineLatency: SInt16; { in milliseconds ( for asynchronous codecs ) }
623 		compressPipelineLatency: SInt16; { in milliseconds ( for asynchronous codecs ) }
624 		privateData: SIGNEDLONG;
625 	end;
626 type
627 	CodecNameSpecPtr = ^CodecNameSpec;
628 	CodecNameSpec = record
629 		codec: CodecComponent;
630 		cType: CodecType;
631 		typeName: Str31;
632 		name: Handle;
633 	end;
634 type
635 	CodecNameSpecList = record
636 		count: SInt16;
637 		list: array [0..0] of CodecNameSpec;
638 	end;
639 	CodecNameSpecListPtr = ^CodecNameSpecList;
640 const
641 	defaultDither = 0;
642 	forceDither = 1;
643 	suppressDither = 2;
644 	useColorMatching = 4;
645 
646 const
647 	callStdBits = 1;
648 	callOldBits = 2;
649 	noDefaultOpcodes = 4;
650 
651 const
652 	graphicsModeStraightAlpha = 256;
653 	graphicsModePreWhiteAlpha = 257;
654 	graphicsModePreBlackAlpha = 258;
655 	graphicsModeComposition = 259;
656 	graphicsModeStraightAlphaBlend = 260;
657 	graphicsModePreMulColorAlpha = 261;
658 	graphicsModePerComponentAlpha = 272;
659 
660 const
661 	evenField1ToEvenFieldOut = 1 shl 0;
662 	evenField1ToOddFieldOut = 1 shl 1;
663 	oddField1ToEvenFieldOut = 1 shl 2;
664 	oddField1ToOddFieldOut = 1 shl 3;
665 	evenField2ToEvenFieldOut = 1 shl 4;
666 	evenField2ToOddFieldOut = 1 shl 5;
667 	oddField2ToEvenFieldOut = 1 shl 6;
668 	oddField2ToOddFieldOut = 1 shl 7;
669 
670 { Flags for ICMFrameTimeRecord.flags }
671 const
672 	icmFrameTimeHasVirtualStartTimeAndDuration = 1 shl 0;
673 	icmFrameAlreadyDecoded = 1 shl 1;
674 	icmFrameTimeIsNonScheduledDisplayTime = 1 shl 2;
675 	icmFrameTimeHasDecodeTime = 1 shl 3;
676 	icmFrameTimeDecodeImmediately = 1 shl 4;
677 	icmFrameTimeDoNotDisplay = 1 shl 5;
678 
679 type
680 	ICMFrameTimeRecordPtr = ^ICMFrameTimeRecord;
681 	ICMFrameTimeRecord = record
682 		value: wide;                  { frame display time}
683 		scale: SIGNEDLONG;                  { timescale of value/duration fields}
684 		base: UnivPtr;                   { timebase}
685 
686 		duration: SIGNEDLONG;               { duration frame is to be displayed (0 if unknown)}
687 		rate: Fixed;                   { rate of timebase relative to wall-time}
688 
689 		recordSize: SIGNEDLONG;             { total number of bytes in ICMFrameTimeRecord}
690 
691 		frameNumber: SIGNEDLONG;            { number of frame, zero if not known}
692 
693 		flags: SIGNEDLONG;
694 
695 		virtualStartTime: wide;       { conceptual start time}
696 		virtualDuration: SIGNEDLONG;        { conceptual duration}
697 
698                                               { The following fields only exist for QuickTime 7.0 and greater. }
699 		decodeTime: TimeValue64;             { suggested decode time, if icmFrameTimeHasDecodeTime is set in flags}
700 	end;
701 type
702 	ICMFrameTimePtr = ICMFrameTimeRecordPtr;
703 { QuickTime flavor of universally unique identifier (uuid)}
704 type
705 	QTUUIDPtr = ^QTUUID;
706 	QTUUID = record
707 		data1: UInt32;
708 		data2: UInt16;
709 		data3: UInt16;
710     data4: array[0..7] of UInt8;
711 	end;
712 type
713 	QTMediaContextID = QTUUID;
714 	QTMediaContextIDPtr = ^QTMediaContextID;
715 
716 {$endc} {not TARGET_CPU_64}
717 
718 { See Movies.h for the flags themselves. }
719 type
720 	MediaSampleFlags = UInt32;
721 
722 {$ifc not TARGET_CPU_64}
723 
724 
725 {
726  *  NewICMDataUPP()
727  *
728  *  Availability:
729  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
730  *    CarbonLib:        in CarbonLib 1.0 and later
731  *    Non-Carbon CFM:   available as macro/inline
732  }
NewICMDataUPPnull733 function NewICMDataUPP( userRoutine: ICMDataProcPtr ): ICMDataUPP; external name '_NewICMDataUPP';
734 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
735 
736 {
737  *  NewICMFlushUPP()
738  *
739  *  Availability:
740  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
741  *    CarbonLib:        in CarbonLib 1.0 and later
742  *    Non-Carbon CFM:   available as macro/inline
743  }
NewICMFlushUPPnull744 function NewICMFlushUPP( userRoutine: ICMFlushProcPtr ): ICMFlushUPP; external name '_NewICMFlushUPP';
745 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
746 
747 {
748  *  NewICMCompletionUPP()
749  *
750  *  Availability:
751  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
752  *    CarbonLib:        in CarbonLib 1.0 and later
753  *    Non-Carbon CFM:   available as macro/inline
754  }
NewICMCompletionUPPnull755 function NewICMCompletionUPP( userRoutine: ICMCompletionProcPtr ): ICMCompletionUPP; external name '_NewICMCompletionUPP';
756 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
757 
758 {
759  *  NewICMProgressUPP()
760  *
761  *  Availability:
762  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
763  *    CarbonLib:        in CarbonLib 1.0 and later
764  *    Non-Carbon CFM:   available as macro/inline
765  }
NewICMProgressUPPnull766 function NewICMProgressUPP( userRoutine: ICMProgressProcPtr ): ICMProgressUPP; external name '_NewICMProgressUPP';
767 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
768 
769 {
770  *  NewStdPixUPP()
771  *
772  *  Availability:
773  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
774  *    CarbonLib:        in CarbonLib 1.0 and later
775  *    Non-Carbon CFM:   available as macro/inline
776  }
NewStdPixUPPnull777 function NewStdPixUPP( userRoutine: StdPixProcPtr ): StdPixUPP; external name '_NewStdPixUPP';
778 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
779 
780 {
781  *  NewQDPixUPP()
782  *
783  *  Availability:
784  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
785  *    CarbonLib:        in CarbonLib 1.0 and later
786  *    Non-Carbon CFM:   available as macro/inline
787  }
NewQDPixUPPnull788 function NewQDPixUPP( userRoutine: QDPixProcPtr ): QDPixUPP; external name '_NewQDPixUPP';
789 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
790 
791 {
792  *  NewICMAlignmentUPP()
793  *
794  *  Availability:
795  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
796  *    CarbonLib:        in CarbonLib 1.0 and later
797  *    Non-Carbon CFM:   available as macro/inline
798  }
NewICMAlignmentUPPnull799 function NewICMAlignmentUPP( userRoutine: ICMAlignmentProcPtr ): ICMAlignmentUPP; external name '_NewICMAlignmentUPP';
800 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
801 
802 {
803  *  NewICMCursorShieldedUPP()
804  *
805  *  Availability:
806  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
807  *    CarbonLib:        in CarbonLib 1.0 and later
808  *    Non-Carbon CFM:   available as macro/inline
809  }
NewICMCursorShieldedUPPnull810 function NewICMCursorShieldedUPP( userRoutine: ICMCursorShieldedProcPtr ): ICMCursorShieldedUPP; external name '_NewICMCursorShieldedUPP';
811 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
812 
813 {
814  *  NewICMMemoryDisposedUPP()
815  *
816  *  Availability:
817  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
818  *    CarbonLib:        in CarbonLib 1.0 and later
819  *    Non-Carbon CFM:   available as macro/inline
820  }
NewICMMemoryDisposedUPPnull821 function NewICMMemoryDisposedUPP( userRoutine: ICMMemoryDisposedProcPtr ): ICMMemoryDisposedUPP; external name '_NewICMMemoryDisposedUPP';
822 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
823 
824 {
825  *  NewICMConvertDataFormatUPP()
826  *
827  *  Availability:
828  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
829  *    CarbonLib:        in CarbonLib 1.0 and later
830  *    Non-Carbon CFM:   available as macro/inline
831  }
NewICMConvertDataFormatUPPnull832 function NewICMConvertDataFormatUPP( userRoutine: ICMConvertDataFormatProcPtr ): ICMConvertDataFormatUPP; external name '_NewICMConvertDataFormatUPP';
833 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
834 
835 {
836  *  DisposeICMDataUPP()
837  *
838  *  Availability:
839  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
840  *    CarbonLib:        in CarbonLib 1.0 and later
841  *    Non-Carbon CFM:   available as macro/inline
842  }
843 procedure DisposeICMDataUPP( userUPP: ICMDataUPP ); external name '_DisposeICMDataUPP';
844 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
845 
846 {
847  *  DisposeICMFlushUPP()
848  *
849  *  Availability:
850  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
851  *    CarbonLib:        in CarbonLib 1.0 and later
852  *    Non-Carbon CFM:   available as macro/inline
853  }
854 procedure DisposeICMFlushUPP( userUPP: ICMFlushUPP ); external name '_DisposeICMFlushUPP';
855 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
856 
857 {
858  *  DisposeICMCompletionUPP()
859  *
860  *  Availability:
861  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
862  *    CarbonLib:        in CarbonLib 1.0 and later
863  *    Non-Carbon CFM:   available as macro/inline
864  }
865 procedure DisposeICMCompletionUPP( userUPP: ICMCompletionUPP ); external name '_DisposeICMCompletionUPP';
866 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
867 
868 {
869  *  DisposeICMProgressUPP()
870  *
871  *  Availability:
872  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
873  *    CarbonLib:        in CarbonLib 1.0 and later
874  *    Non-Carbon CFM:   available as macro/inline
875  }
876 procedure DisposeICMProgressUPP( userUPP: ICMProgressUPP ); external name '_DisposeICMProgressUPP';
877 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
878 
879 {
880  *  DisposeStdPixUPP()
881  *
882  *  Availability:
883  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
884  *    CarbonLib:        in CarbonLib 1.0 and later
885  *    Non-Carbon CFM:   available as macro/inline
886  }
887 procedure DisposeStdPixUPP( userUPP: StdPixUPP ); external name '_DisposeStdPixUPP';
888 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
889 
890 {
891  *  DisposeQDPixUPP()
892  *
893  *  Availability:
894  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
895  *    CarbonLib:        in CarbonLib 1.0 and later
896  *    Non-Carbon CFM:   available as macro/inline
897  }
898 procedure DisposeQDPixUPP( userUPP: QDPixUPP ); external name '_DisposeQDPixUPP';
899 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
900 
901 {
902  *  DisposeICMAlignmentUPP()
903  *
904  *  Availability:
905  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
906  *    CarbonLib:        in CarbonLib 1.0 and later
907  *    Non-Carbon CFM:   available as macro/inline
908  }
909 procedure DisposeICMAlignmentUPP( userUPP: ICMAlignmentUPP ); external name '_DisposeICMAlignmentUPP';
910 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
911 
912 {
913  *  DisposeICMCursorShieldedUPP()
914  *
915  *  Availability:
916  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
917  *    CarbonLib:        in CarbonLib 1.0 and later
918  *    Non-Carbon CFM:   available as macro/inline
919  }
920 procedure DisposeICMCursorShieldedUPP( userUPP: ICMCursorShieldedUPP ); external name '_DisposeICMCursorShieldedUPP';
921 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
922 
923 {
924  *  DisposeICMMemoryDisposedUPP()
925  *
926  *  Availability:
927  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
928  *    CarbonLib:        in CarbonLib 1.0 and later
929  *    Non-Carbon CFM:   available as macro/inline
930  }
931 procedure DisposeICMMemoryDisposedUPP( userUPP: ICMMemoryDisposedUPP ); external name '_DisposeICMMemoryDisposedUPP';
932 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
933 
934 {
935  *  DisposeICMConvertDataFormatUPP()
936  *
937  *  Availability:
938  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
939  *    CarbonLib:        in CarbonLib 1.0 and later
940  *    Non-Carbon CFM:   available as macro/inline
941  }
942 procedure DisposeICMConvertDataFormatUPP( userUPP: ICMConvertDataFormatUPP ); external name '_DisposeICMConvertDataFormatUPP';
943 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
944 
945 {
946  *  InvokeICMDataUPP()
947  *
948  *  Availability:
949  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
950  *    CarbonLib:        in CarbonLib 1.0 and later
951  *    Non-Carbon CFM:   available as macro/inline
952  }
InvokeICMDataUPPnull953 function InvokeICMDataUPP( var dataP: Ptr; bytesNeeded: SIGNEDLONG; refcon: SIGNEDLONG; userUPP: ICMDataUPP ): OSErr; external name '_InvokeICMDataUPP';
954 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
955 
956 {
957  *  InvokeICMFlushUPP()
958  *
959  *  Availability:
960  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
961  *    CarbonLib:        in CarbonLib 1.0 and later
962  *    Non-Carbon CFM:   available as macro/inline
963  }
InvokeICMFlushUPPnull964 function InvokeICMFlushUPP( data: Ptr; bytesAdded: SIGNEDLONG; refcon: SIGNEDLONG; userUPP: ICMFlushUPP ): OSErr; external name '_InvokeICMFlushUPP';
965 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
966 
967 {
968  *  InvokeICMCompletionUPP()
969  *
970  *  Availability:
971  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
972  *    CarbonLib:        in CarbonLib 1.0 and later
973  *    Non-Carbon CFM:   available as macro/inline
974  }
975 procedure InvokeICMCompletionUPP( result: OSErr; flags: SInt16; refcon: SIGNEDLONG; userUPP: ICMCompletionUPP ); external name '_InvokeICMCompletionUPP';
976 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
977 
978 {
979  *  InvokeICMProgressUPP()
980  *
981  *  Availability:
982  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
983  *    CarbonLib:        in CarbonLib 1.0 and later
984  *    Non-Carbon CFM:   available as macro/inline
985  }
InvokeICMProgressUPPnull986 function InvokeICMProgressUPP( message: SInt16; completeness: Fixed; refcon: SIGNEDLONG; userUPP: ICMProgressUPP ): OSErr; external name '_InvokeICMProgressUPP';
987 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
988 
989 {
990  *  InvokeStdPixUPP()
991  *
992  *  Availability:
993  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
994  *    CarbonLib:        in CarbonLib 1.0 and later
995  *    Non-Carbon CFM:   available as macro/inline
996  }
997 procedure InvokeStdPixUPP( var src: PixMap; var srcRect: Rect; var matrix: MatrixRecord; mode: SInt16; mask: RgnHandle; var matte: PixMap; var matteRect: Rect; flags: SInt16; userUPP: StdPixUPP ); external name '_InvokeStdPixUPP';
998 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
999 
1000 {
1001  *  InvokeQDPixUPP()
1002  *
1003  *  Availability:
1004  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1005  *    CarbonLib:        in CarbonLib 1.0 and later
1006  *    Non-Carbon CFM:   available as macro/inline
1007  }
1008 procedure InvokeQDPixUPP( var src: PixMap; var srcRect: Rect; var matrix: MatrixRecord; mode: SInt16; mask: RgnHandle; var matte: PixMap; var matteRect: Rect; flags: SInt16; userUPP: QDPixUPP ); external name '_InvokeQDPixUPP';
1009 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1010 
1011 {
1012  *  InvokeICMAlignmentUPP()
1013  *
1014  *  Availability:
1015  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1016  *    CarbonLib:        in CarbonLib 1.0 and later
1017  *    Non-Carbon CFM:   available as macro/inline
1018  }
1019 procedure InvokeICMAlignmentUPP( var rp: Rect; refcon: SIGNEDLONG; userUPP: ICMAlignmentUPP ); external name '_InvokeICMAlignmentUPP';
1020 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1021 
1022 {
1023  *  InvokeICMCursorShieldedUPP()
1024  *
1025  *  Availability:
1026  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1027  *    CarbonLib:        in CarbonLib 1.0 and later
1028  *    Non-Carbon CFM:   available as macro/inline
1029  }
1030 procedure InvokeICMCursorShieldedUPP( const (*var*) r: Rect; refcon: UnivPtr; flags: SIGNEDLONG; userUPP: ICMCursorShieldedUPP ); external name '_InvokeICMCursorShieldedUPP';
1031 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1032 
1033 {
1034  *  InvokeICMMemoryDisposedUPP()
1035  *
1036  *  Availability:
1037  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1038  *    CarbonLib:        in CarbonLib 1.0 and later
1039  *    Non-Carbon CFM:   available as macro/inline
1040  }
1041 procedure InvokeICMMemoryDisposedUPP( memoryBlock: Ptr; refcon: UnivPtr; userUPP: ICMMemoryDisposedUPP ); external name '_InvokeICMMemoryDisposedUPP';
1042 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1043 
1044 {
1045  *  InvokeICMConvertDataFormatUPP()
1046  *
1047  *  Availability:
1048  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1049  *    CarbonLib:        in CarbonLib 1.0 and later
1050  *    Non-Carbon CFM:   available as macro/inline
1051  }
InvokeICMConvertDataFormatUPPnull1052 function InvokeICMConvertDataFormatUPP( refCon: UnivPtr; flags: SIGNEDLONG; desiredFormat: Handle; sourceDataFormat: Handle; srcData: UnivPtr; srcDataSize: SIGNEDLONG; var dstData: UnivPtr; var dstDataSize: SIGNEDLONG; userUPP: ICMConvertDataFormatUPP ): OSErr; external name '_InvokeICMConvertDataFormatUPP';
1053 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1054 
1055 
1056 {
1057  *  CodecManagerVersion()
1058  *
1059  *  Availability:
1060  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1061  *    CarbonLib:        in CarbonLib 1.0 and later
1062  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1063  *    Windows:          in qtmlClient.lib 3.0 and later
1064  }
CodecManagerVersionnull1065 function CodecManagerVersion( var version: SIGNEDLONG ): OSErr; external name '_CodecManagerVersion';
1066 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1067 
1068 
1069 {
1070  *  GetCodecNameList()
1071  *
1072  *  Availability:
1073  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1074  *    CarbonLib:        in CarbonLib 1.0 and later
1075  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1076  *    Windows:          in qtmlClient.lib 3.0 and later
1077  }
GetCodecNameListnull1078 function GetCodecNameList( var list: CodecNameSpecListPtr; showAll: SInt16 ): OSErr; external name '_GetCodecNameList';
1079 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1080 
1081 
1082 {
1083  *  DisposeCodecNameList()
1084  *
1085  *  Availability:
1086  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1087  *    CarbonLib:        in CarbonLib 1.0 and later
1088  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1089  *    Windows:          in qtmlClient.lib 3.0 and later
1090  }
DisposeCodecNameListnull1091 function DisposeCodecNameList( list: CodecNameSpecListPtr ): OSErr; external name '_DisposeCodecNameList';
1092 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1093 
1094 
1095 {
1096  *  GetCodecInfo()
1097  *
1098  *  Availability:
1099  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1100  *    CarbonLib:        in CarbonLib 1.0 and later
1101  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1102  *    Windows:          in qtmlClient.lib 3.0 and later
1103  }
GetCodecInfonull1104 function GetCodecInfo( var info: CodecInfo; cType: CodecType; codec: CodecComponent ): OSErr; external name '_GetCodecInfo';
1105 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1106 
1107 
1108 {
1109  *  GetMaxCompressionSize()
1110  *
1111  *  Availability:
1112  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1113  *    CarbonLib:        in CarbonLib 1.0 and later
1114  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1115  *    Windows:          in qtmlClient.lib 3.0 and later
1116  }
GetMaxCompressionSizenull1117 function GetMaxCompressionSize( src: PixMapHandle; const (*var*) srcRect: Rect; colorDepth: SInt16; quality: CodecQ; cType: CodecType; codec: CompressorComponent; var size: SIGNEDLONG ): OSErr; external name '_GetMaxCompressionSize';
1118 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1119 
1120 
1121 {
1122  *  GetCSequenceMaxCompressionSize()
1123  *
1124  *  Availability:
1125  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1126  *    CarbonLib:        in CarbonLib 1.0 and later
1127  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1128  *    Windows:          in qtmlClient.lib 3.0 and later
1129  }
GetCSequenceMaxCompressionSizenull1130 function GetCSequenceMaxCompressionSize( seqID: ImageSequence; src: PixMapHandle; var size: SIGNEDLONG ): OSErr; external name '_GetCSequenceMaxCompressionSize';
1131 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1132 
1133 
1134 {
1135  *  GetCompressionTime()
1136  *
1137  *  Availability:
1138  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1139  *    CarbonLib:        in CarbonLib 1.0 and later
1140  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1141  *    Windows:          in qtmlClient.lib 3.0 and later
1142  }
GetCompressionTimenull1143 function GetCompressionTime( src: PixMapHandle; const (*var*) srcRect: Rect; colorDepth: SInt16; cType: CodecType; codec: CompressorComponent; var spatialQuality: CodecQ; var temporalQuality: CodecQ; var compressTime: UNSIGNEDLONG ): OSErr; external name '_GetCompressionTime';
1144 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1145 
1146 
1147 {
1148  *  CompressImage()
1149  *
1150  *  Availability:
1151  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1152  *    CarbonLib:        in CarbonLib 1.0 and later
1153  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1154  *    Windows:          in qtmlClient.lib 3.0 and later
1155  }
CompressImagenull1156 function CompressImage( src: PixMapHandle; const (*var*) srcRect: Rect; quality: CodecQ; cType: CodecType; desc: ImageDescriptionHandle; data: Ptr ): OSErr; external name '_CompressImage';
1157 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1158 
1159 
1160 {
1161  *  FCompressImage()
1162  *
1163  *  Availability:
1164  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1165  *    CarbonLib:        in CarbonLib 1.0 and later
1166  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1167  *    Windows:          in qtmlClient.lib 3.0 and later
1168  }
FCompressImagenull1169 function FCompressImage( src: PixMapHandle; const (*var*) srcRect: Rect; colorDepth: SInt16; quality: CodecQ; cType: CodecType; codec: CompressorComponent; ctable: CTabHandle; flags: CodecFlags; bufferSize: SIGNEDLONG; flushProc: ICMFlushProcRecordPtr; progressProc: ICMProgressProcRecordPtr; desc: ImageDescriptionHandle; data: Ptr ): OSErr; external name '_FCompressImage';
1170 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1171 
1172 
1173 {
1174  *  DecompressImage()
1175  *
1176  *  Availability:
1177  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1178  *    CarbonLib:        in CarbonLib 1.0 and later
1179  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1180  *    Windows:          in qtmlClient.lib 3.0 and later
1181  }
DecompressImagenull1182 function DecompressImage( data: Ptr; desc: ImageDescriptionHandle; dst: PixMapHandle; const (*var*) srcRect: Rect; const (*var*) dstRect: Rect; mode: SInt16; mask: RgnHandle ): OSErr; external name '_DecompressImage';
1183 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1184 
1185 
1186 {
1187  *  FDecompressImage()
1188  *
1189  *  Availability:
1190  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1191  *    CarbonLib:        in CarbonLib 1.0 and later
1192  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1193  *    Windows:          in qtmlClient.lib 3.0 and later
1194  }
FDecompressImagenull1195 function FDecompressImage( data: Ptr; desc: ImageDescriptionHandle; dst: PixMapHandle; const (*var*) srcRect: Rect; matrix: MatrixRecordPtr; mode: SInt16; mask: RgnHandle; matte: PixMapHandle; const (*var*) matteRect: Rect; accuracy: CodecQ; codec: DecompressorComponent; bufferSize: SIGNEDLONG; dataProc: ICMDataProcRecordPtr; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_FDecompressImage';
1196 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1197 
1198 
1199 { For video compression, consider using ICMCompressionSessionCreate etc. instead of CompressSequenceBegin etc. }
1200 {
1201  *  CompressSequenceBegin()
1202  *
1203  *  Availability:
1204  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1205  *    CarbonLib:        in CarbonLib 1.0 and later
1206  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1207  *    Windows:          in qtmlClient.lib 3.0 and later
1208  }
CompressSequenceBeginnull1209 function CompressSequenceBegin( var seqID: ImageSequence; src: PixMapHandle; prev: PixMapHandle; const (*var*) srcRect: Rect; const (*var*) prevRect: Rect; colorDepth: SInt16; cType: CodecType; codec: CompressorComponent; spatialQuality: CodecQ; temporalQuality: CodecQ; keyFrameRate: SIGNEDLONG; ctable: CTabHandle; flags: CodecFlags; desc: ImageDescriptionHandle ): OSErr; external name '_CompressSequenceBegin';
1210 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1211 
1212 
1213 {
1214  *  CompressSequenceFrame()
1215  *
1216  *  Availability:
1217  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1218  *    CarbonLib:        in CarbonLib 1.0 and later
1219  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1220  *    Windows:          in qtmlClient.lib 3.0 and later
1221  }
CompressSequenceFramenull1222 function CompressSequenceFrame( seqID: ImageSequence; src: PixMapHandle; const (*var*) srcRect: Rect; flags: CodecFlags; data: Ptr; var dataSize: SIGNEDLONG; var similarity: UInt8; asyncCompletionProc: ICMCompletionProcRecordPtr ): OSErr; external name '_CompressSequenceFrame';
1223 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1224 
1225 
1226 { For video decompression, consider using ICMDecompressionSessionCreate etc. instead of DecompressSequenceBegin etc. }
1227 {
1228  *  DecompressSequenceBegin()
1229  *
1230  *  Availability:
1231  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1232  *    CarbonLib:        in CarbonLib 1.0 and later
1233  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1234  *    Windows:          in qtmlClient.lib 3.0 and later
1235  }
DecompressSequenceBeginnull1236 function DecompressSequenceBegin( var seqID: ImageSequence; desc: ImageDescriptionHandle; port: CGrafPtr; gdh: GDHandle; const (*var*) srcRect: Rect; matrix: MatrixRecordPtr; mode: SInt16; mask: RgnHandle; flags: CodecFlags; accuracy: CodecQ; codec: DecompressorComponent ): OSErr; external name '_DecompressSequenceBegin';
1237 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1238 
1239 
1240 { For video decompression, consider using ICMDecompressionSessionCreate etc. instead of DecompressSequenceBeginS etc. }
1241 {
1242  *  DecompressSequenceBeginS()
1243  *
1244  *  Availability:
1245  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1246  *    CarbonLib:        in CarbonLib 1.0 and later
1247  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1248  *    Windows:          in qtmlClient.lib 3.0 and later
1249  }
DecompressSequenceBeginSnull1250 function DecompressSequenceBeginS( var seqID: ImageSequence; desc: ImageDescriptionHandle; data: Ptr; dataSize: SIGNEDLONG; port: CGrafPtr; gdh: GDHandle; const (*var*) srcRect: Rect; matrix: MatrixRecordPtr; mode: SInt16; mask: RgnHandle; flags: CodecFlags; accuracy: CodecQ; codec: DecompressorComponent ): OSErr; external name '_DecompressSequenceBeginS';
1251 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1252 
1253 
1254 {
1255  *  DecompressSequenceFrame()
1256  *
1257  *  Availability:
1258  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1259  *    CarbonLib:        in CarbonLib 1.0 and later
1260  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1261  *    Windows:          in qtmlClient.lib 3.0 and later
1262  }
DecompressSequenceFramenull1263 function DecompressSequenceFrame( seqID: ImageSequence; data: Ptr; inFlags: CodecFlags; var outFlags: CodecFlags; asyncCompletionProc: ICMCompletionProcRecordPtr ): OSErr; external name '_DecompressSequenceFrame';
1264 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1265 
1266 
1267 {
1268  *  DecompressSequenceFrameS()
1269  *
1270  *  Availability:
1271  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1272  *    CarbonLib:        in CarbonLib 1.0 and later
1273  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1274  *    Windows:          in qtmlClient.lib 3.0 and later
1275  }
DecompressSequenceFrameSnull1276 function DecompressSequenceFrameS( seqID: ImageSequence; data: Ptr; dataSize: SIGNEDLONG; inFlags: CodecFlags; var outFlags: CodecFlags; asyncCompletionProc: ICMCompletionProcRecordPtr ): OSErr; external name '_DecompressSequenceFrameS';
1277 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1278 
1279 
1280 {
1281  *  DecompressSequenceFrameWhen()
1282  *
1283  *  Availability:
1284  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1285  *    CarbonLib:        in CarbonLib 1.0 and later
1286  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1287  *    Windows:          in qtmlClient.lib 3.0 and later
1288  }
DecompressSequenceFrameWhennull1289 function DecompressSequenceFrameWhen( seqID: ImageSequence; data: Ptr; dataSize: SIGNEDLONG; inFlags: CodecFlags; var outFlags: CodecFlags; asyncCompletionProc: ICMCompletionProcRecordPtr; const (*var*) frameTime: ICMFrameTimeRecord ): OSErr; external name '_DecompressSequenceFrameWhen';
1290 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1291 
1292 
1293 {
1294  *  CDSequenceFlush()
1295  *
1296  *  Availability:
1297  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1298  *    CarbonLib:        in CarbonLib 1.0 and later
1299  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1300  *    Windows:          in qtmlClient.lib 3.0 and later
1301  }
CDSequenceFlushnull1302 function CDSequenceFlush( seqID: ImageSequence ): OSErr; external name '_CDSequenceFlush';
1303 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1304 
1305 
1306 {
1307  *  SetDSequenceMatrix()
1308  *
1309  *  Availability:
1310  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1311  *    CarbonLib:        in CarbonLib 1.0 and later
1312  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1313  *    Windows:          in qtmlClient.lib 3.0 and later
1314  }
SetDSequenceMatrixnull1315 function SetDSequenceMatrix( seqID: ImageSequence; matrix: MatrixRecordPtr ): OSErr; external name '_SetDSequenceMatrix';
1316 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1317 
1318 
1319 {
1320  *  GetDSequenceMatrix()
1321  *
1322  *  Availability:
1323  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1324  *    CarbonLib:        in CarbonLib 1.0.2 and later
1325  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
1326  *    Windows:          in qtmlClient.lib 4.0 and later
1327  }
GetDSequenceMatrixnull1328 function GetDSequenceMatrix( seqID: ImageSequence; matrix: MatrixRecordPtr ): OSErr; external name '_GetDSequenceMatrix';
1329 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1330 
1331 
1332 {
1333  *  SetDSequenceMatte()
1334  *
1335  *  Availability:
1336  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1337  *    CarbonLib:        in CarbonLib 1.0 and later
1338  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1339  *    Windows:          in qtmlClient.lib 3.0 and later
1340  }
SetDSequenceMattenull1341 function SetDSequenceMatte( seqID: ImageSequence; matte: PixMapHandle; const (*var*) matteRect: Rect ): OSErr; external name '_SetDSequenceMatte';
1342 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1343 
1344 
1345 {
1346  *  SetDSequenceMask()
1347  *
1348  *  Availability:
1349  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1350  *    CarbonLib:        in CarbonLib 1.0 and later
1351  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1352  *    Windows:          in qtmlClient.lib 3.0 and later
1353  }
SetDSequenceMasknull1354 function SetDSequenceMask( seqID: ImageSequence; mask: RgnHandle ): OSErr; external name '_SetDSequenceMask';
1355 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1356 
1357 
1358 {
1359  *  SetDSequenceTransferMode()
1360  *
1361  *  Availability:
1362  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1363  *    CarbonLib:        in CarbonLib 1.0 and later
1364  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1365  *    Windows:          in qtmlClient.lib 3.0 and later
1366  }
SetDSequenceTransferModenull1367 function SetDSequenceTransferMode( seqID: ImageSequence; mode: SInt16; const (*var*) opColor: RGBColor ): OSErr; external name '_SetDSequenceTransferMode';
1368 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1369 
1370 
1371 {
1372  *  SetDSequenceDataProc()
1373  *
1374  *  Availability:
1375  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1376  *    CarbonLib:        in CarbonLib 1.0 and later
1377  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1378  *    Windows:          in qtmlClient.lib 3.0 and later
1379  }
SetDSequenceDataProcnull1380 function SetDSequenceDataProc( seqID: ImageSequence; dataProc: ICMDataProcRecordPtr; bufferSize: SIGNEDLONG ): OSErr; external name '_SetDSequenceDataProc';
1381 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1382 
1383 
1384 {
1385  *  SetDSequenceAccuracy()
1386  *
1387  *  Availability:
1388  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1389  *    CarbonLib:        in CarbonLib 1.0 and later
1390  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1391  *    Windows:          in qtmlClient.lib 3.0 and later
1392  }
SetDSequenceAccuracynull1393 function SetDSequenceAccuracy( seqID: ImageSequence; accuracy: CodecQ ): OSErr; external name '_SetDSequenceAccuracy';
1394 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1395 
1396 
1397 {
1398  *  SetDSequenceSrcRect()
1399  *
1400  *  Availability:
1401  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1402  *    CarbonLib:        in CarbonLib 1.0 and later
1403  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1404  *    Windows:          in qtmlClient.lib 3.0 and later
1405  }
SetDSequenceSrcRectnull1406 function SetDSequenceSrcRect( seqID: ImageSequence; const (*var*) srcRect: Rect ): OSErr; external name '_SetDSequenceSrcRect';
1407 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1408 
1409 
1410 {
1411  *  SetDSequenceFlags()
1412  *
1413  *  Availability:
1414  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1415  *    CarbonLib:        in CarbonLib 1.0.2 and later
1416  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
1417  *    Windows:          in qtmlClient.lib 4.0 and later
1418  }
SetDSequenceFlagsnull1419 function SetDSequenceFlags( seqID: ImageSequence; flags: SIGNEDLONG; flagsMask: SIGNEDLONG ): OSErr; external name '_SetDSequenceFlags';
1420 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1421 
1422 
1423 const
1424 	codecDSequenceDisableOverlaySurface = 1 shl 5;
1425 	codecDSequenceSingleField = 1 shl 6;
1426 	codecDSequenceBidirectionalPrediction = 1 shl 7;
1427 	codecDSequenceFlushInsteadOfDirtying = 1 shl 8;
1428 	codecDSequenceEnableSubPixelPositioning = 1 shl 9;
1429 	codecDSequenceDeinterlaceFields = 1 shl 10;
1430 
1431 type
1432 	CodecComponentPtr = ^CodecComponent;
1433 	CodecComponentHandle = ^CodecComponentPtr;
1434 { selectors for ICMSequenceGet/SetInfo}
1435 const
1436 	kICMSequenceTaskWeight = FourCharCode('twei'); { data is pointer to UInt32}
1437 	kICMSequenceTaskName = FourCharCode('tnam'); { data is pointer to OSType}
1438 	kICMSequenceUserPreferredCodecs = FourCharCode('punt'); { data is pointer to CodecComponentHandle}
1439 
1440 {
1441  *  ICMSequenceGetInfo()
1442  *
1443  *  Availability:
1444  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1445  *    CarbonLib:        in CarbonLib 1.3 and later
1446  *    Non-Carbon CFM:   in QuickTimeLib 5.0 and later
1447  *    Windows:          in qtmlClient.lib 5.0 and later
1448  }
ICMSequenceGetInfonull1449 function ICMSequenceGetInfo( seqID: ImageSequence; which: OSType; data: UnivPtr ): OSErr; external name '_ICMSequenceGetInfo';
1450 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1451 
1452 
1453 {
1454  *  ICMSequenceSetInfo()
1455  *
1456  *  Availability:
1457  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1458  *    CarbonLib:        in CarbonLib 1.3 and later
1459  *    Non-Carbon CFM:   in QuickTimeLib 5.0 and later
1460  *    Windows:          in qtmlClient.lib 5.0 and later
1461  }
ICMSequenceSetInfonull1462 function ICMSequenceSetInfo( seqID: ImageSequence; which: OSType; data: UnivPtr; dataSize: Size ): OSErr; external name '_ICMSequenceSetInfo';
1463 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1464 
1465 
1466 {
1467  *  GetDSequenceImageBuffer()
1468  *
1469  *  Availability:
1470  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1471  *    CarbonLib:        in CarbonLib 1.0 and later
1472  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1473  *    Windows:          in qtmlClient.lib 3.0 and later
1474  }
GetDSequenceImageBuffernull1475 function GetDSequenceImageBuffer( seqID: ImageSequence; var gworld: GWorldPtr ): OSErr; external name '_GetDSequenceImageBuffer';
1476 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1477 
1478 
1479 {
1480  *  GetDSequenceScreenBuffer()
1481  *
1482  *  Availability:
1483  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1484  *    CarbonLib:        in CarbonLib 1.0 and later
1485  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1486  *    Windows:          in qtmlClient.lib 3.0 and later
1487  }
GetDSequenceScreenBuffernull1488 function GetDSequenceScreenBuffer( seqID: ImageSequence; var gworld: GWorldPtr ): OSErr; external name '_GetDSequenceScreenBuffer';
1489 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1490 
1491 
1492 {
1493  *  SetCSequenceQuality()
1494  *
1495  *  Availability:
1496  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1497  *    CarbonLib:        in CarbonLib 1.0 and later
1498  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1499  *    Windows:          in qtmlClient.lib 3.0 and later
1500  }
SetCSequenceQualitynull1501 function SetCSequenceQuality( seqID: ImageSequence; spatialQuality: CodecQ; temporalQuality: CodecQ ): OSErr; external name '_SetCSequenceQuality';
1502 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1503 
1504 
1505 {
1506  *  SetCSequencePrev()
1507  *
1508  *  Availability:
1509  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1510  *    CarbonLib:        in CarbonLib 1.0 and later
1511  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1512  *    Windows:          in qtmlClient.lib 3.0 and later
1513  }
SetCSequencePrevnull1514 function SetCSequencePrev( seqID: ImageSequence; prev: PixMapHandle; const (*var*) prevRect: Rect ): OSErr; external name '_SetCSequencePrev';
1515 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1516 
1517 
1518 {
1519  *  SetCSequenceFlushProc()
1520  *
1521  *  Availability:
1522  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1523  *    CarbonLib:        in CarbonLib 1.0 and later
1524  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1525  *    Windows:          in qtmlClient.lib 3.0 and later
1526  }
SetCSequenceFlushProcnull1527 function SetCSequenceFlushProc( seqID: ImageSequence; flushProc: ICMFlushProcRecordPtr; bufferSize: SIGNEDLONG ): OSErr; external name '_SetCSequenceFlushProc';
1528 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1529 
1530 
1531 {
1532  *  SetCSequenceKeyFrameRate()
1533  *
1534  *  Availability:
1535  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1536  *    CarbonLib:        in CarbonLib 1.0 and later
1537  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1538  *    Windows:          in qtmlClient.lib 3.0 and later
1539  }
SetCSequenceKeyFrameRatenull1540 function SetCSequenceKeyFrameRate( seqID: ImageSequence; keyFrameRate: SIGNEDLONG ): OSErr; external name '_SetCSequenceKeyFrameRate';
1541 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1542 
1543 
1544 {
1545  *  GetCSequenceKeyFrameRate()
1546  *
1547  *  Availability:
1548  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1549  *    CarbonLib:        in CarbonLib 1.0 and later
1550  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1551  *    Windows:          in qtmlClient.lib 3.0 and later
1552  }
GetCSequenceKeyFrameRatenull1553 function GetCSequenceKeyFrameRate( seqID: ImageSequence; var keyFrameRate: SIGNEDLONG ): OSErr; external name '_GetCSequenceKeyFrameRate';
1554 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1555 
1556 
1557 {
1558  *  GetCSequencePrevBuffer()
1559  *
1560  *  Availability:
1561  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1562  *    CarbonLib:        in CarbonLib 1.0 and later
1563  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1564  *    Windows:          in qtmlClient.lib 3.0 and later
1565  }
GetCSequencePrevBuffernull1566 function GetCSequencePrevBuffer( seqID: ImageSequence; var gworld: GWorldPtr ): OSErr; external name '_GetCSequencePrevBuffer';
1567 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1568 
1569 
1570 {
1571  *  CDSequenceBusy()
1572  *
1573  *  Availability:
1574  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1575  *    CarbonLib:        in CarbonLib 1.0 and later
1576  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1577  *    Windows:          in qtmlClient.lib 3.0 and later
1578  }
CDSequenceBusynull1579 function CDSequenceBusy( seqID: ImageSequence ): OSErr; external name '_CDSequenceBusy';
1580 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1581 
1582 
1583 {
1584  *  CDSequenceEnd()
1585  *
1586  *  Availability:
1587  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1588  *    CarbonLib:        in CarbonLib 1.0 and later
1589  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1590  *    Windows:          in qtmlClient.lib 3.0 and later
1591  }
CDSequenceEndnull1592 function CDSequenceEnd( seqID: ImageSequence ): OSErr; external name '_CDSequenceEnd';
1593 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1594 
1595 
1596 {
1597  *  CDSequenceEquivalentImageDescription()
1598  *
1599  *  Availability:
1600  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1601  *    CarbonLib:        in CarbonLib 1.0 and later
1602  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1603  *    Windows:          in qtmlClient.lib 3.0 and later
1604  }
CDSequenceEquivalentImageDescriptionnull1605 function CDSequenceEquivalentImageDescription( seqID: ImageSequence; newDesc: ImageDescriptionHandle; var equivalent: Boolean ): OSErr; external name '_CDSequenceEquivalentImageDescription';
1606 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1607 
1608 
1609 {
1610  *  CDSequenceEquivalentImageDescriptionS()
1611  *
1612  *  Availability:
1613  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1614  *    CarbonLib:        in CarbonLib 1.3 and later
1615  *    Non-Carbon CFM:   in QuickTimeLib 5.0 and later
1616  *    Windows:          in qtmlClient.lib 5.0 and later
1617  }
CDSequenceEquivalentImageDescriptionSnull1618 function CDSequenceEquivalentImageDescriptionS( seqID: ImageSequence; newDesc: ImageDescriptionHandle; var equivalent: Boolean; var canSwitch: Boolean ): OSErr; external name '_CDSequenceEquivalentImageDescriptionS';
1619 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1620 
1621 
1622 {
1623  *  ReplaceDSequenceImageDescription()
1624  *
1625  *  Availability:
1626  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1627  *    CarbonLib:        in CarbonLib 1.3 and later
1628  *    Non-Carbon CFM:   in QuickTimeLib 5.0 and later
1629  *    Windows:          in qtmlClient.lib 5.0 and later
1630  }
ReplaceDSequenceImageDescriptionnull1631 function ReplaceDSequenceImageDescription( seqID: ImageSequence; newDesc: ImageDescriptionHandle ): OSErr; external name '_ReplaceDSequenceImageDescription';
1632 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1633 
1634 
1635 {
1636  *  GetCompressedImageSize()
1637  *
1638  *  Availability:
1639  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1640  *    CarbonLib:        in CarbonLib 1.0 and later
1641  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1642  *    Windows:          in qtmlClient.lib 3.0 and later
1643  }
GetCompressedImageSizenull1644 function GetCompressedImageSize( desc: ImageDescriptionHandle; data: Ptr; bufferSize: SIGNEDLONG; dataProc: ICMDataProcRecordPtr; var dataSize: SIGNEDLONG ): OSErr; external name '_GetCompressedImageSize';
1645 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1646 
1647 
1648 {
1649  *  GetSimilarity()
1650  *
1651  *  Availability:
1652  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1653  *    CarbonLib:        in CarbonLib 1.0 and later
1654  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1655  *    Windows:          in qtmlClient.lib 3.0 and later
1656  }
GetSimilaritynull1657 function GetSimilarity( src: PixMapHandle; const (*var*) srcRect: Rect; desc: ImageDescriptionHandle; data: Ptr; var similarity: Fixed ): OSErr; external name '_GetSimilarity';
1658 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1659 
1660 
1661 const
1662 	kImageDescriptionSampleFormat = FourCharCode('idfm'); { image description extension describing sample format}
1663 	kImageDescriptionClassicAtomFormat = FourCharCode('atom'); { sample contains classic atom structure (ie, GX codec and Curve codec)}
1664 	kImageDescriptionQTAtomFormat = FourCharCode('qtat'); { sample contains QT atom structure}
1665 	kImageDescriptionEffectDataFormat = FourCharCode('fxat'); { sample describes an effect (as QTAtoms)}
1666 	kImageDescriptionPrivateDataFormat = FourCharCode('priv'); { sample is in a private codec specific format}
1667 	kImageDescriptionAlternateCodec = FourCharCode('subs'); { image description extension containing the OSType of a substitute codec should the main codec not be available}
1668 	kImageDescriptionColorSpace = FourCharCode('cspc'); { image description extension containing an OSType naming the native pixel format of an image (only used for pixel formats not supported by classic Color QuickDraw)}
1669 
1670 {
1671  *  GetImageDescriptionCTable()
1672  *
1673  *  Availability:
1674  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1675  *    CarbonLib:        in CarbonLib 1.0 and later
1676  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1677  *    Windows:          in qtmlClient.lib 3.0 and later
1678  }
GetImageDescriptionCTablenull1679 function GetImageDescriptionCTable( desc: ImageDescriptionHandle; var ctable: CTabHandle ): OSErr; external name '_GetImageDescriptionCTable';
1680 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1681 
1682 
1683 {
1684  *  SetImageDescriptionCTable()
1685  *
1686  *  Availability:
1687  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1688  *    CarbonLib:        in CarbonLib 1.0 and later
1689  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1690  *    Windows:          in qtmlClient.lib 3.0 and later
1691  }
SetImageDescriptionCTablenull1692 function SetImageDescriptionCTable( desc: ImageDescriptionHandle; ctable: CTabHandle ): OSErr; external name '_SetImageDescriptionCTable';
1693 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1694 
1695 
1696 {
1697  *  GetImageDescriptionExtension()
1698  *
1699  *  Availability:
1700  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1701  *    CarbonLib:        in CarbonLib 1.0 and later
1702  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1703  *    Windows:          in qtmlClient.lib 3.0 and later
1704  }
GetImageDescriptionExtensionnull1705 function GetImageDescriptionExtension( desc: ImageDescriptionHandle; var extension: Handle; idType: SIGNEDLONG; index: SIGNEDLONG ): OSErr; external name '_GetImageDescriptionExtension';
1706 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1707 
1708 
1709 {
1710  *  AddImageDescriptionExtension()
1711  *
1712  *  Availability:
1713  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1714  *    CarbonLib:        in CarbonLib 1.0 and later
1715  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1716  *    Windows:          in qtmlClient.lib 3.0 and later
1717  }
AddImageDescriptionExtensionnull1718 function AddImageDescriptionExtension( desc: ImageDescriptionHandle; extension: Handle; idType: SIGNEDLONG ): OSErr; external name '_AddImageDescriptionExtension';
1719 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1720 
1721 
1722 {
1723  *  RemoveImageDescriptionExtension()
1724  *
1725  *  Availability:
1726  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1727  *    CarbonLib:        in CarbonLib 1.0 and later
1728  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1729  *    Windows:          in qtmlClient.lib 3.0 and later
1730  }
RemoveImageDescriptionExtensionnull1731 function RemoveImageDescriptionExtension( desc: ImageDescriptionHandle; idType: SIGNEDLONG; index: SIGNEDLONG ): OSErr; external name '_RemoveImageDescriptionExtension';
1732 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1733 
1734 
1735 {
1736  *  CountImageDescriptionExtensionType()
1737  *
1738  *  Availability:
1739  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1740  *    CarbonLib:        in CarbonLib 1.0 and later
1741  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1742  *    Windows:          in qtmlClient.lib 3.0 and later
1743  }
CountImageDescriptionExtensionTypenull1744 function CountImageDescriptionExtensionType( desc: ImageDescriptionHandle; idType: SIGNEDLONG; var count: SIGNEDLONG ): OSErr; external name '_CountImageDescriptionExtensionType';
1745 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1746 
1747 
1748 {
1749  *  GetNextImageDescriptionExtensionType()
1750  *
1751  *  Availability:
1752  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1753  *    CarbonLib:        in CarbonLib 1.0 and later
1754  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1755  *    Windows:          in qtmlClient.lib 3.0 and later
1756  }
GetNextImageDescriptionExtensionTypenull1757 function GetNextImageDescriptionExtensionType( desc: ImageDescriptionHandle; var idType: SIGNEDLONG ): OSErr; external name '_GetNextImageDescriptionExtensionType';
1758 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1759 
1760 
1761 {
1762  *  FindCodec()
1763  *
1764  *  Availability:
1765  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1766  *    CarbonLib:        in CarbonLib 1.0 and later
1767  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1768  *    Windows:          in qtmlClient.lib 3.0 and later
1769  }
FindCodecnull1770 function FindCodec( cType: CodecType; specCodec: CodecComponent; var compressor: CompressorComponent; var decompressor: DecompressorComponent ): OSErr; external name '_FindCodec';
1771 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1772 
1773 
1774 {
1775  *  CompressPicture()
1776  *
1777  *  Availability:
1778  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1779  *    CarbonLib:        in CarbonLib 1.0 and later
1780  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1781  *    Windows:          in qtmlClient.lib 3.0 and later
1782  }
CompressPicturenull1783 function CompressPicture( srcPicture: PicHandle; dstPicture: PicHandle; quality: CodecQ; cType: CodecType ): OSErr; external name '_CompressPicture';
1784 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1785 
1786 
1787 {
1788  *  FCompressPicture()
1789  *
1790  *  Availability:
1791  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1792  *    CarbonLib:        in CarbonLib 1.0 and later
1793  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1794  *    Windows:          in qtmlClient.lib 3.0 and later
1795  }
FCompressPicturenull1796 function FCompressPicture( srcPicture: PicHandle; dstPicture: PicHandle; colorDepth: SInt16; ctable: CTabHandle; quality: CodecQ; doDither: SInt16; compressAgain: SInt16; progressProc: ICMProgressProcRecordPtr; cType: CodecType; codec: CompressorComponent ): OSErr; external name '_FCompressPicture';
1797 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1798 
1799 
1800 {
1801  *  CompressPictureFile()
1802  *
1803  *  Availability:
1804  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1805  *    CarbonLib:        in CarbonLib 1.0 and later
1806  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1807  *    Windows:          in qtmlClient.lib 3.0 and later
1808  }
CompressPictureFilenull1809 function CompressPictureFile( srcRefNum: SInt16; dstRefNum: SInt16; quality: CodecQ; cType: CodecType ): OSErr; external name '_CompressPictureFile';
1810 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1811 
1812 
1813 {
1814  *  FCompressPictureFile()
1815  *
1816  *  Availability:
1817  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1818  *    CarbonLib:        in CarbonLib 1.0 and later
1819  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1820  *    Windows:          in qtmlClient.lib 3.0 and later
1821  }
FCompressPictureFilenull1822 function FCompressPictureFile( srcRefNum: SInt16; dstRefNum: SInt16; colorDepth: SInt16; ctable: CTabHandle; quality: CodecQ; doDither: SInt16; compressAgain: SInt16; progressProc: ICMProgressProcRecordPtr; cType: CodecType; codec: CompressorComponent ): OSErr; external name '_FCompressPictureFile';
1823 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1824 
1825 
1826 {
1827  *  GetPictureFileHeader()
1828  *
1829  *  Availability:
1830  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1831  *    CarbonLib:        in CarbonLib 1.0 and later
1832  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1833  *    Windows:          in qtmlClient.lib 3.0 and later
1834  }
GetPictureFileHeadernull1835 function GetPictureFileHeader( refNum: SInt16; var frame: Rect; var header: OpenCPicParams ): OSErr; external name '_GetPictureFileHeader';
1836 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1837 
1838 
1839 {
1840  *  DrawPictureFile()
1841  *
1842  *  Availability:
1843  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1844  *    CarbonLib:        in CarbonLib 1.0 and later
1845  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1846  *    Windows:          in qtmlClient.lib 3.0 and later
1847  }
DrawPictureFilenull1848 function DrawPictureFile( refNum: SInt16; const (*var*) frame: Rect; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_DrawPictureFile';
1849 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1850 
1851 
1852 {
1853  *  DrawTrimmedPicture()
1854  *
1855  *  Availability:
1856  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1857  *    CarbonLib:        in CarbonLib 1.0 and later
1858  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1859  *    Windows:          in qtmlClient.lib 3.0 and later
1860  }
DrawTrimmedPicturenull1861 function DrawTrimmedPicture( srcPicture: PicHandle; const (*var*) frame: Rect; trimMask: RgnHandle; doDither: SInt16; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_DrawTrimmedPicture';
1862 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1863 
1864 
1865 {
1866  *  DrawTrimmedPictureFile()
1867  *
1868  *  Availability:
1869  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1870  *    CarbonLib:        in CarbonLib 1.0 and later
1871  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1872  *    Windows:          in qtmlClient.lib 3.0 and later
1873  }
DrawTrimmedPictureFilenull1874 function DrawTrimmedPictureFile( srcRefnum: SInt16; const (*var*) frame: Rect; trimMask: RgnHandle; doDither: SInt16; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_DrawTrimmedPictureFile';
1875 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1876 
1877 
1878 {
1879  *  MakeThumbnailFromPicture()
1880  *
1881  *  Availability:
1882  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1883  *    CarbonLib:        in CarbonLib 1.0 and later
1884  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1885  *    Windows:          in qtmlClient.lib 3.0 and later
1886  }
MakeThumbnailFromPicturenull1887 function MakeThumbnailFromPicture( picture: PicHandle; colorDepth: SInt16; thumbnail: PicHandle; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_MakeThumbnailFromPicture';
1888 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1889 
1890 
1891 {
1892  *  MakeThumbnailFromPictureFile()
1893  *
1894  *  Availability:
1895  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1896  *    CarbonLib:        in CarbonLib 1.0 and later
1897  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1898  *    Windows:          in qtmlClient.lib 3.0 and later
1899  }
MakeThumbnailFromPictureFilenull1900 function MakeThumbnailFromPictureFile( refNum: SInt16; colorDepth: SInt16; thumbnail: PicHandle; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_MakeThumbnailFromPictureFile';
1901 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1902 
1903 
1904 {
1905  *  MakeThumbnailFromPixMap()
1906  *
1907  *  Availability:
1908  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1909  *    CarbonLib:        in CarbonLib 1.0 and later
1910  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1911  *    Windows:          in qtmlClient.lib 3.0 and later
1912  }
MakeThumbnailFromPixMapnull1913 function MakeThumbnailFromPixMap( src: PixMapHandle; const (*var*) srcRect: Rect; colorDepth: SInt16; thumbnail: PicHandle; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_MakeThumbnailFromPixMap';
1914 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1915 
1916 
1917 {
1918  *  TrimImage()
1919  *
1920  *  Availability:
1921  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1922  *    CarbonLib:        in CarbonLib 1.0 and later
1923  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1924  *    Windows:          in qtmlClient.lib 3.0 and later
1925  }
TrimImagenull1926 function TrimImage( desc: ImageDescriptionHandle; inData: Ptr; inBufferSize: SIGNEDLONG; dataProc: ICMDataProcRecordPtr; outData: Ptr; outBufferSize: SIGNEDLONG; flushProc: ICMFlushProcRecordPtr; var trimRect: Rect; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_TrimImage';
1927 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1928 
1929 
1930 {
1931  *  ConvertImage()
1932  *
1933  *  Availability:
1934  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1935  *    CarbonLib:        in CarbonLib 1.0 and later
1936  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1937  *    Windows:          in qtmlClient.lib 3.0 and later
1938  }
ConvertImagenull1939 function ConvertImage( srcDD: ImageDescriptionHandle; srcData: Ptr; colorDepth: SInt16; ctable: CTabHandle; accuracy: CodecQ; quality: CodecQ; cType: CodecType; codec: CodecComponent; dstDD: ImageDescriptionHandle; dstData: Ptr ): OSErr; external name '_ConvertImage';
1940 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1941 
1942 
1943 {
1944  *  GetCompressedPixMapInfo()
1945  *
1946  *  Availability:
1947  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1948  *    CarbonLib:        in CarbonLib 1.0 and later
1949  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1950  *    Windows:          in qtmlClient.lib 3.0 and later
1951  }
GetCompressedPixMapInfonull1952 function GetCompressedPixMapInfo( pix: PixMapPtr; var desc: ImageDescriptionHandle; var data: Ptr; var bufferSize: SIGNEDLONG; var dataProc: ICMDataProcRecord; var progressProc: ICMProgressProcRecord ): OSErr; external name '_GetCompressedPixMapInfo';
1953 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1954 
1955 
1956 {
1957  *  SetCompressedPixMapInfo()
1958  *
1959  *  Availability:
1960  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1961  *    CarbonLib:        in CarbonLib 1.0 and later
1962  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1963  *    Windows:          in qtmlClient.lib 3.0 and later
1964  }
SetCompressedPixMapInfonull1965 function SetCompressedPixMapInfo( pix: PixMapPtr; desc: ImageDescriptionHandle; data: Ptr; bufferSize: SIGNEDLONG; dataProc: ICMDataProcRecordPtr; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_SetCompressedPixMapInfo';
1966 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1967 
1968 
1969 {
1970  *  StdPix()
1971  *
1972  *  Availability:
1973  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1974  *    CarbonLib:        in CarbonLib 1.0 and later
1975  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1976  *    Windows:          in qtmlClient.lib 3.0 and later
1977  }
1978 procedure StdPix( src: PixMapPtr; const (*var*) srcRect: Rect; matrix: MatrixRecordPtr; mode: SInt16; mask: RgnHandle; matte: PixMapPtr; const (*var*) matteRect: Rect; flags: SInt16 ); external name '_StdPix';
1979 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1980 
1981 
1982 {
1983  *  TransformRgn()
1984  *
1985  *  Availability:
1986  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
1987  *    CarbonLib:        in CarbonLib 1.0 and later
1988  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
1989  *    Windows:          in qtmlClient.lib 3.0 and later
1990  }
TransformRgnnull1991 function TransformRgn( matrix: MatrixRecordPtr; rgn: RgnHandle ): OSErr; external name '_TransformRgn';
1992 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
1993 
1994 
1995 {**********
1996     preview stuff
1997 **********}
1998 {
1999  *  SFGetFilePreview()
2000  *
2001  *  Availability:
2002  *    Mac OS X:         not available
2003  *    CarbonLib:        not available
2004  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2005  *    Windows:          in qtmlClient.lib 3.0 and later
2006  }
2007 
2008 
2009 {
2010  *  SFPGetFilePreview()
2011  *
2012  *  Availability:
2013  *    Mac OS X:         not available
2014  *    CarbonLib:        not available
2015  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2016  *    Windows:          in qtmlClient.lib 3.0 and later
2017  }
2018 
2019 
2020 {
2021  *  StandardGetFilePreview()
2022  *
2023  *  Availability:
2024  *    Mac OS X:         not available
2025  *    CarbonLib:        not available
2026  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2027  *    Windows:          in qtmlClient.lib 3.0 and later
2028  }
2029 
2030 
2031 {
2032  *  CustomGetFilePreview()
2033  *
2034  *  Availability:
2035  *    Mac OS X:         not available
2036  *    CarbonLib:        not available
2037  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2038  *    Windows:          in qtmlClient.lib 3.0 and later
2039  }
2040 
2041 
2042 {
2043  *  MakeFilePreview()
2044  *
2045  *  Availability:
2046  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2047  *    CarbonLib:        in CarbonLib 1.0 and later
2048  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2049  *    Windows:          in qtmlClient.lib 3.0 and later
2050  }
MakeFilePreviewnull2051 function MakeFilePreview( resRefNum: SInt16; progress: ICMProgressProcRecordPtr ): OSErr; external name '_MakeFilePreview';
2052 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2053 
2054 
2055 {
2056  *  AddFilePreview()
2057  *
2058  *  Availability:
2059  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2060  *    CarbonLib:        in CarbonLib 1.0 and later
2061  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2062  *    Windows:          in qtmlClient.lib 3.0 and later
2063  }
AddFilePreviewnull2064 function AddFilePreview( resRefNum: SInt16; previewType: OSType; previewData: Handle ): OSErr; external name '_AddFilePreview';
2065 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2066 
2067 
2068 type
2069 	PreviewResourceRecordPtr = ^PreviewResourceRecord;
2070 	PreviewResourceRecord = record
2071 		modDate: UNSIGNEDLONG;
2072 		version: SInt16;
2073 		resType: OSType;
2074 		resID: SInt16;
2075 	end;
2076 type
2077 	PreviewResourcePtr = PreviewResourceRecordPtr;
2078 	PreviewResource = ^PreviewResourcePtr;
2079 {
2080  *  AlignScreenRect()
2081  *
2082  *  Availability:
2083  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2084  *    CarbonLib:        in CarbonLib 1.0 and later
2085  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2086  *    Windows:          in qtmlClient.lib 3.0 and later
2087  }
2088 procedure AlignScreenRect( var rp: Rect; alignmentProc: ICMAlignmentProcRecordPtr ); external name '_AlignScreenRect';
2089 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2090 
2091 
2092 {
2093  *  AlignWindow()
2094  *
2095  *  Availability:
2096  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2097  *    CarbonLib:        in CarbonLib 1.0 and later
2098  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2099  *    Windows:          in qtmlClient.lib 3.0 and later
2100  }
2101 procedure AlignWindow( wp: WindowRef; front: Boolean; const (*var*) alignmentRect: Rect; alignmentProc: ICMAlignmentProcRecordPtr ); external name '_AlignWindow';
2102 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2103 
2104 
2105 {
2106  *  DragAlignedWindow()
2107  *
2108  *  Availability:
2109  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2110  *    CarbonLib:        in CarbonLib 1.0 and later
2111  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2112  *    Windows:          in qtmlClient.lib 3.0 and later
2113  }
2114 procedure DragAlignedWindow( wp: WindowRef; startPt: Point; var boundsRect: Rect; var alignmentRect: Rect; alignmentProc: ICMAlignmentProcRecordPtr ); external name '_DragAlignedWindow';
2115 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2116 
2117 
2118 {
2119  *  DragAlignedGrayRgn()
2120  *
2121  *  Availability:
2122  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2123  *    CarbonLib:        in CarbonLib 1.0 and later
2124  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2125  *    Windows:          in qtmlClient.lib 3.0 and later
2126  }
DragAlignedGrayRgnnull2127 function DragAlignedGrayRgn( theRgn: RgnHandle; startPt: Point; var boundsRect: Rect; var slopRect: Rect; axis: SInt16; actionProc: UniversalProcPtr; var alignmentRect: Rect; alignmentProc: ICMAlignmentProcRecordPtr ): SIGNEDLONG; external name '_DragAlignedGrayRgn';
2128 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2129 
2130 
2131 {
2132  *  SetCSequenceDataRateParams()
2133  *
2134  *  Availability:
2135  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2136  *    CarbonLib:        in CarbonLib 1.0 and later
2137  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2138  *    Windows:          in qtmlClient.lib 3.0 and later
2139  }
SetCSequenceDataRateParamsnull2140 function SetCSequenceDataRateParams( seqID: ImageSequence; params: DataRateParamsPtr ): OSErr; external name '_SetCSequenceDataRateParams';
2141 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2142 
2143 
2144 {
2145  *  SetCSequenceFrameNumber()
2146  *
2147  *  Availability:
2148  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2149  *    CarbonLib:        in CarbonLib 1.0 and later
2150  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2151  *    Windows:          in qtmlClient.lib 3.0 and later
2152  }
SetCSequenceFrameNumbernull2153 function SetCSequenceFrameNumber( seqID: ImageSequence; frameNumber: SIGNEDLONG ): OSErr; external name '_SetCSequenceFrameNumber';
2154 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2155 
2156 
2157 {
2158  *  SetCSequencePreferredPacketSize()
2159  *
2160  *  Availability:
2161  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2162  *    CarbonLib:        in CarbonLib 1.0 and later
2163  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2164  *    Windows:          in qtmlClient.lib 3.0 and later
2165  }
SetCSequencePreferredPacketSizenull2166 function SetCSequencePreferredPacketSize( seqID: ImageSequence; preferredPacketSizeInBytes: SIGNEDLONG ): OSErr; external name '_SetCSequencePreferredPacketSize';
2167 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2168 
2169 
2170 {
2171  *  NewImageGWorld()
2172  *
2173  *  Availability:
2174  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2175  *    CarbonLib:        in CarbonLib 1.0 and later
2176  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2177  *    Windows:          in qtmlClient.lib 3.0 and later
2178  }
NewImageGWorldnull2179 function NewImageGWorld( var gworld: GWorldPtr; idh: ImageDescriptionHandle; flags: GWorldFlags ): OSErr; external name '_NewImageGWorld';
2180 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2181 
2182 
2183 {
2184  *  GetCSequenceDataRateParams()
2185  *
2186  *  Availability:
2187  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2188  *    CarbonLib:        in CarbonLib 1.0 and later
2189  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2190  *    Windows:          in qtmlClient.lib 3.0 and later
2191  }
GetCSequenceDataRateParamsnull2192 function GetCSequenceDataRateParams( seqID: ImageSequence; params: DataRateParamsPtr ): OSErr; external name '_GetCSequenceDataRateParams';
2193 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2194 
2195 
2196 {
2197  *  GetCSequenceFrameNumber()
2198  *
2199  *  Availability:
2200  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2201  *    CarbonLib:        in CarbonLib 1.0 and later
2202  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2203  *    Windows:          in qtmlClient.lib 3.0 and later
2204  }
GetCSequenceFrameNumbernull2205 function GetCSequenceFrameNumber( seqID: ImageSequence; var frameNumber: SIGNEDLONG ): OSErr; external name '_GetCSequenceFrameNumber';
2206 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2207 
2208 
2209 {
2210  *  GetBestDeviceRect()
2211  *
2212  *  Availability:
2213  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2214  *    CarbonLib:        in CarbonLib 1.0 and later
2215  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2216  *    Windows:          in qtmlClient.lib 3.0 and later
2217  }
GetBestDeviceRectnull2218 function GetBestDeviceRect( var gdh: GDHandle; var rp: Rect ): OSErr; external name '_GetBestDeviceRect';
2219 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2220 
2221 
2222 {
2223  *  SetSequenceProgressProc()
2224  *
2225  *  Availability:
2226  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2227  *    CarbonLib:        in CarbonLib 1.0 and later
2228  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2229  *    Windows:          in qtmlClient.lib 3.0 and later
2230  }
SetSequenceProgressProcnull2231 function SetSequenceProgressProc( seqID: ImageSequence; var progressProc: ICMProgressProcRecord ): OSErr; external name '_SetSequenceProgressProc';
2232 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2233 
2234 
2235 {
2236  *  GDHasScale()
2237  *
2238  *  Availability:
2239  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2240  *    CarbonLib:        in CarbonLib 1.0 and later
2241  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2242  *    Windows:          in qtmlClient.lib 3.0 and later
2243  }
GDHasScalenull2244 function GDHasScale( gdh: GDHandle; depth: SInt16; var scale: Fixed ): OSErr; external name '_GDHasScale';
2245 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2246 
2247 
2248 {
2249  *  GDGetScale()
2250  *
2251  *  Availability:
2252  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2253  *    CarbonLib:        in CarbonLib 1.0 and later
2254  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2255  *    Windows:          in qtmlClient.lib 3.0 and later
2256  }
GDGetScalenull2257 function GDGetScale( gdh: GDHandle; var scale: Fixed; var flags: SInt16 ): OSErr; external name '_GDGetScale';
2258 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2259 
2260 
2261 {
2262  *  GDSetScale()
2263  *
2264  *  Availability:
2265  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2266  *    CarbonLib:        in CarbonLib 1.0 and later
2267  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2268  *    Windows:          in qtmlClient.lib 3.0 and later
2269  }
GDSetScalenull2270 function GDSetScale( gdh: GDHandle; scale: Fixed; flags: SInt16 ): OSErr; external name '_GDSetScale';
2271 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2272 
2273 
2274 {
2275  *  ICMShieldSequenceCursor()
2276  *
2277  *  Availability:
2278  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2279  *    CarbonLib:        in CarbonLib 1.0 and later
2280  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2281  *    Windows:          in qtmlClient.lib 3.0 and later
2282  }
ICMShieldSequenceCursornull2283 function ICMShieldSequenceCursor( seqID: ImageSequence ): OSErr; external name '_ICMShieldSequenceCursor';
2284 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2285 
2286 
2287 {
2288  *  ICMDecompressComplete()
2289  *
2290  *  Availability:
2291  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2292  *    CarbonLib:        in CarbonLib 1.0 and later
2293  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2294  *    Windows:          in qtmlClient.lib 3.0 and later
2295  }
2296 procedure ICMDecompressComplete( seqID: ImageSequence; err: OSErr; flag: SInt16; completionRtn: ICMCompletionProcRecordPtr ); external name '_ICMDecompressComplete';
2297 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2298 
2299 
2300 {
2301  *  ICMDecompressCompleteS()
2302  *
2303  *  Availability:
2304  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2305  *    CarbonLib:        in CarbonLib 1.1 and later
2306  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2307  *    Windows:          in qtmlClient.lib 3.0 and later
2308  }
ICMDecompressCompleteSnull2309 function ICMDecompressCompleteS( seqID: ImageSequence; err: OSErr; flag: SInt16; completionRtn: ICMCompletionProcRecordPtr ): OSErr; external name '_ICMDecompressCompleteS';
2310 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2311 
2312 
2313 {
2314  *  ICMSequenceLockBits()
2315  *
2316  *  Availability:
2317  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2318  *    CarbonLib:        in CarbonLib 1.0 and later
2319  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2320  *    Windows:          in qtmlClient.lib 3.0 and later
2321  }
ICMSequenceLockBitsnull2322 function ICMSequenceLockBits( seqID: ImageSequence; dst: PixMapPtr; flags: SIGNEDLONG ): OSErr; external name '_ICMSequenceLockBits';
2323 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2324 
2325 
2326 {
2327  *  ICMSequenceUnlockBits()
2328  *
2329  *  Availability:
2330  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2331  *    CarbonLib:        in CarbonLib 1.0 and later
2332  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2333  *    Windows:          in qtmlClient.lib 3.0 and later
2334  }
ICMSequenceUnlockBitsnull2335 function ICMSequenceUnlockBits( seqID: ImageSequence; flags: SIGNEDLONG ): OSErr; external name '_ICMSequenceUnlockBits';
2336 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2337 
2338 
2339 const
2340 	kICMPixelFormatIsPlanarMask = $0F; { these bits in formatFlags indicate how many planes there are; they're 0 if chunky}
2341 	kICMPixelFormatIsIndexed = 1 shl 4;
2342 	kICMPixelFormatIsSupportedByQD = 1 shl 5;
2343 	kICMPixelFormatIsMonochrome = 1 shl 6;
2344 	kICMPixelFormatHasAlphaChannel = 1 shl 7;
2345 
2346 type
2347 	ICMPixelFormatInfo = record
2348 		size: SIGNEDLONG;                   { caller MUST fill this in with sizeof(ICMPixelFormatInfo) before calling ICMGet/SetPixelFormatInfo}
2349 		formatFlags: UNSIGNEDLONG;
2350 		bitsPerPixel: array [0..13] of SInt16;       { list each plane's bits per pixel separately if planar}
2351                                               { new field for QuickTime 4.1}
2352 		defaultGammaLevel: Fixed;
2353                                               { new fields for QuickTime 6.0}
2354 		horizontalSubsampling: array [0..13] of SInt16; { per plane; use 1 if plane is not subsampled}
2355 		verticalSubsampling: array [0..13] of SInt16; { per plane; use 1 if plane is not subsampled}
2356                                               { new fields for QuickTime 6.5}
2357 		cmpCount: SInt16;               { for use in PixMap.cmpCount}
2358 		cmpSize: SInt16;                { for use in PixMap.cmpSize}
2359 	end;
2360 	ICMPixelFormatInfoPtr = ^ICMPixelFormatInfo;
2361 { IMPORTANT: Fill in theInfo->size with sizeof(ICMPixelFormatInfo) before calling ICMGetPixelFormatInfo }
2362 {
2363  *  ICMGetPixelFormatInfo()
2364  *
2365  *  Availability:
2366  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2367  *    CarbonLib:        in CarbonLib 1.0 and later
2368  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2369  *    Windows:          in qtmlClient.lib 3.0 and later
2370  }
ICMGetPixelFormatInfonull2371 function ICMGetPixelFormatInfo( PixelFormat: OSType; theInfo: ICMPixelFormatInfoPtr ): OSErr; external name '_ICMGetPixelFormatInfo';
2372 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2373 
2374 
2375 { IMPORTANT: Fill in theInfo->size with sizeof(ICMPixelFormatInfo) before calling ICMSetPixelFormatInfo }
2376 {
2377  *  ICMSetPixelFormatInfo()
2378  *
2379  *  Availability:
2380  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2381  *    CarbonLib:        in CarbonLib 1.1 and later
2382  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2383  *    Windows:          in qtmlClient.lib 3.0 and later
2384  }
ICMSetPixelFormatInfonull2385 function ICMSetPixelFormatInfo( PixelFormat: OSType; theInfo: ICMPixelFormatInfoPtr ): OSErr; external name '_ICMSetPixelFormatInfo';
2386 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2387 
2388 
2389 const
2390 	kICMGetChainUltimateParent = 0;
2391 	kICMGetChainParent = 1;
2392 	kICMGetChainChild = 2;
2393 	kICMGetChainUltimateChild = 3;
2394 
2395 {
2396  *  ICMSequenceGetChainMember()
2397  *
2398  *  Availability:
2399  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2400  *    CarbonLib:        in CarbonLib 1.0 and later
2401  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2402  *    Windows:          in qtmlClient.lib 3.0 and later
2403  }
ICMSequenceGetChainMembernull2404 function ICMSequenceGetChainMember( seqID: ImageSequence; var retSeqID: ImageSequence; flags: SIGNEDLONG ): OSErr; external name '_ICMSequenceGetChainMember';
2405 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2406 
2407 
2408 {
2409  *  SetDSequenceTimeCode()
2410  *
2411  *  Availability:
2412  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2413  *    CarbonLib:        in CarbonLib 1.0 and later
2414  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2415  *    Windows:          in qtmlClient.lib 3.0 and later
2416  }
SetDSequenceTimeCodenull2417 function SetDSequenceTimeCode( seqID: ImageSequence; timeCodeFormat: UnivPtr; timeCodeTime: UnivPtr ): OSErr; external name '_SetDSequenceTimeCode';
2418 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2419 
2420 
2421 {
2422  *  CDSequenceNewMemory()
2423  *
2424  *  Availability:
2425  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2426  *    CarbonLib:        in CarbonLib 1.0 and later
2427  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2428  *    Windows:          in qtmlClient.lib 3.0 and later
2429  }
CDSequenceNewMemorynull2430 function CDSequenceNewMemory( seqID: ImageSequence; var data: Ptr; dataSize: Size; dataUse: SIGNEDLONG; memoryGoneProc: ICMMemoryDisposedUPP; refCon: UnivPtr ): OSErr; external name '_CDSequenceNewMemory';
2431 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2432 
2433 
2434 {
2435  *  CDSequenceDisposeMemory()
2436  *
2437  *  Availability:
2438  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2439  *    CarbonLib:        in CarbonLib 1.0 and later
2440  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2441  *    Windows:          in qtmlClient.lib 3.0 and later
2442  }
CDSequenceDisposeMemorynull2443 function CDSequenceDisposeMemory( seqID: ImageSequence; data: Ptr ): OSErr; external name '_CDSequenceDisposeMemory';
2444 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2445 
2446 
2447 {
2448  *  CDSequenceNewDataSource()
2449  *
2450  *  Availability:
2451  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2452  *    CarbonLib:        in CarbonLib 1.0 and later
2453  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2454  *    Windows:          in qtmlClient.lib 3.0 and later
2455  }
CDSequenceNewDataSourcenull2456 function CDSequenceNewDataSource( seqID: ImageSequence; var sourceID: ImageSequenceDataSource; sourceType: OSType; sourceInputNumber: SIGNEDLONG; dataDescription: Handle; transferProc: ICMConvertDataFormatUPP; refCon: UnivPtr ): OSErr; external name '_CDSequenceNewDataSource';
2457 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2458 
2459 
2460 {
2461  *  CDSequenceDisposeDataSource()
2462  *
2463  *  Availability:
2464  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2465  *    CarbonLib:        in CarbonLib 1.0 and later
2466  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2467  *    Windows:          in qtmlClient.lib 3.0 and later
2468  }
CDSequenceDisposeDataSourcenull2469 function CDSequenceDisposeDataSource( sourceID: ImageSequenceDataSource ): OSErr; external name '_CDSequenceDisposeDataSource';
2470 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2471 
2472 
2473 {
2474  *  CDSequenceSetSourceData()
2475  *
2476  *  Availability:
2477  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2478  *    CarbonLib:        in CarbonLib 1.0 and later
2479  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2480  *    Windows:          in qtmlClient.lib 3.0 and later
2481  }
CDSequenceSetSourceDatanull2482 function CDSequenceSetSourceData( sourceID: ImageSequenceDataSource; data: UnivPtr; dataSize: SIGNEDLONG ): OSErr; external name '_CDSequenceSetSourceData';
2483 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2484 
2485 
2486 {
2487  *  CDSequenceChangedSourceData()
2488  *
2489  *  Availability:
2490  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2491  *    CarbonLib:        in CarbonLib 1.0 and later
2492  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2493  *    Windows:          in qtmlClient.lib 3.0 and later
2494  }
CDSequenceChangedSourceDatanull2495 function CDSequenceChangedSourceData( sourceID: ImageSequenceDataSource ): OSErr; external name '_CDSequenceChangedSourceData';
2496 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2497 
2498 
2499 {
2500  *  CDSequenceSetSourceDataQueue()
2501  *
2502  *  Availability:
2503  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2504  *    CarbonLib:        in CarbonLib 1.1 and later
2505  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2506  *    Windows:          in qtmlClient.lib 3.0 and later
2507  }
CDSequenceSetSourceDataQueuenull2508 function CDSequenceSetSourceDataQueue( sourceID: ImageSequenceDataSource; dataQueue: QHdrPtr ): OSErr; external name '_CDSequenceSetSourceDataQueue';
2509 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2510 
2511 
2512 {
2513  *  CDSequenceGetDataSource()
2514  *
2515  *  Availability:
2516  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2517  *    CarbonLib:        in CarbonLib 1.0 and later
2518  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2519  *    Windows:          in qtmlClient.lib 3.0 and later
2520  }
CDSequenceGetDataSourcenull2521 function CDSequenceGetDataSource( seqID: ImageSequence; var sourceID: ImageSequenceDataSource; sourceType: OSType; sourceInputNumber: SIGNEDLONG ): OSErr; external name '_CDSequenceGetDataSource';
2522 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2523 
2524 
2525 {
2526  *  PtInDSequenceData()
2527  *
2528  *  Availability:
2529  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2530  *    CarbonLib:        in CarbonLib 1.0 and later
2531  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2532  *    Windows:          in qtmlClient.lib 3.0 and later
2533  }
PtInDSequenceDatanull2534 function PtInDSequenceData( seqID: ImageSequence; data: UnivPtr; dataSize: Size; where: Point; var hit: Boolean ): OSErr; external name '_PtInDSequenceData';
2535 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2536 
2537 
2538 {
2539  *  HitTestDSequenceData()
2540  *
2541  *  Availability:
2542  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2543  *    CarbonLib:        in CarbonLib 1.0 and later
2544  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2545  *    Windows:          in qtmlClient.lib 3.0 and later
2546  }
HitTestDSequenceDatanull2547 function HitTestDSequenceData( seqID: ImageSequence; data: UnivPtr; dataSize: Size; where: Point; var hit: SIGNEDLONG; hitFlags: SIGNEDLONG ): OSErr; external name '_HitTestDSequenceData';
2548 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2549 
2550 
2551 {
2552  *  SetDSequenceNonScheduledDisplayTime()
2553  *
2554  *  Availability:
2555  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
2556  *    CarbonLib:        not available
2557  *    Non-Carbon CFM:   not available
2558  *    Windows:          in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
2559  }
SetDSequenceNonScheduledDisplayTimenull2560 function SetDSequenceNonScheduledDisplayTime( sequence: ImageSequence; displayTime: TimeValue64; displayTimeScale: TimeScale; flags: UInt32 ): OSErr; external name '_SetDSequenceNonScheduledDisplayTime';
2561 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
2562 
2563 
2564 {
2565  *  GetDSequenceNonScheduledDisplayTime()
2566  *
2567  *  Availability:
2568  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
2569  *    CarbonLib:        not available
2570  *    Non-Carbon CFM:   not available
2571  *    Windows:          in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
2572  }
GetDSequenceNonScheduledDisplayTimenull2573 function GetDSequenceNonScheduledDisplayTime( sequence: ImageSequence; var displayTime: TimeValue64; var displayTimeScale: TimeScale ): OSErr; external name '_GetDSequenceNonScheduledDisplayTime';
2574 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
2575 
2576 
2577 {
2578  *  SetDSequenceNonScheduledDisplayDirection()
2579  *
2580  *  Availability:
2581  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
2582  *    CarbonLib:        not available
2583  *    Non-Carbon CFM:   not available
2584  *    Windows:          in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
2585  }
SetDSequenceNonScheduledDisplayDirectionnull2586 function SetDSequenceNonScheduledDisplayDirection( sequence: ImageSequence; rate: Fixed ): OSErr; external name '_SetDSequenceNonScheduledDisplayDirection';
2587 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
2588 
2589 
2590 {
2591  *  GetDSequenceNonScheduledDisplayDirection()
2592  *
2593  *  Availability:
2594  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
2595  *    CarbonLib:        not available
2596  *    Non-Carbon CFM:   not available
2597  *    Windows:          in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
2598  }
GetDSequenceNonScheduledDisplayDirectionnull2599 function GetDSequenceNonScheduledDisplayDirection( sequence: ImageSequence; var rate: Fixed ): OSErr; external name '_GetDSequenceNonScheduledDisplayDirection';
2600 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
2601 
2602 
2603 {
2604  *  GetGraphicsImporterForFile()
2605  *
2606  *  Availability:
2607  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2608  *    CarbonLib:        in CarbonLib 1.0 and later
2609  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2610  *    Windows:          in qtmlClient.lib 3.0 and later
2611  }
GetGraphicsImporterForFilenull2612 function GetGraphicsImporterForFile( const (*var*) theFile: FSSpec; var gi: ComponentInstance ): OSErr; external name '_GetGraphicsImporterForFile';
2613 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2614 
2615 
2616 {
2617  *  GetGraphicsImporterForDataRef()
2618  *
2619  *  Availability:
2620  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2621  *    CarbonLib:        in CarbonLib 1.0 and later
2622  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2623  *    Windows:          in qtmlClient.lib 3.0 and later
2624  }
GetGraphicsImporterForDataRefnull2625 function GetGraphicsImporterForDataRef( dataRef: Handle; dataRefType: OSType; var gi: ComponentInstance ): OSErr; external name '_GetGraphicsImporterForDataRef';
2626 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2627 
2628 
2629 const
2630 	kDontUseValidateToFindGraphicsImporter = 1 shl 0;
2631 
2632 {
2633  *  GetGraphicsImporterForFileWithFlags()
2634  *
2635  *  Availability:
2636  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2637  *    CarbonLib:        in CarbonLib 1.1 and later
2638  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2639  *    Windows:          in qtmlClient.lib 3.0 and later
2640  }
GetGraphicsImporterForFileWithFlagsnull2641 function GetGraphicsImporterForFileWithFlags( const (*var*) theFile: FSSpec; var gi: ComponentInstance; flags: SIGNEDLONG ): OSErr; external name '_GetGraphicsImporterForFileWithFlags';
2642 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2643 
2644 
2645 {
2646  *  GetGraphicsImporterForDataRefWithFlags()
2647  *
2648  *  Availability:
2649  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2650  *    CarbonLib:        in CarbonLib 1.1 and later
2651  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2652  *    Windows:          in qtmlClient.lib 3.0 and later
2653  }
GetGraphicsImporterForDataRefWithFlagsnull2654 function GetGraphicsImporterForDataRefWithFlags( dataRef: Handle; dataRefType: OSType; var gi: ComponentInstance; flags: SIGNEDLONG ): OSErr; external name '_GetGraphicsImporterForDataRefWithFlags';
2655 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2656 
2657 
2658 {
2659  *  QTGetFileNameExtension()
2660  *
2661  *  Availability:
2662  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2663  *    CarbonLib:        in CarbonLib 1.0 and later
2664  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2665  *    Windows:          in qtmlClient.lib 3.0 and later
2666  }
QTGetFileNameExtensionnull2667 function QTGetFileNameExtension(const (*var*) fileName: StrFileName; fileType: OSType; var extension: OSType ): OSErr; external name '_QTGetFileNameExtension';
2668 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2669 
2670 
2671 {
2672  *  ImageTranscodeSequenceBegin()
2673  *
2674  *  Availability:
2675  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2676  *    CarbonLib:        in CarbonLib 1.0 and later
2677  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2678  *    Windows:          in qtmlClient.lib 3.0 and later
2679  }
ImageTranscodeSequenceBeginnull2680 function ImageTranscodeSequenceBegin( var its: ImageTranscodeSequence; srcDesc: ImageDescriptionHandle; destType: OSType; var dstDesc: ImageDescriptionHandle; data: UnivPtr; dataSize: SIGNEDLONG ): OSErr; external name '_ImageTranscodeSequenceBegin';
2681 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2682 
2683 
2684 {
2685  *  ImageTranscodeSequenceEnd()
2686  *
2687  *  Availability:
2688  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2689  *    CarbonLib:        in CarbonLib 1.0 and later
2690  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2691  *    Windows:          in qtmlClient.lib 3.0 and later
2692  }
ImageTranscodeSequenceEndnull2693 function ImageTranscodeSequenceEnd( its: ImageTranscodeSequence ): OSErr; external name '_ImageTranscodeSequenceEnd';
2694 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2695 
2696 
2697 {
2698  *  ImageTranscodeFrame()
2699  *
2700  *  Availability:
2701  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2702  *    CarbonLib:        in CarbonLib 1.0 and later
2703  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2704  *    Windows:          in qtmlClient.lib 3.0 and later
2705  }
ImageTranscodeFramenull2706 function ImageTranscodeFrame( its: ImageTranscodeSequence; srcData: UnivPtr; srcDataSize: SIGNEDLONG; var dstData: UnivPtr; var dstDataSize: SIGNEDLONG ): OSErr; external name '_ImageTranscodeFrame';
2707 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2708 
2709 
2710 {
2711  *  ImageTranscodeDisposeFrameData()
2712  *
2713  *  Availability:
2714  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2715  *    CarbonLib:        in CarbonLib 1.0 and later
2716  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2717  *    Windows:          in qtmlClient.lib 3.0 and later
2718  }
ImageTranscodeDisposeFrameDatanull2719 function ImageTranscodeDisposeFrameData( its: ImageTranscodeSequence; dstData: UnivPtr ): OSErr; external name '_ImageTranscodeDisposeFrameData';
2720 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2721 
2722 
2723 {
2724  *  CDSequenceInvalidate()
2725  *
2726  *  Availability:
2727  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2728  *    CarbonLib:        in CarbonLib 1.0 and later
2729  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2730  *    Windows:          in qtmlClient.lib 3.0 and later
2731  }
CDSequenceInvalidatenull2732 function CDSequenceInvalidate( seqID: ImageSequence; invalRgn: RgnHandle ): OSErr; external name '_CDSequenceInvalidate';
2733 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2734 
2735 
2736 {
2737  *  CDSequenceSetTimeBase()
2738  *
2739  *  Availability:
2740  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2741  *    CarbonLib:        in CarbonLib 1.0 and later
2742  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2743  *    Windows:          in qtmlClient.lib 3.0 and later
2744  }
CDSequenceSetTimeBasenull2745 function CDSequenceSetTimeBase( seqID: ImageSequence; base: UnivPtr ): OSErr; external name '_CDSequenceSetTimeBase';
2746 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2747 
2748 
2749 {
2750  *  ImageFieldSequenceBegin()
2751  *
2752  *  Availability:
2753  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2754  *    CarbonLib:        in CarbonLib 1.0 and later
2755  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2756  *    Windows:          in qtmlClient.lib 3.0 and later
2757  }
ImageFieldSequenceBeginnull2758 function ImageFieldSequenceBegin( var ifs: ImageFieldSequence; desc1: ImageDescriptionHandle; desc2: ImageDescriptionHandle; descOut: ImageDescriptionHandle ): OSErr; external name '_ImageFieldSequenceBegin';
2759 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2760 
2761 
2762 {
2763  *  ImageFieldSequenceExtractCombine()
2764  *
2765  *  Availability:
2766  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2767  *    CarbonLib:        in CarbonLib 1.0 and later
2768  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2769  *    Windows:          in qtmlClient.lib 3.0 and later
2770  }
ImageFieldSequenceExtractCombinenull2771 function ImageFieldSequenceExtractCombine( ifs: ImageFieldSequence; fieldFlags: SIGNEDLONG; data1: UnivPtr; dataSize1: SIGNEDLONG; data2: UnivPtr; dataSize2: SIGNEDLONG; outputData: UnivPtr; var outDataSize: SIGNEDLONG ): OSErr; external name '_ImageFieldSequenceExtractCombine';
2772 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2773 
2774 
2775 {
2776  *  ImageFieldSequenceEnd()
2777  *
2778  *  Availability:
2779  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2780  *    CarbonLib:        in CarbonLib 1.0 and later
2781  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
2782  *    Windows:          in qtmlClient.lib 3.0 and later
2783  }
ImageFieldSequenceEndnull2784 function ImageFieldSequenceEnd( ifs: ImageFieldSequence ): OSErr; external name '_ImageFieldSequenceEnd';
2785 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2786 
2787 
2788 const
2789 	kICMTempThenAppMemory = 1 shl 12;
2790 	kICMAppThenTempMemory = 1 shl 13;
2791 
2792 {
2793  *  QTNewGWorld()
2794  *
2795  *  Availability:
2796  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2797  *    CarbonLib:        in CarbonLib 1.0 and later
2798  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2799  *    Windows:          in qtmlClient.lib 3.0 and later
2800  }
QTNewGWorldnull2801 function QTNewGWorld( var offscreenGWorld: GWorldPtr; PixelFormat: OSType; const (*var*) boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags ): OSErr; external name '_QTNewGWorld';
2802 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2803 
2804 
2805 {
2806  *  QTNewGWorldFromPtr()
2807  *
2808  *  Availability:
2809  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2810  *    CarbonLib:        in CarbonLib 1.0.2 and later
2811  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
2812  *    Windows:          in qtmlClient.lib 4.0 and later
2813  }
QTNewGWorldFromPtrnull2814 function QTNewGWorldFromPtr( var gw: GWorldPtr; pixelFormat: OSType; const (*var*) boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags; baseAddr: UnivPtr; rowBytes: SIGNEDLONG ): OSErr; external name '_QTNewGWorldFromPtr';
2815 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2816 
2817 
2818 {
2819  *  QTUpdateGWorld()
2820  *
2821  *  Availability:
2822  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2823  *    CarbonLib:        in CarbonLib 1.0 and later
2824  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2825  *    Windows:          in qtmlClient.lib 3.0 and later
2826  }
QTUpdateGWorldnull2827 function QTUpdateGWorld( var offscreenGWorld: GWorldPtr; PixelFormat: OSType; const (*var*) boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags ): GWorldFlags; external name '_QTUpdateGWorld';
2828 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2829 
2830 
2831 {
2832  *  MakeImageDescriptionForPixMap()
2833  *
2834  *  Availability:
2835  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2836  *    CarbonLib:        in CarbonLib 1.0 and later
2837  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2838  *    Windows:          in qtmlClient.lib 3.0 and later
2839  }
MakeImageDescriptionForPixMapnull2840 function MakeImageDescriptionForPixMap( pixmap: PixMapHandle; var idh: ImageDescriptionHandle ): OSErr; external name '_MakeImageDescriptionForPixMap';
2841 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2842 
2843 
2844 {
2845  *  MakeImageDescriptionForEffect()
2846  *
2847  *  Availability:
2848  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2849  *    CarbonLib:        in CarbonLib 1.0.2 and later
2850  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
2851  *    Windows:          in qtmlClient.lib 4.0 and later
2852  }
MakeImageDescriptionForEffectnull2853 function MakeImageDescriptionForEffect( effectType: OSType; var idh: ImageDescriptionHandle ): OSErr; external name '_MakeImageDescriptionForEffect';
2854 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2855 
2856 
2857 {
2858  *  QTGetPixelSize()
2859  *
2860  *  Availability:
2861  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2862  *    CarbonLib:        in CarbonLib 1.0 and later
2863  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
2864  *    Windows:          in qtmlClient.lib 3.0 and later
2865  }
QTGetPixelSizenull2866 function QTGetPixelSize( PixelFormat: OSType ): SInt16; external name '_QTGetPixelSize';
2867 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2868 
2869 
2870 {
2871  *  QTGetPixelFormatDepthForImageDescription()
2872  *
2873  *  Availability:
2874  *    Mac OS X:         in version 10.2 and later in QuickTime.framework
2875  *    CarbonLib:        in CarbonLib 1.6 and later
2876  *    Non-Carbon CFM:   in QuickTimeLib 6.0 and later
2877  *    Windows:          in qtmlClient.lib 6.0 and later
2878  }
QTGetPixelFormatDepthForImageDescriptionnull2879 function QTGetPixelFormatDepthForImageDescription( PixelFormat: OSType ): SInt16; external name '_QTGetPixelFormatDepthForImageDescription';
2880 (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
2881 
2882 
2883 {
2884  *  QTGetPixMapPtrRowBytes()
2885  *
2886  *  Availability:
2887  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2888  *    CarbonLib:        in CarbonLib 1.0.2 and later
2889  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
2890  *    Windows:          in qtmlClient.lib 4.0 and later
2891  }
QTGetPixMapPtrRowBytesnull2892 function QTGetPixMapPtrRowBytes( pm: PixMapPtr ): SIGNEDLONG; external name '_QTGetPixMapPtrRowBytes';
2893 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2894 
2895 
2896 {
2897  *  QTGetPixMapHandleRowBytes()
2898  *
2899  *  Availability:
2900  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2901  *    CarbonLib:        in CarbonLib 1.0.2 and later
2902  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
2903  *    Windows:          in qtmlClient.lib 4.0 and later
2904  }
QTGetPixMapHandleRowBytesnull2905 function QTGetPixMapHandleRowBytes( pm: PixMapHandle ): SIGNEDLONG; external name '_QTGetPixMapHandleRowBytes';
2906 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2907 
2908 
2909 {
2910  *  QTSetPixMapPtrRowBytes()
2911  *
2912  *  Availability:
2913  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2914  *    CarbonLib:        in CarbonLib 1.0.2 and later
2915  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
2916  *    Windows:          in qtmlClient.lib 4.0 and later
2917  }
QTSetPixMapPtrRowBytesnull2918 function QTSetPixMapPtrRowBytes( pm: PixMapPtr; rowBytes: SIGNEDLONG ): OSErr; external name '_QTSetPixMapPtrRowBytes';
2919 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2920 
2921 
2922 {
2923  *  QTSetPixMapHandleRowBytes()
2924  *
2925  *  Availability:
2926  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2927  *    CarbonLib:        in CarbonLib 1.0.2 and later
2928  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
2929  *    Windows:          in qtmlClient.lib 4.0 and later
2930  }
QTSetPixMapHandleRowBytesnull2931 function QTSetPixMapHandleRowBytes( pm: PixMapHandle; rowBytes: SIGNEDLONG ): OSErr; external name '_QTSetPixMapHandleRowBytes';
2932 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2933 
2934 
2935 const
2936 	kQTUsePlatformDefaultGammaLevel = 0;  { When decompressing into this PixMap, gamma-correct to the platform's standard gamma. }
2937 	kQTUseSourceGammaLevel = -1;  { When decompressing into this PixMap, don't perform gamma-correction. }
2938 	kQTCCIR601VideoGammaLevel = $00023333; { 2.2, standard television video gamma.}
2939 
2940 {
2941  *  QTGetPixMapPtrGammaLevel()
2942  *
2943  *  Availability:
2944  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2945  *    CarbonLib:        in CarbonLib 1.3 and later
2946  *    Non-Carbon CFM:   in QuickTimeLib 5.0 and later
2947  *    Windows:          in qtmlClient.lib 5.0 and later
2948  }
QTGetPixMapPtrGammaLevelnull2949 function QTGetPixMapPtrGammaLevel( pm: PixMapPtr ): Fixed; external name '_QTGetPixMapPtrGammaLevel';
2950 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2951 
2952 
2953 {
2954  *  QTSetPixMapPtrGammaLevel()
2955  *
2956  *  Availability:
2957  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2958  *    CarbonLib:        in CarbonLib 1.3 and later
2959  *    Non-Carbon CFM:   in QuickTimeLib 5.0 and later
2960  *    Windows:          in qtmlClient.lib 5.0 and later
2961  }
QTSetPixMapPtrGammaLevelnull2962 function QTSetPixMapPtrGammaLevel( pm: PixMapPtr; gammaLevel: Fixed ): OSErr; external name '_QTSetPixMapPtrGammaLevel';
2963 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2964 
2965 
2966 {
2967  *  QTGetPixMapHandleGammaLevel()
2968  *
2969  *  Availability:
2970  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2971  *    CarbonLib:        in CarbonLib 1.3 and later
2972  *    Non-Carbon CFM:   in QuickTimeLib 5.0 and later
2973  *    Windows:          in qtmlClient.lib 5.0 and later
2974  }
QTGetPixMapHandleGammaLevelnull2975 function QTGetPixMapHandleGammaLevel( pm: PixMapHandle ): Fixed; external name '_QTGetPixMapHandleGammaLevel';
2976 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2977 
2978 
2979 {
2980  *  QTSetPixMapHandleGammaLevel()
2981  *
2982  *  Availability:
2983  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2984  *    CarbonLib:        in CarbonLib 1.3 and later
2985  *    Non-Carbon CFM:   in QuickTimeLib 5.0 and later
2986  *    Windows:          in qtmlClient.lib 5.0 and later
2987  }
QTSetPixMapHandleGammaLevelnull2988 function QTSetPixMapHandleGammaLevel( pm: PixMapHandle; gammaLevel: Fixed ): OSErr; external name '_QTSetPixMapHandleGammaLevel';
2989 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
2990 
2991 
2992 {
2993  *  QTGetPixMapPtrRequestedGammaLevel()
2994  *
2995  *  Availability:
2996  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
2997  *    CarbonLib:        in CarbonLib 1.3 and later
2998  *    Non-Carbon CFM:   in QuickTimeLib 5.0 and later
2999  *    Windows:          in qtmlClient.lib 5.0 and later
3000  }
QTGetPixMapPtrRequestedGammaLevelnull3001 function QTGetPixMapPtrRequestedGammaLevel( pm: PixMapPtr ): Fixed; external name '_QTGetPixMapPtrRequestedGammaLevel';
3002 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3003 
3004 
3005 {
3006  *  QTSetPixMapPtrRequestedGammaLevel()
3007  *
3008  *  Availability:
3009  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3010  *    CarbonLib:        in CarbonLib 1.3 and later
3011  *    Non-Carbon CFM:   in QuickTimeLib 5.0 and later
3012  *    Windows:          in qtmlClient.lib 5.0 and later
3013  }
QTSetPixMapPtrRequestedGammaLevelnull3014 function QTSetPixMapPtrRequestedGammaLevel( pm: PixMapPtr; requestedGammaLevel: Fixed ): OSErr; external name '_QTSetPixMapPtrRequestedGammaLevel';
3015 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3016 
3017 
3018 {
3019  *  QTGetPixMapHandleRequestedGammaLevel()
3020  *
3021  *  Availability:
3022  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3023  *    CarbonLib:        in CarbonLib 1.3 and later
3024  *    Non-Carbon CFM:   in QuickTimeLib 5.0 and later
3025  *    Windows:          in qtmlClient.lib 5.0 and later
3026  }
QTGetPixMapHandleRequestedGammaLevelnull3027 function QTGetPixMapHandleRequestedGammaLevel( pm: PixMapHandle ): Fixed; external name '_QTGetPixMapHandleRequestedGammaLevel';
3028 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3029 
3030 
3031 {
3032  *  QTSetPixMapHandleRequestedGammaLevel()
3033  *
3034  *  Availability:
3035  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3036  *    CarbonLib:        in CarbonLib 1.3 and later
3037  *    Non-Carbon CFM:   in QuickTimeLib 5.0 and later
3038  *    Windows:          in qtmlClient.lib 5.0 and later
3039  }
QTSetPixMapHandleRequestedGammaLevelnull3040 function QTSetPixMapHandleRequestedGammaLevel( pm: PixMapHandle; requestedGammaLevel: Fixed ): OSErr; external name '_QTSetPixMapHandleRequestedGammaLevel';
3041 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3042 
3043 
3044 {
3045  *  QuadToQuadMatrix()
3046  *
3047  *  Availability:
3048  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3049  *    CarbonLib:        in CarbonLib 1.0.2 and later
3050  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
3051  *    Windows:          in qtmlClient.lib 4.0 and later
3052  }
3053 type
3054 	FixedPoint4 = array[0..3] of FixedPoint;
QuadToQuadMatrixnull3055 function QuadToQuadMatrix( const (*var*) source: FixedPoint4; const (*var*) dest: FixedPoint4; var map: MatrixRecord ): OSErr; external name '_QuadToQuadMatrix';
3056 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3057 
3058 
3059 const
3060 	identityMatrixType = $00; { result if matrix is identity }
3061 	translateMatrixType = $01; { result if matrix translates }
3062 	scaleMatrixType = $02; { result if matrix scales }
3063 	scaleTranslateMatrixType = $03; { result if matrix scales and translates }
3064 	linearMatrixType = $04; { result if matrix is general 2 x 2 }
3065 	linearTranslateMatrixType = $05; { result if matrix is general 2 x 2 and translates }
3066 	perspectiveMatrixType = $06;  { result if matrix is general 3 x 3 }
3067 
3068 type
3069 	MatrixFlags = UInt16;
3070 {
3071  *  GetMatrixType()
3072  *
3073  *  Availability:
3074  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3075  *    CarbonLib:        in CarbonLib 1.0 and later
3076  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3077  *    Windows:          in qtmlClient.lib 3.0 and later
3078  }
GetMatrixTypenull3079 function GetMatrixType( const (*var*) m: MatrixRecord ): SInt16; external name '_GetMatrixType';
3080 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3081 
3082 
3083 {
3084  *  CopyMatrix()
3085  *
3086  *  Availability:
3087  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3088  *    CarbonLib:        in CarbonLib 1.0 and later
3089  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3090  *    Windows:          in qtmlClient.lib 3.0 and later
3091  }
3092 procedure CopyMatrix( const (*var*) m1: MatrixRecord; var m2: MatrixRecord ); external name '_CopyMatrix';
3093 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3094 
3095 
3096 {
3097  *  EqualMatrix()
3098  *
3099  *  Availability:
3100  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3101  *    CarbonLib:        in CarbonLib 1.0 and later
3102  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3103  *    Windows:          in qtmlClient.lib 3.0 and later
3104  }
EqualMatrixnull3105 function EqualMatrix( const (*var*) m1: MatrixRecord; const (*var*) m2: MatrixRecord ): Boolean; external name '_EqualMatrix';
3106 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3107 
3108 
3109 {
3110  *  SetIdentityMatrix()
3111  *
3112  *  Availability:
3113  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3114  *    CarbonLib:        in CarbonLib 1.0 and later
3115  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3116  *    Windows:          in qtmlClient.lib 3.0 and later
3117  }
3118 procedure SetIdentityMatrix( var matrix: MatrixRecord ); external name '_SetIdentityMatrix';
3119 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3120 
3121 
3122 {
3123  *  TranslateMatrix()
3124  *
3125  *  Availability:
3126  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3127  *    CarbonLib:        in CarbonLib 1.0 and later
3128  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3129  *    Windows:          in qtmlClient.lib 3.0 and later
3130  }
3131 procedure TranslateMatrix( var m: MatrixRecord; deltaH: Fixed; deltaV: Fixed ); external name '_TranslateMatrix';
3132 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3133 
3134 
3135 {
3136  *  RotateMatrix()
3137  *
3138  *  Availability:
3139  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3140  *    CarbonLib:        in CarbonLib 1.0 and later
3141  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3142  *    Windows:          in qtmlClient.lib 3.0 and later
3143  }
3144 procedure RotateMatrix( var m: MatrixRecord; degrees: Fixed; aboutX: Fixed; aboutY: Fixed ); external name '_RotateMatrix';
3145 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3146 
3147 
3148 {
3149  *  ScaleMatrix()
3150  *
3151  *  Availability:
3152  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3153  *    CarbonLib:        in CarbonLib 1.0 and later
3154  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3155  *    Windows:          in qtmlClient.lib 3.0 and later
3156  }
3157 procedure ScaleMatrix( var m: MatrixRecord; scaleX: Fixed; scaleY: Fixed; aboutX: Fixed; aboutY: Fixed ); external name '_ScaleMatrix';
3158 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3159 
3160 
3161 {
3162  *  SkewMatrix()
3163  *
3164  *  Availability:
3165  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3166  *    CarbonLib:        in CarbonLib 1.0 and later
3167  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3168  *    Windows:          in qtmlClient.lib 3.0 and later
3169  }
3170 procedure SkewMatrix( var m: MatrixRecord; skewX: Fixed; skewY: Fixed; aboutX: Fixed; aboutY: Fixed ); external name '_SkewMatrix';
3171 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3172 
3173 
3174 {
3175  *  TransformFixedPoints()
3176  *
3177  *  Availability:
3178  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3179  *    CarbonLib:        in CarbonLib 1.0 and later
3180  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3181  *    Windows:          in qtmlClient.lib 3.0 and later
3182  }
TransformFixedPointsnull3183 function TransformFixedPoints( const (*var*) m: MatrixRecord; var fpt: FixedPoint; count: SIGNEDLONG ): OSErr; external name '_TransformFixedPoints';
3184 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3185 
3186 
3187 {
3188  *  TransformPoints()
3189  *
3190  *  Availability:
3191  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3192  *    CarbonLib:        in CarbonLib 1.0 and later
3193  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3194  *    Windows:          in qtmlClient.lib 3.0 and later
3195  }
TransformPointsnull3196 function TransformPoints( const (*var*) mp: MatrixRecord; var pt1: Point; count: SIGNEDLONG ): OSErr; external name '_TransformPoints';
3197 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3198 
3199 
3200 {
3201  *  TransformFixedRect()
3202  *
3203  *  Availability:
3204  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3205  *    CarbonLib:        in CarbonLib 1.0 and later
3206  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3207  *    Windows:          in qtmlClient.lib 3.0 and later
3208  }
TransformFixedRectnull3209 function TransformFixedRect( const (*var*) m: MatrixRecord; var fr: FixedRect; var fpp: FixedPoint ): Boolean; external name '_TransformFixedRect';
3210 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3211 
3212 
3213 {
3214  *  TransformRect()
3215  *
3216  *  Availability:
3217  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3218  *    CarbonLib:        in CarbonLib 1.0 and later
3219  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3220  *    Windows:          in qtmlClient.lib 3.0 and later
3221  }
TransformRectnull3222 function TransformRect( const (*var*) m: MatrixRecord; var r: Rect; var fpp: FixedPoint ): Boolean; external name '_TransformRect';
3223 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3224 
3225 
3226 {
3227  *  InverseMatrix()
3228  *
3229  *  Availability:
3230  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3231  *    CarbonLib:        in CarbonLib 1.0 and later
3232  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3233  *    Windows:          in qtmlClient.lib 3.0 and later
3234  }
InverseMatrixnull3235 function InverseMatrix( const (*var*) m: MatrixRecord; var im: MatrixRecord ): Boolean; external name '_InverseMatrix';
3236 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3237 
3238 
3239 {
3240  *  ConcatMatrix()
3241  *
3242  *  Availability:
3243  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3244  *    CarbonLib:        in CarbonLib 1.0 and later
3245  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3246  *    Windows:          in qtmlClient.lib 3.0 and later
3247  }
3248 procedure ConcatMatrix( const (*var*) a: MatrixRecord; var b: MatrixRecord ); external name '_ConcatMatrix';
3249 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3250 
3251 
3252 {
3253  *  RectMatrix()
3254  *
3255  *  Availability:
3256  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3257  *    CarbonLib:        in CarbonLib 1.0 and later
3258  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3259  *    Windows:          in qtmlClient.lib 3.0 and later
3260  }
3261 procedure RectMatrix( var matrix: MatrixRecord; const (*var*) srcRect: Rect; const (*var*) dstRect: Rect ); external name '_RectMatrix';
3262 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3263 
3264 
3265 {
3266  *  MapMatrix()
3267  *
3268  *  Availability:
3269  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3270  *    CarbonLib:        in CarbonLib 1.0 and later
3271  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3272  *    Windows:          in qtmlClient.lib 3.0 and later
3273  }
3274 procedure MapMatrix( var matrix: MatrixRecord; const (*var*) fromRect: Rect; const (*var*) toRect: Rect ); external name '_MapMatrix';
3275 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3276 
3277 
3278 {
3279  *  CompAdd()
3280  *
3281  *  Availability:
3282  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3283  *    CarbonLib:        in CarbonLib 1.0 and later
3284  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3285  *    Windows:          in qtmlClient.lib 3.0 and later
3286  }
3287 procedure CompAdd( var src: wide; var dst: wide ); external name '_CompAdd';
3288 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3289 
3290 
3291 {
3292  *  CompSub()
3293  *
3294  *  Availability:
3295  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3296  *    CarbonLib:        in CarbonLib 1.0 and later
3297  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3298  *    Windows:          in qtmlClient.lib 3.0 and later
3299  }
3300 procedure CompSub( var src: wide; var dst: wide ); external name '_CompSub';
3301 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3302 
3303 
3304 {
3305  *  CompNeg()
3306  *
3307  *  Availability:
3308  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3309  *    CarbonLib:        in CarbonLib 1.0 and later
3310  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3311  *    Windows:          in qtmlClient.lib 3.0 and later
3312  }
3313 procedure CompNeg( var dst: wide ); external name '_CompNeg';
3314 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3315 
3316 
3317 {
3318  *  CompShift()
3319  *
3320  *  Availability:
3321  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3322  *    CarbonLib:        in CarbonLib 1.0 and later
3323  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3324  *    Windows:          in qtmlClient.lib 3.0 and later
3325  }
3326 procedure CompShift( var src: wide; shift: SInt16 ); external name '_CompShift';
3327 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3328 
3329 
3330 {
3331  *  CompMul()
3332  *
3333  *  Availability:
3334  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3335  *    CarbonLib:        in CarbonLib 1.0 and later
3336  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3337  *    Windows:          in qtmlClient.lib 3.0 and later
3338  }
3339 procedure CompMul( src1: SIGNEDLONG; src2: SIGNEDLONG; var dst: wide ); external name '_CompMul';
3340 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3341 
3342 
3343 {
3344  *  CompDiv()
3345  *
3346  *  Availability:
3347  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3348  *    CarbonLib:        in CarbonLib 1.0 and later
3349  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3350  *    Windows:          in qtmlClient.lib 3.0 and later
3351  }
CompDivnull3352 function CompDiv( var numerator: wide; denominator: SIGNEDLONG; var remainder: SIGNEDLONG ): SIGNEDLONG; external name '_CompDiv';
3353 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3354 
3355 
3356 {
3357  *  CompFixMul()
3358  *
3359  *  Availability:
3360  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3361  *    CarbonLib:        in CarbonLib 1.0 and later
3362  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3363  *    Windows:          in qtmlClient.lib 3.0 and later
3364  }
3365 procedure CompFixMul( var compSrc: wide; fixSrc: Fixed; var compDst: wide ); external name '_CompFixMul';
3366 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3367 
3368 
3369 {
3370  *  CompMulDiv()
3371  *
3372  *  Availability:
3373  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3374  *    CarbonLib:        in CarbonLib 1.0 and later
3375  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3376  *    Windows:          in qtmlClient.lib 3.0 and later
3377  }
3378 procedure CompMulDiv( var co: wide; mul: SIGNEDLONG; divisor: SIGNEDLONG ); external name '_CompMulDiv';
3379 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3380 
3381 
3382 {
3383  *  CompMulDivTrunc()
3384  *
3385  *  Availability:
3386  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3387  *    CarbonLib:        in CarbonLib 1.0 and later
3388  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3389  *    Windows:          in qtmlClient.lib 3.0 and later
3390  }
3391 procedure CompMulDivTrunc( var co: wide; mul: SIGNEDLONG; divisor: SIGNEDLONG; var remainder: SIGNEDLONG ); external name '_CompMulDivTrunc';
3392 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3393 
3394 
3395 {
3396  *  CompCompare()
3397  *
3398  *  Availability:
3399  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3400  *    CarbonLib:        in CarbonLib 1.0 and later
3401  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3402  *    Windows:          in qtmlClient.lib 3.0 and later
3403  }
CompComparenull3404 function CompCompare( const (*var*) a: wide; const (*var*) minusb: wide ): SIGNEDLONG; external name '_CompCompare';
3405 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3406 
3407 
3408 {
3409  *  CompSquareRoot()
3410  *
3411  *  Availability:
3412  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3413  *    CarbonLib:        in CarbonLib 1.0 and later
3414  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
3415  *    Windows:          in qtmlClient.lib 3.0 and later
3416  }
CompSquareRootnull3417 function CompSquareRoot( const (*var*) src: wide ): UNSIGNEDLONG; external name '_CompSquareRoot';
3418 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3419 
3420 
3421 {
3422  *  FixMulDiv()
3423  *
3424  *  Availability:
3425  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3426  *    CarbonLib:        in CarbonLib 1.0 and later
3427  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3428  *    Windows:          in qtmlClient.lib 3.0 and later
3429  }
FixMulDivnull3430 function FixMulDiv( src: Fixed; mul: Fixed; divisor: Fixed ): Fixed; external name '_FixMulDiv';
3431 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3432 
3433 
3434 {
3435  *  UnsignedFixMulDiv()
3436  *
3437  *  Availability:
3438  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3439  *    CarbonLib:        in CarbonLib 1.0 and later
3440  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3441  *    Windows:          in qtmlClient.lib 3.0 and later
3442  }
UnsignedFixMulDivnull3443 function UnsignedFixMulDiv( src: Fixed; mul: Fixed; divisor: Fixed ): Fixed; external name '_UnsignedFixMulDiv';
3444 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3445 
3446 
3447 {
3448  *  FracSinCos()
3449  *
3450  *  Availability:
3451  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3452  *    CarbonLib:        in CarbonLib 1.0 and later
3453  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3454  *    Windows:          in qtmlClient.lib 3.0 and later
3455  }
FracSinCosnull3456 function FracSinCos( degree: Fixed; var cosOut: Fract ): Fract; external name '_FracSinCos';
3457 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3458 
3459 
3460 {
3461  *  FixExp2()
3462  *
3463  *  Availability:
3464  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3465  *    CarbonLib:        in CarbonLib 1.0 and later
3466  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3467  *    Windows:          in qtmlClient.lib 3.0 and later
3468  }
FixExp2null3469 function FixExp2( src: Fixed ): Fixed; external name '_FixExp2';
3470 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3471 
3472 
3473 {
3474  *  FixLog2()
3475  *
3476  *  Availability:
3477  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3478  *    CarbonLib:        in CarbonLib 1.0 and later
3479  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3480  *    Windows:          in qtmlClient.lib 3.0 and later
3481  }
FixLog2null3482 function FixLog2( src: Fixed ): Fixed; external name '_FixLog2';
3483 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3484 
3485 
3486 {
3487  *  FixPow()
3488  *
3489  *  Availability:
3490  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3491  *    CarbonLib:        in CarbonLib 1.0 and later
3492  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3493  *    Windows:          in qtmlClient.lib 3.0 and later
3494  }
FixPownull3495 function FixPow( base: Fixed; exp: Fixed ): Fixed; external name '_FixPow';
3496 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3497 
3498 
3499 type
3500 	GraphicsImportComponent = ComponentInstance;
3501 const
3502 	GraphicsImporterComponentType = FourCharCode('grip');
3503 
3504 { Component flags for Graphics Importer components }
3505 const
3506 	graphicsImporterIsBaseImporter = 1 shl 0;
3507 	graphicsImporterCanValidateFile = 1 shl 9;
3508 	graphicsImporterSubTypeIsFileExtension = 1 shl 12;
3509 	graphicsImporterHasMIMEList = 1 shl 14;
3510 	graphicsImporterUsesImageDecompressor = 1 shl 23;
3511 
3512 { Atom types for QuickTime Image files }
3513 const
3514 	quickTimeImageFileImageDescriptionAtom = FourCharCode('idsc');
3515 	quickTimeImageFileImageDataAtom = FourCharCode('idat');
3516 	quickTimeImageFileMetaDataAtom = FourCharCode('meta');
3517 	quickTimeImageFileColorSyncProfileAtom = FourCharCode('iicc');
3518 
3519 { Flags for GraphicsImportDoesDrawAllPixels }
3520 const
3521 	graphicsImporterDrawsAllPixels = 0;
3522 	graphicsImporterDoesntDrawAllPixels = 1;
3523 	graphicsImporterDontKnowIfDrawAllPixels = 2;
3524 
3525 { Flags for GraphicsImportSetFlags }
3526 const
3527 	kGraphicsImporterDontDoGammaCorrection = 1 shl 0;
3528 	kGraphicsImporterTrustResolutionFromFile = 1 shl 1;
3529 	kGraphicsImporterEnableSubPixelPositioning = 1 shl 2;
3530 	kGraphicsImporterDontUseColorMatching = 1 shl 3; { set this flag (*before* calling GraphicsImportGetColorSyncProfile) if you do matching yourself }
3531 
3532 { Flags for GraphicsImportCreateCGImage }
3533 const
3534 	kGraphicsImportCreateCGImageUsingCurrentSettings = 1 shl 0;
3535 
3536 const
3537 	kGraphicsExportGroup = FourCharCode('expo');
3538 	kGraphicsExportFileType = FourCharCode('ftyp');
3539 	kGraphicsExportMIMEType = FourCharCode('mime');
3540 	kGraphicsExportExtension = FourCharCode('ext ');
3541 	kGraphicsExportDescription = FourCharCode('desc');
3542 
3543 { User data types for layers of Photoshop files }
3544 const
3545 	kQTPhotoshopLayerMode = FourCharCode('lmod'); { OSType }
3546 	kQTPhotoshopLayerOpacity = FourCharCode('lopa'); { UInt8, 0 = transparent .. 255 = opaque }
3547 	kQTPhotoshopLayerClipping = FourCharCode('lclp'); { UInt8, 0 = base, 1 = non-base }
3548 	kQTPhotoshopLayerFlags = FourCharCode('lflg'); { UInt8 }
3549 	kQTPhotoshopLayerName = FourCharCode('�lnm'); { Text }
3550 	kQTPhotoshopLayerUnicodeName = FourCharCode('luni'); { Unicode characters, not terminated }
3551 
3552 { User data returned by graphics importers to suggest intended use for indexed images }
3553 const
3554 	kQTIndexedImageType = FourCharCode('nth?'); { 1 or more OSTypes, such as the following values: }
3555 	kQTIndexedImageIsThumbnail = FourCharCode('n=th'); { The image at this index is a thumbnail. }
3556 	kQTIndexedImageIsLayer = FourCharCode('n=ly'); { The image at this index is a layer. }
3557 	kQTIndexedImageIsPage = FourCharCode('n=pg'); { The image at this index is a page. }
3558 	kQTIndexedImageIsMultiResolution = FourCharCode('n=rs'); { The image at this index is one of several identical images at different resolutions. }
3559 
3560 { Other user data types returned by graphics importers }
3561 const
3562 	kQTTIFFUserDataPrefix = $74690000; { Added to some tag values in TIFF IFDs to generate user data codes.  (0x7469 is 'ti'.) }
3563                                         { For example, YCbCrPositioning is tag 0x0213, so its user data code is 0x74690213. }
3564 	kQTTIFFExifUserDataPrefix = $65780000; { Added to tag values in Exif IFDs to generate user data codes.  (0x6578 is 'ex'.) }
3565                                         { For example, DateTimeOriginal is tag 0x9003, so its user data code is 0x65789003. }
3566 	kQTTIFFExifGPSUserDataPrefix = $67700000; { Added to tag values in Exif GPS IFDs to generate user data codes.  (0x6770 is 'gp'.) }
3567                                         { For example, GPSAltitude is tag 0x0006, so its user data code is 0x6770006. }
3568 	kQTAlphaMode = FourCharCode('almo'); { UInt32; eg, graphicsModeStraightAlpha or graphicsModePreBlackAlpha }
3569 	kQTAlphaModePreMulColor = FourCharCode('almp'); { RGBColor; used if kQTAlphaMode is graphicsModePreMulColorAlpha }
3570 	kUserDataIPTC = FourCharCode('iptc');
3571 
3572 { Found in TIFF and Exif JPEG files }
3573 const
3574 	kQTTIFFUserDataOrientation = $74690112; { 1 SHORT }
3575 	kQTTIFFUserDataTransferFunction = $7469012D; { n SHORTs }
3576 	kQTTIFFUserDataWhitePoint = $7469013E; { 2 RATIONALs }
3577 	kQTTIFFUserDataPrimaryChromaticities = $7469013F; { 6 RATIONALs }
3578 	kQTTIFFUserDataTransferRange = $74690156; { 6 SHORTs }
3579 	kQTTIFFUserDataYCbCrPositioning = $74690213; { 1 SHORT }
3580 	kQTTIFFUserDataReferenceBlackWhite = $74690214; { n LONGs }
3581 
3582 { Found in GeoTIFF files; defined in the GeoTIFF 1.0 spec }
3583 const
3584 	kQTTIFFUserDataModelPixelScale = $7469830E; { 3 DOUBLEs }
3585 	kQTTIFFUserDataModelTransformation = $746985D8; { 16 DOUBLEs }
3586 	kQTTIFFUserDataModelTiepoint = $74698482; { n DOUBLEs }
3587 	kQTTIFFUserDataGeoKeyDirectory = $746987AF; { n SHORTs }
3588 	kQTTIFFUserDataGeoDoubleParams = $746987B0; { n DOUBLEs }
3589 	kQTTIFFUserDataGeoAsciiParams = $746987B1; { n ASCIIs }
3590 	kQTTIFFUserDataIntergraphMatrix = $74698480; { 16 or 17 DOUBLEs }
3591 
3592 { Found in Exif TIFF and Exif JPEG files; defined in the Exif 2.1 spec }
3593 const
3594 	kQTExifUserDataExifVersion = $65789000; { 4 bytes (import only) }
3595 	kQTExifUserDataFlashPixVersion = $6578A000; { 4 bytes }
3596 	kQTExifUserDataColorSpace = $6578A001; { 1 SHORT }
3597 	kQTExifUserDataComponentsConfiguration = $65789101; { 4 bytes }
3598 	kQTExifUserDataCompressedBitsPerPixel = $65789102; { 1 RATIONAL }
3599 	kQTExifUserDataPixelXDimension = $6578A002; { 1 SHORT or LONG }
3600 	kQTExifUserDataPixelYDimension = $6578A003; { 1 SHORT or LONG }
3601 	kQTExifUserDataMakerNote = $6578927C; { n bytes }
3602 	kQTExifUserDataUserComment = $65789286; { n bytes (Note: this constant was erroneously 0x6578928C)}
3603 	kQTExifUserDataRelatedSoundFile = $6578A004; { 13 ASCIIs}
3604 	kQTExifUserDataDateTimeOriginal = $65789003; { 20 ASCIIs }
3605 	kQTExifUserDataDateTimeDigitized = $65789004; { 20 ASCIIs }
3606 	kQTExifUserDataSubSecTime = $65789290; { n ASCIIs }
3607 	kQTExifUserDataSubSecTimeOriginal = $65789291; { n ASCIIs }
3608 	kQTExifUserDataSubSecTimeDigitized = $65789292; { n ASCIIs }
3609 	kQTExifUserDataExposureTime = $6578829A; { 1 RATIONAL }
3610 	kQTExifUserDataFNumber = $6578829D; { 1 RATIONAL }
3611 	kQTExifUserDataExposureProgram = $65788822; { 1 SHORT }
3612 	kQTExifUserDataSpectralSensitivity = $65788824; { n ASCIIs }
3613 	kQTExifUserDataISOSpeedRatings = $65788827; { n SHORTs }
3614 	kQTExifUserDataShutterSpeedValue = $65789201; { 1 SIGNED RATIONAL }
3615 	kQTExifUserDataApertureValue = $65789202; { 1 RATIONAL }
3616 	kQTExifUserDataBrightnessValue = $65789203; { 1 SIGNED RATIONAL }
3617 	kQTExifUserDataExposureBiasValue = $65789204; { 1 SIGNED RATIONAL }
3618 	kQTExifUserDataMaxApertureValue = $65789205; { 1 RATIONAL }
3619 	kQTExifUserDataSubjectDistance = $65789206; { 1 RATIONAL }
3620 	kQTExifUserDataMeteringMode = $65789207; { 1 SHORT }
3621 	kQTExifUserDataLightSource = $65789208; { 1 SHORT }
3622 	kQTExifUserDataFlash = $65789209; { 1 SHORT }
3623 	kQTExifUserDataFocalLength = $6578920A; { 1 RATIONAL }
3624 	kQTExifUserDataFlashEnergy = $6578A20B; { 1 RATIONAL }
3625 	kQTExifUserDataFocalPlaneXResolution = $6578A20E; { 1 RATIONAL }
3626 	kQTExifUserDataFocalPlaneYResolution = $6578A20F; { 1 RATIONAL }
3627 	kQTExifUserDataFocalPlaneResolutionUnit = $6578A210; { 1 SHORT }
3628 	kQTExifUserDataSubjectLocation = $6578A214; { 1 SHORT }
3629 	kQTExifUserDataExposureIndex = $6578A215; { 1 RATIONAL }
3630 	kQTExifUserDataSensingMethod = $6578A217; { 1 SHORT }
3631 	kQTExifUserDataFileSource = $6578A300; { 1 UNDEFINED }
3632 	kQTExifUserDataSceneType = $6578A301; { 1 UNDEFINED }
3633 
3634 { Found in some Exif TIFF and Exif JPEG files; defined in the Exif 2.1 spec }
3635 { Note: these were wrong in the QuickTime 6.0 headers -- the high two bytes were 0x677 instead of 0x6770. }
3636 const
3637 	kQTExifUserDataGPSVersionID = $67700000; { 4 BYTEs }
3638 	kQTExifUserDataGPSLatitudeRef = $67700001; { 2 ASCIIs}
3639 	kQTExifUserDataGPSLatitude = $67700002; { 3 RATIONALs }
3640 	kQTExifUserDataGPSLongitudeRef = $67700003; { 2 ASCIIs }
3641 	kQTExifUserDataGPSLongitude = $67700004; { 3 RATIONALs }
3642 	kQTExifUserDataGPSAltitudeRef = $67700005; { 1 BYTE }
3643 	kQTExifUserDataGPSAltitude = $67700006; { 1 RATIONAL }
3644 	kQTExifUserDataGPSTimeStamp = $67700007; { 3 RATIONALs }
3645 	kQTExifUserDataGPSSatellites = $67700008; { n ASCIIs }
3646 	kQTExifUserDataGPSStatus = $67700009; { 2 ASCIIs }
3647 	kQTExifUserDataGPSMeasureMode = $6770000A; { 2 ASCIIs }
3648 	kQTExifUserDataGPSDOP = $6770000B; { 1 RATIONAL }
3649 	kQTExifUserDataGPSSpeedRef = $6770000C; { 2 ASCIIs }
3650 	kQTExifUserDataGPSSpeed = $6770000D; { 1 RATIONAL }
3651 	kQTExifUserDataGPSTrackRef = $6770000E; { 2 ASCIIs }
3652 	kQTExifUserDataGPSTrack = $6770000F; { 1 RATIONAL }
3653 	kQTExifUserDataGPSImgDirectionRef = $67700010; { 2 ASCIIs }
3654 	kQTExifUserDataGPSImgDirection = $67700011; { 1 RATIONAL }
3655 	kQTExifUserDataGPSMapDatum = $67700012; { n ASCII }
3656 	kQTExifUserDataGPSDestLatitudeRef = $67700013; { 2 ASCIIs }
3657 	kQTExifUserDataGPSDestLatitude = $67700014; { 3 RATIONALs }
3658 	kQTExifUserDataGPSDestLongitudeRef = $67700015; { 2 ASCIIs }
3659 	kQTExifUserDataGPSDestLongitude = $67700016; { 3 RATIONALs }
3660 	kQTExifUserDataGPSDestBearingRef = $67700017; { 2 ASCIIs }
3661 	kQTExifUserDataGPSDestBearing = $67700018; { 1 RATIONAL }
3662 	kQTExifUserDataGPSDestDistanceRef = $67700019; { 2 ASCIIs }
3663 	kQTExifUserDataGPSDestDistance = $6770001A; { 1 RATIONAL }
3664 
3665 
3666 {* These are GraphicsImport procedures *}
3667 {
3668  *  GraphicsImportSetDataReference()
3669  *
3670  *  Availability:
3671  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3672  *    CarbonLib:        in CarbonLib 1.0 and later
3673  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3674  *    Windows:          in qtmlClient.lib 3.0 and later
3675  }
GraphicsImportSetDataReferencenull3676 function GraphicsImportSetDataReference( ci: GraphicsImportComponent; dataRef: Handle; dataReType: OSType ): ComponentResult; external name '_GraphicsImportSetDataReference';
3677 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3678 
3679 
3680 {
3681  *  GraphicsImportGetDataReference()
3682  *
3683  *  Availability:
3684  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3685  *    CarbonLib:        in CarbonLib 1.0 and later
3686  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3687  *    Windows:          in qtmlClient.lib 3.0 and later
3688  }
3689 function GraphicsImportGetDataReference( ci: GraphicsImportComponent; var dataRef: Handle; var dataReType: OSType ): ComponentResult; external name '_GraphicsImportGetDataReference';
3690 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3691 
3692 
3693 {
3694  *  GraphicsImportSetDataFile()
3695  *
3696  *  Availability:
3697  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3698  *    CarbonLib:        in CarbonLib 1.0 and later
3699  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3700  *    Windows:          in qtmlClient.lib 3.0 and later
3701  }
GraphicsImportSetDataFilenull3702 function GraphicsImportSetDataFile( ci: GraphicsImportComponent; const (*var*) theFile: FSSpec ): ComponentResult; external name '_GraphicsImportSetDataFile';
3703 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3704 
3705 
3706 {
3707  *  GraphicsImportGetDataFile()
3708  *
3709  *  Availability:
3710  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3711  *    CarbonLib:        in CarbonLib 1.0 and later
3712  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3713  *    Windows:          in qtmlClient.lib 3.0 and later
3714  }
GraphicsImportGetDataFilenull3715 function GraphicsImportGetDataFile( ci: GraphicsImportComponent; var theFile: FSSpec ): ComponentResult; external name '_GraphicsImportGetDataFile';
3716 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3717 
3718 
3719 {
3720  *  GraphicsImportSetDataHandle()
3721  *
3722  *  Availability:
3723  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3724  *    CarbonLib:        in CarbonLib 1.0 and later
3725  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3726  *    Windows:          in qtmlClient.lib 3.0 and later
3727  }
GraphicsImportSetDataHandlenull3728 function GraphicsImportSetDataHandle( ci: GraphicsImportComponent; h: Handle ): ComponentResult; external name '_GraphicsImportSetDataHandle';
3729 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3730 
3731 
3732 {
3733  *  GraphicsImportGetDataHandle()
3734  *
3735  *  Availability:
3736  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3737  *    CarbonLib:        in CarbonLib 1.0 and later
3738  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3739  *    Windows:          in qtmlClient.lib 3.0 and later
3740  }
GraphicsImportGetDataHandlenull3741 function GraphicsImportGetDataHandle( ci: GraphicsImportComponent; var h: Handle ): ComponentResult; external name '_GraphicsImportGetDataHandle';
3742 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3743 
3744 
3745 {
3746  *  GraphicsImportGetImageDescription()
3747  *
3748  *  Availability:
3749  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3750  *    CarbonLib:        in CarbonLib 1.0 and later
3751  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3752  *    Windows:          in qtmlClient.lib 3.0 and later
3753  }
GraphicsImportGetImageDescriptionnull3754 function GraphicsImportGetImageDescription( ci: GraphicsImportComponent; var desc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsImportGetImageDescription';
3755 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3756 
3757 
3758 {
3759  *  GraphicsImportGetDataOffsetAndSize()
3760  *
3761  *  Availability:
3762  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3763  *    CarbonLib:        in CarbonLib 1.0 and later
3764  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3765  *    Windows:          in qtmlClient.lib 3.0 and later
3766  }
GraphicsImportGetDataOffsetAndSizenull3767 function GraphicsImportGetDataOffsetAndSize( ci: GraphicsImportComponent; var offset: UNSIGNEDLONG; var size: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportGetDataOffsetAndSize';
3768 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3769 
3770 
3771 {
3772  *  GraphicsImportReadData()
3773  *
3774  *  Availability:
3775  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3776  *    CarbonLib:        in CarbonLib 1.0 and later
3777  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3778  *    Windows:          in qtmlClient.lib 3.0 and later
3779  }
GraphicsImportReadDatanull3780 function GraphicsImportReadData( ci: GraphicsImportComponent; dataPtr: UnivPtr; dataOffset: UNSIGNEDLONG; dataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportReadData';
3781 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3782 
3783 
3784 {
3785  *  GraphicsImportSetClip()
3786  *
3787  *  Availability:
3788  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3789  *    CarbonLib:        in CarbonLib 1.0 and later
3790  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3791  *    Windows:          in qtmlClient.lib 3.0 and later
3792  }
GraphicsImportSetClipnull3793 function GraphicsImportSetClip( ci: GraphicsImportComponent; clipRgn: RgnHandle ): ComponentResult; external name '_GraphicsImportSetClip';
3794 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3795 
3796 
3797 {
3798  *  GraphicsImportGetClip()
3799  *
3800  *  Availability:
3801  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3802  *    CarbonLib:        in CarbonLib 1.0 and later
3803  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3804  *    Windows:          in qtmlClient.lib 3.0 and later
3805  }
GraphicsImportGetClipnull3806 function GraphicsImportGetClip( ci: GraphicsImportComponent; var clipRgn: RgnHandle ): ComponentResult; external name '_GraphicsImportGetClip';
3807 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3808 
3809 
3810 {
3811  *  GraphicsImportSetSourceRect()
3812  *
3813  *  Availability:
3814  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3815  *    CarbonLib:        in CarbonLib 1.0 and later
3816  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3817  *    Windows:          in qtmlClient.lib 3.0 and later
3818  }
GraphicsImportSetSourceRectnull3819 function GraphicsImportSetSourceRect( ci: GraphicsImportComponent; const (*var*) sourceRect: Rect ): ComponentResult; external name '_GraphicsImportSetSourceRect';
3820 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3821 
3822 
3823 {
3824  *  GraphicsImportGetSourceRect()
3825  *
3826  *  Availability:
3827  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3828  *    CarbonLib:        in CarbonLib 1.0 and later
3829  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3830  *    Windows:          in qtmlClient.lib 3.0 and later
3831  }
GraphicsImportGetSourceRectnull3832 function GraphicsImportGetSourceRect( ci: GraphicsImportComponent; var sourceRect: Rect ): ComponentResult; external name '_GraphicsImportGetSourceRect';
3833 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3834 
3835 
3836 {
3837  *  GraphicsImportGetNaturalBounds()
3838  *
3839  *  Availability:
3840  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3841  *    CarbonLib:        in CarbonLib 1.0 and later
3842  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3843  *    Windows:          in qtmlClient.lib 3.0 and later
3844  }
GraphicsImportGetNaturalBoundsnull3845 function GraphicsImportGetNaturalBounds( ci: GraphicsImportComponent; var naturalBounds: Rect ): ComponentResult; external name '_GraphicsImportGetNaturalBounds';
3846 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3847 
3848 
3849 {
3850  *  GraphicsImportDraw()
3851  *
3852  *  Availability:
3853  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3854  *    CarbonLib:        in CarbonLib 1.0 and later
3855  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3856  *    Windows:          in qtmlClient.lib 3.0 and later
3857  }
GraphicsImportDrawnull3858 function GraphicsImportDraw( ci: GraphicsImportComponent ): ComponentResult; external name '_GraphicsImportDraw';
3859 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3860 
3861 
3862 {
3863  *  GraphicsImportSetGWorld()
3864  *
3865  *  Availability:
3866  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3867  *    CarbonLib:        in CarbonLib 1.0 and later
3868  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3869  *    Windows:          in qtmlClient.lib 3.0 and later
3870  }
GraphicsImportSetGWorldnull3871 function GraphicsImportSetGWorld( ci: GraphicsImportComponent; port: CGrafPtr; gd: GDHandle ): ComponentResult; external name '_GraphicsImportSetGWorld';
3872 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3873 
3874 
3875 {
3876  *  GraphicsImportGetGWorld()
3877  *
3878  *  Availability:
3879  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3880  *    CarbonLib:        in CarbonLib 1.0 and later
3881  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3882  *    Windows:          in qtmlClient.lib 3.0 and later
3883  }
GraphicsImportGetGWorldnull3884 function GraphicsImportGetGWorld( ci: GraphicsImportComponent; var port: CGrafPtr; var gd: GDHandle ): ComponentResult; external name '_GraphicsImportGetGWorld';
3885 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3886 
3887 
3888 {
3889  *  GraphicsImportSetMatrix()
3890  *
3891  *  Availability:
3892  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3893  *    CarbonLib:        in CarbonLib 1.0 and later
3894  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3895  *    Windows:          in qtmlClient.lib 3.0 and later
3896  }
GraphicsImportSetMatrixnull3897 function GraphicsImportSetMatrix( ci: GraphicsImportComponent; const (*var*) matrix: MatrixRecord ): ComponentResult; external name '_GraphicsImportSetMatrix';
3898 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3899 
3900 
3901 {
3902  *  GraphicsImportGetMatrix()
3903  *
3904  *  Availability:
3905  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3906  *    CarbonLib:        in CarbonLib 1.0 and later
3907  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3908  *    Windows:          in qtmlClient.lib 3.0 and later
3909  }
GraphicsImportGetMatrixnull3910 function GraphicsImportGetMatrix( ci: GraphicsImportComponent; var matrix: MatrixRecord ): ComponentResult; external name '_GraphicsImportGetMatrix';
3911 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3912 
3913 
3914 {
3915  *  GraphicsImportSetBoundsRect()
3916  *
3917  *  Availability:
3918  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3919  *    CarbonLib:        in CarbonLib 1.0 and later
3920  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3921  *    Windows:          in qtmlClient.lib 3.0 and later
3922  }
GraphicsImportSetBoundsRectnull3923 function GraphicsImportSetBoundsRect( ci: GraphicsImportComponent; const (*var*) bounds: Rect ): ComponentResult; external name '_GraphicsImportSetBoundsRect';
3924 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3925 
3926 
3927 {
3928  *  GraphicsImportGetBoundsRect()
3929  *
3930  *  Availability:
3931  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3932  *    CarbonLib:        in CarbonLib 1.0 and later
3933  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3934  *    Windows:          in qtmlClient.lib 3.0 and later
3935  }
GraphicsImportGetBoundsRectnull3936 function GraphicsImportGetBoundsRect( ci: GraphicsImportComponent; var bounds: Rect ): ComponentResult; external name '_GraphicsImportGetBoundsRect';
3937 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3938 
3939 
3940 {
3941  *  GraphicsImportSaveAsPicture()
3942  *
3943  *  Availability:
3944  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3945  *    CarbonLib:        in CarbonLib 1.0 and later
3946  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3947  *    Windows:          in qtmlClient.lib 3.0 and later
3948  }
GraphicsImportSaveAsPicturenull3949 function GraphicsImportSaveAsPicture( ci: GraphicsImportComponent; const (*var*) fss: FSSpec; scriptTag: ScriptCode ): ComponentResult; external name '_GraphicsImportSaveAsPicture';
3950 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3951 
3952 
3953 {
3954  *  GraphicsImportSetGraphicsMode()
3955  *
3956  *  Availability:
3957  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3958  *    CarbonLib:        in CarbonLib 1.0 and later
3959  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3960  *    Windows:          in qtmlClient.lib 3.0 and later
3961  }
GraphicsImportSetGraphicsModenull3962 function GraphicsImportSetGraphicsMode( ci: GraphicsImportComponent; graphicsMode: SIGNEDLONG; const (*var*) opColor: RGBColor ): ComponentResult; external name '_GraphicsImportSetGraphicsMode';
3963 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3964 
3965 
3966 {
3967  *  GraphicsImportGetGraphicsMode()
3968  *
3969  *  Availability:
3970  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3971  *    CarbonLib:        in CarbonLib 1.0 and later
3972  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3973  *    Windows:          in qtmlClient.lib 3.0 and later
3974  }
GraphicsImportGetGraphicsModenull3975 function GraphicsImportGetGraphicsMode( ci: GraphicsImportComponent; var graphicsMode: SIGNEDLONG; var opColor: RGBColor ): ComponentResult; external name '_GraphicsImportGetGraphicsMode';
3976 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3977 
3978 
3979 {
3980  *  GraphicsImportSetQuality()
3981  *
3982  *  Availability:
3983  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3984  *    CarbonLib:        in CarbonLib 1.0 and later
3985  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3986  *    Windows:          in qtmlClient.lib 3.0 and later
3987  }
GraphicsImportSetQualitynull3988 function GraphicsImportSetQuality( ci: GraphicsImportComponent; quality: CodecQ ): ComponentResult; external name '_GraphicsImportSetQuality';
3989 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
3990 
3991 
3992 {
3993  *  GraphicsImportGetQuality()
3994  *
3995  *  Availability:
3996  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
3997  *    CarbonLib:        in CarbonLib 1.0 and later
3998  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
3999  *    Windows:          in qtmlClient.lib 3.0 and later
4000  }
GraphicsImportGetQualitynull4001 function GraphicsImportGetQuality( ci: GraphicsImportComponent; var quality: CodecQ ): ComponentResult; external name '_GraphicsImportGetQuality';
4002 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4003 
4004 
4005 {
4006  *  GraphicsImportSaveAsQuickTimeImageFile()
4007  *
4008  *  Availability:
4009  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4010  *    CarbonLib:        in CarbonLib 1.0 and later
4011  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
4012  *    Windows:          in qtmlClient.lib 3.0 and later
4013  }
GraphicsImportSaveAsQuickTimeImageFilenull4014 function GraphicsImportSaveAsQuickTimeImageFile( ci: GraphicsImportComponent; const (*var*) fss: FSSpec; scriptTag: ScriptCode ): ComponentResult; external name '_GraphicsImportSaveAsQuickTimeImageFile';
4015 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4016 
4017 
4018 {
4019  *  GraphicsImportSetDataReferenceOffsetAndLimit()
4020  *
4021  *  Availability:
4022  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4023  *    CarbonLib:        in CarbonLib 1.0 and later
4024  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
4025  *    Windows:          in qtmlClient.lib 3.0 and later
4026  }
GraphicsImportSetDataReferenceOffsetAndLimitnull4027 function GraphicsImportSetDataReferenceOffsetAndLimit( ci: GraphicsImportComponent; offset: UNSIGNEDLONG; limit: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportSetDataReferenceOffsetAndLimit';
4028 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4029 
4030 
4031 {
4032  *  GraphicsImportGetDataReferenceOffsetAndLimit()
4033  *
4034  *  Availability:
4035  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4036  *    CarbonLib:        in CarbonLib 1.0 and later
4037  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
4038  *    Windows:          in qtmlClient.lib 3.0 and later
4039  }
GraphicsImportGetDataReferenceOffsetAndLimitnull4040 function GraphicsImportGetDataReferenceOffsetAndLimit( ci: GraphicsImportComponent; var offset: UNSIGNEDLONG; var limit: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportGetDataReferenceOffsetAndLimit';
4041 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4042 
4043 
4044 {
4045  *  GraphicsImportGetAliasedDataReference()
4046  *
4047  *  Availability:
4048  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4049  *    CarbonLib:        in CarbonLib 1.0 and later
4050  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
4051  *    Windows:          in qtmlClient.lib 3.0 and later
4052  }
GraphicsImportGetAliasedDataReferencenull4053 function GraphicsImportGetAliasedDataReference( ci: GraphicsImportComponent; var dataRef: Handle; var dataRefType: OSType ): ComponentResult; external name '_GraphicsImportGetAliasedDataReference';
4054 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4055 
4056 
4057 {
4058  *  GraphicsImportValidate()
4059  *
4060  *  Availability:
4061  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4062  *    CarbonLib:        in CarbonLib 1.0 and later
4063  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
4064  *    Windows:          in qtmlClient.lib 3.0 and later
4065  }
GraphicsImportValidatenull4066 function GraphicsImportValidate( ci: GraphicsImportComponent; var valid: Boolean ): ComponentResult; external name '_GraphicsImportValidate';
4067 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4068 
4069 
4070 {
4071  *  GraphicsImportGetMetaData()
4072  *
4073  *  Availability:
4074  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4075  *    CarbonLib:        in CarbonLib 1.0 and later
4076  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
4077  *    Windows:          in qtmlClient.lib 3.0 and later
4078  }
GraphicsImportGetMetaDatanull4079 function GraphicsImportGetMetaData( ci: GraphicsImportComponent; userData: UnivPtr ): ComponentResult; external name '_GraphicsImportGetMetaData';
4080 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4081 
4082 
4083 {
4084  *  GraphicsImportGetMIMETypeList()
4085  *
4086  *  Availability:
4087  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4088  *    CarbonLib:        in CarbonLib 1.0 and later
4089  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
4090  *    Windows:          in qtmlClient.lib 3.0 and later
4091  }
GraphicsImportGetMIMETypeListnull4092 function GraphicsImportGetMIMETypeList( ci: GraphicsImportComponent; qtAtomContainerPtr: UnivPtr ): ComponentResult; external name '_GraphicsImportGetMIMETypeList';
4093 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4094 
4095 
4096 {
4097  *  GraphicsImportDoesDrawAllPixels()
4098  *
4099  *  Availability:
4100  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4101  *    CarbonLib:        in CarbonLib 1.0 and later
4102  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
4103  *    Windows:          in qtmlClient.lib 3.0 and later
4104  }
GraphicsImportDoesDrawAllPixelsnull4105 function GraphicsImportDoesDrawAllPixels( ci: GraphicsImportComponent; var drawsAllPixels: SInt16 ): ComponentResult; external name '_GraphicsImportDoesDrawAllPixels';
4106 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4107 
4108 
4109 {
4110  *  GraphicsImportGetAsPicture()
4111  *
4112  *  Availability:
4113  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4114  *    CarbonLib:        in CarbonLib 1.0 and later
4115  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
4116  *    Windows:          in qtmlClient.lib 3.0 and later
4117  }
GraphicsImportGetAsPicturenull4118 function GraphicsImportGetAsPicture( ci: GraphicsImportComponent; var picture: PicHandle ): ComponentResult; external name '_GraphicsImportGetAsPicture';
4119 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4120 
4121 
4122 {
4123  *  GraphicsImportExportImageFile()
4124  *
4125  *  Availability:
4126  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4127  *    CarbonLib:        in CarbonLib 1.0 and later
4128  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
4129  *    Windows:          in qtmlClient.lib 3.0 and later
4130  }
GraphicsImportExportImageFilenull4131 function GraphicsImportExportImageFile( ci: GraphicsImportComponent; fileType: OSType; fileCreator: OSType; const (*var*) fss: FSSpec; scriptTag: ScriptCode ): ComponentResult; external name '_GraphicsImportExportImageFile';
4132 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4133 
4134 
4135 {
4136  *  GraphicsImportGetExportImageTypeList()
4137  *
4138  *  Availability:
4139  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4140  *    CarbonLib:        in CarbonLib 1.0 and later
4141  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
4142  *    Windows:          in qtmlClient.lib 3.0 and later
4143  }
GraphicsImportGetExportImageTypeListnull4144 function GraphicsImportGetExportImageTypeList( ci: GraphicsImportComponent; qtAtomContainerPtr: UnivPtr ): ComponentResult; external name '_GraphicsImportGetExportImageTypeList';
4145 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4146 
4147 
4148 {
4149  *  GraphicsImportDoExportImageFileDialog()
4150  *
4151  *  Availability:
4152  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4153  *    CarbonLib:        in CarbonLib 1.0 and later
4154  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
4155  *    Windows:          in qtmlClient.lib 3.0 and later
4156  }
GraphicsImportDoExportImageFileDialognull4157 function GraphicsImportDoExportImageFileDialog( ci: GraphicsImportComponent; const (*var*) inDefaultSpec: FSSpec; prompt: StringPtr; filterProc: ModalFilterYDUPP; var outExportedType: OSType; var outExportedSpec: FSSpec; var outScriptTag: ScriptCode ): ComponentResult; external name '_GraphicsImportDoExportImageFileDialog';
4158 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4159 
4160 
4161 {
4162  *  GraphicsImportGetExportSettingsAsAtomContainer()
4163  *
4164  *  Availability:
4165  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4166  *    CarbonLib:        in CarbonLib 1.0 and later
4167  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
4168  *    Windows:          in qtmlClient.lib 3.0 and later
4169  }
GraphicsImportGetExportSettingsAsAtomContainernull4170 function GraphicsImportGetExportSettingsAsAtomContainer( ci: GraphicsImportComponent; qtAtomContainerPtr: UnivPtr ): ComponentResult; external name '_GraphicsImportGetExportSettingsAsAtomContainer';
4171 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4172 
4173 
4174 {
4175  *  GraphicsImportSetExportSettingsFromAtomContainer()
4176  *
4177  *  Availability:
4178  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4179  *    CarbonLib:        in CarbonLib 1.0 and later
4180  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
4181  *    Windows:          in qtmlClient.lib 3.0 and later
4182  }
GraphicsImportSetExportSettingsFromAtomContainernull4183 function GraphicsImportSetExportSettingsFromAtomContainer( ci: GraphicsImportComponent; qtAtomContainer: UnivPtr ): ComponentResult; external name '_GraphicsImportSetExportSettingsFromAtomContainer';
4184 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4185 
4186 
4187 {
4188  *  GraphicsImportSetProgressProc()
4189  *
4190  *  Availability:
4191  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4192  *    CarbonLib:        in CarbonLib 1.0 and later
4193  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
4194  *    Windows:          in qtmlClient.lib 3.0 and later
4195  }
GraphicsImportSetProgressProcnull4196 function GraphicsImportSetProgressProc( ci: GraphicsImportComponent; progressProc: ICMProgressProcRecordPtr ): ComponentResult; external name '_GraphicsImportSetProgressProc';
4197 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4198 
4199 
4200 {
4201  *  GraphicsImportGetProgressProc()
4202  *
4203  *  Availability:
4204  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4205  *    CarbonLib:        in CarbonLib 1.0 and later
4206  *    Non-Carbon CFM:   in QuickTimeLib 3.0 and later
4207  *    Windows:          in qtmlClient.lib 3.0 and later
4208  }
GraphicsImportGetProgressProcnull4209 function GraphicsImportGetProgressProc( ci: GraphicsImportComponent; progressProc: ICMProgressProcRecordPtr ): ComponentResult; external name '_GraphicsImportGetProgressProc';
4210 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4211 
4212 
4213 {
4214  *  GraphicsImportGetImageCount()
4215  *
4216  *  Availability:
4217  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4218  *    CarbonLib:        in CarbonLib 1.0.2 and later
4219  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4220  *    Windows:          in qtmlClient.lib 4.0 and later
4221  }
GraphicsImportGetImageCountnull4222 function GraphicsImportGetImageCount( ci: GraphicsImportComponent; var imageCount: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportGetImageCount';
4223 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4224 
4225 
4226 {
4227  *  GraphicsImportSetImageIndex()
4228  *
4229  *  Availability:
4230  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4231  *    CarbonLib:        in CarbonLib 1.0.2 and later
4232  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4233  *    Windows:          in qtmlClient.lib 4.0 and later
4234  }
GraphicsImportSetImageIndexnull4235 function GraphicsImportSetImageIndex( ci: GraphicsImportComponent; imageIndex: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportSetImageIndex';
4236 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4237 
4238 
4239 {
4240  *  GraphicsImportGetImageIndex()
4241  *
4242  *  Availability:
4243  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4244  *    CarbonLib:        in CarbonLib 1.0.2 and later
4245  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4246  *    Windows:          in qtmlClient.lib 4.0 and later
4247  }
GraphicsImportGetImageIndexnull4248 function GraphicsImportGetImageIndex( ci: GraphicsImportComponent; var imageIndex: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportGetImageIndex';
4249 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4250 
4251 
4252 {
4253  *  GraphicsImportGetDataOffsetAndSize64()
4254  *
4255  *  Availability:
4256  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4257  *    CarbonLib:        in CarbonLib 1.0.2 and later
4258  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4259  *    Windows:          in qtmlClient.lib 4.0 and later
4260  }
GraphicsImportGetDataOffsetAndSize64null4261 function GraphicsImportGetDataOffsetAndSize64( ci: GraphicsImportComponent; var offset: wide; var size: wide ): ComponentResult; external name '_GraphicsImportGetDataOffsetAndSize64';
4262 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4263 
4264 
4265 {
4266  *  GraphicsImportReadData64()
4267  *
4268  *  Availability:
4269  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4270  *    CarbonLib:        in CarbonLib 1.0.2 and later
4271  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4272  *    Windows:          in qtmlClient.lib 4.0 and later
4273  }
GraphicsImportReadData64null4274 function GraphicsImportReadData64( ci: GraphicsImportComponent; dataPtr: UnivPtr; const (*var*) dataOffset: wide; dataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportReadData64';
4275 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4276 
4277 
4278 {
4279  *  GraphicsImportSetDataReferenceOffsetAndLimit64()
4280  *
4281  *  Availability:
4282  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4283  *    CarbonLib:        in CarbonLib 1.0.2 and later
4284  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4285  *    Windows:          in qtmlClient.lib 4.0 and later
4286  }
GraphicsImportSetDataReferenceOffsetAndLimit64null4287 function GraphicsImportSetDataReferenceOffsetAndLimit64( ci: GraphicsImportComponent; const (*var*) offset: wide; const (*var*) limit: wide ): ComponentResult; external name '_GraphicsImportSetDataReferenceOffsetAndLimit64';
4288 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4289 
4290 
4291 {
4292  *  GraphicsImportGetDataReferenceOffsetAndLimit64()
4293  *
4294  *  Availability:
4295  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4296  *    CarbonLib:        in CarbonLib 1.0.2 and later
4297  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4298  *    Windows:          in qtmlClient.lib 4.0 and later
4299  }
GraphicsImportGetDataReferenceOffsetAndLimit64null4300 function GraphicsImportGetDataReferenceOffsetAndLimit64( ci: GraphicsImportComponent; var offset: wide; var limit: wide ): ComponentResult; external name '_GraphicsImportGetDataReferenceOffsetAndLimit64';
4301 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4302 
4303 
4304 {
4305  *  GraphicsImportGetDefaultMatrix()
4306  *
4307  *  Availability:
4308  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4309  *    CarbonLib:        in CarbonLib 1.0.2 and later
4310  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4311  *    Windows:          in qtmlClient.lib 4.0 and later
4312  }
GraphicsImportGetDefaultMatrixnull4313 function GraphicsImportGetDefaultMatrix( ci: GraphicsImportComponent; var defaultMatrix: MatrixRecord ): ComponentResult; external name '_GraphicsImportGetDefaultMatrix';
4314 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4315 
4316 
4317 {
4318  *  GraphicsImportGetDefaultClip()
4319  *
4320  *  Availability:
4321  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4322  *    CarbonLib:        in CarbonLib 1.0.2 and later
4323  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4324  *    Windows:          in qtmlClient.lib 4.0 and later
4325  }
GraphicsImportGetDefaultClipnull4326 function GraphicsImportGetDefaultClip( ci: GraphicsImportComponent; var defaultRgn: RgnHandle ): ComponentResult; external name '_GraphicsImportGetDefaultClip';
4327 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4328 
4329 
4330 {
4331  *  GraphicsImportGetDefaultGraphicsMode()
4332  *
4333  *  Availability:
4334  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4335  *    CarbonLib:        in CarbonLib 1.0.2 and later
4336  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4337  *    Windows:          in qtmlClient.lib 4.0 and later
4338  }
GraphicsImportGetDefaultGraphicsModenull4339 function GraphicsImportGetDefaultGraphicsMode( ci: GraphicsImportComponent; var defaultGraphicsMode: SIGNEDLONG; var defaultOpColor: RGBColor ): ComponentResult; external name '_GraphicsImportGetDefaultGraphicsMode';
4340 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4341 
4342 
4343 {
4344  *  GraphicsImportGetDefaultSourceRect()
4345  *
4346  *  Availability:
4347  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4348  *    CarbonLib:        in CarbonLib 1.0.2 and later
4349  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4350  *    Windows:          in qtmlClient.lib 4.0 and later
4351  }
GraphicsImportGetDefaultSourceRectnull4352 function GraphicsImportGetDefaultSourceRect( ci: GraphicsImportComponent; var defaultSourceRect: Rect ): ComponentResult; external name '_GraphicsImportGetDefaultSourceRect';
4353 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4354 
4355 
4356 {
4357  *  GraphicsImportGetColorSyncProfile()
4358  *
4359  *  Availability:
4360  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4361  *    CarbonLib:        in CarbonLib 1.0.2 and later
4362  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4363  *    Windows:          in qtmlClient.lib 4.0 and later
4364  }
GraphicsImportGetColorSyncProfilenull4365 function GraphicsImportGetColorSyncProfile( ci: GraphicsImportComponent; var profile: Handle ): ComponentResult; external name '_GraphicsImportGetColorSyncProfile';
4366 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4367 
4368 
4369 {
4370  *  GraphicsImportSetDestRect()
4371  *
4372  *  Availability:
4373  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4374  *    CarbonLib:        in CarbonLib 1.0.2 and later
4375  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4376  *    Windows:          in qtmlClient.lib 4.0 and later
4377  }
GraphicsImportSetDestRectnull4378 function GraphicsImportSetDestRect( ci: GraphicsImportComponent; const (*var*) destRect: Rect ): ComponentResult; external name '_GraphicsImportSetDestRect';
4379 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4380 
4381 
4382 {
4383  *  GraphicsImportGetDestRect()
4384  *
4385  *  Availability:
4386  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4387  *    CarbonLib:        in CarbonLib 1.0.2 and later
4388  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4389  *    Windows:          in qtmlClient.lib 4.0 and later
4390  }
GraphicsImportGetDestRectnull4391 function GraphicsImportGetDestRect( ci: GraphicsImportComponent; var destRect: Rect ): ComponentResult; external name '_GraphicsImportGetDestRect';
4392 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4393 
4394 
4395 {
4396  *  GraphicsImportSetFlags()
4397  *
4398  *  Availability:
4399  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4400  *    CarbonLib:        in CarbonLib 1.0.2 and later
4401  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4402  *    Windows:          in qtmlClient.lib 4.0 and later
4403  }
GraphicsImportSetFlagsnull4404 function GraphicsImportSetFlags( ci: GraphicsImportComponent; flags: SIGNEDLONG ): ComponentResult; external name '_GraphicsImportSetFlags';
4405 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4406 
4407 
4408 {
4409  *  GraphicsImportGetFlags()
4410  *
4411  *  Availability:
4412  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4413  *    CarbonLib:        in CarbonLib 1.0.2 and later
4414  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4415  *    Windows:          in qtmlClient.lib 4.0 and later
4416  }
GraphicsImportGetFlagsnull4417 function GraphicsImportGetFlags( ci: GraphicsImportComponent; var flags: SIGNEDLONG ): ComponentResult; external name '_GraphicsImportGetFlags';
4418 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4419 
4420 
4421 { 2 private selectors }
4422 {
4423  *  GraphicsImportGetBaseDataOffsetAndSize64()
4424  *
4425  *  Availability:
4426  *    Mac OS X:         in version 10.1 and later in QuickTime.framework
4427  *    CarbonLib:        in CarbonLib 1.4 and later
4428  *    Non-Carbon CFM:   in QuickTimeLib 5.0.2 and later
4429  *    Windows:          in qtmlClient.lib 5.0.2 and later
4430  }
GraphicsImportGetBaseDataOffsetAndSize64null4431 function GraphicsImportGetBaseDataOffsetAndSize64( ci: GraphicsImportComponent; var offset: wide; var size: wide ): ComponentResult; external name '_GraphicsImportGetBaseDataOffsetAndSize64';
4432 (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
4433 
4434 
4435 {
4436  *  GraphicsImportSetImageIndexToThumbnail()
4437  *
4438  *  Availability:
4439  *    Mac OS X:         in version 10.2 and later in QuickTime.framework
4440  *    CarbonLib:        in CarbonLib 1.6 and later
4441  *    Non-Carbon CFM:   in QuickTimeLib 6.0 and later
4442  *    Windows:          in qtmlClient.lib 6.0 and later
4443  }
GraphicsImportSetImageIndexToThumbnailnull4444 function GraphicsImportSetImageIndexToThumbnail( ci: GraphicsImportComponent ): ComponentResult; external name '_GraphicsImportSetImageIndexToThumbnail';
4445 (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
4446 
4447 
4448 {$ifc TARGET_API_MAC_OSX}
4449 {
4450  *  GraphicsImportCreateCGImage()
4451  *
4452  *  Availability:
4453  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
4454  *    CarbonLib:        not available
4455  *    Non-Carbon CFM:   not available
4456  }
GraphicsImportCreateCGImagenull4457 function GraphicsImportCreateCGImage( ci: GraphicsImportComponent; var imageRefOut: CGImageRef; flags: UInt32 ): ComponentResult; external name '_GraphicsImportCreateCGImage';
4458 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
4459 
4460 
4461 {$endc} {TARGET_API_MAC_OSX}
4462 
4463 {
4464  *  GraphicsImportSaveAsPictureToDataRef()
4465  *
4466  *  Availability:
4467  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
4468  *    CarbonLib:        not available
4469  *    Non-Carbon CFM:   not available
4470  *    Windows:          in qtmlClient.lib 6.5 and later
4471  }
GraphicsImportSaveAsPictureToDataRefnull4472 function GraphicsImportSaveAsPictureToDataRef( ci: GraphicsImportComponent; dataRef: Handle; dataRefType: OSType ): ComponentResult; external name '_GraphicsImportSaveAsPictureToDataRef';
4473 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
4474 
4475 
4476 {
4477  *  GraphicsImportSaveAsQuickTimeImageFileToDataRef()
4478  *
4479  *  Availability:
4480  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
4481  *    CarbonLib:        not available
4482  *    Non-Carbon CFM:   not available
4483  *    Windows:          in qtmlClient.lib 6.5 and later
4484  }
GraphicsImportSaveAsQuickTimeImageFileToDataRefnull4485 function GraphicsImportSaveAsQuickTimeImageFileToDataRef( ci: GraphicsImportComponent; dataRef: Handle; dataRefType: OSType ): ComponentResult; external name '_GraphicsImportSaveAsQuickTimeImageFileToDataRef';
4486 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
4487 
4488 
4489 {
4490  *  GraphicsImportExportImageFileToDataRef()
4491  *
4492  *  Availability:
4493  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
4494  *    CarbonLib:        not available
4495  *    Non-Carbon CFM:   not available
4496  *    Windows:          in qtmlClient.lib 6.5 and later
4497  }
GraphicsImportExportImageFileToDataRefnull4498 function GraphicsImportExportImageFileToDataRef( ci: GraphicsImportComponent; fileType: OSType; fileCreator: OSType; dataRef: Handle; dataRefType: OSType ): ComponentResult; external name '_GraphicsImportExportImageFileToDataRef';
4499 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
4500 
4501 
4502 {
4503  *  GraphicsImportDoExportImageFileToDataRefDialog()
4504  *
4505  *  Availability:
4506  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
4507  *    CarbonLib:        not available
4508  *    Non-Carbon CFM:   not available
4509  *    Windows:          in qtmlClient.lib 6.5 and later
4510  }
GraphicsImportDoExportImageFileToDataRefDialognull4511 function GraphicsImportDoExportImageFileToDataRefDialog( ci: GraphicsImportComponent; inDataRef: Handle; inDataRefType: OSType; prompt: CFStringRef; filterProc: ModalFilterYDUPP; var outExportedType: OSType; var outDataRef: Handle; var outDataRefType: OSType ): ComponentResult; external name '_GraphicsImportDoExportImageFileToDataRefDialog';
4512 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
4513 
4514 
4515 {$ifc TARGET_API_MAC_OSX}
4516 { NOTE: If the source override ColorSync profile is NULL, then the image's ColorSync profile may be used if available, otherwise a generic ColorSync profile may be used. }
4517 {
4518  *  GraphicsImportSetOverrideSourceColorSyncProfileRef()
4519  *
4520  *  Availability:
4521  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
4522  *    CarbonLib:        not available
4523  *    Non-Carbon CFM:   not available
4524  }
GraphicsImportSetOverrideSourceColorSyncProfileRefnull4525 function GraphicsImportSetOverrideSourceColorSyncProfileRef( ci: GraphicsImportComponent; newOverrideSourceProfileRef: CMProfileRef ): ComponentResult; external name '_GraphicsImportSetOverrideSourceColorSyncProfileRef';
4526 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
4527 
4528 
4529 {
4530  *  GraphicsImportGetOverrideSourceColorSyncProfileRef()
4531  *
4532  *  Availability:
4533  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
4534  *    CarbonLib:        not available
4535  *    Non-Carbon CFM:   not available
4536  }
GraphicsImportGetOverrideSourceColorSyncProfileRefnull4537 function GraphicsImportGetOverrideSourceColorSyncProfileRef( ci: GraphicsImportComponent; var outOverrideSourceProfileRef: CMProfileRef ): ComponentResult; external name '_GraphicsImportGetOverrideSourceColorSyncProfileRef';
4538 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
4539 
4540 
4541 { NOTE: If the destination ColorSync profile is NULL, then a generic ColorSync profile may be used. }
4542 {
4543  *  GraphicsImportSetDestinationColorSyncProfileRef()
4544  *
4545  *  Availability:
4546  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
4547  *    CarbonLib:        not available
4548  *    Non-Carbon CFM:   not available
4549  }
GraphicsImportSetDestinationColorSyncProfileRefnull4550 function GraphicsImportSetDestinationColorSyncProfileRef( ci: GraphicsImportComponent; newDestinationProfileRef: CMProfileRef ): ComponentResult; external name '_GraphicsImportSetDestinationColorSyncProfileRef';
4551 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
4552 
4553 
4554 {
4555  *  GraphicsImportGetDestinationColorSyncProfileRef()
4556  *
4557  *  Availability:
4558  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
4559  *    CarbonLib:        not available
4560  *    Non-Carbon CFM:   not available
4561  }
GraphicsImportGetDestinationColorSyncProfileRefnull4562 function GraphicsImportGetDestinationColorSyncProfileRef( ci: GraphicsImportComponent; var destinationProfileRef: CMProfileRef ): ComponentResult; external name '_GraphicsImportGetDestinationColorSyncProfileRef';
4563 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
4564 
4565 
4566 {$endc} {TARGET_API_MAC_OSX}
4567 
4568 {
4569  *  GraphicsImportWillUseColorMatching()
4570  *
4571  *  Availability:
4572  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
4573  *    CarbonLib:        not available
4574  *    Non-Carbon CFM:   not available
4575  *    Windows:          in qtmlClient.lib 6.5 and later
4576  }
GraphicsImportWillUseColorMatchingnull4577 function GraphicsImportWillUseColorMatching( ci: GraphicsImportComponent; var outWillMatch: Boolean ): ComponentResult; external name '_GraphicsImportWillUseColorMatching';
4578 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
4579 
4580 
4581 {$ifc TARGET_API_MAC_OSX}
4582 { This convenience API is implemented by the base graphics importer for format-specific importers. }
4583 {
4584  *  GraphicsImportGetGenericColorSyncProfile()
4585  *
4586  *  Availability:
4587  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
4588  *    CarbonLib:        not available
4589  *    Non-Carbon CFM:   not available
4590  }
GraphicsImportGetGenericColorSyncProfilenull4591 function GraphicsImportGetGenericColorSyncProfile( ci: GraphicsImportComponent; pixelFormat: OSType; reservedSetToNULL: UnivPtr; flags: UInt32; var genericColorSyncProfileOut: Handle ): ComponentResult; external name '_GraphicsImportGetGenericColorSyncProfile';
4592 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
4593 
4594 
4595 {$endc} {TARGET_API_MAC_OSX}
4596 
4597 { Format-specific importers that implement GetColorSyncProfile and that want the base graphics
4598    importer to automatically support ColorSync matching should:
4599    (a) implement GraphicsImportSetReturnGenericColorSyncProfile; when it is called, set an internal flag
4600    (b) change GraphicsImportGetColorSyncProfile so that, if this internal flag is set,
4601        when the source image file contains a profile
4602        and the kGraphicsImporterDontUseColorMatching flag is NOT set,
4603        it returns a generic profile of the appropriate colorspace instead.
4604    Other importers should *not* implement GraphicsImportSetReturnGenericColorSyncProfile. }
4605 { WARNING: Applications should not call this API; it is internal graphics importer plumbing.
4606    Set kGraphicsImporterDontUseColorMatching instead. }
4607 {
4608  *  GraphicsImportSetReturnGenericColorSyncProfile()
4609  *
4610  *  Availability:
4611  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
4612  *    CarbonLib:        not available
4613  *    Non-Carbon CFM:   not available
4614  *    Windows:          in qtmlClient.lib 6.5 and later
4615  }
GraphicsImportSetReturnGenericColorSyncProfilenull4616 function GraphicsImportSetReturnGenericColorSyncProfile( ci: GraphicsImportComponent; returnGenericProfilesUnlessDontMatchFlagSet: Boolean ): ComponentResult; external name '_GraphicsImportSetReturnGenericColorSyncProfile';
4617 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
4618 
4619 
4620 { WARNING: Applications should not call this API; it is internal graphics importer plumbing. }
4621 {
4622  *  GraphicsImportGetReturnGenericColorSyncProfile()
4623  *
4624  *  Availability:
4625  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
4626  *    CarbonLib:        not available
4627  *    Non-Carbon CFM:   not available
4628  *    Windows:          in qtmlClient.lib 6.5 and later
4629  }
GraphicsImportGetReturnGenericColorSyncProfilenull4630 function GraphicsImportGetReturnGenericColorSyncProfile( ci: GraphicsImportComponent; var returnGenericProfilesUnlessDontMatchFlagSet: Boolean ): ComponentResult; external name '_GraphicsImportGetReturnGenericColorSyncProfile';
4631 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
4632 
4633 
4634 type
4635 	GraphicsExportComponent = ComponentInstance;
4636 const
4637 	GraphicsExporterComponentType = FourCharCode('grex');
4638 	kBaseGraphicsExporterSubType = FourCharCode('base');
4639 
4640 { Component flags for Graphics Exporter components }
4641 const
4642 	graphicsExporterIsBaseExporter = 1 shl 0;
4643 	graphicsExporterCanTranscode = 1 shl 1;
4644 	graphicsExporterUsesImageCompressor = 1 shl 2;
4645 
4646 type
4647 	QTResolutionSettingsPtr = ^QTResolutionSettings;
4648 	QTResolutionSettings = record
4649 		horizontalResolution: Fixed;
4650 		verticalResolution: Fixed;
4651 	end;
4652 type
4653 	QTTargetDataSizePtr = ^QTTargetDataSize;
4654 	QTTargetDataSize = record
4655 		targetDataSize: UNSIGNEDLONG;
4656 	end;
4657 type
4658 	QTThumbnailSettingsPtr = ^QTThumbnailSettings;
4659 	QTThumbnailSettings = record
4660 		enableThumbnail: SIGNEDLONG;        { a thoroughly padded Boolean}
4661 		maxThumbnailWidth: SIGNEDLONG;      { set to zero to let someone else decide}
4662 		maxThumbnailHeight: SIGNEDLONG;     { set to zero to let someone else decide}
4663 	end;
4664 const
4665 	kQTResolutionSettings = FourCharCode('reso');
4666 	kQTTargetDataSize = FourCharCode('dasz');
4667 	kQTDontRecompress = FourCharCode('dntr');
4668 	kQTInterlaceStyle = FourCharCode('ilac');
4669 	kQTColorSyncProfile = FourCharCode('iccp');
4670 	kQTThumbnailSettings = FourCharCode('thum');
4671 	kQTEnableExif = FourCharCode('exif'); { UInt8 (boolean)}
4672 	kQTMetaData = FourCharCode('meta');
4673 
4674 const
4675 	kQTTIFFCompressionMethod = FourCharCode('tifc'); { UInt32}
4676 	kQTTIFFCompression_None = 1;
4677 	kQTTIFFCompression_PackBits = 32773;
4678 	kQTTIFFLittleEndian = FourCharCode('tife'); { UInt8 (boolean)}
4679 
4680 const
4681 	kQTPNGFilterPreference = FourCharCode('pngf'); { UInt32}
4682 	kQTPNGFilterBestForColorType = FourCharCode('bflt');
4683 	kQTPNGFilterNone = 0;
4684 	kQTPNGFilterSub = 1;
4685 	kQTPNGFilterUp = 2;
4686 	kQTPNGFilterAverage = 3;
4687 	kQTPNGFilterPaeth = 4;
4688 	kQTPNGFilterAdaptivePerRow = FourCharCode('aflt');
4689 	kQTPNGInterlaceStyle = FourCharCode('ilac'); { UInt32}
4690 	kQTPNGInterlaceNone = 0;
4691 	kQTPNGInterlaceAdam7 = 1;
4692 
4693 const
4694 	kQTJPEGQuantizationTables = FourCharCode('jpqt');
4695 	kQTJPEGHuffmanTables = FourCharCode('jpht');
4696 
4697 
4698 {* These are GraphicsExport procedures *}
4699 { To use: set the input and output (and other settings as desired) and call GEDoExport. }
4700 {
4701  *  GraphicsExportDoExport()
4702  *
4703  *  Availability:
4704  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4705  *    CarbonLib:        in CarbonLib 1.0.2 and later
4706  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4707  *    Windows:          in qtmlClient.lib 4.0 and later
4708  }
GraphicsExportDoExportnull4709 function GraphicsExportDoExport( ci: GraphicsExportComponent; var actualSizeWritten: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportDoExport';
4710 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4711 
4712 
4713 { Used for internal communication between the base and format-specific graphics exporter: }
4714 {
4715  *  GraphicsExportCanTranscode()
4716  *
4717  *  Availability:
4718  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4719  *    CarbonLib:        in CarbonLib 1.0.2 and later
4720  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4721  *    Windows:          in qtmlClient.lib 4.0 and later
4722  }
GraphicsExportCanTranscodenull4723 function GraphicsExportCanTranscode( ci: GraphicsExportComponent; var canTranscode: Boolean ): ComponentResult; external name '_GraphicsExportCanTranscode';
4724 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4725 
4726 
4727 {
4728  *  GraphicsExportDoTranscode()
4729  *
4730  *  Availability:
4731  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4732  *    CarbonLib:        in CarbonLib 1.0.2 and later
4733  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4734  *    Windows:          in qtmlClient.lib 4.0 and later
4735  }
GraphicsExportDoTranscodenull4736 function GraphicsExportDoTranscode( ci: GraphicsExportComponent ): ComponentResult; external name '_GraphicsExportDoTranscode';
4737 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4738 
4739 
4740 {
4741  *  GraphicsExportCanUseCompressor()
4742  *
4743  *  Availability:
4744  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4745  *    CarbonLib:        in CarbonLib 1.0.2 and later
4746  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4747  *    Windows:          in qtmlClient.lib 4.0 and later
4748  }
GraphicsExportCanUseCompressornull4749 function GraphicsExportCanUseCompressor( ci: GraphicsExportComponent; var canUseCompressor: Boolean; codecSettingsAtomContainerPtr: UnivPtr ): ComponentResult; external name '_GraphicsExportCanUseCompressor';
4750 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4751 
4752 
4753 {
4754  *  GraphicsExportDoUseCompressor()
4755  *
4756  *  Availability:
4757  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4758  *    CarbonLib:        in CarbonLib 1.0.2 and later
4759  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4760  *    Windows:          in qtmlClient.lib 4.0 and later
4761  }
GraphicsExportDoUseCompressornull4762 function GraphicsExportDoUseCompressor( ci: GraphicsExportComponent; codecSettingsAtomContainer: UnivPtr; var outDesc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsExportDoUseCompressor';
4763 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4764 
4765 
4766 {
4767  *  GraphicsExportDoStandaloneExport()
4768  *
4769  *  Availability:
4770  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4771  *    CarbonLib:        in CarbonLib 1.0.2 and later
4772  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4773  *    Windows:          in qtmlClient.lib 4.0 and later
4774  }
GraphicsExportDoStandaloneExportnull4775 function GraphicsExportDoStandaloneExport( ci: GraphicsExportComponent ): ComponentResult; external name '_GraphicsExportDoStandaloneExport';
4776 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4777 
4778 
4779 { Queries applications can make of a format-specific graphics exporter: }
4780 {
4781  *  GraphicsExportGetDefaultFileTypeAndCreator()
4782  *
4783  *  Availability:
4784  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4785  *    CarbonLib:        in CarbonLib 1.0.2 and later
4786  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4787  *    Windows:          in qtmlClient.lib 4.0 and later
4788  }
GraphicsExportGetDefaultFileTypeAndCreatornull4789 function GraphicsExportGetDefaultFileTypeAndCreator( ci: GraphicsExportComponent; var fileType: OSType; var fileCreator: OSType ): ComponentResult; external name '_GraphicsExportGetDefaultFileTypeAndCreator';
4790 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4791 
4792 
4793 {
4794  *  GraphicsExportGetDefaultFileNameExtension()
4795  *
4796  *  Availability:
4797  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4798  *    CarbonLib:        in CarbonLib 1.0.2 and later
4799  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4800  *    Windows:          in qtmlClient.lib 4.0 and later
4801  }
GraphicsExportGetDefaultFileNameExtensionnull4802 function GraphicsExportGetDefaultFileNameExtension( ci: GraphicsExportComponent; var fileNameExtension: OSType ): ComponentResult; external name '_GraphicsExportGetDefaultFileNameExtension';
4803 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4804 
4805 
4806 {
4807  *  GraphicsExportGetMIMETypeList()
4808  *
4809  *  Availability:
4810  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4811  *    CarbonLib:        in CarbonLib 1.0.2 and later
4812  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4813  *    Windows:          in qtmlClient.lib 4.0 and later
4814  }
GraphicsExportGetMIMETypeListnull4815 function GraphicsExportGetMIMETypeList( ci: GraphicsExportComponent; qtAtomContainerPtr: UnivPtr ): ComponentResult; external name '_GraphicsExportGetMIMETypeList';
4816 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4817 
4818 
4819 { (1 unused selector) }
4820 { Graphics exporter settings: }
4821 {
4822  *  GraphicsExportRequestSettings()
4823  *
4824  *  Availability:
4825  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4826  *    CarbonLib:        in CarbonLib 1.0.2 and later
4827  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4828  *    Windows:          in qtmlClient.lib 4.0 and later
4829  }
GraphicsExportRequestSettingsnull4830 function GraphicsExportRequestSettings( ci: GraphicsExportComponent; filterProc: ModalFilterYDUPP; yourDataProc: UnivPtr ): ComponentResult; external name '_GraphicsExportRequestSettings';
4831 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4832 
4833 
4834 {
4835  *  GraphicsExportSetSettingsFromAtomContainer()
4836  *
4837  *  Availability:
4838  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4839  *    CarbonLib:        in CarbonLib 1.0.2 and later
4840  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4841  *    Windows:          in qtmlClient.lib 4.0 and later
4842  }
GraphicsExportSetSettingsFromAtomContainernull4843 function GraphicsExportSetSettingsFromAtomContainer( ci: GraphicsExportComponent; qtAtomContainer: UnivPtr ): ComponentResult; external name '_GraphicsExportSetSettingsFromAtomContainer';
4844 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4845 
4846 
4847 {
4848  *  GraphicsExportGetSettingsAsAtomContainer()
4849  *
4850  *  Availability:
4851  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4852  *    CarbonLib:        in CarbonLib 1.0.2 and later
4853  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4854  *    Windows:          in qtmlClient.lib 4.0 and later
4855  }
GraphicsExportGetSettingsAsAtomContainernull4856 function GraphicsExportGetSettingsAsAtomContainer( ci: GraphicsExportComponent; qtAtomContainerPtr: UnivPtr ): ComponentResult; external name '_GraphicsExportGetSettingsAsAtomContainer';
4857 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4858 
4859 
4860 {
4861  *  GraphicsExportGetSettingsAsText()
4862  *
4863  *  Availability:
4864  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4865  *    CarbonLib:        in CarbonLib 1.0.2 and later
4866  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4867  *    Windows:          in qtmlClient.lib 4.0 and later
4868  }
GraphicsExportGetSettingsAsTextnull4869 function GraphicsExportGetSettingsAsText( ci: GraphicsExportComponent; var theText: Handle ): ComponentResult; external name '_GraphicsExportGetSettingsAsText';
4870 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4871 
4872 
4873 { Graphics exporters may implement some or none of the following: }
4874 {
4875  *  GraphicsExportSetDontRecompress()
4876  *
4877  *  Availability:
4878  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4879  *    CarbonLib:        in CarbonLib 1.0.2 and later
4880  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4881  *    Windows:          in qtmlClient.lib 4.0 and later
4882  }
GraphicsExportSetDontRecompressnull4883 function GraphicsExportSetDontRecompress( ci: GraphicsExportComponent; dontRecompress: Boolean ): ComponentResult; external name '_GraphicsExportSetDontRecompress';
4884 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4885 
4886 
4887 {
4888  *  GraphicsExportGetDontRecompress()
4889  *
4890  *  Availability:
4891  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4892  *    CarbonLib:        in CarbonLib 1.0.2 and later
4893  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4894  *    Windows:          in qtmlClient.lib 4.0 and later
4895  }
GraphicsExportGetDontRecompressnull4896 function GraphicsExportGetDontRecompress( ci: GraphicsExportComponent; var dontRecompress: Boolean ): ComponentResult; external name '_GraphicsExportGetDontRecompress';
4897 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4898 
4899 
4900 {
4901  *  GraphicsExportSetInterlaceStyle()
4902  *
4903  *  Availability:
4904  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4905  *    CarbonLib:        in CarbonLib 1.0.2 and later
4906  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4907  *    Windows:          in qtmlClient.lib 4.0 and later
4908  }
GraphicsExportSetInterlaceStylenull4909 function GraphicsExportSetInterlaceStyle( ci: GraphicsExportComponent; interlaceStyle: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetInterlaceStyle';
4910 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4911 
4912 
4913 {
4914  *  GraphicsExportGetInterlaceStyle()
4915  *
4916  *  Availability:
4917  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4918  *    CarbonLib:        in CarbonLib 1.0.2 and later
4919  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4920  *    Windows:          in qtmlClient.lib 4.0 and later
4921  }
GraphicsExportGetInterlaceStylenull4922 function GraphicsExportGetInterlaceStyle( ci: GraphicsExportComponent; var interlaceStyle: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetInterlaceStyle';
4923 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4924 
4925 
4926 {
4927  *  GraphicsExportSetMetaData()
4928  *
4929  *  Availability:
4930  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4931  *    CarbonLib:        in CarbonLib 1.0.2 and later
4932  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4933  *    Windows:          in qtmlClient.lib 4.0 and later
4934  }
GraphicsExportSetMetaDatanull4935 function GraphicsExportSetMetaData( ci: GraphicsExportComponent; userData: UnivPtr ): ComponentResult; external name '_GraphicsExportSetMetaData';
4936 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4937 
4938 
4939 {
4940  *  GraphicsExportGetMetaData()
4941  *
4942  *  Availability:
4943  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4944  *    CarbonLib:        in CarbonLib 1.0.2 and later
4945  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4946  *    Windows:          in qtmlClient.lib 4.0 and later
4947  }
GraphicsExportGetMetaDatanull4948 function GraphicsExportGetMetaData( ci: GraphicsExportComponent; userData: UnivPtr ): ComponentResult; external name '_GraphicsExportGetMetaData';
4949 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4950 
4951 
4952 {
4953  *  GraphicsExportSetTargetDataSize()
4954  *
4955  *  Availability:
4956  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4957  *    CarbonLib:        in CarbonLib 1.0.2 and later
4958  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4959  *    Windows:          in qtmlClient.lib 4.0 and later
4960  }
GraphicsExportSetTargetDataSizenull4961 function GraphicsExportSetTargetDataSize( ci: GraphicsExportComponent; targetDataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetTargetDataSize';
4962 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4963 
4964 
4965 {
4966  *  GraphicsExportGetTargetDataSize()
4967  *
4968  *  Availability:
4969  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4970  *    CarbonLib:        in CarbonLib 1.0.2 and later
4971  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4972  *    Windows:          in qtmlClient.lib 4.0 and later
4973  }
GraphicsExportGetTargetDataSizenull4974 function GraphicsExportGetTargetDataSize( ci: GraphicsExportComponent; var targetDataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetTargetDataSize';
4975 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4976 
4977 
4978 {
4979  *  GraphicsExportSetCompressionMethod()
4980  *
4981  *  Availability:
4982  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4983  *    CarbonLib:        in CarbonLib 1.0.2 and later
4984  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4985  *    Windows:          in qtmlClient.lib 4.0 and later
4986  }
GraphicsExportSetCompressionMethodnull4987 function GraphicsExportSetCompressionMethod( ci: GraphicsExportComponent; compressionMethod: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetCompressionMethod';
4988 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
4989 
4990 
4991 {
4992  *  GraphicsExportGetCompressionMethod()
4993  *
4994  *  Availability:
4995  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
4996  *    CarbonLib:        in CarbonLib 1.0.2 and later
4997  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
4998  *    Windows:          in qtmlClient.lib 4.0 and later
4999  }
GraphicsExportGetCompressionMethodnull5000 function GraphicsExportGetCompressionMethod( ci: GraphicsExportComponent; var compressionMethod: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetCompressionMethod';
5001 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5002 
5003 
5004 {
5005  *  GraphicsExportSetCompressionQuality()
5006  *
5007  *  Availability:
5008  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5009  *    CarbonLib:        in CarbonLib 1.0.2 and later
5010  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5011  *    Windows:          in qtmlClient.lib 4.0 and later
5012  }
GraphicsExportSetCompressionQualitynull5013 function GraphicsExportSetCompressionQuality( ci: GraphicsExportComponent; spatialQuality: CodecQ ): ComponentResult; external name '_GraphicsExportSetCompressionQuality';
5014 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5015 
5016 
5017 {
5018  *  GraphicsExportGetCompressionQuality()
5019  *
5020  *  Availability:
5021  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5022  *    CarbonLib:        in CarbonLib 1.0.2 and later
5023  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5024  *    Windows:          in qtmlClient.lib 4.0 and later
5025  }
GraphicsExportGetCompressionQualitynull5026 function GraphicsExportGetCompressionQuality( ci: GraphicsExportComponent; var spatialQuality: CodecQ ): ComponentResult; external name '_GraphicsExportGetCompressionQuality';
5027 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5028 
5029 
5030 {
5031  *  GraphicsExportSetResolution()
5032  *
5033  *  Availability:
5034  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5035  *    CarbonLib:        in CarbonLib 1.0.2 and later
5036  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5037  *    Windows:          in qtmlClient.lib 4.0 and later
5038  }
GraphicsExportSetResolutionnull5039 function GraphicsExportSetResolution( ci: GraphicsExportComponent; horizontalResolution: Fixed; verticalResolution: Fixed ): ComponentResult; external name '_GraphicsExportSetResolution';
5040 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5041 
5042 
5043 {
5044  *  GraphicsExportGetResolution()
5045  *
5046  *  Availability:
5047  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5048  *    CarbonLib:        in CarbonLib 1.0.2 and later
5049  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5050  *    Windows:          in qtmlClient.lib 4.0 and later
5051  }
GraphicsExportGetResolutionnull5052 function GraphicsExportGetResolution( ci: GraphicsExportComponent; var horizontalResolution: Fixed; var verticalResolution: Fixed ): ComponentResult; external name '_GraphicsExportGetResolution';
5053 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5054 
5055 
5056 {
5057  *  GraphicsExportSetDepth()
5058  *
5059  *  Availability:
5060  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5061  *    CarbonLib:        in CarbonLib 1.0.2 and later
5062  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5063  *    Windows:          in qtmlClient.lib 4.0 and later
5064  }
GraphicsExportSetDepthnull5065 function GraphicsExportSetDepth( ci: GraphicsExportComponent; depth: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetDepth';
5066 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5067 
5068 
5069 {
5070  *  GraphicsExportGetDepth()
5071  *
5072  *  Availability:
5073  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5074  *    CarbonLib:        in CarbonLib 1.0.2 and later
5075  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5076  *    Windows:          in qtmlClient.lib 4.0 and later
5077  }
GraphicsExportGetDepthnull5078 function GraphicsExportGetDepth( ci: GraphicsExportComponent; var depth: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetDepth';
5079 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5080 
5081 
5082 { (2 unused selectors) }
5083 {
5084  *  GraphicsExportSetColorSyncProfile()
5085  *
5086  *  Availability:
5087  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5088  *    CarbonLib:        in CarbonLib 1.0.2 and later
5089  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5090  *    Windows:          in qtmlClient.lib 4.0 and later
5091  }
GraphicsExportSetColorSyncProfilenull5092 function GraphicsExportSetColorSyncProfile( ci: GraphicsExportComponent; colorSyncProfile: Handle ): ComponentResult; external name '_GraphicsExportSetColorSyncProfile';
5093 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5094 
5095 
5096 {
5097  *  GraphicsExportGetColorSyncProfile()
5098  *
5099  *  Availability:
5100  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5101  *    CarbonLib:        in CarbonLib 1.0.2 and later
5102  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5103  *    Windows:          in qtmlClient.lib 4.0 and later
5104  }
GraphicsExportGetColorSyncProfilenull5105 function GraphicsExportGetColorSyncProfile( ci: GraphicsExportComponent; var colorSyncProfile: Handle ): ComponentResult; external name '_GraphicsExportGetColorSyncProfile';
5106 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5107 
5108 
5109 { Always implemented by the base graphics exporter: }
5110 {
5111  *  GraphicsExportSetProgressProc()
5112  *
5113  *  Availability:
5114  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5115  *    CarbonLib:        in CarbonLib 1.0.2 and later
5116  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5117  *    Windows:          in qtmlClient.lib 4.0 and later
5118  }
GraphicsExportSetProgressProcnull5119 function GraphicsExportSetProgressProc( ci: GraphicsExportComponent; progressProc: ICMProgressProcRecordPtr ): ComponentResult; external name '_GraphicsExportSetProgressProc';
5120 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5121 
5122 
5123 {
5124  *  GraphicsExportGetProgressProc()
5125  *
5126  *  Availability:
5127  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5128  *    CarbonLib:        in CarbonLib 1.0.2 and later
5129  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5130  *    Windows:          in qtmlClient.lib 4.0 and later
5131  }
GraphicsExportGetProgressProcnull5132 function GraphicsExportGetProgressProc( ci: GraphicsExportComponent; progressProc: ICMProgressProcRecordPtr ): ComponentResult; external name '_GraphicsExportGetProgressProc';
5133 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5134 
5135 
5136 { Sources for the input image: }
5137 {
5138  *  GraphicsExportSetInputDataReference()
5139  *
5140  *  Availability:
5141  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5142  *    CarbonLib:        in CarbonLib 1.0.2 and later
5143  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5144  *    Windows:          in qtmlClient.lib 4.0 and later
5145  }
GraphicsExportSetInputDataReferencenull5146 function GraphicsExportSetInputDataReference( ci: GraphicsExportComponent; dataRef: Handle; dataRefType: OSType; desc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsExportSetInputDataReference';
5147 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5148 
5149 
5150 {
5151  *  GraphicsExportGetInputDataReference()
5152  *
5153  *  Availability:
5154  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5155  *    CarbonLib:        in CarbonLib 1.0.2 and later
5156  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5157  *    Windows:          in qtmlClient.lib 4.0 and later
5158  }
GraphicsExportGetInputDataReferencenull5159 function GraphicsExportGetInputDataReference( ci: GraphicsExportComponent; var dataRef: Handle; var dataRefType: OSType ): ComponentResult; external name '_GraphicsExportGetInputDataReference';
5160 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5161 
5162 
5163 {
5164  *  GraphicsExportSetInputFile()
5165  *
5166  *  Availability:
5167  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5168  *    CarbonLib:        in CarbonLib 1.0.2 and later
5169  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5170  *    Windows:          in qtmlClient.lib 4.0 and later
5171  }
GraphicsExportSetInputFilenull5172 function GraphicsExportSetInputFile( ci: GraphicsExportComponent; const (*var*) theFile: FSSpec; desc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsExportSetInputFile';
5173 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5174 
5175 
5176 {
5177  *  GraphicsExportGetInputFile()
5178  *
5179  *  Availability:
5180  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5181  *    CarbonLib:        in CarbonLib 1.0.2 and later
5182  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5183  *    Windows:          in qtmlClient.lib 4.0 and later
5184  }
GraphicsExportGetInputFilenull5185 function GraphicsExportGetInputFile( ci: GraphicsExportComponent; var theFile: FSSpec ): ComponentResult; external name '_GraphicsExportGetInputFile';
5186 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5187 
5188 
5189 {
5190  *  GraphicsExportSetInputHandle()
5191  *
5192  *  Availability:
5193  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5194  *    CarbonLib:        in CarbonLib 1.0.2 and later
5195  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5196  *    Windows:          in qtmlClient.lib 4.0 and later
5197  }
GraphicsExportSetInputHandlenull5198 function GraphicsExportSetInputHandle( ci: GraphicsExportComponent; h: Handle; desc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsExportSetInputHandle';
5199 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5200 
5201 
5202 {
5203  *  GraphicsExportGetInputHandle()
5204  *
5205  *  Availability:
5206  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5207  *    CarbonLib:        in CarbonLib 1.0.2 and later
5208  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5209  *    Windows:          in qtmlClient.lib 4.0 and later
5210  }
GraphicsExportGetInputHandlenull5211 function GraphicsExportGetInputHandle( ci: GraphicsExportComponent; var h: Handle ): ComponentResult; external name '_GraphicsExportGetInputHandle';
5212 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5213 
5214 
5215 {
5216  *  GraphicsExportSetInputPtr()
5217  *
5218  *  Availability:
5219  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5220  *    CarbonLib:        in CarbonLib 1.0.2 and later
5221  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5222  *    Windows:          in qtmlClient.lib 4.0 and later
5223  }
GraphicsExportSetInputPtrnull5224 function GraphicsExportSetInputPtr( ci: GraphicsExportComponent; p: Ptr; size: UNSIGNEDLONG; desc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsExportSetInputPtr';
5225 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5226 
5227 
5228 {
5229  *  GraphicsExportGetInputPtr()
5230  *
5231  *  Availability:
5232  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5233  *    CarbonLib:        in CarbonLib 1.0.2 and later
5234  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5235  *    Windows:          in qtmlClient.lib 4.0 and later
5236  }
GraphicsExportGetInputPtrnull5237 function GraphicsExportGetInputPtr( ci: GraphicsExportComponent; var p: Ptr; var size: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetInputPtr';
5238 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5239 
5240 
5241 {
5242  *  GraphicsExportSetInputGraphicsImporter()
5243  *
5244  *  Availability:
5245  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5246  *    CarbonLib:        in CarbonLib 1.0.2 and later
5247  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5248  *    Windows:          in qtmlClient.lib 4.0 and later
5249  }
GraphicsExportSetInputGraphicsImporternull5250 function GraphicsExportSetInputGraphicsImporter( ci: GraphicsExportComponent; grip: GraphicsImportComponent ): ComponentResult; external name '_GraphicsExportSetInputGraphicsImporter';
5251 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5252 
5253 
5254 {
5255  *  GraphicsExportGetInputGraphicsImporter()
5256  *
5257  *  Availability:
5258  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5259  *    CarbonLib:        in CarbonLib 1.0.2 and later
5260  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5261  *    Windows:          in qtmlClient.lib 4.0 and later
5262  }
GraphicsExportGetInputGraphicsImporternull5263 function GraphicsExportGetInputGraphicsImporter( ci: GraphicsExportComponent; var grip: GraphicsImportComponent ): ComponentResult; external name '_GraphicsExportGetInputGraphicsImporter';
5264 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5265 
5266 
5267 {
5268  *  GraphicsExportSetInputPicture()
5269  *
5270  *  Availability:
5271  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5272  *    CarbonLib:        in CarbonLib 1.0.2 and later
5273  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5274  *    Windows:          in qtmlClient.lib 4.0 and later
5275  }
GraphicsExportSetInputPicturenull5276 function GraphicsExportSetInputPicture( ci: GraphicsExportComponent; picture: PicHandle ): ComponentResult; external name '_GraphicsExportSetInputPicture';
5277 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5278 
5279 
5280 {
5281  *  GraphicsExportGetInputPicture()
5282  *
5283  *  Availability:
5284  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5285  *    CarbonLib:        in CarbonLib 1.0.2 and later
5286  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5287  *    Windows:          in qtmlClient.lib 4.0 and later
5288  }
GraphicsExportGetInputPicturenull5289 function GraphicsExportGetInputPicture( ci: GraphicsExportComponent; var picture: PicHandle ): ComponentResult; external name '_GraphicsExportGetInputPicture';
5290 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5291 
5292 
5293 {
5294  *  GraphicsExportSetInputGWorld()
5295  *
5296  *  Availability:
5297  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5298  *    CarbonLib:        in CarbonLib 1.0.2 and later
5299  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5300  *    Windows:          in qtmlClient.lib 4.0 and later
5301  }
GraphicsExportSetInputGWorldnull5302 function GraphicsExportSetInputGWorld( ci: GraphicsExportComponent; gworld: GWorldPtr ): ComponentResult; external name '_GraphicsExportSetInputGWorld';
5303 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5304 
5305 
5306 {
5307  *  GraphicsExportGetInputGWorld()
5308  *
5309  *  Availability:
5310  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5311  *    CarbonLib:        in CarbonLib 1.0.2 and later
5312  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5313  *    Windows:          in qtmlClient.lib 4.0 and later
5314  }
GraphicsExportGetInputGWorldnull5315 function GraphicsExportGetInputGWorld( ci: GraphicsExportComponent; var gworld: GWorldPtr ): ComponentResult; external name '_GraphicsExportGetInputGWorld';
5316 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5317 
5318 
5319 {
5320  *  GraphicsExportSetInputPixmap()
5321  *
5322  *  Availability:
5323  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5324  *    CarbonLib:        in CarbonLib 1.0.2 and later
5325  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5326  *    Windows:          in qtmlClient.lib 4.0 and later
5327  }
GraphicsExportSetInputPixmapnull5328 function GraphicsExportSetInputPixmap( ci: GraphicsExportComponent; pixmap: PixMapHandle ): ComponentResult; external name '_GraphicsExportSetInputPixmap';
5329 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5330 
5331 
5332 {
5333  *  GraphicsExportGetInputPixmap()
5334  *
5335  *  Availability:
5336  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5337  *    CarbonLib:        in CarbonLib 1.0.2 and later
5338  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5339  *    Windows:          in qtmlClient.lib 4.0 and later
5340  }
GraphicsExportGetInputPixmapnull5341 function GraphicsExportGetInputPixmap( ci: GraphicsExportComponent; var pixmap: PixMapHandle ): ComponentResult; external name '_GraphicsExportGetInputPixmap';
5342 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5343 
5344 
5345 { Only applicable when the input is a data reference, file, handle or ptr: }
5346 {
5347  *  GraphicsExportSetInputOffsetAndLimit()
5348  *
5349  *  Availability:
5350  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5351  *    CarbonLib:        in CarbonLib 1.0.2 and later
5352  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5353  *    Windows:          in qtmlClient.lib 4.0 and later
5354  }
GraphicsExportSetInputOffsetAndLimitnull5355 function GraphicsExportSetInputOffsetAndLimit( ci: GraphicsExportComponent; offset: UNSIGNEDLONG; limit: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetInputOffsetAndLimit';
5356 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5357 
5358 
5359 {
5360  *  GraphicsExportGetInputOffsetAndLimit()
5361  *
5362  *  Availability:
5363  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5364  *    CarbonLib:        in CarbonLib 1.0.2 and later
5365  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5366  *    Windows:          in qtmlClient.lib 4.0 and later
5367  }
GraphicsExportGetInputOffsetAndLimitnull5368 function GraphicsExportGetInputOffsetAndLimit( ci: GraphicsExportComponent; var offset: UNSIGNEDLONG; var limit: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetInputOffsetAndLimit';
5369 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5370 
5371 
5372 { Used by format-specific graphics exporters when transcoding: }
5373 {
5374  *  GraphicsExportMayExporterReadInputData()
5375  *
5376  *  Availability:
5377  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5378  *    CarbonLib:        in CarbonLib 1.0.2 and later
5379  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5380  *    Windows:          in qtmlClient.lib 4.0 and later
5381  }
GraphicsExportMayExporterReadInputDatanull5382 function GraphicsExportMayExporterReadInputData( ci: GraphicsExportComponent; var mayReadInputData: Boolean ): ComponentResult; external name '_GraphicsExportMayExporterReadInputData';
5383 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5384 
5385 
5386 {
5387  *  GraphicsExportGetInputDataSize()
5388  *
5389  *  Availability:
5390  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5391  *    CarbonLib:        in CarbonLib 1.0.2 and later
5392  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5393  *    Windows:          in qtmlClient.lib 4.0 and later
5394  }
GraphicsExportGetInputDataSizenull5395 function GraphicsExportGetInputDataSize( ci: GraphicsExportComponent; var size: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetInputDataSize';
5396 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5397 
5398 
5399 {
5400  *  GraphicsExportReadInputData()
5401  *
5402  *  Availability:
5403  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5404  *    CarbonLib:        in CarbonLib 1.0.2 and later
5405  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5406  *    Windows:          in qtmlClient.lib 4.0 and later
5407  }
GraphicsExportReadInputDatanull5408 function GraphicsExportReadInputData( ci: GraphicsExportComponent; dataPtr: UnivPtr; dataOffset: UNSIGNEDLONG; dataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportReadInputData';
5409 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5410 
5411 
5412 { Used by format-specific graphics exporters, especially when doing standalone export: }
5413 {
5414  *  GraphicsExportGetInputImageDescription()
5415  *
5416  *  Availability:
5417  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5418  *    CarbonLib:        in CarbonLib 1.0.2 and later
5419  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5420  *    Windows:          in qtmlClient.lib 4.0 and later
5421  }
GraphicsExportGetInputImageDescriptionnull5422 function GraphicsExportGetInputImageDescription( ci: GraphicsExportComponent; var desc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsExportGetInputImageDescription';
5423 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5424 
5425 
5426 {
5427  *  GraphicsExportGetInputImageDimensions()
5428  *
5429  *  Availability:
5430  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5431  *    CarbonLib:        in CarbonLib 1.0.2 and later
5432  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5433  *    Windows:          in qtmlClient.lib 4.0 and later
5434  }
GraphicsExportGetInputImageDimensionsnull5435 function GraphicsExportGetInputImageDimensions( ci: GraphicsExportComponent; var dimensions: Rect ): ComponentResult; external name '_GraphicsExportGetInputImageDimensions';
5436 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5437 
5438 
5439 {
5440  *  GraphicsExportGetInputImageDepth()
5441  *
5442  *  Availability:
5443  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5444  *    CarbonLib:        in CarbonLib 1.0.2 and later
5445  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5446  *    Windows:          in qtmlClient.lib 4.0 and later
5447  }
GraphicsExportGetInputImageDepthnull5448 function GraphicsExportGetInputImageDepth( ci: GraphicsExportComponent; var inputDepth: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetInputImageDepth';
5449 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5450 
5451 
5452 {
5453  *  GraphicsExportDrawInputImage()
5454  *
5455  *  Availability:
5456  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5457  *    CarbonLib:        in CarbonLib 1.0.2 and later
5458  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5459  *    Windows:          in qtmlClient.lib 4.0 and later
5460  }
GraphicsExportDrawInputImagenull5461 function GraphicsExportDrawInputImage( ci: GraphicsExportComponent; gw: CGrafPtr; gd: GDHandle; const (*var*) srcRect: Rect; const (*var*) dstRect: Rect ): ComponentResult; external name '_GraphicsExportDrawInputImage';
5462 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5463 
5464 
5465 { Destinations for the output image: }
5466 {
5467  *  GraphicsExportSetOutputDataReference()
5468  *
5469  *  Availability:
5470  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5471  *    CarbonLib:        in CarbonLib 1.0.2 and later
5472  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5473  *    Windows:          in qtmlClient.lib 4.0 and later
5474  }
GraphicsExportSetOutputDataReferencenull5475 function GraphicsExportSetOutputDataReference( ci: GraphicsExportComponent; dataRef: Handle; dataRefType: OSType ): ComponentResult; external name '_GraphicsExportSetOutputDataReference';
5476 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5477 
5478 
5479 {
5480  *  GraphicsExportGetOutputDataReference()
5481  *
5482  *  Availability:
5483  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5484  *    CarbonLib:        in CarbonLib 1.0.2 and later
5485  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5486  *    Windows:          in qtmlClient.lib 4.0 and later
5487  }
GraphicsExportGetOutputDataReferencenull5488 function GraphicsExportGetOutputDataReference( ci: GraphicsExportComponent; var dataRef: Handle; var dataRefType: OSType ): ComponentResult; external name '_GraphicsExportGetOutputDataReference';
5489 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5490 
5491 
5492 {
5493  *  GraphicsExportSetOutputFile()
5494  *
5495  *  Availability:
5496  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5497  *    CarbonLib:        in CarbonLib 1.0.2 and later
5498  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5499  *    Windows:          in qtmlClient.lib 4.0 and later
5500  }
GraphicsExportSetOutputFilenull5501 function GraphicsExportSetOutputFile( ci: GraphicsExportComponent; const (*var*) theFile: FSSpec ): ComponentResult; external name '_GraphicsExportSetOutputFile';
5502 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5503 
5504 
5505 {
5506  *  GraphicsExportGetOutputFile()
5507  *
5508  *  Availability:
5509  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5510  *    CarbonLib:        in CarbonLib 1.0.2 and later
5511  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5512  *    Windows:          in qtmlClient.lib 4.0 and later
5513  }
GraphicsExportGetOutputFilenull5514 function GraphicsExportGetOutputFile( ci: GraphicsExportComponent; var theFile: FSSpec ): ComponentResult; external name '_GraphicsExportGetOutputFile';
5515 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5516 
5517 
5518 {
5519  *  GraphicsExportSetOutputHandle()
5520  *
5521  *  Availability:
5522  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5523  *    CarbonLib:        in CarbonLib 1.0.2 and later
5524  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5525  *    Windows:          in qtmlClient.lib 4.0 and later
5526  }
GraphicsExportSetOutputHandlenull5527 function GraphicsExportSetOutputHandle( ci: GraphicsExportComponent; h: Handle ): ComponentResult; external name '_GraphicsExportSetOutputHandle';
5528 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5529 
5530 
5531 {
5532  *  GraphicsExportGetOutputHandle()
5533  *
5534  *  Availability:
5535  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5536  *    CarbonLib:        in CarbonLib 1.0.2 and later
5537  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5538  *    Windows:          in qtmlClient.lib 4.0 and later
5539  }
GraphicsExportGetOutputHandlenull5540 function GraphicsExportGetOutputHandle( ci: GraphicsExportComponent; var h: Handle ): ComponentResult; external name '_GraphicsExportGetOutputHandle';
5541 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5542 
5543 
5544 {
5545  *  GraphicsExportSetOutputOffsetAndMaxSize()
5546  *
5547  *  Availability:
5548  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5549  *    CarbonLib:        in CarbonLib 1.0.2 and later
5550  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5551  *    Windows:          in qtmlClient.lib 4.0 and later
5552  }
GraphicsExportSetOutputOffsetAndMaxSizenull5553 function GraphicsExportSetOutputOffsetAndMaxSize( ci: GraphicsExportComponent; offset: UNSIGNEDLONG; maxSize: UNSIGNEDLONG; truncateFile: Boolean ): ComponentResult; external name '_GraphicsExportSetOutputOffsetAndMaxSize';
5554 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5555 
5556 
5557 {
5558  *  GraphicsExportGetOutputOffsetAndMaxSize()
5559  *
5560  *  Availability:
5561  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5562  *    CarbonLib:        in CarbonLib 1.0.2 and later
5563  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5564  *    Windows:          in qtmlClient.lib 4.0 and later
5565  }
GraphicsExportGetOutputOffsetAndMaxSizenull5566 function GraphicsExportGetOutputOffsetAndMaxSize( ci: GraphicsExportComponent; var offset: UNSIGNEDLONG; var maxSize: UNSIGNEDLONG; var truncateFile: Boolean ): ComponentResult; external name '_GraphicsExportGetOutputOffsetAndMaxSize';
5567 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5568 
5569 
5570 {
5571  *  GraphicsExportSetOutputFileTypeAndCreator()
5572  *
5573  *  Availability:
5574  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5575  *    CarbonLib:        in CarbonLib 1.0.2 and later
5576  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5577  *    Windows:          in qtmlClient.lib 4.0 and later
5578  }
GraphicsExportSetOutputFileTypeAndCreatornull5579 function GraphicsExportSetOutputFileTypeAndCreator( ci: GraphicsExportComponent; fileType: OSType; fileCreator: OSType ): ComponentResult; external name '_GraphicsExportSetOutputFileTypeAndCreator';
5580 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5581 
5582 
5583 {
5584  *  GraphicsExportGetOutputFileTypeAndCreator()
5585  *
5586  *  Availability:
5587  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5588  *    CarbonLib:        in CarbonLib 1.0.2 and later
5589  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5590  *    Windows:          in qtmlClient.lib 4.0 and later
5591  }
GraphicsExportGetOutputFileTypeAndCreatornull5592 function GraphicsExportGetOutputFileTypeAndCreator( ci: GraphicsExportComponent; var fileType: OSType; var fileCreator: OSType ): ComponentResult; external name '_GraphicsExportGetOutputFileTypeAndCreator';
5593 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5594 
5595 
5596 { Used by format-specific graphics exporters: }
5597 {
5598  *  GraphicsExportWriteOutputData()
5599  *
5600  *  Availability:
5601  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5602  *    CarbonLib:        in CarbonLib 1.0.2 and later
5603  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5604  *    Windows:          in qtmlClient.lib 4.0 and later
5605  }
GraphicsExportWriteOutputDatanull5606 function GraphicsExportWriteOutputData( ci: GraphicsExportComponent; dataPtr: {const} UnivPtr; dataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportWriteOutputData';
5607 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5608 
5609 
5610 {
5611  *  GraphicsExportSetOutputMark()
5612  *
5613  *  Availability:
5614  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5615  *    CarbonLib:        in CarbonLib 1.0.2 and later
5616  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5617  *    Windows:          in qtmlClient.lib 4.0 and later
5618  }
GraphicsExportSetOutputMarknull5619 function GraphicsExportSetOutputMark( ci: GraphicsExportComponent; mark: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetOutputMark';
5620 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5621 
5622 
5623 {
5624  *  GraphicsExportGetOutputMark()
5625  *
5626  *  Availability:
5627  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5628  *    CarbonLib:        in CarbonLib 1.0.2 and later
5629  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5630  *    Windows:          in qtmlClient.lib 4.0 and later
5631  }
GraphicsExportGetOutputMarknull5632 function GraphicsExportGetOutputMark( ci: GraphicsExportComponent; var mark: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetOutputMark';
5633 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5634 
5635 
5636 {
5637  *  GraphicsExportReadOutputData()
5638  *
5639  *  Availability:
5640  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5641  *    CarbonLib:        in CarbonLib 1.0.2 and later
5642  *    Non-Carbon CFM:   in QuickTimeLib 4.0 and later
5643  *    Windows:          in qtmlClient.lib 4.0 and later
5644  }
GraphicsExportReadOutputDatanull5645 function GraphicsExportReadOutputData( ci: GraphicsExportComponent; dataPtr: UnivPtr; dataOffset: UNSIGNEDLONG; dataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportReadOutputData';
5646 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5647 
5648 
5649 { Allows embedded thumbnail creation, if supported. }
5650 {
5651  *  GraphicsExportSetThumbnailEnabled()
5652  *
5653  *  Availability:
5654  *    Mac OS X:         in version 10.1 and later in QuickTime.framework
5655  *    CarbonLib:        in CarbonLib 1.4 and later
5656  *    Non-Carbon CFM:   in QuickTimeLib 5.0.2 and later
5657  *    Windows:          in qtmlClient.lib 5.0.2 and later
5658  }
GraphicsExportSetThumbnailEnablednull5659 function GraphicsExportSetThumbnailEnabled( ci: GraphicsExportComponent; enableThumbnail: Boolean; maxThumbnailWidth: SIGNEDLONG; maxThumbnailHeight: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetThumbnailEnabled';
5660 (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
5661 
5662 
5663 {
5664  *  GraphicsExportGetThumbnailEnabled()
5665  *
5666  *  Availability:
5667  *    Mac OS X:         in version 10.1 and later in QuickTime.framework
5668  *    CarbonLib:        in CarbonLib 1.4 and later
5669  *    Non-Carbon CFM:   in QuickTimeLib 5.0.2 and later
5670  *    Windows:          in qtmlClient.lib 5.0.2 and later
5671  }
GraphicsExportGetThumbnailEnablednull5672 function GraphicsExportGetThumbnailEnabled( ci: GraphicsExportComponent; var thumbnailEnabled: Boolean; var maxThumbnailWidth: SIGNEDLONG; var maxThumbnailHeight: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetThumbnailEnabled';
5673 (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
5674 
5675 
5676 { Allows export of Exif files, if supported.  This disables Exif-incompatible settings such as grayscale JPEG and compressed TIFF, and enables export of Exif metadata. }
5677 {
5678  *  GraphicsExportSetExifEnabled()
5679  *
5680  *  Availability:
5681  *    Mac OS X:         in version 10.1 and later in QuickTime.framework
5682  *    CarbonLib:        in CarbonLib 1.4 and later
5683  *    Non-Carbon CFM:   in QuickTimeLib 5.0.2 and later
5684  *    Windows:          in qtmlClient.lib 5.0.2 and later
5685  }
GraphicsExportSetExifEnablednull5686 function GraphicsExportSetExifEnabled( ci: GraphicsExportComponent; enableExif: Boolean ): ComponentResult; external name '_GraphicsExportSetExifEnabled';
5687 (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
5688 
5689 
5690 {
5691  *  GraphicsExportGetExifEnabled()
5692  *
5693  *  Availability:
5694  *    Mac OS X:         in version 10.1 and later in QuickTime.framework
5695  *    CarbonLib:        in CarbonLib 1.4 and later
5696  *    Non-Carbon CFM:   in QuickTimeLib 5.0.2 and later
5697  *    Windows:          in qtmlClient.lib 5.0.2 and later
5698  }
GraphicsExportGetExifEnablednull5699 function GraphicsExportGetExifEnabled( ci: GraphicsExportComponent; var exifEnabled: Boolean ): ComponentResult; external name '_GraphicsExportGetExifEnabled';
5700 (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
5701 
5702 
5703 {$ifc TARGET_API_MAC_OSX}
5704 {
5705  *  GraphicsExportSetInputCGImage()
5706  *
5707  *  Availability:
5708  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
5709  *    CarbonLib:        not available
5710  *    Non-Carbon CFM:   not available
5711  }
GraphicsExportSetInputCGImagenull5712 function GraphicsExportSetInputCGImage( ci: GraphicsExportComponent; imageRef: CGImageRef ): ComponentResult; external name '_GraphicsExportSetInputCGImage';
5713 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
5714 
5715 
5716 {
5717  *  GraphicsExportGetInputCGImage()
5718  *
5719  *  Availability:
5720  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
5721  *    CarbonLib:        not available
5722  *    Non-Carbon CFM:   not available
5723  }
GraphicsExportGetInputCGImagenull5724 function GraphicsExportGetInputCGImage( ci: GraphicsExportComponent; var imageRefOut: CGImageRef ): ComponentResult; external name '_GraphicsExportGetInputCGImage';
5725 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
5726 
5727 
5728 {
5729  *  GraphicsExportSetInputCGBitmapContext()
5730  *
5731  *  Availability:
5732  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
5733  *    CarbonLib:        not available
5734  *    Non-Carbon CFM:   not available
5735  }
GraphicsExportSetInputCGBitmapContextnull5736 function GraphicsExportSetInputCGBitmapContext( ci: GraphicsExportComponent; bitmapContextRef: CGContextRef ): ComponentResult; external name '_GraphicsExportSetInputCGBitmapContext';
5737 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
5738 
5739 
5740 {
5741  *  GraphicsExportGetInputCGBitmapContext()
5742  *
5743  *  Availability:
5744  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
5745  *    CarbonLib:        not available
5746  *    Non-Carbon CFM:   not available
5747  }
GraphicsExportGetInputCGBitmapContextnull5748 function GraphicsExportGetInputCGBitmapContext( ci: GraphicsExportComponent; var bitmapContextRefOut: CGContextRef ): ComponentResult; external name '_GraphicsExportGetInputCGBitmapContext';
5749 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
5750 
5751 
5752 {$endc} {TARGET_API_MAC_OSX}
5753 
5754 {
5755  *  GraphicsExportSetFlags()
5756  *
5757  *  Availability:
5758  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
5759  *    CarbonLib:        not available
5760  *    Non-Carbon CFM:   not available
5761  }
GraphicsExportSetFlagsnull5762 function GraphicsExportSetFlags( ci: GraphicsExportComponent; flags: UInt32 ): ComponentResult; external name '_GraphicsExportSetFlags';
5763 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
5764 
5765 
5766 {
5767  *  GraphicsExportGetFlags()
5768  *
5769  *  Availability:
5770  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
5771  *    CarbonLib:        not available
5772  *    Non-Carbon CFM:   not available
5773  }
GraphicsExportGetFlagsnull5774 function GraphicsExportGetFlags( ci: GraphicsExportComponent; var flagsOut: UInt32 ): ComponentResult; external name '_GraphicsExportGetFlags';
5775 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
5776 
5777 
5778 type
5779 	ImageTranscoderComponent = ComponentInstance;
5780 const
5781 	ImageTranscodererComponentType = FourCharCode('imtc');
5782 
5783 
5784 {* These are ImageTranscoder procedures *}
5785 {
5786  *  ImageTranscoderBeginSequence()
5787  *
5788  *  Availability:
5789  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5790  *    CarbonLib:        in CarbonLib 1.0 and later
5791  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
5792  *    Windows:          in qtmlClient.lib 3.0 and later
5793  }
ImageTranscoderBeginSequencenull5794 function ImageTranscoderBeginSequence( itc: ImageTranscoderComponent; srcDesc: ImageDescriptionHandle; var dstDesc: ImageDescriptionHandle; data: UnivPtr; dataSize: SIGNEDLONG ): ComponentResult; external name '_ImageTranscoderBeginSequence';
5795 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5796 
5797 
5798 {
5799  *  ImageTranscoderConvert()
5800  *
5801  *  Availability:
5802  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5803  *    CarbonLib:        in CarbonLib 1.0 and later
5804  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
5805  *    Windows:          in qtmlClient.lib 3.0 and later
5806  }
ImageTranscoderConvertnull5807 function ImageTranscoderConvert( itc: ImageTranscoderComponent; srcData: UnivPtr; srcDataSize: SIGNEDLONG; var dstData: UnivPtr; var dstDataSize: SIGNEDLONG ): ComponentResult; external name '_ImageTranscoderConvert';
5808 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5809 
5810 
5811 {
5812  *  ImageTranscoderDisposeData()
5813  *
5814  *  Availability:
5815  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5816  *    CarbonLib:        in CarbonLib 1.0 and later
5817  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
5818  *    Windows:          in qtmlClient.lib 3.0 and later
5819  }
ImageTranscoderDisposeDatanull5820 function ImageTranscoderDisposeData( itc: ImageTranscoderComponent; dstData: UnivPtr ): ComponentResult; external name '_ImageTranscoderDisposeData';
5821 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5822 
5823 
5824 {
5825  *  ImageTranscoderEndSequence()
5826  *
5827  *  Availability:
5828  *    Mac OS X:         in version 10.0 and later in QuickTime.framework
5829  *    CarbonLib:        in CarbonLib 1.0 and later
5830  *    Non-Carbon CFM:   in QuickTimeLib 2.5 and later
5831  *    Windows:          in qtmlClient.lib 3.0 and later
5832  }
ImageTranscoderEndSequencenull5833 function ImageTranscoderEndSequence( itc: ImageTranscoderComponent ): ComponentResult; external name '_ImageTranscoderEndSequence';
5834 (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
5835 
5836 
5837 //#if (MAC_OS_X_VERSION_MAX_ALLOWED == MAC_OS_X_VERSION_10_2) || //!defined(kComponentPropertyListenerCollectionContextVersion)
5838 
5839 { MixedMode ProcInfo constants for component property calls }
5840 const
5841 	uppCallComponentGetComponentPropertyInfoProcInfo = $0003FFF0;
5842 	uppCallComponentGetComponentPropertyProcInfo = $0003FFF0;
5843 	uppCallComponentSetComponentPropertyProcInfo = $0000FFF0;
5844 	uppCallComponentAddComponentPropertyListenerProcInfo = $0000FFF0;
5845 	uppCallComponentRemoveComponentPropertyListenerProcInfo = $0000FFF0;
5846 
5847 
5848 { == CallComponentGetComponentPropertyInfo flags == }
5849 const
5850 	kComponentPropertyFlagCanSetLater = 1 shl 0;
5851 	kComponentPropertyFlagCanSetNow = 1 shl 1;
5852 	kComponentPropertyFlagCanGetLater = 1 shl 2;
5853 	kComponentPropertyFlagCanGetNow = 1 shl 3;
5854 	kComponentPropertyFlagHasExtendedInfo = 1 shl 4;
5855 	kComponentPropertyFlagValueMustBeReleased = 1 shl 5;
5856 	kComponentPropertyFlagValueIsCFTypeRef = 1 shl 6;
5857 	kComponentPropertyFlagGetBufferMustBeInitialized = 1 shl 7;
5858 	kComponentPropertyFlagWillNotifyListeners = 1 shl 8;
5859 
5860 
5861 type
5862 	ComponentPropertyClass = OSType;
5863 	ComponentPropertyClassPtr = ^ComponentPropertyClass;
5864 	ComponentPropertyID = OSType;
5865 	ComponentPropertyIDPtr = ^ComponentPropertyID;
5866 	ComponentValueType = OSType;
5867 	ComponentValueTypePtr = ^ComponentValueType;
5868 	ComponentValuePtr = UnivPtr;
5869 	ComponentValuePtrPtr = ^ComponentValuePtr;
5870 	ConstComponentValuePtr = {const} UnivPtr;
5871 	ConstComponentValuePtrPtr = ^ConstComponentValuePtr;
5872 
5873 { == standard property class constants == }
5874 const
5875 	kComponentPropertyClassPropertyInfo = FourCharCode('pnfo'); { property info class }
5876                                         { property info property IDs }
5877 	kComponentPropertyInfoList = FourCharCode('list'); { array of ComponentPropertyInfo (CFData), one for each property }
5878 	kComponentPropertyCacheSeed = FourCharCode('seed'); { property cache seed value }
5879 	kComponentPropertyCacheFlags = FourCharCode('flgs'); { see kComponentPropertyCache flags }
5880 	kComponentPropertyExtendedInfo = FourCharCode('meta'); { CFDictionary with extended property information}
5881 
5882 
5883 { values for kComponentPropertyClassPropertyInfo/kComponentPropertyCacheFlags standard component property }
5884 const
5885 	kComponentPropertyCacheFlagNotPersistent = 1 shl 0; { property metadata should not be saved in persistent cache}
5886 	kComponentPropertyCacheFlagIsDynamic = 1 shl 1; { property metadata should not cached at all}
5887 
5888 
5889 type
5890 	ComponentPropertyInfoPtr = ^ComponentPropertyInfo;
5891 	ComponentPropertyInfo = record
5892 		propClass: ComponentPropertyClass;
5893 		propID: ComponentPropertyID;
5894 		propType: ComponentValueType;
5895 		propSize: ByteCount;
5896 		propFlags: UInt32;
5897 	end;
5898 
5899 
5900 //#endif  { #MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED }
5901 
5902 
5903 { == "QT" prefixed Component Property calls == }
5904 
5905 type
5906 	QTComponentPropertyListenerProcPtr = procedure( inComponent: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inUserData: UnivPtr );
5907 	QTComponentPropertyListenerUPP = QTComponentPropertyListenerProcPtr;
5908 
5909 {
5910  *  QTGetComponentPropertyInfo()
5911  *
5912  *  Availability:
5913  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
5914  *    CarbonLib:        not available
5915  *    Non-Carbon CFM:   not available
5916  }
QTGetComponentPropertyInfonull5917 function QTGetComponentPropertyInfo( inComponent: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; outPropType: ComponentValueTypePtr { can be NULL }; outPropValueSize: ByteCountPtr { can be NULL }; outPropertyFlags: UInt32Ptr { can be NULL } ): ComponentResult; external name '_QTGetComponentPropertyInfo';
5918 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
5919 
5920 
5921 {
5922  *  QTGetComponentProperty()
5923  *
5924  *  Availability:
5925  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
5926  *    CarbonLib:        not available
5927  *    Non-Carbon CFM:   not available
5928  }
QTGetComponentPropertynull5929 function QTGetComponentProperty( inComponent: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): ComponentResult; external name '_QTGetComponentProperty';
5930 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
5931 
5932 
5933 {
5934  *  QTSetComponentProperty()
5935  *
5936  *  Availability:
5937  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
5938  *    CarbonLib:        not available
5939  *    Non-Carbon CFM:   not available
5940  }
QTSetComponentPropertynull5941 function QTSetComponentProperty( inComponent: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): ComponentResult; external name '_QTSetComponentProperty';
5942 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
5943 
5944 
5945 {
5946  *  QTAddComponentPropertyListener()
5947  *
5948  *  Availability:
5949  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
5950  *    CarbonLib:        not available
5951  *    Non-Carbon CFM:   not available
5952  }
QTAddComponentPropertyListenernull5953 function QTAddComponentPropertyListener( inComponent: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inDispatchProc: QTComponentPropertyListenerUPP; inUserData: UnivPtr { can be NULL } ): ComponentResult; external name '_QTAddComponentPropertyListener';
5954 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
5955 
5956 
5957 {
5958  *  QTRemoveComponentPropertyListener()
5959  *
5960  *  Availability:
5961  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
5962  *    CarbonLib:        not available
5963  *    Non-Carbon CFM:   not available
5964  }
QTRemoveComponentPropertyListenernull5965 function QTRemoveComponentPropertyListener( inComponent: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inDispatchProc: QTComponentPropertyListenerUPP; inUserData: UnivPtr { can be NULL } ): ComponentResult; external name '_QTRemoveComponentPropertyListener';
5966 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
5967 
5968 
5969 { == "QT" prefixed Component Property Listener helpers == }
5970 
5971 
5972 type
5973   QTComponentPropertyListenerCollectionContextPtr = ^QTComponentPropertyListenerCollectionContext;
5974 	QTComponentPropertyListenersRef = CFTypeRef;
inCollectionnull5975 	QTComponentPropertyListenerFilterProcPtr = function( inCollection: QTComponentPropertyListenersRef; inCollectionContext: QTComponentPropertyListenerCollectionContextPtr { ptr to avoid circular reference with QTComponentPropertyListenerCollectionContext}; inNotifier: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inListenerCallbackProc: QTComponentPropertyListenerUPP; inListenerProcRefCon: {const} UnivPtr; inFilterProcRefCon: {const} UnivPtr ): Boolean;
5976 	QTComponentPropertyListenerFilterUPP = QTComponentPropertyListenerFilterProcPtr;
5977 	QTComponentPropertyListenerCollectionContext = record
5978 		version: UInt32;                { struct version }
5979 		filterProcUPP: QTComponentPropertyListenerFilterUPP;
5980 		filterProcData: UnivPtr;
5981 	end;
5982 const
5983 	kQTComponentPropertyListenerCollectionContextVersion = 1;
5984 
5985 {
5986  *  NewQTComponentPropertyListenerUPP()
5987  *
5988  *  Availability:
5989  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
5990  *    CarbonLib:        not available
5991  *    Non-Carbon CFM:   available as macro/inline
5992  }
NewQTComponentPropertyListenerUPPnull5993 function NewQTComponentPropertyListenerUPP( userRoutine: QTComponentPropertyListenerProcPtr ): QTComponentPropertyListenerUPP; external name '_NewQTComponentPropertyListenerUPP';
5994 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
5995 
5996 {
5997  *  NewQTComponentPropertyListenerFilterUPP()
5998  *
5999  *  Availability:
6000  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
6001  *    CarbonLib:        not available
6002  *    Non-Carbon CFM:   available as macro/inline
6003  }
NewQTComponentPropertyListenerFilterUPPnull6004 function NewQTComponentPropertyListenerFilterUPP( userRoutine: QTComponentPropertyListenerFilterProcPtr ): QTComponentPropertyListenerFilterUPP; external name '_NewQTComponentPropertyListenerFilterUPP';
6005 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
6006 
6007 {
6008  *  DisposeQTComponentPropertyListenerUPP()
6009  *
6010  *  Availability:
6011  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
6012  *    CarbonLib:        not available
6013  *    Non-Carbon CFM:   available as macro/inline
6014  }
6015 procedure DisposeQTComponentPropertyListenerUPP( userUPP: QTComponentPropertyListenerUPP ); external name '_DisposeQTComponentPropertyListenerUPP';
6016 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
6017 
6018 {
6019  *  DisposeQTComponentPropertyListenerFilterUPP()
6020  *
6021  *  Availability:
6022  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
6023  *    CarbonLib:        not available
6024  *    Non-Carbon CFM:   available as macro/inline
6025  }
6026 procedure DisposeQTComponentPropertyListenerFilterUPP( userUPP: QTComponentPropertyListenerFilterUPP ); external name '_DisposeQTComponentPropertyListenerFilterUPP';
6027 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
6028 
6029 {
6030  *  InvokeQTComponentPropertyListenerUPP()
6031  *
6032  *  Availability:
6033  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
6034  *    CarbonLib:        not available
6035  *    Non-Carbon CFM:   available as macro/inline
6036  }
6037 procedure InvokeQTComponentPropertyListenerUPP( inComponent: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inUserData: UnivPtr; userUPP: QTComponentPropertyListenerUPP ); external name '_InvokeQTComponentPropertyListenerUPP';
6038 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
6039 
6040 {
6041  *  InvokeQTComponentPropertyListenerFilterUPP()
6042  *
6043  *  Availability:
6044  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
6045  *    CarbonLib:        not available
6046  *    Non-Carbon CFM:   available as macro/inline
6047  }
InvokeQTComponentPropertyListenerFilterUPPnull6048 function InvokeQTComponentPropertyListenerFilterUPP( inCollection: QTComponentPropertyListenersRef; const (*var*) inCollectionContext: QTComponentPropertyListenerCollectionContext; inNotifier: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inListenerCallbackProc: QTComponentPropertyListenerUPP; inListenerProcRefCon: {const} UnivPtr; inFilterProcRefCon: {const} UnivPtr; userUPP: QTComponentPropertyListenerFilterUPP ): Boolean; external name '_InvokeQTComponentPropertyListenerFilterUPP';
6049 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
6050 
6051 {
6052  *  QTComponentPropertyListenerCollectionCreate()
6053  *
6054  *  Summary:
6055  *    Create a collection to use with the functions
6056  *    ComponentPropertyListenerCollectionAddListener,
6057  *    ComponentPropertyListenerCollectionRemoveListener,
6058  *    ComponentPropertyListenerCollectionNotifyListeners,
6059  *    ComponentPropertyListenerCollectionIsEmpty, and
6060  *    ComponentPropertyListenerCollectionHasListenersForProperty.
6061  *
6062  *  Parameters:
6063  *
6064  *    outCollection:
6065  *      Returns the new, empty, listener collection.
6066  *
6067  *    inAllocator:
6068  *      Allocator used to create the collection and it's contents.
6069  *
6070  *    inContext:
6071  *      The listener collection context. May be NULL.  A copy of the
6072  *      contents of the structure is made, so a pointer to a structure
6073  *      on the stack can be passed.
6074  *
6075  *  Availability:
6076  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
6077  *    CarbonLib:        not available
6078  *    Non-Carbon CFM:   not available
6079  }
QTComponentPropertyListenerCollectionCreatenull6080 function QTComponentPropertyListenerCollectionCreate( inAllocator: CFAllocatorRef { can be NULL }; {const} inContext: QTComponentPropertyListenerCollectionContextPtr { can be NULL }; var outCollection: QTComponentPropertyListenersRef ): OSStatus; external name '_QTComponentPropertyListenerCollectionCreate';
6081 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
6082 
6083 
6084 {
6085  *  QTComponentPropertyListenerCollectionAddListener()
6086  *
6087  *  Summary:
6088  *    Add a listener callback for the specified property class and ID
6089  *    to a property listener collection.
6090  *
6091  *  Parameters:
6092  *
6093  *    inCollection:
6094  *      The property listener collection.
6095  *
6096  *    inPropClass:
6097  *      The property class.
6098  *
6099  *    inPropID:
6100  *      The property ID.
6101  *
6102  *    inListenerProc:
6103  *      The property listener callback function.
6104  *
6105  *    inListenerProcRefCon:
6106  *      The data parameter to pass to the listener callback function.
6107  *
6108  *  Availability:
6109  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
6110  *    CarbonLib:        not available
6111  *    Non-Carbon CFM:   not available
6112  }
QTComponentPropertyListenerCollectionAddListenernull6113 function QTComponentPropertyListenerCollectionAddListener( inCollection: QTComponentPropertyListenersRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inListenerProc: QTComponentPropertyListenerUPP; inListenerProcRefCon: {const} UnivPtr ): OSStatus; external name '_QTComponentPropertyListenerCollectionAddListener';
6114 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
6115 
6116 
6117 {
6118  *  QTComponentPropertyListenerCollectionRemoveListener()
6119  *
6120  *  Summary:
6121  *    Remove a listener callback for the specified property class and
6122  *    ID from a property listener collection.
6123  *
6124  *  Parameters:
6125  *
6126  *    inCollection:
6127  *      The property listener collection.
6128  *
6129  *    inPropClass:
6130  *      The property class.
6131  *
6132  *    inPropID:
6133  *      The property ID.
6134  *
6135  *    inListenerProc:
6136  *      The property listener callback function.
6137  *
6138  *    inListenerProcRefCon:
6139  *      The data parameter to pass to the listener callback function.
6140  *
6141  *  Availability:
6142  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
6143  *    CarbonLib:        not available
6144  *    Non-Carbon CFM:   not available
6145  }
QTComponentPropertyListenerCollectionRemoveListenernull6146 function QTComponentPropertyListenerCollectionRemoveListener( inCollection: QTComponentPropertyListenersRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inListenerProc: QTComponentPropertyListenerUPP; inListenerProcRefCon: {const} UnivPtr ): OSStatus; external name '_QTComponentPropertyListenerCollectionRemoveListener';
6147 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
6148 
6149 
6150 {
6151  *  QTComponentPropertyListenerCollectionNotifyListeners()
6152  *
6153  *  Summary:
6154  *    Call all listener callbacks in the collection registered for the
6155  *    specified property class and ID.
6156  *
6157  *  Discussion:
6158  *    If the "filterProcUPP" in the collection's context is non-NULL,
6159  *    the filter function will be called before each registered
6160  *    listener that matches the specified property class and ID. If the
6161  *    filter function return false, the listener proc will not be
6162  *    called. This is intended to allow a component to change the
6163  *    calling semantics (call another thread, etc), to use a different
6164  *    listener callback signature, etc.
6165  *
6166  *  Parameters:
6167  *
6168  *    inCollection:
6169  *      The property listener collection.
6170  *
6171  *    inNotifier:
6172  *      The calling ComponentInstance.
6173  *
6174  *    inPropClass:
6175  *      The property class.
6176  *
6177  *    inPropID:
6178  *      The property ID.
6179  *
6180  *    inFilterProcRefCon:
6181  *      The data parameter to pass to the filter function.
6182  *
6183  *    inFlags:
6184  *      Flags.  Must be set to 0.
6185  *
6186  *  Availability:
6187  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
6188  *    CarbonLib:        not available
6189  *    Non-Carbon CFM:   not available
6190  }
QTComponentPropertyListenerCollectionNotifyListenersnull6191 function QTComponentPropertyListenerCollectionNotifyListeners( inCollection: QTComponentPropertyListenersRef; inNotifier: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inFilterProcRefCon: {const} UnivPtr { can be NULL }; inFlags: UInt32 ): OSStatus; external name '_QTComponentPropertyListenerCollectionNotifyListeners';
6192 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
6193 
6194 
6195 {
6196  *  QTComponentPropertyListenerCollectionIsEmpty()
6197  *
6198  *  Summary:
6199  *    Return true if the listener collection is empty.
6200  *
6201  *  Parameters:
6202  *
6203  *    inCollection:
6204  *      The property listener collection.
6205  *
6206  *  Availability:
6207  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
6208  *    CarbonLib:        not available
6209  *    Non-Carbon CFM:   not available
6210  }
QTComponentPropertyListenerCollectionIsEmptynull6211 function QTComponentPropertyListenerCollectionIsEmpty( inCollection: QTComponentPropertyListenersRef ): Boolean; external name '_QTComponentPropertyListenerCollectionIsEmpty';
6212 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
6213 
6214 
6215 {
6216  *  QTComponentPropertyListenerCollectionHasListenersForProperty()
6217  *
6218  *  Summary:
6219  *    Returns true if there are any listeners registered for the
6220  *    specified property class and ID.
6221  *
6222  *  Parameters:
6223  *
6224  *    inCollection:
6225  *      The property listener collection.
6226  *
6227  *    inPropClass:
6228  *      The property class.
6229  *
6230  *    inPropID:
6231  *      The property ID.
6232  *
6233  *  Availability:
6234  *    Mac OS X:         in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
6235  *    CarbonLib:        not available
6236  *    Non-Carbon CFM:   not available
6237  }
QTComponentPropertyListenerCollectionHasListenersForPropertynull6238 function QTComponentPropertyListenerCollectionHasListenersForProperty( inCollection: QTComponentPropertyListenersRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID ): Boolean; external name '_QTComponentPropertyListenerCollectionHasListenersForProperty';
6239 (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
6240 
6241 
6242 { DRM properties}
6243 const
6244 	kQTPropertyClass_DRM = FourCharCode('drm ');
6245 
6246 const
6247 	kQTDRMPropertyID_InteractWithUser = FourCharCode('shui'); { Boolean*}
6248 	kQTDRMPropertyID_IsProtected = FourCharCode('prot'); { Boolean*}
6249 	kQTDRMPropertyID_IsAuthorized = FourCharCode('auth'); { Boolean*}
6250 
6251 
6252 { UPP call backs }
6253 
6254 { selectors for component calls }
6255 const
6256 	kGraphicsImportSetDataReferenceSelect = $0001;
6257 	kGraphicsImportGetDataReferenceSelect = $0002;
6258 	kGraphicsImportSetDataFileSelect = $0003;
6259 	kGraphicsImportGetDataFileSelect = $0004;
6260 	kGraphicsImportSetDataHandleSelect = $0005;
6261 	kGraphicsImportGetDataHandleSelect = $0006;
6262 	kGraphicsImportGetImageDescriptionSelect = $0007;
6263 	kGraphicsImportGetDataOffsetAndSizeSelect = $0008;
6264 	kGraphicsImportReadDataSelect = $0009;
6265 	kGraphicsImportSetClipSelect = $000A;
6266 	kGraphicsImportGetClipSelect = $000B;
6267 	kGraphicsImportSetSourceRectSelect = $000C;
6268 	kGraphicsImportGetSourceRectSelect = $000D;
6269 	kGraphicsImportGetNaturalBoundsSelect = $000E;
6270 	kGraphicsImportDrawSelect = $000F;
6271 	kGraphicsImportSetGWorldSelect = $0010;
6272 	kGraphicsImportGetGWorldSelect = $0011;
6273 	kGraphicsImportSetMatrixSelect = $0012;
6274 	kGraphicsImportGetMatrixSelect = $0013;
6275 	kGraphicsImportSetBoundsRectSelect = $0014;
6276 	kGraphicsImportGetBoundsRectSelect = $0015;
6277 	kGraphicsImportSaveAsPictureSelect = $0016;
6278 	kGraphicsImportSetGraphicsModeSelect = $0017;
6279 	kGraphicsImportGetGraphicsModeSelect = $0018;
6280 	kGraphicsImportSetQualitySelect = $0019;
6281 	kGraphicsImportGetQualitySelect = $001A;
6282 	kGraphicsImportSaveAsQuickTimeImageFileSelect = $001B;
6283 	kGraphicsImportSetDataReferenceOffsetAndLimitSelect = $001C;
6284 	kGraphicsImportGetDataReferenceOffsetAndLimitSelect = $001D;
6285 	kGraphicsImportGetAliasedDataReferenceSelect = $001E;
6286 	kGraphicsImportValidateSelect = $001F;
6287 	kGraphicsImportGetMetaDataSelect = $0020;
6288 	kGraphicsImportGetMIMETypeListSelect = $0021;
6289 	kGraphicsImportDoesDrawAllPixelsSelect = $0022;
6290 	kGraphicsImportGetAsPictureSelect = $0023;
6291 	kGraphicsImportExportImageFileSelect = $0024;
6292 	kGraphicsImportGetExportImageTypeListSelect = $0025;
6293 	kGraphicsImportDoExportImageFileDialogSelect = $0026;
6294 	kGraphicsImportGetExportSettingsAsAtomContainerSelect = $0027;
6295 	kGraphicsImportSetExportSettingsFromAtomContainerSelect = $0028;
6296 	kGraphicsImportSetProgressProcSelect = $0029;
6297 	kGraphicsImportGetProgressProcSelect = $002A;
6298 	kGraphicsImportGetImageCountSelect = $002B;
6299 	kGraphicsImportSetImageIndexSelect = $002C;
6300 	kGraphicsImportGetImageIndexSelect = $002D;
6301 	kGraphicsImportGetDataOffsetAndSize64Select = $002E;
6302 	kGraphicsImportReadData64Select = $002F;
6303 	kGraphicsImportSetDataReferenceOffsetAndLimit64Select = $0030;
6304 	kGraphicsImportGetDataReferenceOffsetAndLimit64Select = $0031;
6305 	kGraphicsImportGetDefaultMatrixSelect = $0032;
6306 	kGraphicsImportGetDefaultClipSelect = $0033;
6307 	kGraphicsImportGetDefaultGraphicsModeSelect = $0034;
6308 	kGraphicsImportGetDefaultSourceRectSelect = $0035;
6309 	kGraphicsImportGetColorSyncProfileSelect = $0036;
6310 	kGraphicsImportSetDestRectSelect = $0037;
6311 	kGraphicsImportGetDestRectSelect = $0038;
6312 	kGraphicsImportSetFlagsSelect = $0039;
6313 	kGraphicsImportGetFlagsSelect = $003A;
6314 	kGraphicsImportGetBaseDataOffsetAndSize64Select = $003D;
6315 	kGraphicsImportSetImageIndexToThumbnailSelect = $003E;
6316 	kGraphicsImportCreateCGImageSelect = $003F;
6317 	kGraphicsImportSaveAsPictureToDataRefSelect = $0040;
6318 	kGraphicsImportSaveAsQuickTimeImageFileToDataRefSelect = $0041;
6319 	kGraphicsImportExportImageFileToDataRefSelect = $0042;
6320 	kGraphicsImportDoExportImageFileToDataRefDialogSelect = $0043;
6321 	kGraphicsImportSetOverrideSourceColorSyncProfileRefSelect = $0044;
6322 	kGraphicsImportGetOverrideSourceColorSyncProfileRefSelect = $0045;
6323 	kGraphicsImportSetDestinationColorSyncProfileRefSelect = $0046;
6324 	kGraphicsImportGetDestinationColorSyncProfileRefSelect = $0047;
6325 	kGraphicsImportWillUseColorMatchingSelect = $0048;
6326 	kGraphicsImportGetGenericColorSyncProfileSelect = $0049;
6327 	kGraphicsImportSetReturnGenericColorSyncProfileSelect = $004A;
6328 	kGraphicsImportGetReturnGenericColorSyncProfileSelect = $004B;
6329 	kGraphicsExportDoExportSelect = $0001;
6330 	kGraphicsExportCanTranscodeSelect = $0002;
6331 	kGraphicsExportDoTranscodeSelect = $0003;
6332 	kGraphicsExportCanUseCompressorSelect = $0004;
6333 	kGraphicsExportDoUseCompressorSelect = $0005;
6334 	kGraphicsExportDoStandaloneExportSelect = $0006;
6335 	kGraphicsExportGetDefaultFileTypeAndCreatorSelect = $0007;
6336 	kGraphicsExportGetDefaultFileNameExtensionSelect = $0008;
6337 	kGraphicsExportGetMIMETypeListSelect = $0009;
6338 	kGraphicsExportRequestSettingsSelect = $000B;
6339 	kGraphicsExportSetSettingsFromAtomContainerSelect = $000C;
6340 	kGraphicsExportGetSettingsAsAtomContainerSelect = $000D;
6341 	kGraphicsExportGetSettingsAsTextSelect = $000E;
6342 	kGraphicsExportSetDontRecompressSelect = $000F;
6343 	kGraphicsExportGetDontRecompressSelect = $0010;
6344 	kGraphicsExportSetInterlaceStyleSelect = $0011;
6345 	kGraphicsExportGetInterlaceStyleSelect = $0012;
6346 	kGraphicsExportSetMetaDataSelect = $0013;
6347 	kGraphicsExportGetMetaDataSelect = $0014;
6348 	kGraphicsExportSetTargetDataSizeSelect = $0015;
6349 	kGraphicsExportGetTargetDataSizeSelect = $0016;
6350 	kGraphicsExportSetCompressionMethodSelect = $0017;
6351 	kGraphicsExportGetCompressionMethodSelect = $0018;
6352 	kGraphicsExportSetCompressionQualitySelect = $0019;
6353 	kGraphicsExportGetCompressionQualitySelect = $001A;
6354 	kGraphicsExportSetResolutionSelect = $001B;
6355 	kGraphicsExportGetResolutionSelect = $001C;
6356 	kGraphicsExportSetDepthSelect = $001D;
6357 	kGraphicsExportGetDepthSelect = $001E;
6358 	kGraphicsExportSetColorSyncProfileSelect = $0021;
6359 	kGraphicsExportGetColorSyncProfileSelect = $0022;
6360 	kGraphicsExportSetProgressProcSelect = $0023;
6361 	kGraphicsExportGetProgressProcSelect = $0024;
6362 	kGraphicsExportSetInputDataReferenceSelect = $0025;
6363 	kGraphicsExportGetInputDataReferenceSelect = $0026;
6364 	kGraphicsExportSetInputFileSelect = $0027;
6365 	kGraphicsExportGetInputFileSelect = $0028;
6366 	kGraphicsExportSetInputHandleSelect = $0029;
6367 	kGraphicsExportGetInputHandleSelect = $002A;
6368 	kGraphicsExportSetInputPtrSelect = $002B;
6369 	kGraphicsExportGetInputPtrSelect = $002C;
6370 	kGraphicsExportSetInputGraphicsImporterSelect = $002D;
6371 	kGraphicsExportGetInputGraphicsImporterSelect = $002E;
6372 	kGraphicsExportSetInputPictureSelect = $002F;
6373 	kGraphicsExportGetInputPictureSelect = $0030;
6374 	kGraphicsExportSetInputGWorldSelect = $0031;
6375 	kGraphicsExportGetInputGWorldSelect = $0032;
6376 	kGraphicsExportSetInputPixmapSelect = $0033;
6377 	kGraphicsExportGetInputPixmapSelect = $0034;
6378 	kGraphicsExportSetInputOffsetAndLimitSelect = $0035;
6379 	kGraphicsExportGetInputOffsetAndLimitSelect = $0036;
6380 	kGraphicsExportMayExporterReadInputDataSelect = $0037;
6381 	kGraphicsExportGetInputDataSizeSelect = $0038;
6382 	kGraphicsExportReadInputDataSelect = $0039;
6383 	kGraphicsExportGetInputImageDescriptionSelect = $003A;
6384 	kGraphicsExportGetInputImageDimensionsSelect = $003B;
6385 	kGraphicsExportGetInputImageDepthSelect = $003C;
6386 	kGraphicsExportDrawInputImageSelect = $003D;
6387 	kGraphicsExportSetOutputDataReferenceSelect = $003E;
6388 	kGraphicsExportGetOutputDataReferenceSelect = $003F;
6389 	kGraphicsExportSetOutputFileSelect = $0040;
6390 	kGraphicsExportGetOutputFileSelect = $0041;
6391 	kGraphicsExportSetOutputHandleSelect = $0042;
6392 	kGraphicsExportGetOutputHandleSelect = $0043;
6393 	kGraphicsExportSetOutputOffsetAndMaxSizeSelect = $0044;
6394 	kGraphicsExportGetOutputOffsetAndMaxSizeSelect = $0045;
6395 	kGraphicsExportSetOutputFileTypeAndCreatorSelect = $0046;
6396 	kGraphicsExportGetOutputFileTypeAndCreatorSelect = $0047;
6397 	kGraphicsExportWriteOutputDataSelect = $0048;
6398 	kGraphicsExportSetOutputMarkSelect = $0049;
6399 	kGraphicsExportGetOutputMarkSelect = $004A;
6400 	kGraphicsExportReadOutputDataSelect = $004B;
6401 	kGraphicsExportSetThumbnailEnabledSelect = $004C;
6402 	kGraphicsExportGetThumbnailEnabledSelect = $004D;
6403 	kGraphicsExportSetExifEnabledSelect = $004E;
6404 	kGraphicsExportGetExifEnabledSelect = $004F;
6405 	kGraphicsExportSetInputCGImageSelect = $0050;
6406 	kGraphicsExportGetInputCGImageSelect = $0051;
6407 	kGraphicsExportSetInputCGBitmapContextSelect = $0052;
6408 	kGraphicsExportGetInputCGBitmapContextSelect = $0053;
6409 	kGraphicsExportSetFlagsSelect = $0054;
6410 	kGraphicsExportGetFlagsSelect = $0055;
6411 	kImageTranscoderBeginSequenceSelect = $0001;
6412 	kImageTranscoderConvertSelect = $0002;
6413 	kImageTranscoderDisposeDataSelect = $0003;
6414 	kImageTranscoderEndSequenceSelect = $0004;
6415 	kQTGetComponentPropertyInfoSelect = -11;
6416 	kQTGetComponentPropertySelect = -12;
6417 	kQTSetComponentPropertySelect = -13;
6418 	kQTAddComponentPropertyListenerSelect = -14;
6419 	kQTRemoveComponentPropertyListenerSelect = -15;
6420 { Aperture modes }
6421 
6422 {
6423  *  Summary:
6424  *    Aperture modes
6425  *
6426  *  Discussion:
6427  *    You can set the aperture mode property on a movie to indicate
6428  *    whether aspect ratio and clean aperture correction should be
6429  *    performed (kQTPropertyClass_Visual /
6430  *    kQTVisualPropertyID_ApertureMode). When a movie is in clean,
6431  *    production or encoded pixels aperture mode, each track's
6432  *    dimensions are overriden by special dimensions for that mode. The
6433  *    original track dimensions are preserved and can be restored by
6434  *    setting the movie into classic aperture mode. Aperture modes are
6435  *    not saved in movies.
6436  *    You can set the aperture mode property on a decompression session
6437  *    options object to indicate whether pixel buffers should be tagged
6438  *    to enable aspect ratio and clean aperture correction
6439  *    (kQTPropertyClass_ICMDecompressionSessionOptions /
6440  *    kICMDecompressionSessionOptionsPropertyID_ApertureMode).
6441  }
6442 const
6443 {
6444    * An aperture mode which gives compatibility with behavior in
6445    * QuickTime 7.0.x and earlier.
6446    * A movie in classic aperture mode uses track dimensions as set in
6447    * NewMovieTrack and SetTrackDimensions.
6448    * A decompression session in classic aperture mode does not set the
6449    * clean aperture or pixel aspect ratio attachments on emitted pixel
6450    * buffers.
6451    * Movies default to classic aperture mode. If you call
6452    * SetTrackDimensions on a track, the movie is automatically switched
6453    * into classic aperture mode.
6454    }
6455 	kQTApertureMode_Classic = FourCharCode('clas');
6456 
6457   {
6458    * An aperture mode for general display.
6459    * Where possible, video will be displayed at the correct pixel
6460    * aspect ratio, trimmed to the clean aperture. A movie in clean
6461    * aperture mode sets each track's dimensions to match its
6462    * kQTVisualPropertyID_CleanApertureDimensions.
6463    * A decompression session in clean aperture mode sets the clean
6464    * aperture and pixel aspect ratio attachments on emitted pixel
6465    * buffers based on the image description.
6466    }
6467 	kQTApertureMode_CleanAperture = FourCharCode('clea');
6468 
6469   {
6470    * An aperture mode for modal use in authoring applications.
6471    *  Where possible, video will be displayed at the correct pixel
6472    * aspect ratio, but without trimming to the clean aperture so that
6473    * the edge processing region can be viewed. A movie in production
6474    * aperture mode sets each track's dimensions to match its
6475    * kQTVisualPropertyID_ProductionApertureDimensions.
6476    * A decompression session in production aperture mode sets the pixel
6477    * aspect ratio attachments on emitted pixel buffers based on the
6478    * image description.
6479    }
6480 	kQTApertureMode_ProductionAperture = FourCharCode('prod');
6481 
6482   {
6483    * An aperture mode for technical use.
6484    * Displays all encoded pixels with no aspect ratio or clean aperture
6485    * compensation. A movie in encoded pixels aperture mode sets each
6486    * track's dimensions to match its
6487    * kQTVisualPropertyID_EncodedPixelsDimensions.
6488    * A decompression session in encoded pixels aperture mode does not
6489    * set the clean aperture or pixel aspect ratio attachments on
6490    * emitted pixel buffers.
6491    }
6492 	kQTApertureMode_EncodedPixels = FourCharCode('enco');
6493 
6494 { Property interface for Image Descriptions }
6495 
6496 {
6497  *  Summary:
6498  *    Properties of image descriptions.
6499  }
6500 const
6501 {
6502    * Class identifier for image description properties.
6503    }
6504 	kQTPropertyClass_ImageDescription = FourCharCode('idsc');
6505 
6506   {
6507    * The width of the encoded image. Usually, but not always, this is
6508    * the ImageDescription's width field.
6509    }
6510 	kICMImageDescriptionPropertyID_EncodedWidth = FourCharCode('encw'); { SInt32, Read/Write }
6511 
6512   {
6513    * The height of the encoded image. Usually, but not always, this is
6514    * the ImageDescription's height field.
6515    }
6516 	kICMImageDescriptionPropertyID_EncodedHeight = FourCharCode('ench'); { SInt32, Read/Write }
6517 
6518   {
6519    * Describes the clean aperture of the buffer. If not specified
6520    * explicitly in the image description, the default clean aperture
6521    * (full encoded width and height) will be returned.
6522    }
6523 	kICMImageDescriptionPropertyID_CleanAperture = FourCharCode('clap'); { Native-endian CleanApertureImageDescriptionExtension, Read/Write }
6524 
6525   {
6526    * Describes the pixel aspect ratio. If not specified explicitly in
6527    * the image description, a square (1:1) pixel aspect ratio will be
6528    * returned.
6529    }
6530 	kICMImageDescriptionPropertyID_PixelAspectRatio = FourCharCode('pasp'); { Native-endian PixelAspectRatioImageDescriptionExtension, Read/Write }
6531 
6532   {
6533    * Dimensions at which the image could be displayed on a square-pixel
6534    * display, generally calculated using the clean aperture and pixel
6535    * aspect ratio.
6536    * Note that this value is returned as a FixedPoint; the width and
6537    * height can also be read separately as rounded SInt32s via
6538    * kICMImageDescriptionPropertyID_CleanApertureDisplayWidth and
6539    * kICMImageDescriptionPropertyID_CleanApertureDisplayHeight.
6540    }
6541 	kICMImageDescriptionPropertyID_CleanApertureDisplayDimensions = FourCharCode('cadi'); { FixedPoint, Read }
6542 
6543   {
6544    * Dimensions at which the image could be displayed on a square-pixel
6545    * display, disregarding any clean aperture but honoring the pixel
6546    * aspect ratio. This may be useful for authoring applications that
6547    * want to expose the edge processing region. For general viewing,
6548    * use kICMImageDescriptionPropertyID_CleanApertureDimensions
6549    * instead.
6550    * Note that this value is returned as a FixedPoint; the width and
6551    * height can also be read separately as rounded SInt32s via
6552    * kICMImageDescriptionPropertyID_ProductionApertureDisplayWidth and
6553    * kICMImageDescriptionPropertyID_ProductionApertureDisplayHeight.
6554    }
6555 	kICMImageDescriptionPropertyID_ProductionApertureDisplayDimensions = FourCharCode('prdi'); { FixedPoint, Read }
6556 
6557   {
6558    * Dimensions of the encoded image.
6559    * Note that this value is returned as a FixedPoint for convenience;
6560    * the width and height can also be read separately as SInt32s via
6561    * kICMImageDescriptionPropertyID_EncodedWidth and
6562    * kICMImageDescriptionPropertyID_EncodedHeight.
6563    }
6564 	kICMImageDescriptionPropertyID_EncodedPixelsDimensions = FourCharCode('endi'); { FixedPoint, Read }
6565 
6566   {
6567    * A width at which the image could be displayed on a square-pixel
6568    * display, possibly calculated using the clean aperture and pixel
6569    * aspect ratio.
6570    }
6571 	kICMImageDescriptionPropertyID_CleanApertureDisplayWidth = FourCharCode('disw'); { SInt32, Read }
6572 
6573   {
6574    * A height at which the image could be displayed on a square-pixel
6575    * display, possibly calculated using the clean aperture and pixel
6576    * aspect ratio.
6577    }
6578 	kICMImageDescriptionPropertyID_CleanApertureDisplayHeight = FourCharCode('dish'); { SInt32, Read }
6579 
6580   {
6581    * A width at which the image could be displayed on a square-pixel
6582    * display, disregarding any clean aperture but honoring the pixel
6583    * aspect ratio. This may be useful for authoring applications that
6584    * want to expose the edge processing region. For general viewing,
6585    * use kICMImageDescriptionPropertyID_CleanApertureDisplayWidth
6586    * instead.
6587    }
6588 	kICMImageDescriptionPropertyID_ProductionApertureDisplayWidth = FourCharCode('pdsw'); { SInt32, Read }
6589 
6590   {
6591    * A height at which the image could be displayed on a square-pixel
6592    * display, disregarding any clean aperture but honoring the pixel
6593    * aspect ratio. This may be useful for authoring applications that
6594    * want to expose the edge processing region. For general viewing,
6595    * use kICMImageDescriptionPropertyID_CleanApertureDisplayHeight
6596    * instead.
6597    }
6598 	kICMImageDescriptionPropertyID_ProductionApertureDisplayHeight = FourCharCode('pdsh'); { SInt32, Read }
6599 
6600   {
6601    * Synonym for
6602    * kICMImageDescriptionPropertyID_CleanApertureDisplayWidth.
6603    }
6604 	kICMImageDescriptionPropertyID_DisplayWidth = FourCharCode('disw'); { SInt32, Read }
6605 
6606   {
6607    * Synonym for
6608    * kICMImageDescriptionPropertyID_CleanApertureDisplayHeight.
6609    }
6610 	kICMImageDescriptionPropertyID_DisplayHeight = FourCharCode('dish'); { SInt32, Read }
6611 
6612   {
6613    * Synonym for
6614    * kICMImageDescriptionPropertyID_ProductionApertureDisplayWidth.
6615    }
6616 	kICMImageDescriptionPropertyID_ProductionDisplayWidth = FourCharCode('pdsw'); { SInt32, Read }
6617 
6618   {
6619    * Synonym for
6620    * kICMImageDescriptionPropertyID_ProductionApertureDisplayHeight.
6621    }
6622 	kICMImageDescriptionPropertyID_ProductionDisplayHeight = FourCharCode('pdsh'); { SInt32, Read }
6623 
6624   {
6625    * Color information, if available in the
6626    * NCLCColorInfoImageDescriptionExtension format.
6627    }
6628 	kICMImageDescriptionPropertyID_NCLCColorInfo = FourCharCode('nclc'); { Native-endian NCLCColorInfoImageDescriptionExtension, Read/Write }
6629 
6630   {
6631    * A CGColorSpaceRef for the colorspace described by the image
6632    * description, constructed from video color info or ICC Profile.
6633    * IMPORTANT NOTE: The YCbCr matrix from the video color info is not
6634    * represented in the CGColorSpaceRef. The caller of GetProperty is
6635    * responsible for releasing this, eg, by calling
6636    * CGColorSpaceRelease. Only supported on Mac OS X.
6637    }
6638 	kICMImageDescriptionPropertyID_CGColorSpace = FourCharCode('cgcs'); { CGColorSpaceRef, Read -- caller of GetProperty must call CGColorSpaceRelease }
6639 
6640   {
6641    * A CFDataRef containing the serialized ICC profile described by the
6642    * image description. The caller of GetProperty is responsible for
6643    * releasing this, eg, by calling CFRelease.
6644    }
6645 	kICMImageDescriptionPropertyID_ICCProfile = FourCharCode('iccp'); { CFDataRef, Read/Write -- caller of GetProperty must call CFRelease }
6646 
6647   {
6648    * The gamma level described by the image description.
6649    }
6650 	kICMImageDescriptionPropertyID_GammaLevel = FourCharCode('gama'); { Fixed, Read/Write }
6651 
6652   {
6653    * Information about the number and order of fields, if available.
6654    }
6655 	kICMImageDescriptionPropertyID_FieldInfo = FourCharCode('fiel'); { FieldInfoImageDescriptionExtension2, Read/Write }
6656 
6657   {
6658    * The offset in bytes from the start of one row to the next. Only
6659    * valid if the codec type is a chunky pixel format.
6660    }
6661 	kICMImageDescriptionPropertyID_RowBytes = FourCharCode('rowb'); { SInt32, Read/Write }
6662 
6663   {
6664    * A track width suitable for passing to NewMovieTrack when creating
6665    * a new track to hold this image data.
6666    }
6667 	kICMImageDescriptionPropertyID_ClassicTrackWidth = FourCharCode('claw'); { Fixed, Read }
6668 
6669   {
6670    * A track height suitable for passing to NewMovieTrack when creating
6671    * a new track to hold this image data.
6672    }
6673 	kICMImageDescriptionPropertyID_ClassicTrackHeight = FourCharCode('clah'); { Fixed, Read }
6674 
6675   {
6676    * Defines a duration for quantizing time. This is applicable for
6677    * cases where a single media sample generates visual output that
6678    * varies continuously through its duration. By interpreting this
6679    * property, such a sample may be considered to have internal "step
6680    * points" at multiples of the stepping duration. This can be used to
6681    * throttle frame generation during playback, and when stepping using
6682    * InterestingTime APIs. Setting a step duration with value zero
6683    * removes any current step duration.
6684    }
6685 	kICMImageDescriptionPropertyID_StepDuration = FourCharCode('step'); { TimeRecord (base ignored), Read/Write }
6686 
6687   {
6688    * The clean aperture as a FixedRect in source coordinates, within
6689    * the rectangle defined by the image description width and height,
6690    * suitable for use as a source rectangle in a decompression
6691    * sequence.
6692    * For historical reasons, the DVCPROHD codecs store the production
6693    * aperture display dimensions in the image description width and
6694    * height; the actual encoded dimensions are smaller. For DVCPROHD,
6695    * the clip rect will be relative to the image description width and
6696    * height, not the encoded dimensions.
6697    }
6698 	kICMImageDescriptionPropertyID_CleanApertureClipRect = FourCharCode('cacr'); { FixedRect, Read }
6699 
6700   {
6701    * A matrix transforming the clean aperture clip rect to the origin,
6702    * scaled to the clean aperture display dimensions.
6703    * For historical reasons, the DVCPROHD codecs store the production
6704    * aperture display dimensions in the image description width and
6705    * height; the actual encoded dimensions are smaller. For DVCPROHD,
6706    * the matrix will be relative to the image description width and
6707    * height, not the encoded dimensions.
6708    }
6709 	kICMImageDescriptionPropertyID_CleanApertureMatrix = FourCharCode('camx'); { MatrixRecord, Read }
6710 
6711   {
6712    * A matrix transforming the image to the origin, scaled to the
6713    * production aperture display dimensions.
6714    * For historical reasons, the DVCPROHD codecs store the production
6715    * aperture display dimensions in the image description width and
6716    * height; the actual encoded dimensions are smaller. For DVCPROHD,
6717    * the matrix will be relative to the image description width and
6718    * height, not the encoded dimensions.
6719    }
6720 	kICMImageDescriptionPropertyID_ProductionApertureMatrix = FourCharCode('pamx'); { MatrixRecord, Read }
6721 
6722   {
6723    * A localized, human readable string summarizing the image as a
6724    * CFString, ie: "Apple DV, 720 x 480 (640 x 480), Millions".
6725    *  The elements are: the codec name, the encoded pixels dimensions,
6726    * then parenthetically the clean aperture mode dimensions, but only
6727    * if they are different from the encoded pixels dimensions; then the
6728    * depth.
6729    * The codec name shall be from the localized decompressor component
6730    * name string if exactly one decompressor with the correct cType is
6731    * available; otherwise the string in the image description shall be
6732    * used. The caller of GetProperty is responsible for releasing this
6733    * CFString, eg, by calling CFRelease.
6734    }
6735 	kICMImageDescriptionPropertyID_SummaryString = FourCharCode('isum'); { CFStringRef, Read - caller of GetProperty must call CFRelease}
6736 
6737 {
6738  *  ICMImageDescriptionGetPropertyInfo()
6739  *
6740  *  Summary:
6741  *    Gets info about a particular property of a ImageDescription.
6742  *
6743  *  Parameters:
6744  *
6745  *    inDesc:
6746  *      ImageDescriptionHandle being interrogated
6747  *
6748  *    inPropClass:
6749  *      The class of property being requested
6750  *
6751  *    inPropID:
6752  *      The ID of the property being requested
6753  *
6754  *    outPropType:
6755  *      The type of property is returned here (can be NULL)
6756  *
6757  *    outPropValueSize:
6758  *      The size of property is returned here (can be NULL)
6759  *
6760  *    outPropertyFlags:
6761  *      The property flags are returned here (can be NULL)
6762  *
6763  *  Availability:
6764  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
6765  *    CarbonLib:        not available
6766  *    Non-Carbon CFM:   not available
6767  }
ICMImageDescriptionGetPropertyInfonull6768 function ICMImageDescriptionGetPropertyInfo( inDesc: ImageDescriptionHandle; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; outPropType: ComponentValueTypePtr { can be NULL }; outPropValueSize: ByteCountPtr { can be NULL }; outPropertyFlags: UInt32Ptr { can be NULL } ): OSStatus; external name '_ICMImageDescriptionGetPropertyInfo';
6769 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
6770 
6771 
6772 {
6773  *  ICMImageDescriptionGetProperty()
6774  *
6775  *  Summary:
6776  *    Gets a particular property of a ImageDescriptionHandle.
6777  *
6778  *  Parameters:
6779  *
6780  *    inDesc:
6781  *      ImageDescriptionHandle being interrogated
6782  *
6783  *    inPropClass:
6784  *      The class of property being requested
6785  *
6786  *    inPropID:
6787  *      The ID of the property being requested
6788  *
6789  *    inPropValueSize:
6790  *      The size of the property value buffer
6791  *
6792  *    outPropValueAddress:
6793  *      Points to the buffer to receive the property value
6794  *
6795  *    outPropValueSizeUsed:
6796  *      Points to a variable to receive the actual size of returned
6797  *      property value (can be NULL)
6798  *
6799  *  Availability:
6800  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
6801  *    CarbonLib:        not available
6802  *    Non-Carbon CFM:   not available
6803  }
ICMImageDescriptionGetPropertynull6804 function ICMImageDescriptionGetProperty( inDesc: ImageDescriptionHandle; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMImageDescriptionGetProperty';
6805 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
6806 
6807 
6808 {
6809  *  ICMImageDescriptionSetProperty()
6810  *
6811  *  Summary:
6812  *    Sets a particular property of a ImageDescriptionHandle.
6813  *
6814  *  Parameters:
6815  *
6816  *    inDesc:
6817  *      ImageDescriptionHandle being modified
6818  *
6819  *    inPropClass:
6820  *      The class of property being set
6821  *
6822  *    inPropID:
6823  *      The ID of the property being set
6824  *
6825  *    inPropValueSize:
6826  *      The size of property value
6827  *
6828  *    inPropValueAddress:
6829  *      Points to the property value buffer
6830  *
6831  *  Availability:
6832  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
6833  *    CarbonLib:        not available
6834  *    Non-Carbon CFM:   not available
6835  }
ICMImageDescriptionSetPropertynull6836 function ICMImageDescriptionSetProperty( inDesc: ImageDescriptionHandle; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMImageDescriptionSetProperty';
6837 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
6838 
6839 
6840 {
6841  *  ICMValidTimeFlags
6842  *
6843  *  Summary:
6844  *    Flags to describe which time values are valid.
6845  }
6846 type
6847 	ICMValidTimeFlagsPtr = ^ICMValidTimeFlags;
6848 	ICMValidTimeFlags = UInt32;
6849 const
6850 {
6851    * Indicates that a display time stamp is valid.
6852    }
6853 	kICMValidTime_DisplayTimeStampIsValid = 1 shl 0;
6854 
6855   {
6856    * Indicates that a display duration is valid.
6857    }
6858 	kICMValidTime_DisplayDurationIsValid = 1 shl 1;
6859 
6860   {
6861    * Indicates that a decode time stamp is valid.
6862    }
6863 	kICMValidTime_DecodeTimeStampIsValid = 1 shl 2;
6864 
6865   {
6866    * Indicates that a decode duration is valid.
6867    }
6868 	kICMValidTime_DecodeDurationIsValid = 1 shl 3;
6869 
6870   {
6871    * Indicates that a display offset (the offset from a decode time
6872    * stamp to a display time stamp) is valid.
6873    }
6874 	kICMValidTime_DisplayOffsetIsValid = 1 shl 4;
6875 
6876 
6877 {
6878  *  ICMDecompressionSessionRef
6879  *
6880  *  Summary:
6881  *    Represents a decompression session that emits CVPixelBufferRefs
6882  *    containing frames, tagged with display times.
6883  *
6884  *  Discussion:
6885  *    ICMDecompressionSession does not support source extraction,
6886  *    matrix transformations, graphics transfer modes, region-based
6887  *    clipping or data-loading procedures. Note that the pixel buffers
6888  *    may be output out of display order, provided that the client opts
6889  *    in.
6890  }
6891 type
6892 	ICMDecompressionSessionRef = ^OpaqueICMDecompressionSession; { an opaque type }
6893 	OpaqueICMDecompressionSession = record end;
6894 
6895 {
6896  *  QTVisualContextRef
6897  *
6898  *  Summary:
6899  *    Represents a destination visual rendering environment.
6900  *
6901  *  Discussion:
6902  *    The QTVisualContextRef type encapsulates a connection to a
6903  *    generic visual destination. A single visual context object may
6904  *    not be associated with more than one movie at a time.
6905  }
6906 type
6907 	QTVisualContextRef = ^OpaqueQTVisualContext; { an opaque type }
6908 	OpaqueQTVisualContext = record end;
6909 
6910 {
6911  *  ICMDecompressionSessionOptionsRef
6912  *
6913  *  Summary:
6914  *    Holds options for a decompression session.
6915  }
6916 type
6917 	ICMDecompressionSessionOptionsRef = ^OpaqueICMDecompressionSessionOptions; { an opaque type }
6918 	OpaqueICMDecompressionSessionOptions = record end;
6919 
6920 {
6921  *  ICMDecompressionFrameOptionsRef
6922  *
6923  *  Summary:
6924  *    Holds options for decompressing an individual frame.
6925  }
6926 type
6927 	ICMDecompressionFrameOptionsRef = ^OpaqueICMDecompressionFrameOptions; { an opaque type }
6928 	OpaqueICMDecompressionFrameOptions = record end;
6929 
6930 {
6931  *  ICMDecompressionTrackingFlags
6932  *
6933  *  Summary:
6934  *    Describes changes in state of a frame queued with an ICM
6935  *    decompression session.
6936  }
6937 type
6938 	ICMDecompressionTrackingFlags = UInt32;
6939 const
6940 {
6941    * Indicates that this is the last call for this sourceFrameRefCon.
6942    }
6943 	kICMDecompressionTracking_LastCall = 1 shl 0;
6944 
6945   {
6946    * Indicates that the session no longer needs the source data pointer.
6947    }
6948 	kICMDecompressionTracking_ReleaseSourceData = 1 shl 1;
6949 
6950   {
6951    * Indicates that a frame is being emitted. The pixelBuffer parameter
6952    * contains the decompressed frame. If the decompression session is
6953    * targetting a visual context, the frame has not yet been sent to
6954    * the visual context but will be after the callback returns.
6955    }
6956 	kICMDecompressionTracking_EmittingFrame = 1 shl 2;
6957 
6958   {
6959    * Indicates that this frame was decoded.
6960    }
6961 	kICMDecompressionTracking_FrameDecoded = 1 shl 3;
6962 
6963   {
6964    * Indicates that the codec decided to drop this frame.
6965    }
6966 	kICMDecompressionTracking_FrameDropped = 1 shl 4;
6967 
6968   {
6969    * Indicates that this frame will not be able to be displayed unless
6970    * it is queued for redecode (also known as FrameNotDisplayable).
6971    }
6972 	kICMDecompressionTracking_FrameNeedsRequeueing = 1 shl 5;
6973 
6974 
6975 {
6976  *  ICMDecompressionTrackingCallback
6977  *
6978  *  Summary:
6979  *    The callback through which a client of an ICM decompression
6980  *    session receives decoded frames and information about decoding.
6981  *
6982  *  Discussion:
6983  *    The client may retain the emitted pixel buffers as long as it
6984  *    needs; they will not be reused before the client releases them.
6985  *
6986  *  Parameters:
6987  *
6988  *    decompressionTrackingRefCon:
6989  *      The callback's reference value, copied from the
6990  *      decompressionTrackingRefCon field of the
6991  *      ICMDecompressionTrackingCallbackRecord structure.
6992  *
6993  *    result:
6994  *      Indicates whether there was an error in decompression.
6995  *
6996  *    decompressionTrackingFlags:
6997  *      One or more flags describing the a frame's state transitions.
6998  *
6999  *    pixelBuffer:
7000  *      When the kICMDecompressionTracking_EmittingFrame flag is set in
7001  *      decompressionTrackingFlags, a pixel buffer containing the
7002  *      decompressed frame.  Otherwise, NULL.
7003  *
7004  *    displayTime:
7005  *      If kICMValidTime_DisplayTimeStampIsValid is set in
7006  *      validTimeFlags, the display time of the frame.
7007  *
7008  *    displayDuration:
7009  *      If kICMValidTime_DisplayDurationIsValid is set in
7010  *      validTimeFlags, the display duration of the frame.
7011  *
7012  *    validTimeFlags:
7013  *      Indicates which of displayTime and displayDuration is valid.
7014  *
7015  *    reserved:
7016  *      Reserved for future use.  Ignore the value of this parameter.
7017  *
7018  *    sourceFrameRefCon:
7019  *      The frame's reference value, copied from the sourceFrameRefCon
7020  *      parameter to ICMDecompressionSessionDecodeFrame.
7021  }
7022 type
7023 	ICMDecompressionTrackingCallback = procedure( decompressionTrackingRefCon: UnivPtr; result: OSStatus; decompressionTrackingFlags: ICMDecompressionTrackingFlags; pixelBuffer: CVPixelBufferRef; displayTime: TimeValue64; displayDuration: TimeValue64; validTimeFlags: ICMValidTimeFlags; reserved: UnivPtr; sourceFrameRefCon: UnivPtr );
7024 
7025 {
7026  *  ICMDecompressionTrackingCallbackRecord
7027  *
7028  *  Summary:
7029  *    A tracking callback for an ICM decompression session.
7030  }
7031 type
7032 	ICMDecompressionTrackingCallbackRecordPtr = ^ICMDecompressionTrackingCallbackRecord;
7033 	ICMDecompressionTrackingCallbackRecord = record
7034 {
7035    * The callback function pointer.
7036    }
7037 		decompressionTrackingCallback: ICMDecompressionTrackingCallback;
7038 
7039   {
7040    * The callback's reference value.
7041    }
7042 		decompressionTrackingRefCon: UnivPtr;
7043 	end;
7044 {
7045  *  ICMDecompressionSessionCreate()
7046  *
7047  *  Summary:
7048  *    Creates a session for decompressing video frames.
7049  *
7050  *  Discussion:
7051  *    Frames will be output through calls to trackingCallback.
7052  *
7053  *  Parameters:
7054  *
7055  *    allocator:
7056  *      An allocator for the session.  Pass NULL to use the default
7057  *      allocator.
7058  *
7059  *    desc:
7060  *      An image description for the source frames.
7061  *
7062  *    decompressionOptions:
7063  *      Options for the session. The session will retain this options
7064  *      object. You may change some options during the session by
7065  *      modifying the object.
7066  *
7067  *    destinationPixelBufferAttributes:
7068  *      Describes requirements for emitted pixel buffers.
7069  *
7070  *    trackingCallback:
7071  *      The callback to be called with information about queued frames,
7072  *      and pixel buffers containing the decompressed frames.
7073  *
7074  *    decompressionSessionOut:
7075  *      Points to a variable to receive the new decompression session.
7076  *
7077  *  Availability:
7078  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7079  *    CarbonLib:        not available
7080  *    Non-Carbon CFM:   not available
7081  }
ICMDecompressionSessionCreatenull7082 function ICMDecompressionSessionCreate( allocator: CFAllocatorRef { can be NULL }; desc: ImageDescriptionHandle; decompressionOptions: ICMDecompressionSessionOptionsRef { can be NULL }; destinationPixelBufferAttributes: CFDictionaryRef { can be NULL }; var trackingCallback: ICMDecompressionTrackingCallbackRecord; var decompressionSessionOut: ICMDecompressionSessionRef ): OSStatus; external name '_ICMDecompressionSessionCreate';
7083 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7084 
7085 
7086 {
7087  *  ICMDecompressionSessionCreateForVisualContext()
7088  *
7089  *  Summary:
7090  *    Creates a session for decompressing video frames.
7091  *
7092  *  Discussion:
7093  *    Frames will be output to a visual context.  If desired, the
7094  *    trackingCallback may attach additional data to pixel buffers
7095  *    before they are sent to the visual context.
7096  *
7097  *  Parameters:
7098  *
7099  *    allocator:
7100  *      An allocator for the session.  Pass NULL to use the default
7101  *      allocator.
7102  *
7103  *    desc:
7104  *      An image description for the source frames.
7105  *
7106  *    decompressionOptions:
7107  *      Options for the session. The session will retain this options
7108  *      object. You may change some options during the session by
7109  *      modifying the object.
7110  *
7111  *    visualContext:
7112  *      The target visual context.
7113  *
7114  *    trackingCallback:
7115  *      The callback to be called with information about queued frames,
7116  *      and pixel buffers containing the decompressed frames.
7117  *
7118  *    decompressionSessionOut:
7119  *      Points to a variable to receive the new decompression session.
7120  *
7121  *  Availability:
7122  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7123  *    CarbonLib:        not available
7124  *    Non-Carbon CFM:   not available
7125  }
ICMDecompressionSessionCreateForVisualContextnull7126 function ICMDecompressionSessionCreateForVisualContext( allocator: CFAllocatorRef { can be NULL }; desc: ImageDescriptionHandle; decompressionOptions: ICMDecompressionSessionOptionsRef { can be NULL }; visualContext: QTVisualContextRef; var trackingCallback: ICMDecompressionTrackingCallbackRecord; var decompressionSessionOut: ICMDecompressionSessionRef ): OSStatus; external name '_ICMDecompressionSessionCreateForVisualContext';
7127 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7128 
7129 
7130 {
7131  *  ICMDecompressionSessionRetain()
7132  *
7133  *  Summary:
7134  *    Increments the retain count of a decompression session.
7135  *
7136  *  Discussion:
7137  *    If you pass NULL to this function, nothing happens.
7138  *
7139  *  Availability:
7140  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7141  *    CarbonLib:        not available
7142  *    Non-Carbon CFM:   not available
7143  }
ICMDecompressionSessionRetainnull7144 function ICMDecompressionSessionRetain( session: ICMDecompressionSessionRef ): ICMDecompressionSessionRef; external name '_ICMDecompressionSessionRetain';
7145 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7146 
7147 
7148 {
7149  *  ICMDecompressionSessionRelease()
7150  *
7151  *  Summary:
7152  *    Decrements the retain count of a decompression session.  If it
7153  *    drops to zero, the session is disposed.
7154  *
7155  *  Discussion:
7156  *    If you pass NULL to this function, nothing happens.
7157  *
7158  *  Availability:
7159  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7160  *    CarbonLib:        not available
7161  *    Non-Carbon CFM:   not available
7162  }
7163 procedure ICMDecompressionSessionRelease( session: ICMDecompressionSessionRef ); external name '_ICMDecompressionSessionRelease';
7164 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7165 
7166 
7167 {
7168  *  ICMDecompressionSessionGetTypeID()
7169  *
7170  *  Summary:
7171  *    Returns the CFTypeID for decompression sessions.
7172  *
7173  *  Availability:
7174  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7175  *    CarbonLib:        not available
7176  *    Non-Carbon CFM:   not available
7177  }
ICMDecompressionSessionGetTypeIDnull7178 function ICMDecompressionSessionGetTypeID: CFTypeID; external name '_ICMDecompressionSessionGetTypeID';
7179 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7180 
7181 
7182 {
7183  *  ICMDecompressionSessionDecodeFrame()
7184  *
7185  *  Summary:
7186  *    Queues a frame for decompression.
7187  *
7188  *  Parameters:
7189  *
7190  *    session:
7191  *      The decompression session.
7192  *
7193  *    data:
7194  *      Points to the compressed data for this frame. The data must
7195  *      remain in this location until the tracking callback is called
7196  *      with the kICMDecompressionTracking_ReleaseSourceData flag set
7197  *      in decompressionTrackingFlags.
7198  *
7199  *    dataSize:
7200  *      The number of bytes of compressed data. You may not pass zero
7201  *      in this parameter.
7202  *
7203  *    frameOptions:
7204  *      Options for this frame.
7205  *
7206  *    frameTime:
7207  *      Points to a structure describing the frame's timing information.
7208  *
7209  *    sourceFrameRefCon:
7210  *      Your reference value for the frame.
7211  *
7212  *  Availability:
7213  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7214  *    CarbonLib:        not available
7215  *    Non-Carbon CFM:   not available
7216  }
ICMDecompressionSessionDecodeFramenull7217 function ICMDecompressionSessionDecodeFrame( session: ICMDecompressionSessionRef; data: {const} UnivPtr; dataSize: ByteCount; frameOptions: ICMDecompressionFrameOptionsRef { can be NULL }; const (*var*) frameTime: ICMFrameTimeRecord; sourceFrameRefCon: UnivPtr ): OSStatus; external name '_ICMDecompressionSessionDecodeFrame';
7218 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7219 
7220 
7221 {
7222  *  ICMDecompressionSessionGetPropertyInfo()
7223  *
7224  *  Summary:
7225  *    Retrieves information about properties of a decompression session.
7226  *
7227  *  Availability:
7228  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7229  *    CarbonLib:        not available
7230  *    Non-Carbon CFM:   not available
7231  }
ICMDecompressionSessionGetPropertyInfonull7232 function ICMDecompressionSessionGetPropertyInfo( session: ICMDecompressionSessionRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; outPropType: ComponentValueTypePtr { can be NULL }; outPropValueSize: ByteCountPtr { can be NULL }; outPropertyFlags: UInt32Ptr { can be NULL } ): OSStatus; external name '_ICMDecompressionSessionGetPropertyInfo';
7233 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7234 
7235 
7236 {
7237  *  ICMDecompressionSessionGetProperty()
7238  *
7239  *  Summary:
7240  *    Retrieves the value of a specific property of a decompression
7241  *    session.
7242  *
7243  *  Availability:
7244  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7245  *    CarbonLib:        not available
7246  *    Non-Carbon CFM:   not available
7247  }
ICMDecompressionSessionGetPropertynull7248 function ICMDecompressionSessionGetProperty( session: ICMDecompressionSessionRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMDecompressionSessionGetProperty';
7249 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7250 
7251 
7252 {
7253  *  ICMDecompressionSessionSetProperty()
7254  *
7255  *  Summary:
7256  *    Sets the value of a specific property of a decompression session.
7257  *
7258  *  Availability:
7259  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7260  *    CarbonLib:        not available
7261  *    Non-Carbon CFM:   not available
7262  }
ICMDecompressionSessionSetPropertynull7263 function ICMDecompressionSessionSetProperty( session: ICMDecompressionSessionRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMDecompressionSessionSetProperty';
7264 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7265 
7266 
7267 {
7268  *  ICMNonScheduledDisplayTime
7269  *
7270  *  Discussion:
7271  *    The display time for a decompression session.
7272  }
7273 type
7274 	ICMNonScheduledDisplayTime = record
7275 {
7276    * A display time.  Usually this is the display time of a
7277    * non-scheduled queued frame.
7278    }
7279 		displayTime: TimeValue64;
7280 
7281   {
7282    * The timescale according to which displayTime should be interpreted.
7283    }
7284 		displayTimeScale: TimeScale;
7285 
7286   {
7287    * Reserved, set to zero.
7288    }
7289 		flags: UInt32;
7290 	end;
7291 
7292 {
7293  *  Summary:
7294  *    Properties of decompression sessions.
7295  }
7296 const
7297 {
7298    * Class identifier for decompression session properties.
7299    }
7300 	kQTPropertyClass_ICMDecompressionSession = FourCharCode('icds');
7301 
7302   {
7303    * The non-scheduled display time for a decompression session.
7304    * Setting this requests display of the non-scheduled queued frame at
7305    * that display time, if there is one.
7306    * See ICMDecompressionSessionSetNonScheduledDisplayTime.
7307    }
7308 	kICMDecompressionSessionPropertyID_NonScheduledDisplayTime = FourCharCode('nsti'); { ICMNonScheduledDisplayTime, Read/Write }
7309 
7310   {
7311    * The direction for non-scheduled display time.
7312    * See ICMDecompressionSessionSetNonScheduledDisplayDirection.
7313    }
7314 	kICMDecompressionSessionPropertyID_NonScheduledDisplayDirection = FourCharCode('nsdu'); { Fixed, Read/Write }
7315 
7316   {
7317    * The pixel buffer pool from which emitted pixel buffers are
7318    * allocated. Getting this does not change the retain count of the
7319    * pool.
7320    }
7321 	kICMDecompressionSessionPropertyID_PixelBufferPool = FourCharCode('pool'); { CVPixelBufferPoolRef, Read }
7322 
7323   {
7324    * Indicates whether the a common pixel buffer pool is shared between
7325    * the decompressor and the session client. This is false if separate
7326    * pools are used because the decompressor's and the client's pixel
7327    * buffer attributes were incompatible.
7328    }
7329 	kICMDecompressionSessionPropertyID_PixelBufferPoolIsShared = FourCharCode('plsh'); { Boolean, Read }
7330 
7331 {
7332  *  ICMDecompressionSessionSetNonScheduledDisplayTime()
7333  *
7334  *  Summary:
7335  *    Sets the display time for a decompression session, and requests
7336  *    display of the non-scheduled queued frame at that display time,
7337  *    if there is one.
7338  *
7339  *  Discussion:
7340  *    Call ICMDecompressionSessionSetNonScheduledDisplayTime after
7341  *    queueing non-scheduled frames with
7342  *    ICMDecompressionSessionDecodeFrame with the
7343  *    icmFrameTimeIsNonScheduledDisplayTime flag set to request display
7344  *    of the frame at a particular display time.
7345  *    If there is no queued non-scheduled frame with this display time,
7346  *    the frame with the next earlier display time is displayed. (Which
7347  *    of two display times is earlier is determined using the
7348  *    non-scheduled display time direction, which you can set with
7349  *    ICMDecompressionSessionSetNonScheduledDisplayDirection.) If there
7350  *    is no such frame, nothing happens.
7351  *    This has no effect if frames are scheduled against a timebase.
7352  *
7353  *  Parameters:
7354  *
7355  *    session:
7356  *      The decompression session.
7357  *
7358  *    displayTime:
7359  *      A display time.  Usually this is the display time of a
7360  *      non-scheduled queued frame.
7361  *
7362  *    displayTimeScale:
7363  *      The timescale according to which displayTime should be
7364  *      interpreted.
7365  *
7366  *    flags:
7367  *      Reserved, set to zero.
7368  *
7369  *  Availability:
7370  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7371  *    CarbonLib:        not available
7372  *    Non-Carbon CFM:   not available
7373  }
ICMDecompressionSessionSetNonScheduledDisplayTimenull7374 function ICMDecompressionSessionSetNonScheduledDisplayTime( session: ICMDecompressionSessionRef; displayTime: TimeValue64; displayTimeScale: TimeScale; flags: UInt32 ): OSStatus; external name '_ICMDecompressionSessionSetNonScheduledDisplayTime';
7375 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7376 
7377 
7378 {
7379  *  ICMDecompressionSessionSetNonScheduledDisplayDirection()
7380  *
7381  *  Summary:
7382  *    Sets the direction for non-scheduled display time.
7383  *
7384  *  Discussion:
7385  *    If rate is zero or positive, direction is forwards.  If negative,
7386  *    direction is backwards.
7387  *    Any frames queued under the opposite direction will be flushed.
7388  *
7389  *    The non-scheduled display direction defaults to forwards (rate
7390  *    1.0).
7391  *
7392  *  Parameters:
7393  *
7394  *    session:
7395  *      The decompression session.
7396  *
7397  *    rate:
7398  *      Indicates the direction.
7399  *
7400  *  Availability:
7401  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7402  *    CarbonLib:        not available
7403  *    Non-Carbon CFM:   not available
7404  }
ICMDecompressionSessionSetNonScheduledDisplayDirectionnull7405 function ICMDecompressionSessionSetNonScheduledDisplayDirection( session: ICMDecompressionSessionRef; rate: Fixed ): OSStatus; external name '_ICMDecompressionSessionSetNonScheduledDisplayDirection';
7406 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7407 
7408 
7409 {
7410  *  ICMDecompressionSessionFlush()
7411  *
7412  *  Summary:
7413  *    Flushes frames queued with a decompression session.
7414  *
7415  *  Discussion:
7416  *    The tracking callback will be called for each frame with the
7417  *    result -1.
7418  *
7419  *  Parameters:
7420  *
7421  *    session:
7422  *      The decompression session.
7423  *
7424  *  Availability:
7425  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7426  *    CarbonLib:        not available
7427  *    Non-Carbon CFM:   not available
7428  }
ICMDecompressionSessionFlushnull7429 function ICMDecompressionSessionFlush( session: ICMDecompressionSessionRef ): OSStatus; external name '_ICMDecompressionSessionFlush';
7430 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7431 
7432 
7433 {
7434  *  ICMDecompressionSessionOptionsCreate()
7435  *
7436  *  Summary:
7437  *    Creates a decompression session options object.
7438  *
7439  *  Availability:
7440  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7441  *    CarbonLib:        not available
7442  *    Non-Carbon CFM:   not available
7443  }
ICMDecompressionSessionOptionsCreatenull7444 function ICMDecompressionSessionOptionsCreate( allocator: CFAllocatorRef { can be NULL }; var options: ICMDecompressionSessionOptionsRef ): OSStatus; external name '_ICMDecompressionSessionOptionsCreate';
7445 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7446 
7447 
7448 {
7449  *  ICMDecompressionSessionOptionsCreateCopy()
7450  *
7451  *  Summary:
7452  *    Copies a decompression session options object.
7453  *
7454  *  Availability:
7455  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7456  *    CarbonLib:        not available
7457  *    Non-Carbon CFM:   not available
7458  }
ICMDecompressionSessionOptionsCreateCopynull7459 function ICMDecompressionSessionOptionsCreateCopy( allocator: CFAllocatorRef { can be NULL }; originalOptions: ICMDecompressionSessionOptionsRef; var copiedOptions: ICMDecompressionSessionOptionsRef ): OSStatus; external name '_ICMDecompressionSessionOptionsCreateCopy';
7460 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7461 
7462 
7463 {
7464  *  ICMDecompressionSessionOptionsRetain()
7465  *
7466  *  Summary:
7467  *    Increments the retain count of a decompression session options
7468  *    object.
7469  *
7470  *  Discussion:
7471  *    If you pass NULL to this function, nothing happens.
7472  *
7473  *  Availability:
7474  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7475  *    CarbonLib:        not available
7476  *    Non-Carbon CFM:   not available
7477  }
ICMDecompressionSessionOptionsRetainnull7478 function ICMDecompressionSessionOptionsRetain( options: ICMDecompressionSessionOptionsRef ): ICMDecompressionSessionOptionsRef; external name '_ICMDecompressionSessionOptionsRetain';
7479 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7480 
7481 
7482 {
7483  *  ICMDecompressionSessionOptionsRelease()
7484  *
7485  *  Summary:
7486  *    Decrements the retain count of a decompression session options
7487  *    object.  If it drops to zero, the object is disposed.
7488  *
7489  *  Discussion:
7490  *    If you pass NULL to this function, nothing happens.
7491  *
7492  *  Availability:
7493  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7494  *    CarbonLib:        not available
7495  *    Non-Carbon CFM:   not available
7496  }
7497 procedure ICMDecompressionSessionOptionsRelease( options: ICMDecompressionSessionOptionsRef ); external name '_ICMDecompressionSessionOptionsRelease';
7498 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7499 
7500 
7501 {
7502  *  ICMDecompressionSessionOptionsGetTypeID()
7503  *
7504  *  Summary:
7505  *    Returns the CFTypeID for decompression session options objects.
7506  *
7507  *  Availability:
7508  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7509  *    CarbonLib:        not available
7510  *    Non-Carbon CFM:   not available
7511  }
ICMDecompressionSessionOptionsGetTypeIDnull7512 function ICMDecompressionSessionOptionsGetTypeID: CFTypeID; external name '_ICMDecompressionSessionOptionsGetTypeID';
7513 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7514 
7515 
7516 {
7517  *  ICMDecompressionSessionOptionsGetPropertyInfo()
7518  *
7519  *  Summary:
7520  *    Retrieves information about properties of a decompression session
7521  *    options object.
7522  *
7523  *  Availability:
7524  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7525  *    CarbonLib:        not available
7526  *    Non-Carbon CFM:   not available
7527  }
ICMDecompressionSessionOptionsGetPropertyInfonull7528 function ICMDecompressionSessionOptionsGetPropertyInfo( options: ICMDecompressionSessionOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; outPropType: ComponentValueTypePtr { can be NULL }; outPropValueSize: ByteCountPtr { can be NULL }; outPropertyFlags: UInt32Ptr { can be NULL } ): OSStatus; external name '_ICMDecompressionSessionOptionsGetPropertyInfo';
7529 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7530 
7531 
7532 {
7533  *  ICMDecompressionSessionOptionsGetProperty()
7534  *
7535  *  Summary:
7536  *    Retrieves the value of a specific property of a decompression
7537  *    session options object.
7538  *
7539  *  Availability:
7540  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7541  *    CarbonLib:        not available
7542  *    Non-Carbon CFM:   not available
7543  }
ICMDecompressionSessionOptionsGetPropertynull7544 function ICMDecompressionSessionOptionsGetProperty( options: ICMDecompressionSessionOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMDecompressionSessionOptionsGetProperty';
7545 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7546 
7547 
7548 {
7549  *  ICMDecompressionSessionOptionsSetProperty()
7550  *
7551  *  Summary:
7552  *    Sets the value of a specific property of a decompression session
7553  *    options object.
7554  *
7555  *  Availability:
7556  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7557  *    CarbonLib:        not available
7558  *    Non-Carbon CFM:   not available
7559  }
ICMDecompressionSessionOptionsSetPropertynull7560 function ICMDecompressionSessionOptionsSetProperty( options: ICMDecompressionSessionOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMDecompressionSessionOptionsSetProperty';
7561 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7562 
7563 
7564 {
7565  *  Summary:
7566  *    Properties of decompression session options objects.
7567  }
7568 const
7569 {
7570    * Class identifier for decompression session options object
7571    * properties.
7572    }
7573 	kQTPropertyClass_ICMDecompressionSessionOptions = FourCharCode('idso');
7574 
7575   {
7576    * By default, this is true, meaning that frames must be output in
7577    * display order. Set this to false to allow frames to be output in
7578    * decode order rather than in display order.
7579    }
7580 	kICMDecompressionSessionOptionsPropertyID_DisplayOrderRequired = FourCharCode('dorq'); { Boolean, Read/Write }
7581 
7582   {
7583    * A specific decompressor component or component instance to be
7584    * used, or one of the wildcards anyCodec, bestSpeedCodec,
7585    * bestFidelityCodec, or bestCompressionCodec.
7586    * By default, this is anyCodec.
7587    }
7588 	kICMDecompressionSessionOptionsPropertyID_DecompressorComponent = FourCharCode('imdc'); { DecompressorComponent, Read/Write }
7589 
7590   {
7591    * The decompression accuracy.
7592    * The default accuracy is codecNormalQuality.
7593    }
7594 	kICMDecompressionSessionOptionsPropertyID_Accuracy = FourCharCode('acur'); { CodecQ, Read/Write }
7595 
7596   {
7597    * Requests special handling of fields. Not all codecs will obey this
7598    * request; some codecs will only handle it at certain accuracy
7599    * levels. Ignored for non-interlaced content.
7600    }
7601 	kICMDecompressionSessionOptionsPropertyID_FieldMode = FourCharCode('fiel'); { ICMFieldMode, Read/Write }
7602 
7603   {
7604    * The maximum number of buffers ahead of the current time that
7605    * should be decompressed. Used in sessions that target visual
7606    * contexts. By default, the number of buffers will be determined
7607    * from the visual context.
7608    }
7609 	kICMDecompressionSessionOptionsPropertyID_MaxBufferCount = FourCharCode('m#bf'); { UInt32, Read/Write }
7610 
7611   {
7612    * The minimum time ahead of the current time that frames should be
7613    * decompressed. Used in sessions that target visual contexts. By
7614    * default, the output-ahead time will be determined from the visual
7615    * context.
7616    }
7617 	kICMDecompressionSessionOptionsPropertyID_OutputAheadTime = FourCharCode('futu'); { TimeRecord, Read/Write }
7618 
7619   {
7620    * You can set the aperture mode property on a decompression session
7621    * options object to indicate whether pixel buffers should be tagged
7622    * to enable aspect ratio and clean aperture correction. The default
7623    * aperture mode for a decompression session is clean aperture mode.
7624    }
7625 	kICMDecompressionSessionOptionsPropertyID_ApertureMode = FourCharCode('apmd'); { OSType, Read/Write }
7626 
7627 
7628 {
7629  *  ICMFieldMode
7630  *
7631  *  Summary:
7632  *    Describes special field handling.
7633  }
7634 type
7635 	ICMFieldMode = UInt32;
7636 const
7637 {
7638    * Both fields should be decompressed.
7639    }
7640 	kICMFieldMode_BothFields = 0;
7641 
7642   {
7643    * Only the top field should be decompressed, producing a half-height
7644    * image.
7645    }
7646 	kICMFieldMode_TopFieldOnly = 1;
7647 
7648   {
7649    * Only the bottom field should be decompressed, producing a
7650    * half-height image.
7651    }
7652 	kICMFieldMode_BottomFieldOnly = 2;
7653 
7654   {
7655    * Both fields should be decompressed, and then filtered to reduce
7656    * interlacing artifacts.
7657    }
7658 	kICMFieldMode_DeinterlaceFields = 3;
7659 
7660 
7661 {
7662  *  ICMDecompressionFrameOptionsCreate()
7663  *
7664  *  Summary:
7665  *    Creates a frame decompression options object.
7666  *
7667  *  Availability:
7668  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7669  *    CarbonLib:        not available
7670  *    Non-Carbon CFM:   not available
7671  }
ICMDecompressionFrameOptionsCreatenull7672 function ICMDecompressionFrameOptionsCreate( allocator: CFAllocatorRef { can be NULL }; var options: ICMDecompressionFrameOptionsRef ): OSStatus; external name '_ICMDecompressionFrameOptionsCreate';
7673 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7674 
7675 
7676 {
7677  *  ICMDecompressionFrameOptionsCreateCopy()
7678  *
7679  *  Summary:
7680  *    Copies a frame decompression options object.
7681  *
7682  *  Availability:
7683  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7684  *    CarbonLib:        not available
7685  *    Non-Carbon CFM:   not available
7686  }
ICMDecompressionFrameOptionsCreateCopynull7687 function ICMDecompressionFrameOptionsCreateCopy( allocator: CFAllocatorRef { can be NULL }; originalOptions: ICMDecompressionFrameOptionsRef; var copiedOptions: ICMDecompressionFrameOptionsRef ): OSStatus; external name '_ICMDecompressionFrameOptionsCreateCopy';
7688 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7689 
7690 
7691 {
7692  *  ICMDecompressionFrameOptionsRetain()
7693  *
7694  *  Summary:
7695  *    Increments the retain count of a frame decompression options
7696  *    object.
7697  *
7698  *  Discussion:
7699  *    If you pass NULL to this function, nothing happens.
7700  *
7701  *  Availability:
7702  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7703  *    CarbonLib:        not available
7704  *    Non-Carbon CFM:   not available
7705  }
ICMDecompressionFrameOptionsRetainnull7706 function ICMDecompressionFrameOptionsRetain( options: ICMDecompressionFrameOptionsRef ): ICMDecompressionFrameOptionsRef; external name '_ICMDecompressionFrameOptionsRetain';
7707 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7708 
7709 
7710 {
7711  *  ICMDecompressionFrameOptionsRelease()
7712  *
7713  *  Summary:
7714  *    Decrements the retain count of a frame decompression options
7715  *    object.  If it drops to zero, the object is disposed.
7716  *
7717  *  Discussion:
7718  *    If you pass NULL to this function, nothing happens.
7719  *
7720  *  Availability:
7721  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7722  *    CarbonLib:        not available
7723  *    Non-Carbon CFM:   not available
7724  }
7725 procedure ICMDecompressionFrameOptionsRelease( options: ICMDecompressionFrameOptionsRef ); external name '_ICMDecompressionFrameOptionsRelease';
7726 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7727 
7728 
7729 {
7730  *  ICMDecompressionFrameOptionsGetTypeID()
7731  *
7732  *  Summary:
7733  *    Returns the CFTypeID for frame decompression options objects.
7734  *
7735  *  Availability:
7736  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7737  *    CarbonLib:        not available
7738  *    Non-Carbon CFM:   not available
7739  }
ICMDecompressionFrameOptionsGetTypeIDnull7740 function ICMDecompressionFrameOptionsGetTypeID: CFTypeID; external name '_ICMDecompressionFrameOptionsGetTypeID';
7741 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7742 
7743 
7744 {
7745  *  ICMDecompressionFrameOptionsGetPropertyInfo()
7746  *
7747  *  Summary:
7748  *    Retrieves information about properties of a decompression frame
7749  *    options object.
7750  *
7751  *  Availability:
7752  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7753  *    CarbonLib:        not available
7754  *    Non-Carbon CFM:   not available
7755  }
ICMDecompressionFrameOptionsGetPropertyInfonull7756 function ICMDecompressionFrameOptionsGetPropertyInfo( options: ICMDecompressionFrameOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; outPropType: ComponentValueTypePtr { can be NULL }; outPropValueSize: ByteCountPtr { can be NULL }; outPropertyFlags: UInt32Ptr { can be NULL } ): OSStatus; external name '_ICMDecompressionFrameOptionsGetPropertyInfo';
7757 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7758 
7759 
7760 {
7761  *  ICMDecompressionFrameOptionsGetProperty()
7762  *
7763  *  Summary:
7764  *    Retrieves the value of a specific property of a decompression
7765  *    frame options object.
7766  *
7767  *  Availability:
7768  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7769  *    CarbonLib:        not available
7770  *    Non-Carbon CFM:   not available
7771  }
ICMDecompressionFrameOptionsGetPropertynull7772 function ICMDecompressionFrameOptionsGetProperty( options: ICMDecompressionFrameOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMDecompressionFrameOptionsGetProperty';
7773 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7774 
7775 
7776 {
7777  *  ICMDecompressionFrameOptionsSetProperty()
7778  *
7779  *  Summary:
7780  *    Sets the value of a specific property of a decompression frame
7781  *    options object.
7782  *
7783  *  Availability:
7784  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
7785  *    CarbonLib:        not available
7786  *    Non-Carbon CFM:   not available
7787  }
ICMDecompressionFrameOptionsSetPropertynull7788 function ICMDecompressionFrameOptionsSetProperty( options: ICMDecompressionFrameOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMDecompressionFrameOptionsSetProperty';
7789 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
7790 
7791 
7792 {
7793  *  Summary:
7794  *    Properties of decompression frame options objects.
7795  }
7796 const
7797 {
7798    * Class identifier for decompression frame options object properties.
7799    }
7800 	kQTPropertyClass_ICMDecompressionFrameOptions = FourCharCode('idfo');
7801 
7802   {
7803    * A specific pixel buffer that the frame should be decompressed
7804    * into. Setting this circumvents the pixel buffer pool mechanism. If
7805    * this buffer is not compatible with the codec's pixel buffer
7806    * requirements, decompression will fail.
7807    }
7808 	kICMDecompressionFrameOptionsPropertyID_DestinationPixelBuffer = FourCharCode('cvpb'); { CVPixelBufferRef, Read/Write }
7809 
7810 
7811 {
7812  *  ICMCompressionSessionRef
7813  *
7814  *  Summary:
7815  *    Represents a compression session for a sequence of images.
7816  *    B-frame capable.
7817  }
7818 type
7819 	ICMCompressionSessionRef = ^OpaqueICMCompressionSession; { an opaque type }
7820 	OpaqueICMCompressionSession = record end;
7821 
7822 {
7823  *  ICMEncodedFrameRef
7824  *
7825  *  Summary:
7826  *    Represents a frame encoded by a compressor component and emitted
7827  *    by a compression session.
7828  *
7829  *  Discussion:
7830  *    Compressor components have access to the mutable flavor of
7831  *    encoded frame object (ICMMutableEncodedFrameRef); compression
7832  *    session clients receive the read-only flavor
7833  *    (ICMMutableEncodedFrameRef).
7834  }
7835 type
7836 	ICMEncodedFrameRef = ^OpaqueICMEncodedFrame; { an opaque type }
7837 	OpaqueICMEncodedFrame = record end;
7838 	ICMEncodedFrameRefPtr = ^ICMEncodedFrameRef;
7839 	ICMMutableEncodedFrameRef = ^OpaqueICMMutableEncodedFrameRef; { an opaque type }
7840 	OpaqueICMMutableEncodedFrameRef = record end;
7841 	ICMMutableEncodedFrameRefPtr = ^ICMMutableEncodedFrameRef;
7842 
7843 {
7844  *  ICMCompressionSessionOptionsRef
7845  *
7846  *  Summary:
7847  *    An opaque struct which holds options to configure a compression
7848  *    session.
7849  }
7850 type
7851 	ICMCompressionSessionOptionsRef = ^OpaqueICMCompressionSessionOptions; { an opaque type }
7852 	OpaqueICMCompressionSessionOptions = record end;
7853 
7854 {
7855  *  ICMCompressionFrameOptionsRef
7856  *
7857  *  Summary:
7858  *    A token which holds options to configure an individual frame
7859  *    during a compression session.
7860  }
7861 type
7862 	ICMCompressionFrameOptionsRef = ^OpaqueICMCompressionFrameOptions; { an opaque type }
7863 	OpaqueICMCompressionFrameOptions = record end;
7864 
7865 {
7866  *  ICMMultiPassStorageRef
7867  *
7868  *  Summary:
7869  *    A mechanism for storing information for each frame of a multipass
7870  *    compression session.
7871  *
7872  *  Discussion:
7873  *    The ICM provides default storage mechanisms using temporary
7874  *    files, but clients may override this with custom mechanisms.
7875  }
7876 type
7877 	ICMMultiPassStorageRef = ^OpaqueICMMultiPassStorage; { an opaque type }
7878 	OpaqueICMMultiPassStorage = record end;
7879 
7880 {
7881  *  ICMEncodedFrameOutputCallback
7882  *
7883  *  Summary:
7884  *    The callback through which a client of an ICM compression session
7885  *    receives encoded frames.
7886  *
7887  *  Discussion:
7888  *    During the encoded frame output callback, the ICM has a reference
7889  *    to the passed ICMEncodedFrame, but the ICM will release that
7890  *    reference afterwards; the callback should retain the encoded
7891  *    frame if the client wants to keep it after the callback returns.
7892  *
7893  *  Parameters:
7894  *
7895  *    encodedFrameOutputRefCon:
7896  *      The callback's reference value, copied from the
7897  *      encodedFrameOutputRefCon field of the
7898  *      ICMEncodedFrameOutputRecord.
7899  *
7900  *    session:
7901  *      The compression session.
7902  *
7903  *    error:
7904  *      Indicates whether there was an error.
7905  *
7906  *    frame:
7907  *      The encoded frame.
7908  *
7909  *    reserved:
7910  *      Reserved for future use.  Ignore the value of this parameter.
7911  *
7912  *  Result:
7913  *    If the callback returns an error, the compressor and ICM will
7914  *    stop emitting frames so that the error can be propogated back to
7915  *    the caller of ICMCompressionSessionEncodeFrame or
7916  *    ICMCompressionSessionCompleteFrames.
7917  }
7918 type
encodedFrameOutputRefConnull7919 	ICMEncodedFrameOutputCallback = function( encodedFrameOutputRefCon: UnivPtr; session: ICMCompressionSessionRef; error: OSStatus; frame: ICMEncodedFrameRef; reserved: UnivPtr ): OSStatus;
7920 
7921 {
7922  *  ICMEncodedFrameOutputRecord
7923  *
7924  *  Summary:
7925  *    Holds an encoded frame callback and reference value.
7926  }
7927 type
7928 	ICMEncodedFrameOutputRecord = record
7929 {
7930    * An encoded frame callback.
7931    }
7932 		encodedFrameOutputCallback: ICMEncodedFrameOutputCallback;
7933 
7934   {
7935    * The reference value for the encoded frame callback.
7936    }
7937 		encodedFrameOutputRefCon: UnivPtr;
7938 
7939   {
7940    * The allocator for encoded frame data. Pass NULL if you do not need
7941    * a specific allocator.
7942    }
7943 		frameDataAllocator: CFAllocatorRef;
7944 	end;
7945 
7946 {
7947  *  ICMSourceTrackingFlags
7948  *
7949  }
7950 type
7951 	ICMSourceTrackingFlags = UInt32;
7952 const
7953 {
7954    * Indicates that this is the last call for this sourceFrameRefCon.
7955    }
7956 	kICMSourceTracking_LastCall = 1 shl 0;
7957 
7958   {
7959    * Indicates that the session is done with the source pixel buffer
7960    * and has released any reference to it that it had.
7961    }
7962 	kICMSourceTracking_ReleasedPixelBuffer = 1 shl 1;
7963 
7964   {
7965    * Indicates that this frame was encoded.
7966    }
7967 	kICMSourceTracking_FrameWasEncoded = 1 shl 2;
7968 
7969   {
7970    * Indicates that this frame was dropped.
7971    }
7972 	kICMSourceTracking_FrameWasDropped = 1 shl 3;
7973 
7974   {
7975    * Indicates that this frame was merged into other frames.
7976    }
7977 	kICMSourceTracking_FrameWasMerged = 1 shl 4;
7978 
7979   {
7980    * Indicates that the time stamp of this frame was modified.
7981    }
7982 	kICMSourceTracking_FrameTimeWasChanged = 1 shl 5;
7983 
7984   {
7985    * Indicates that the ICM has copied the image from the source pixel
7986    * buffer into another pixel buffer because the source pixel buffer
7987    * was not compatible with the compressor's required pixel buffer
7988    * attributes.
7989    }
7990 	kICMSourceTracking_CopiedPixelBuffer = 1 shl 6;
7991 
7992 
7993 {
7994  *  ICMSourceTrackingCallback
7995  *
7996  *  Summary:
7997  *    A callback which the ICM calls to provide information about the
7998  *    status of a frame that was passed to
7999  *    ICMCompressionSessionEncodeFrame.
8000  *
8001  *  Discussion:
8002  *    Note that this callback may be called several times.
8003  *
8004  *  Parameters:
8005  *
8006  *    sourceTrackingRefCon:
8007  *      The callback's reference value, copied from the
8008  *      sourceTrackingRefCon field of ICMSourceTrackingCallbackRecord.
8009  *
8010  *    sourceTrackingFlags:
8011  *      Flags describing what has happened to the frame.
8012  *
8013  *    sourceFrameRefCon:
8014  *      The frame's reference value, copied from the sourceFrameRefCon
8015  *      parameter to ICMCompressionSessionEncodeFrame.
8016  *
8017  *    reserved:
8018  *      Reserved for future use.  Ignore the value of this parameter.
8019  }
8020 type
8021 	ICMSourceTrackingCallback = procedure( sourceTrackingRefCon: UnivPtr; sourceTrackingFlags: ICMSourceTrackingFlags; sourceFrameRefCon: UnivPtr; reserved: UnivPtr );
8022 
8023 {
8024  *  ICMSourceTrackingCallbackRecord
8025  *
8026  *  Summary:
8027  *    A tracking callback for an ICM compression session.
8028  }
8029 type
8030 	ICMSourceTrackingCallbackRecordPtr = ^ICMSourceTrackingCallbackRecord;
8031 	ICMSourceTrackingCallbackRecord = record
8032 {
8033    * The callback function pointer.
8034    }
8035 		sourceTrackingCallback: ICMSourceTrackingCallback;
8036 
8037   {
8038    * The callback's reference value.
8039    }
8040 		sourceTrackingRefCon: UnivPtr;
8041 	end;
8042 
8043 {
8044  *  ICMFrameType
8045  *
8046  *  Summary:
8047  *    Informally identifies a type of frame.
8048  *
8049  *  Discussion:
8050  *    Do not assume that there are no other frame types beyond I, P and
8051  *    B.
8052  }
8053 type
8054 	ICMFrameType = UInt16;
8055 const
8056 	kICMFrameType_I = 'I';
8057 	kICMFrameType_P = 'P';
8058 	kICMFrameType_B = 'B';
8059 	kICMFrameType_Unknown = 0;
8060 
8061 
8062 { ICMCompressionSessionRef routines }
8063 {
8064  *  ICMCompressionSessionCreate()
8065  *
8066  *  Summary:
8067  *    Creates a compression session for the given codec type.
8068  *
8069  *  Discussion:
8070  *    Some compressors do not support arbitrary source dimensions, and
8071  *    may override the suggested width and height.
8072  *
8073  *  Parameters:
8074  *
8075  *    allocator:
8076  *      An allocator for the session.  Pass NULL to use the default
8077  *      allocator.
8078  *
8079  *    width:
8080  *      The width of frames.
8081  *
8082  *    height:
8083  *      The height of frames.
8084  *
8085  *    cType:
8086  *      The codec type.
8087  *
8088  *    timescale:
8089  *      The timescale to be used for all timestamps and durations used
8090  *      in the session.
8091  *
8092  *    compressionOptions:
8093  *      Settings configuring the session.
8094  *
8095  *    sourcePixelBufferAttributes:
8096  *      Required attributes for source pixel buffers, used when
8097  *      creating a pixel buffer pool for source frames. If you do not
8098  *      want the ICM to create one for you, pass NULL. (Using pixel
8099  *      buffers not allocated by the ICM may increase the chance that
8100  *      it will be necessary to copy image data.)
8101  *
8102  *    encodedFrameOutputRecord:
8103  *      The callback that will receive encoded frames.
8104  *
8105  *    compressionSessionOut:
8106  *      Points to a variable to receive the created session object.
8107  *
8108  *  Availability:
8109  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8110  *    CarbonLib:        not available
8111  *    Non-Carbon CFM:   not available
8112  }
ICMCompressionSessionCreatenull8113 function ICMCompressionSessionCreate( allocator: CFAllocatorRef { can be NULL }; width: SInt32; height: SInt32; cType: CodecType; timescale_: TimeScale; compressionOptions: ICMCompressionSessionOptionsRef { can be NULL }; sourcePixelBufferAttributes: CFDictionaryRef { can be NULL }; var encodedFrameOutputRecord: ICMEncodedFrameOutputRecord; var compressionSessionOut: ICMCompressionSessionRef ): OSStatus; external name '_ICMCompressionSessionCreate';
8114 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8115 
8116 
8117 {
8118  *  ICMCompressionSessionRetain()
8119  *
8120  *  Summary:
8121  *    Increments the retain count of a compression session.
8122  *
8123  *  Discussion:
8124  *    If you pass NULL to this function, nothing happens.
8125  *
8126  *  Availability:
8127  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8128  *    CarbonLib:        not available
8129  *    Non-Carbon CFM:   not available
8130  }
ICMCompressionSessionRetainnull8131 function ICMCompressionSessionRetain( session: ICMCompressionSessionRef ): ICMCompressionSessionRef; external name '_ICMCompressionSessionRetain';
8132 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8133 
8134 
8135 {
8136  *  ICMCompressionSessionRelease()
8137  *
8138  *  Summary:
8139  *    Decrements the retain count of a compression session.  If it
8140  *    drops to zero, the session is disposed.
8141  *
8142  *  Discussion:
8143  *    If you pass NULL to this function, nothing happens. Remember to
8144  *    call ICMCompressionSessionCompleteFrames first if you want to
8145  *    ensure any pending frames are emitted.  If you do not, they will
8146  *    be discarded.
8147  *
8148  *  Availability:
8149  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8150  *    CarbonLib:        not available
8151  *    Non-Carbon CFM:   not available
8152  }
8153 procedure ICMCompressionSessionRelease( session: ICMCompressionSessionRef ); external name '_ICMCompressionSessionRelease';
8154 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8155 
8156 
8157 {
8158  *  ICMCompressionSessionGetTypeID()
8159  *
8160  *  Summary:
8161  *    Returns the CFTypeID for compression sessions.
8162  *
8163  *  Availability:
8164  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8165  *    CarbonLib:        not available
8166  *    Non-Carbon CFM:   not available
8167  }
ICMCompressionSessionGetTypeIDnull8168 function ICMCompressionSessionGetTypeID: CFTypeID; external name '_ICMCompressionSessionGetTypeID';
8169 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8170 
8171 
8172 {
8173  *  ICMCompressionSessionGetPropertyInfo()
8174  *
8175  *  Summary:
8176  *    Retrieves information about properties of a compression session.
8177  *
8178  *  Availability:
8179  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8180  *    CarbonLib:        not available
8181  *    Non-Carbon CFM:   not available
8182  }
ICMCompressionSessionGetPropertyInfonull8183 function ICMCompressionSessionGetPropertyInfo( session: ICMCompressionSessionRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; outPropType: ComponentValueTypePtr { can be NULL }; outPropValueSize: ByteCountPtr { can be NULL }; outPropertyFlags: UInt32Ptr { can be NULL } ): OSStatus; external name '_ICMCompressionSessionGetPropertyInfo';
8184 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8185 
8186 
8187 {
8188  *  ICMCompressionSessionGetProperty()
8189  *
8190  *  Summary:
8191  *    Retrieves the value of a specific property of a compression
8192  *    session.
8193  *
8194  *  Availability:
8195  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8196  *    CarbonLib:        not available
8197  *    Non-Carbon CFM:   not available
8198  }
ICMCompressionSessionGetPropertynull8199 function ICMCompressionSessionGetProperty( session: ICMCompressionSessionRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMCompressionSessionGetProperty';
8200 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8201 
8202 
8203 {
8204  *  ICMCompressionSessionSetProperty()
8205  *
8206  *  Summary:
8207  *    Sets the value of a specific property of a compression session.
8208  *
8209  *  Availability:
8210  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8211  *    CarbonLib:        not available
8212  *    Non-Carbon CFM:   not available
8213  }
ICMCompressionSessionSetPropertynull8214 function ICMCompressionSessionSetProperty( session: ICMCompressionSessionRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMCompressionSessionSetProperty';
8215 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8216 
8217 
8218 {
8219  *  Summary:
8220  *    Properties of compression sessions.
8221  }
8222 const
8223 {
8224    * Class identifier for compression session properties.
8225    }
8226 	kQTPropertyClass_ICMCompressionSession = FourCharCode('icse');
8227 
8228   {
8229    * The time scale for the compression session.
8230    }
8231 	kICMCompressionSessionPropertyID_TimeScale = FourCharCode('tscl'); { TimeScale, Read }
8232 
8233   {
8234    * The compressor's pixel buffer attributes for the compression
8235    * session. You can use these to create a pixel buffer pool for
8236    * source pixel buffers. Note that this is not the same as the
8237    * sourcePixelBufferAttributes passed in to
8238    * ICMCompressionSessionCreate. Getting this property does not change
8239    * its retain count.
8240    }
8241 	kICMCompressionSessionPropertyID_CompressorPixelBufferAttributes = FourCharCode('batt'); { CFDictionaryRef, Read }
8242 
8243   {
8244    * A pool that can provide ideal source pixel buffers for a
8245    * compression session. The compression session creates this pixel
8246    * buffer pool based on the compressor's pixel buffer attributes and
8247    * any pixel buffer attributes passed in to
8248    * ICMCompressionSessionCreate. If the source pixel buffer attributes
8249    * and the compressor pixel buffer attributes can not be reconciled,
8250    * the pool is based on the source pixel buffer attributes and the
8251    * ICM converts each CVPixelBuffer internally.
8252    }
8253 	kICMCompressionSessionPropertyID_PixelBufferPool = FourCharCode('pool'); { CVPixelBufferPoolRef, Read }
8254 
8255   {
8256    * The image description for the compression session. For some
8257    * codecs, the image description may not be available before the
8258    * first frame is compressed. Multiple calls to retrieve this
8259    * property will return the same handle. The ICM will dispose this
8260    * handle when the compression session is disposed.
8261    * IMPORTANT: The caller must NOT dispose this handle.
8262    }
8263 	kICMCompressionSessionPropertyID_ImageDescription = FourCharCode('idsc'); { ImageDescriptionHandle, Read }
8264 
8265 {
8266  *  ICMCompressionSessionGetTimeScale()
8267  *
8268  *  Summary:
8269  *    Retrieves the time scale for the compression session.
8270  *
8271  *  Availability:
8272  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8273  *    CarbonLib:        not available
8274  *    Non-Carbon CFM:   not available
8275  }
ICMCompressionSessionGetTimeScalenull8276 function ICMCompressionSessionGetTimeScale( session: ICMCompressionSessionRef ): TimeScale; external name '_ICMCompressionSessionGetTimeScale';
8277 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8278 
8279 
8280 {
8281  *  ICMCompressionSessionGetPixelBufferPool()
8282  *
8283  *  Summary:
8284  *    Returns a pool that can provide ideal source pixel buffers for a
8285  *    compression session.
8286  *
8287  *  Discussion:
8288  *    The compression session creates this pixel buffer pool based on
8289  *    the compressor's pixel buffer attributes and any pixel buffer
8290  *    attributes passed in to ICMCompressionSessionCreate. If the
8291  *    source pixel buffer attributes and the compressor pixel buffer
8292  *    attributes can not be reconciled, the pool is based on the source
8293  *    pixel buffer attributes and the ICM converts each CVPixelBuffer
8294  *    internally.
8295  *
8296  *  Availability:
8297  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8298  *    CarbonLib:        not available
8299  *    Non-Carbon CFM:   not available
8300  }
ICMCompressionSessionGetPixelBufferPoolnull8301 function ICMCompressionSessionGetPixelBufferPool( session: ICMCompressionSessionRef ): CVPixelBufferPoolRef; external name '_ICMCompressionSessionGetPixelBufferPool';
8302 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8303 
8304 
8305 {
8306  *  ICMCompressionSessionGetImageDescription()
8307  *
8308  *  Summary:
8309  *    Retrieves the image description for the compression session.
8310  *
8311  *  Discussion:
8312  *    For some codecs, this may fail if called before the first frame
8313  *    is compressed. Multiple calls to
8314  *    ICMCompressionSessionGetImageDescription will return the same
8315  *    handle. The ICM will dispose this handle when the compression
8316  *    session is disposed.
8317  *    IMPORTANT: The caller must NOT dispose this handle.
8318  *
8319  *  Availability:
8320  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8321  *    CarbonLib:        not available
8322  *    Non-Carbon CFM:   not available
8323  }
ICMCompressionSessionGetImageDescriptionnull8324 function ICMCompressionSessionGetImageDescription( session: ICMCompressionSessionRef; var imageDescOut: ImageDescriptionHandle ): OSStatus; external name '_ICMCompressionSessionGetImageDescription';
8325 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8326 
8327 
8328 { ICMCompressionSessionRef encoding routines }
8329 {
8330  *  ICMCompressionSessionEncodeFrame()
8331  *
8332  *  Summary:
8333  *    Call this function to present frames to the compression session.
8334  *    Encoded frames may or may not be output before the function
8335  *    returns.
8336  *
8337  *  Discussion:
8338  *    The session will retain the pixel buffer as long as necessary;
8339  *    the client should not modify the pixel data until the session
8340  *    releases it. (The most practical way to deal with this is by
8341  *    allocating pixel buffers from a pool.)
8342  *    The client may fill in both, either or neither of
8343  *    displayTimeStamp and displayDuration, but should set the
8344  *    appropriate flags to indicate which is valid. If the client needs
8345  *    to track the progress of a source frame, it should provide a
8346  *    sourceTrackingCallback.
8347  *    Note: If multipass compression is enabled, calls to
8348  *    ICMCompressionSessionEncodeFrame must be bracketed by
8349  *    ICMCompressionSessionBeginPass ... ICMCompressionSessionEndPass.
8350  *
8351  *  Parameters:
8352  *
8353  *    session:
8354  *      Identifies the compression session.
8355  *
8356  *    pixelBuffer:
8357  *      Contains the source image to be compressed. PixelBuffer must
8358  *      have a nonzero reference count. The session will retain it as
8359  *      long as necessary. The client should not modify pixel buffer's
8360  *      pixels until the pixel buffer release callback is called. In a
8361  *      multipass encoding session pass where the compressor suggested
8362  *      the flag kICMCompressionPassMode_NoSourceFrames, you may pass
8363  *      NULL for pixelBuffer.
8364  *
8365  *    displayTimeStamp:
8366  *      The display timestamp of the frame, using the timescale passed
8367  *      to ICMCompressionSessionCreate. If you pass a valid value, set
8368  *      the kICMValidTime_DisplayTimeStampIsValid flag in
8369  *      validTimeFlags.
8370  *
8371  *    displayDuration:
8372  *      The display duration of the frame, using the timescale passed
8373  *      to ICMCompressionSessionCreate. If you pass a valid value, set
8374  *      the kICMValidTime_DisplayDurationIsValid flag in validTimeFlags.
8375  *
8376  *    validTimeFlags:
8377  *      Flags to indicate which of displayTimeStamp and displayDuration
8378  *      are valid.
8379  *
8380  *    frameOptions:
8381  *      Options for this frame.
8382  *
8383  *    sourceTrackingCallback:
8384  *      A callback to be notified about the status of this source
8385  *      frame. Pass NULL if you do not require notification.
8386  *
8387  *    sourceFrameRefCon:
8388  *      Your reference to the source frame.
8389  *
8390  *  Availability:
8391  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8392  *    CarbonLib:        not available
8393  *    Non-Carbon CFM:   not available
8394  }
ICMCompressionSessionEncodeFramenull8395 function ICMCompressionSessionEncodeFrame( session: ICMCompressionSessionRef; pixelBuffer: CVPixelBufferRef; displayTimeStamp: TimeValue64; displayDuration: TimeValue64; validTimeFlags: ICMValidTimeFlags; frameOptions: ICMCompressionFrameOptionsRef { can be NULL }; sourceTrackingCallback: ICMSourceTrackingCallbackRecordPtr { can be NULL }; sourceFrameRefCon: UnivPtr ): OSStatus; external name '_ICMCompressionSessionEncodeFrame';
8396 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8397 
8398 
8399 {
8400  *  ICMCompressionSessionCompleteFrames()
8401  *
8402  *  Discussion:
8403  *    Call this function to force the compression session to complete
8404  *    encoding frames. Set completeAllFrames to direct the session to
8405  *    complete all pending frames.
8406  *    If completeAllFrames is false, only frames with display time
8407  *    stamps up to and including completeUntilDisplayTimeStamp.
8408  *    If ICMCompressionSessionOptionsSetDurationsNeeded is true and you
8409  *    are passing valid display timestamps but not display durations to
8410  *    ICMCompressionSessionEncodeFrame, pass the display timestamp of
8411  *    the next frame that would be passed to EncodeFrame in
8412  *    nextDisplayTimeStamp.
8413  *    Note: This function might return before frames are completed if
8414  *    the encoded frame callback returns an error.
8415  *
8416  *  Parameters:
8417  *
8418  *    session:
8419  *      Identifies the compression session.
8420  *
8421  *    completeAllFrames:
8422  *      Set to direct the session to complete all pending frames.
8423  *
8424  *    completeUntilDisplayTimeStamp:
8425  *      If completeAllFrames is false, the display timestamp to
8426  *      complete frames up to. Ignored if completeAllFrames is true.
8427  *
8428  *    nextDisplayTimeStamp:
8429  *      See above. Ignored unless
8430  *      ICMCompressionSessionOptionsSetDurationsNeeded set true and
8431  *      kICMValidTime_DisplayDurationIsValid was clear in
8432  *      validTimeFlags in last call to ICMCompressionSessionEncodeFrame.
8433  *
8434  *  Availability:
8435  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8436  *    CarbonLib:        not available
8437  *    Non-Carbon CFM:   not available
8438  }
ICMCompressionSessionCompleteFramesnull8439 function ICMCompressionSessionCompleteFrames( session: ICMCompressionSessionRef; completeAllFrames: Boolean; completeUntilDisplayTimeStamp: TimeValue64; nextDisplayTimeStamp: TimeValue64 ): OSStatus; external name '_ICMCompressionSessionCompleteFrames';
8440 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8441 
8442 
8443 { ICMCompressionSessionRef multipass support routines }
8444 
8445 {
8446  *  ICMCompressionPassModeFlags
8447  *
8448  *  Summary:
8449  *    Flags describing how a compressor should behave in a given pass
8450  *    of multipass encoding.
8451  }
8452 type
8453 	ICMCompressionPassModeFlagsPtr = ^ICMCompressionPassModeFlags;
8454 	ICMCompressionPassModeFlags = UInt32;
8455 const
8456 {
8457    * In this pass the compressor shall output encoded frames.
8458    }
8459 	kICMCompressionPassMode_OutputEncodedFrames = 1 shl 0;
8460 
8461   {
8462    * In this pass the client need not provide source frame buffers.
8463    }
8464 	kICMCompressionPassMode_NoSourceFrames = 1 shl 1;
8465 
8466   {
8467    * In this pass the compressor may write private data to multipass
8468    * storage.
8469    }
8470 	kICMCompressionPassMode_WriteToMultiPassStorage = 1 shl 2;
8471 
8472   {
8473    * In this pass the compressor may read private data from multipass
8474    * storage.
8475    }
8476 	kICMCompressionPassMode_ReadFromMultiPassStorage = 1 shl 3;
8477 
8478   {
8479    * The compressor will set this flag to indicate that it will not be
8480    * able to output encoded frames in the coming pass. If this flag is
8481    * not set, then the client is allowed to set the
8482    * kICMCompressionPassMode_OutputEncodedFrames flag when calling
8483    * ICMCompressionSessionBeginPass.
8484    }
8485 	kICMCompressionPassMode_NotReadyToOutputEncodedFrames = 1 shl 4;
8486 
8487 {
8488  *  ICMCompressionSessionSupportsMultiPassEncoding()
8489  *
8490  *  Summary:
8491  *    Queries whether a compression session supports multipass encoding.
8492  *
8493  *  Discussion:
8494  *    Even if this function returns false, if you set the
8495  *    kICMCompressionSessionOptionsPropertyID_MultiPassStorage property
8496  *    on the CompressionSessionOptions, you must call
8497  *    ICMCompressionSessionBeginPass and ICMCompressionSessionEndPass.
8498  *
8499  *  Parameters:
8500  *
8501  *    session:
8502  *      The compression session.
8503  *
8504  *    multiPassStyleFlags:
8505  *      Reserved.  Set to zero.
8506  *
8507  *    firstPassModeFlagsOut:
8508  *      Points to a variable to receive the session's requested mode
8509  *      flags for the first pass. The client may modify these flags,
8510  *      but should not set kICMCompressionPassMode_NoSourceFrames. Pass
8511  *      NULL if you do not want this information.
8512  *
8513  *  Result:
8514  *    true if the session supports multipass encoding, false otherwise.
8515  *    If the session does not support multipass encoding,
8516  *    *firstPassModeFlagsOut will be set to
8517  *    kICMCompressionPassMode_OutputEncodedFrames.
8518  *
8519  *  Availability:
8520  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8521  *    CarbonLib:        not available
8522  *    Non-Carbon CFM:   not available
8523  }
ICMCompressionSessionSupportsMultiPassEncodingnull8524 function ICMCompressionSessionSupportsMultiPassEncoding( session: ICMCompressionSessionRef; multiPassStyleFlags: UInt32; firstPassModeFlagsOut: ICMCompressionPassModeFlagsPtr { can be NULL } ): Boolean; external name '_ICMCompressionSessionSupportsMultiPassEncoding';
8525 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8526 
8527 
8528 {
8529  *  ICMCompressionSessionBeginPass()
8530  *
8531  *  Summary:
8532  *    Call to announce the start of a specific compression pass.
8533  *
8534  *  Discussion:
8535  *    The source frames and frame options for each display timestamp
8536  *    should be the same across passes.
8537  *    During multipass compression, valid displayTimeStamps must be
8538  *    passed to ICMCompressionSessionEncodeFrame since they are used to
8539  *    index the compressor's stored state.
8540  *    During an analysis pass
8541  *    (kICMCompressionPassMode_WriteToMultiPassStorage), the compressor
8542  *    does not output encoded frames, but records compressor-private
8543  *    information for each frame.
8544  *    During repeated analysis passes and the encoding pass
8545  *    (kICMCompressionPassMode_ReadFromMultiPassStorage), the
8546  *    compressor may refer to this information for other frames and use
8547  *    it to improve encoding.
8548  *    During an encoding pass
8549  *    (kICMCompressionPassMode_OutputEncodedFrames), the compressor
8550  *    must output encoded frames.
8551  *    If the compressor set the kICMCompressionPassMode_NoSourceFrames
8552  *    flag for the pass, the client may pass NULL pixel buffers to
8553  *    ICMCompressionSessionEncodeFrame.
8554  *    By default, the ICM provides local storage that lasts only until
8555  *    the compression session is disposed. If the client provides
8556  *    custom multipass storage, pass may be performed at different
8557  *    times or on different machines; segments of each pass may even be
8558  *    distributed.
8559  *
8560  *  Availability:
8561  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8562  *    CarbonLib:        not available
8563  *    Non-Carbon CFM:   not available
8564  }
ICMCompressionSessionBeginPassnull8565 function ICMCompressionSessionBeginPass( session: ICMCompressionSessionRef; passModeFlags: ICMCompressionPassModeFlags; flags: UInt32 ): OSStatus; external name '_ICMCompressionSessionBeginPass';
8566 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8567 
8568 
8569 {
8570  *  ICMCompressionSessionEndPass()
8571  *
8572  *  Summary:
8573  *    Call to announce the end of a pass.
8574  *
8575  *  Availability:
8576  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8577  *    CarbonLib:        not available
8578  *    Non-Carbon CFM:   not available
8579  }
ICMCompressionSessionEndPassnull8580 function ICMCompressionSessionEndPass( session: ICMCompressionSessionRef ): OSStatus; external name '_ICMCompressionSessionEndPass';
8581 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8582 
8583 
8584 {
8585  *  ICMCompressionSessionProcessBetweenPasses()
8586  *
8587  *  Summary:
8588  *    Lets the compressor perform processing between passes.
8589  *
8590  *  Discussion:
8591  *    Call this function repeatedly, until the compressor sets
8592  *    *interpassProcessingDoneOut to true to indicate that it is done
8593  *    with this round of interpass processing.
8594  *    When done, the compressor will indicate its preferred mode for
8595  *    the next pass.
8596  *    The client may choose to begin an encoding pass (by ORing in the
8597  *    kICMCompressionPassMode_OutputEncodedFrames flag) regardless of
8598  *    the compressor's request.
8599  *
8600  *  Parameters:
8601  *
8602  *    session:
8603  *      The compression session.
8604  *
8605  *    flags:
8606  *      Reserved.  Set to zero.
8607  *
8608  *    interpassProcessingDoneOut:
8609  *      Points to a Boolean that will be set to false if
8610  *      ICMCompressionSessionProcessBetweenPasses should be called
8611  *      again, true if not
8612  *
8613  *    requestedNextPassModeFlagsOut:
8614  *      Points to ICMCompressionPassModeFlags that will be set to the
8615  *      codec's recommended mode flags for the next pass.
8616  *      kICMCompressionPassMode_OutputEncodedFrames will only be set if
8617  *      it recommends that the next pass be the final one.
8618  *
8619  *  Availability:
8620  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8621  *    CarbonLib:        not available
8622  *    Non-Carbon CFM:   not available
8623  }
ICMCompressionSessionProcessBetweenPassesnull8624 function ICMCompressionSessionProcessBetweenPasses( session: ICMCompressionSessionRef; flags: UInt32; var interpassProcessingDoneOut: Boolean; var requestedNextPassModeFlagsOut: ICMCompressionPassModeFlags ): OSStatus; external name '_ICMCompressionSessionProcessBetweenPasses';
8625 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8626 
8627 
8628 { ICMCompressionSessionOptionsRef routines }
8629 {
8630  *  ICMCompressionSessionOptionsCreate()
8631  *
8632  *  Summary:
8633  *    Creates a compression session options object.
8634  *
8635  *  Availability:
8636  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8637  *    CarbonLib:        not available
8638  *    Non-Carbon CFM:   not available
8639  }
ICMCompressionSessionOptionsCreatenull8640 function ICMCompressionSessionOptionsCreate( allocator: CFAllocatorRef { can be NULL }; var options: ICMCompressionSessionOptionsRef ): OSStatus; external name '_ICMCompressionSessionOptionsCreate';
8641 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8642 
8643 
8644 {
8645  *  ICMCompressionSessionOptionsCreateCopy()
8646  *
8647  *  Summary:
8648  *    Copies a compression session options object.
8649  *
8650  *  Availability:
8651  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8652  *    CarbonLib:        not available
8653  *    Non-Carbon CFM:   not available
8654  }
ICMCompressionSessionOptionsCreateCopynull8655 function ICMCompressionSessionOptionsCreateCopy( allocator: CFAllocatorRef { can be NULL }; originalOptions: ICMCompressionSessionOptionsRef; var copiedOptions: ICMCompressionSessionOptionsRef ): OSStatus; external name '_ICMCompressionSessionOptionsCreateCopy';
8656 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8657 
8658 
8659 {
8660  *  ICMCompressionSessionOptionsRetain()
8661  *
8662  *  Summary:
8663  *    Increments the retain count of a compression session options
8664  *    object.
8665  *
8666  *  Discussion:
8667  *    If you pass NULL to this function, nothing happens.
8668  *
8669  *  Availability:
8670  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8671  *    CarbonLib:        not available
8672  *    Non-Carbon CFM:   not available
8673  }
ICMCompressionSessionOptionsRetainnull8674 function ICMCompressionSessionOptionsRetain( options: ICMCompressionSessionOptionsRef ): ICMCompressionSessionOptionsRef; external name '_ICMCompressionSessionOptionsRetain';
8675 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8676 
8677 
8678 {
8679  *  ICMCompressionSessionOptionsRelease()
8680  *
8681  *  Summary:
8682  *    Decrements the retain count of a compression session options
8683  *    object.  If it drops to zero, the object is disposed.
8684  *
8685  *  Discussion:
8686  *    If you pass NULL to this function, nothing happens.
8687  *
8688  *  Availability:
8689  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8690  *    CarbonLib:        not available
8691  *    Non-Carbon CFM:   not available
8692  }
8693 procedure ICMCompressionSessionOptionsRelease( options: ICMCompressionSessionOptionsRef ); external name '_ICMCompressionSessionOptionsRelease';
8694 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8695 
8696 
8697 {
8698  *  ICMCompressionSessionOptionsGetTypeID()
8699  *
8700  *  Summary:
8701  *    Returns the CFTypeID for compression session options objects.
8702  *
8703  *  Availability:
8704  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8705  *    CarbonLib:        not available
8706  *    Non-Carbon CFM:   not available
8707  }
ICMCompressionSessionOptionsGetTypeIDnull8708 function ICMCompressionSessionOptionsGetTypeID: CFTypeID; external name '_ICMCompressionSessionOptionsGetTypeID';
8709 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8710 
8711 
8712 {
8713  *  ICMCompressionSessionOptionsGetPropertyInfo()
8714  *
8715  *  Summary:
8716  *    Retrieves information about properties of a compression session
8717  *    options object.
8718  *
8719  *  Availability:
8720  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8721  *    CarbonLib:        not available
8722  *    Non-Carbon CFM:   not available
8723  }
ICMCompressionSessionOptionsGetPropertyInfonull8724 function ICMCompressionSessionOptionsGetPropertyInfo( options: ICMCompressionSessionOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; outPropType: ComponentValueTypePtr { can be NULL }; outPropValueSize: ByteCountPtr { can be NULL }; outPropertyFlags: UInt32Ptr { can be NULL } ): OSStatus; external name '_ICMCompressionSessionOptionsGetPropertyInfo';
8725 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8726 
8727 
8728 {
8729  *  ICMCompressionSessionOptionsGetProperty()
8730  *
8731  *  Summary:
8732  *    Retrieves the value of a specific property of a compression
8733  *    session options object.
8734  *
8735  *  Availability:
8736  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8737  *    CarbonLib:        not available
8738  *    Non-Carbon CFM:   not available
8739  }
ICMCompressionSessionOptionsGetPropertynull8740 function ICMCompressionSessionOptionsGetProperty( options: ICMCompressionSessionOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMCompressionSessionOptionsGetProperty';
8741 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8742 
8743 
8744 {
8745  *  ICMCompressionSessionOptionsSetProperty()
8746  *
8747  *  Summary:
8748  *    Sets the value of a specific property of a compression session
8749  *    options object.
8750  *
8751  *  Availability:
8752  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
8753  *    CarbonLib:        not available
8754  *    Non-Carbon CFM:   not available
8755  }
ICMCompressionSessionOptionsSetPropertynull8756 function ICMCompressionSessionOptionsSetProperty( options: ICMCompressionSessionOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMCompressionSessionOptionsSetProperty';
8757 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
8758 
8759 
8760 const
8761 {
8762    * Indicates no limit on the number of frames in the compression
8763    * window.
8764    }
8765 	kICMUnlimitedFrameDelayCount = -1;
8766 
8767   {
8768    * Indicates no time limit on the number of frames in the compression
8769    * window.
8770    }
8771 	kICMUnlimitedFrameDelayTime = -1;
8772 
8773   {
8774    * Indicates no CPU time limit on compression.
8775    }
8776 	kICMUnlimitedCPUTimeBudget = -1;
8777 
8778 
8779 {
8780  *  ICMDataRateLimit
8781  *
8782  *  Summary:
8783  *    A hard limit on the data rate.
8784  *
8785  *  Discussion:
8786  *    A hard limit is described by a data size in bytes and a duration
8787  *    in seconds, and requires that the total size of compressed data
8788  *    for any continuous segment of that duration (in decode time) must
8789  *    not exceed the provided data size.
8790  }
8791 type
8792 	ICMDataRateLimit = record
8793 {
8794    * The number of bytes.
8795    }
8796 		dataSize: SInt32;
8797 
8798   {
8799    * The number of seconds.
8800    }
8801 		dataDuration: Float32;
8802 	end;
8803 
8804 {
8805  *  Summary:
8806  *    Scaling modes
8807  *
8808  *  Discussion:
8809  *    These constants indicate how source frames to a compression
8810  *    session should be scaled if the dimensions and/or display aspect
8811  *    ratio do not match.
8812  }
8813 const
8814 {
8815    * The full width and height of source frames shall be scaled to the
8816    * full width and height of the destination. This is the default if
8817    * no other scaling mode is specified.
8818    }
8819 	kICMScalingMode_StretchProductionAperture = FourCharCode('sp2p');
8820 
8821   {
8822    * The clean aperture of the source frames shall be scaled to the
8823    * clean aperture of the destination.
8824    }
8825 	kICMScalingMode_StretchCleanAperture = FourCharCode('sc2c');
8826 
8827   {
8828    * The clean aperture of the source frames shall be scaled to fit
8829    * inside the clean aperture of the destination, preserving the
8830    * original display aspect ratio. If the display aspect ratios are
8831    * different, the source frames will be centered with black bars
8832    * above and below, or to the left and right.
8833    }
8834 	kICMScalingMode_Letterbox = FourCharCode('lett');
8835 
8836   {
8837    * The clean aperture of the source frames shall be scaled to cover
8838    * the clean aperture of the destination, preserving the original
8839    * display aspect ratio. If the display aspect ratios are different,
8840    * the source frames will be centered and cropped.
8841    }
8842 	kICMScalingMode_Trim = FourCharCode('trim');
8843 
8844 
8845 {
8846  *  ICMSimpleBoundaryConditions
8847  *
8848  *  Summary:
8849  *    Indicates whether and how a compression session's frames will be
8850  *    concatenated with other compressed frames to form a longer series.
8851  *
8852  *  Discussion:
8853  *    Some clients divide a long series of frames into several shorter
8854  *    segments, each of which is then compressed by an independent
8855  *    compression session. Boundary conditions tell the compressor
8856  *    about how each session fits into the greater series: does this
8857  *    session stand alone, or will it be used to encode the first
8858  *    segment, a middle segment, or the last segment in a longer
8859  *    continuum?
8860  *    This information enables compressors to ensure that compressed
8861  *    segments can be concatenated smoothly -- for example, avoiding
8862  *    data rate spikes where segments are joined.
8863  *    By default, a session is assumed to stand alone.
8864  }
8865 type
8866 	ICMSimpleBoundaryConditions = record
8867 {
8868    * True if frames compressed in a separate session will be
8869    * concatenated before the beginning of this one. False if this is a
8870    * stand-alone session, or if this session will encode the first
8871    * segment of a multi-segment compression. By default, false.
8872    }
8873 		moreFramesBeforeStart: Boolean;
8874 
8875   {
8876    * True if frames compressed in a separate session will be
8877    * concatenated following the end of this one. False if this is a
8878    * stand-alone session, or if this session will encode the last
8879    * segment of a multi-segment compression. By default, false.
8880    }
8881 		moreFramesAfterEnd: Boolean;
8882 	end;
8883 
8884 {
8885  *  Summary:
8886  *    Properties of compression sessions options objects.
8887  }
8888 const
8889 {
8890    * Class identifier for compression session options object properties.
8891    }
8892 	kQTPropertyClass_ICMCompressionSessionOptions = FourCharCode('icso');
8893 
8894   {
8895    * Enables temporal compression. By default, temporal compression is
8896    * disabled.
8897    * IMPORTANT: If you want temporal compression (P frames and/or B
8898    * frames) you must set this to true.
8899    }
8900 	kICMCompressionSessionOptionsPropertyID_AllowTemporalCompression = FourCharCode('p ok'); { Boolean, Read/Write }
8901 
8902   {
8903    * Enables frame reordering.
8904    * In order to encode B frames, a compressor must reorder frames,
8905    * which means that the order in which they will be emitted and
8906    * stored (the decode order) is different from the order in which
8907    * they were presented to the compressor (the display order).
8908    * By default, frame reordering is disabled.
8909    * IMPORTANT: In order to encode using B frames, you must enable
8910    * frame reordering.
8911    }
8912 	kICMCompressionSessionOptionsPropertyID_AllowFrameReordering = FourCharCode('b ok'); { Boolean, Read/Write }
8913 
8914   {
8915    * Indicates that durations of emitted frames are needed.
8916    * If this flag is set and source frames are provided with times but
8917    * not durations, then frames will be delayed so that durations can
8918    * be calculated as the difference between one frame's time stamp and
8919    * the next frame's time stamp.
8920    * By default, this flag is clear, so frames will not be delayed in
8921    * order to calculate durations.
8922    * IMPORTANT: If you will be passing encoded frames to
8923    * AddMediaSampleFromEncodedFrame, you must set this flag to true.
8924    }
8925 	kICMCompressionSessionOptionsPropertyID_DurationsNeeded = FourCharCode('need'); { Boolean, Read/Write }
8926 
8927   {
8928    * The maximum interval between key frames, also known as the key
8929    * frame rate.
8930    * Key frames, also known as sync frames, reset inter-frame
8931    * dependencies; decoding a key frame is sufficient to prepare a
8932    * decompressor for correctly decoding the difference frames that
8933    * follow.
8934    * Compressors are allowed to generate key frames more frequently if
8935    * this would result in more efficient compression.
8936    * The default key frame interval is 0, which indicates that the
8937    * compressor should choose where to place all key frames. A key
8938    * frame interval of 1 indicates that every frame must be a key
8939    * frame, 2 indicates that at least every other frame must be a key
8940    * frame, etc.
8941    }
8942 	kICMCompressionSessionOptionsPropertyID_MaxKeyFrameInterval = FourCharCode('kyfr'); { SInt32, Read/Write }
8943 
8944   {
8945    * The requested maximum interval between partial sync frames. If the
8946    * interval is n, any sequence of n successive frames must include at
8947    * least one key or partial sync frame.
8948    * Where supported, partial sync frames perform a partial reset of
8949    * inter-frame dependencies; decoding two partial sync frames and the
8950    * non-droppable difference frames between them is sufficient to
8951    * prepare a decompressor for correctly decoding the difference
8952    * frames that follow.
8953    * Compressors are allowed to generate partial sync frames more
8954    * frequently if this would result in more efficient compression.
8955    *
8956    * The default partial sync frame interval is 0, which indicates that
8957    * the compressor should choose where to place partial sync frames. A
8958    * partial sync frame interval of 1 means there can be no difference
8959    * frames, so it is equivalent to a key frame interval of 1. A
8960    * partial sync frame interval of 2 means that every other frame must
8961    * be a key frame or a partial sync frame.
8962    * Compressors that do not support partial sync frames will ignore
8963    * this setting.
8964    }
8965 	kICMCompressionSessionOptionsPropertyID_MaxPartialSyncFrameInterval = FourCharCode('psfr'); { SInt32, Read/Write }
8966 
8967   {
8968    * Enables the compressor to modify frame times.
8969    * Some compressors are able to identify and coalesce runs of
8970    * identical frames and output single frames with longer duration, or
8971    * output frames at a different frame rate from the original. This
8972    * feature is controlled by the "allow frame time changes" flag. By
8973    * default, this flag is set to false, which forces compressors to
8974    * emit one encoded frame for every source frame, and to preserve
8975    * frame display times.
8976    * (Note: this feature replaces the practice of having compressors
8977    * return special high similarity values to indicate that frames
8978    * could be dropped.)
8979    * If you want to allow the compressor to modify frame times in order
8980    * to improve compression performance, enable frame time changes.
8981    }
8982 	kICMCompressionSessionOptionsPropertyID_AllowFrameTimeChanges = FourCharCode('+ ok'); { Boolean, Read/Write }
8983 
8984   {
8985    * Enables the compressor to call the encoded-frame callback from a
8986    * different thread.
8987    * By default, the flag is false, which means that the compressor
8988    * must call the encoded-frame callback from the same thread that
8989    * ICMCompressionSessionEncodeFrame and
8990    * ICMCompressionSessionCompleteFrames were called on.
8991    }
8992 	kICMCompressionSessionOptionsPropertyID_AllowAsyncCompletion = FourCharCode('asok'); { Boolean, Read/Write }
8993 
8994   {
8995    * The maximum frame delay count is the maximum number of frames that
8996    * a compressor is allowed to hold before it must output a compressed
8997    * frame. It limits the number of frames that may be held in the
8998    * "compression window". If the maximum frame delay count is M, then
8999    * before the call to encode frame N returns, frame N-M must have
9000    * been emitted.
9001    * The default is kICMUnlimitedFrameDelayCount, which sets no limit
9002    * on the compression window.
9003    }
9004 	kICMCompressionSessionOptionsPropertyID_MaxFrameDelayCount = FourCharCode('cwin'); { SInt32, Read/Write }
9005 
9006   {
9007    * The maximum frame delay time is the maximum difference between a
9008    * source frame's display time and the corresponding encoded frame's
9009    * decode time. It limits the span of display time that may be held
9010    * in the "compression window". If the maximum frame delay time is
9011    * TM, then before the call to encode a frame with display time TN
9012    * returns, all frames with display times up to and including TN-TM
9013    * must have been emitted.
9014    * The default is kICMUnlimitedFrameDelayTime, which sets no time
9015    * limit on the compression window.
9016    }
9017 	kICMCompressionSessionOptionsPropertyID_MaxFrameDelayTime = FourCharCode('cwit'); { TimeValue64, Read/Write }
9018 
9019   {
9020    * Sets a specific compressor component or component instance to be
9021    * used, or one of the wildcards anyCodec, bestSpeedCodec,
9022    * bestFidelityCodec, or bestCompressionCodec.
9023    * Use this API to force the Image Compression Manager to use a
9024    * specific compressor component or compressor component instance.
9025    * (If you pass in a component instance that you opened, the ICM will
9026    * not close that instance; you must do so after the compression
9027    * session is released.) To allow the Image Compression Manager to
9028    * choose the compressor component, set the compressorComponent to
9029    * anyCodec (the default), bestSpeedCodec, bestFidelityCodec or
9030    * bestCompressionCodec.
9031    }
9032 	kICMCompressionSessionOptionsPropertyID_CompressorComponent = FourCharCode('imco'); { CompressorComponent, Read/Write }
9033 
9034   {
9035    * A handle containing compressor settings. The compressor will be
9036    * configured with these settings (by a call to
9037    * ImageCodecSetSettings) during ICMCompressionSessionCreate.
9038    }
9039 	kICMCompressionSessionOptionsPropertyID_CompressorSettings = FourCharCode('cost'); { Handle, Read/Write }
9040 
9041   {
9042    * The depth for compression.
9043    * If a compressor does not support a specific depth, the closest
9044    * supported depth will be used (preferring deeper depths to
9045    * shallower depths). The default depth is k24RGBPixelFormat.
9046    }
9047 	kICMCompressionSessionOptionsPropertyID_Depth = FourCharCode('deep'); { UInt32, Read/Write }
9048 
9049   {
9050    * The color table for compression.  Used with indexed-color depths.
9051    *
9052    * Clients who get this property are responsible for disposing the
9053    * returned CTabHandle.
9054    }
9055 	kICMCompressionSessionOptionsPropertyID_ColorTable = FourCharCode('clut'); { CTabHandle, Read/Write}
9056 
9057   {
9058    * The compression quality.
9059    * This value is always used to set the spatialQuality; if temporal
9060    * compression is enabled, it is also used to set temporalQuality.
9061    * <BR> The default quality is codecNormalQuality.
9062    }
9063 	kICMCompressionSessionOptionsPropertyID_Quality = FourCharCode('qual'); { CodecQ, Read/Write }
9064 
9065   {
9066    * The long-term desired average data rate in bytes per second.
9067    *  This is not a hard limit.
9068    * The default data rate is zero, which indicates that the quality
9069    * setting should determine the size of compressed data.
9070    * Note that data rate settings only have an effect when timing
9071    * information is provided for source frames, and that some codecs do
9072    * not support limiting to specified data rates.
9073    }
9074 	kICMCompressionSessionOptionsPropertyID_AverageDataRate = FourCharCode('aver'); { SInt32, Read/Write }
9075 
9076   {
9077    * Zero, one or two hard limits on data rate.
9078    * Each hard limit is described by a data size in bytes and a
9079    * duration in seconds, and requires that the total size of
9080    * compressed data for any contiguous segment of that duration (in
9081    * decode time) must not exceed the data size.
9082    * By default, no data rate limits are set.
9083    * When setting this property, the inPropValueSize parameter should
9084    * be the number of data rate limits multiplied by
9085    * sizeof(ICMDataRateLimit).
9086    * Note that data rate settings only have an effect when timing
9087    * information is provided for source frames, and that some codecs do
9088    * not support limiting to specified data rates.
9089    }
9090 	kICMCompressionSessionOptionsPropertyID_DataRateLimits = FourCharCode('hard'); { C array of ICMDataRateLimit struct, Read/Write }
9091 
9092   {
9093    * The current number of data rate limits.
9094    }
9095 	kICMCompressionSessionOptionsPropertyID_DataRateLimitCount = FourCharCode('har#'); { UInt32, Read }
9096 
9097   {
9098    * The maximum allowed number of data rate limits.  (Currently 2.)
9099    }
9100 	kICMCompressionSessionOptionsPropertyID_MaxDataRateLimits = FourCharCode('mhar'); { UInt32, Read }
9101 
9102   {
9103    * Indicates that the source was previously compressed.
9104    * This property is purely an optional, informational hint to the
9105    * compressor; by default it is false.
9106    }
9107 	kICMCompressionSessionOptionsPropertyID_WasCompressed = FourCharCode('wasc'); { Boolean, Read/Write }
9108 
9109   {
9110    * Recommends a CPU time budget for the compressor in microseconds
9111    * per frame.
9112    * Zero means to go as fast as possible.
9113    * By default, this is set to kICMUnlimitedCPUTimeBudget, which sets
9114    * no limit.
9115    * This is an advisory hint to the compressor, and some compressors
9116    * may ignore it. Multithreaded compressors may use this amount of
9117    * CPU time on each processor.
9118    * Compressors should not feel compelled to use the full time budget
9119    * if they complete ahead of time!
9120    }
9121 	kICMCompressionSessionOptionsPropertyID_CPUTimeBudget = FourCharCode('cput'); { UInt32, Read/Write }
9122 
9123   {
9124    * Storage for multi-pass compression.
9125    * To enable multipass compression, the client must provide a storage
9126    * location for multipass data.  Use
9127    * ICMMultiPassStorageCreateWithTemporaryFile to have the ICM store
9128    * it in a temporary file.  Use
9129    * ICMMultiPassStorageCreateWithCallbacks to manage the storage
9130    * yourself.
9131    * Note that the amount of multipass data to be stored can be
9132    * substantial; it could be greater than the size of the output movie
9133    * file.
9134    * If this property is not NULL, the client must call
9135    * ICMCompressionSessionBeginPass and ICMCompressionSessionEndPass
9136    * around groups of calls to ICMCompressionSessionEncodeFrame.
9137    *  By default, this property is NULL and multipass compression is
9138    * not enabled. The compression session options object retains the
9139    * multipass storage object, when one is set.
9140    }
9141 	kICMCompressionSessionOptionsPropertyID_MultiPassStorage = FourCharCode('imps'); { ICMMultiPassStorageRef, Read/Write }
9142 
9143   {
9144    * Indicates the number of source frames, if known. If nonzero, this
9145    * should be the exact number of times that the client calls
9146    * ICMCompressionSessionEncodeFrame in each pass.
9147    * The default is 0, which indicates that the number of source frames
9148    * is not known.
9149    }
9150 	kICMCompressionSessionOptionsPropertyID_SourceFrameCount = FourCharCode('frco'); { UInt64, Read/Write }
9151 
9152   {
9153    * Indicates the expected frame rate, if known. The frame rate is
9154    * measured in frames per second. This is not used to control the
9155    * frame rate; it is provided as a hint to the compressor so that it
9156    * can set up internal configuration before compression begins. The
9157    * actual frame rate will depend on frame durations and may vary. By
9158    * default, this is zero, indicating "unknown".
9159    }
9160 	kICMCompressionSessionOptionsPropertyID_ExpectedFrameRate = FourCharCode('fran'); { Fixed, Read/Write }
9161 
9162   {
9163    * Indicates how source frames to a compression session should be
9164    * scaled if the dimensions and/or display aspect ratio do not match.
9165    }
9166 	kICMCompressionSessionOptionsPropertyID_ScalingMode = FourCharCode('scam'); { OSType, Read/Write }
9167 
9168   {
9169    * Describes the clean aperture for compressed frames. Note that if
9170    * the compressor enforces a clean aperture, it will override this
9171    * setting. The clean aperture will be set on the output image
9172    * description and may affect scaling in some scaling modes. By
9173    * default, this is all zeros, meaning unset.
9174    }
9175 	kICMCompressionSessionOptionsPropertyID_CleanAperture = FourCharCode('clap'); { Native-endian CleanApertureImageDescriptionExtension, Read/Write }
9176 
9177   {
9178    * Describes the pixel aspect ratio for compressed frames. Note that
9179    * if the compressor enforces a pixel aspect ratio, it will override
9180    * this setting. The pixel aspect ratio will be set on the output
9181    * image description and may affect scaling in some scaling modes. By
9182    * default, this is all zeros, meaning unset.
9183    }
9184 	kICMCompressionSessionOptionsPropertyID_PixelAspectRatio = FourCharCode('pasp'); { Native-endian PixelAspectRatioImageDescriptionExtension, Read/Write }
9185 
9186   {
9187    * Describes the number and order of fields for compressed frames.
9188    * Note that if the compressor enforces field info, it will override
9189    * this setting. The field info will be set on the output image
9190    * description and may affect scaling in some scaling modes. By
9191    * default, this is all zeros, meaning unset.
9192    }
9193 	kICMCompressionSessionOptionsPropertyID_FieldInfo = FourCharCode('fiel'); { FieldInfoImageDescriptionExtension2, Read/Write }
9194 
9195   {
9196    * Indicates whether and how a compression session's frames will be
9197    * concatenated with other compressed frames to form a longer series.
9198    }
9199 	kICMCompressionSessionOptionsPropertyID_SimpleBoundaryConditions = FourCharCode('ends'); { ICMSimpleBoundaryConditions struct, Read/Write }
9200 
9201   {
9202    * Requests additional distortion to be applied to the aspect ratio
9203    * in the kICMScalingMode_Letterbox and kICMScalingMode_Trim scaling
9204    * modes. Values greater than fixed1 mean wider, values less than
9205    * fixed1 mean narrower. For example, a value of X2Fix(2.0) would
9206    * make the picture aspect ratio twice as wide.
9207    }
9208 	kICMCompressionSessionOptionsPropertyID_ExtraAspectRatioStretchFactor = FourCharCode('exsf'); { Fixed, Default fixed1, Read/Write }
9209 
9210 
9211 {
9212  *  ICMCompressionSessionOptionsSetAllowTemporalCompression()
9213  *
9214  *  Summary:
9215  *    Enables temporal compression.
9216  *
9217  *  Discussion:
9218  *    By default, temporal compression is disabled.
9219  *    IMPORTANT: If you want temporal compression (P frames and/or B
9220  *    frames) you must set this to true.
9221  *
9222  *  Availability:
9223  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9224  *    CarbonLib:        not available
9225  *    Non-Carbon CFM:   not available
9226  }
ICMCompressionSessionOptionsSetAllowTemporalCompressionnull9227 function ICMCompressionSessionOptionsSetAllowTemporalCompression( options: ICMCompressionSessionOptionsRef; allowTemporalCompression: Boolean ): OSStatus; external name '_ICMCompressionSessionOptionsSetAllowTemporalCompression';
9228 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9229 
9230 
9231 {
9232  *  ICMCompressionSessionOptionsGetAllowTemporalCompression()
9233  *
9234  *  Summary:
9235  *    Retrieves the allow temporal compression flag.
9236  *
9237  *  Availability:
9238  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9239  *    CarbonLib:        not available
9240  *    Non-Carbon CFM:   not available
9241  }
ICMCompressionSessionOptionsGetAllowTemporalCompressionnull9242 function ICMCompressionSessionOptionsGetAllowTemporalCompression( options: ICMCompressionSessionOptionsRef ): Boolean; external name '_ICMCompressionSessionOptionsGetAllowTemporalCompression';
9243 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9244 
9245 
9246 {
9247  *  ICMCompressionSessionOptionsSetAllowFrameReordering()
9248  *
9249  *  Summary:
9250  *    Enables frame reordering.
9251  *
9252  *  Discussion:
9253  *    In order to encode B frames, a compressor must reorder frames,
9254  *    which means that the order in which they will be emitted and
9255  *    stored (the decode order) is different from the order in which
9256  *    they were presented to the compressor (the display order).
9257  *     By default, frame reordering is disabled.
9258  *    IMPORTANT: In order to encode using B frames, you must enable
9259  *    frame reordering.
9260  *
9261  *  Availability:
9262  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9263  *    CarbonLib:        not available
9264  *    Non-Carbon CFM:   not available
9265  }
ICMCompressionSessionOptionsSetAllowFrameReorderingnull9266 function ICMCompressionSessionOptionsSetAllowFrameReordering( options: ICMCompressionSessionOptionsRef; allowFrameReordering: Boolean ): OSStatus; external name '_ICMCompressionSessionOptionsSetAllowFrameReordering';
9267 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9268 
9269 
9270 {
9271  *  ICMCompressionSessionOptionsGetAllowFrameReordering()
9272  *
9273  *  Summary:
9274  *    Retrieves the allow frame reordering flag.
9275  *
9276  *  Availability:
9277  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9278  *    CarbonLib:        not available
9279  *    Non-Carbon CFM:   not available
9280  }
ICMCompressionSessionOptionsGetAllowFrameReorderingnull9281 function ICMCompressionSessionOptionsGetAllowFrameReordering( options: ICMCompressionSessionOptionsRef ): Boolean; external name '_ICMCompressionSessionOptionsGetAllowFrameReordering';
9282 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9283 
9284 
9285 {
9286  *  ICMCompressionSessionOptionsSetDurationsNeeded()
9287  *
9288  *  Summary:
9289  *    Indicates that durations of emitted frames are needed.
9290  *
9291  *  Discussion:
9292  *    If this flag is set and source frames are provided with times but
9293  *    not durations, then frames will be delayed so that durations can
9294  *    be calculated as the difference between one frame's time stamp
9295  *    and the next frame's time stamp.
9296  *    By default, this flag is clear, so frames will not be delayed in
9297  *    order to calculate durations.
9298  *    IMPORTANT: If you will be passing encoded frames to
9299  *    AddMediaSampleFromEncodedFrame, you must set this flag to true.
9300  *
9301  *  Availability:
9302  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9303  *    CarbonLib:        not available
9304  *    Non-Carbon CFM:   not available
9305  }
ICMCompressionSessionOptionsSetDurationsNeedednull9306 function ICMCompressionSessionOptionsSetDurationsNeeded( options: ICMCompressionSessionOptionsRef; decodeDurationsNeeded: Boolean ): OSStatus; external name '_ICMCompressionSessionOptionsSetDurationsNeeded';
9307 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9308 
9309 
9310 {
9311  *  ICMCompressionSessionOptionsGetDurationsNeeded()
9312  *
9313  *  Summary:
9314  *    Retrieves the "durations needed" flag.
9315  *
9316  *  Availability:
9317  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9318  *    CarbonLib:        not available
9319  *    Non-Carbon CFM:   not available
9320  }
ICMCompressionSessionOptionsGetDurationsNeedednull9321 function ICMCompressionSessionOptionsGetDurationsNeeded( options: ICMCompressionSessionOptionsRef ): Boolean; external name '_ICMCompressionSessionOptionsGetDurationsNeeded';
9322 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9323 
9324 
9325 {
9326  *  ICMCompressionSessionOptionsSetMaxKeyFrameInterval()
9327  *
9328  *  Summary:
9329  *    Sets the maximum interval between key frames (also known as the
9330  *    key frame rate).
9331  *
9332  *  Discussion:
9333  *    Compressors are allowed to generate key frames more frequently if
9334  *    this would result in more efficient compression.
9335  *    The default key frame interval is 0, which indicates that the
9336  *    compressor should choose where to place all key frames.
9337  *     (Note: this is a break with previous practice, which used a key
9338  *    frame rate of zero to disable temporal compression.)
9339  *
9340  *  Availability:
9341  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9342  *    CarbonLib:        not available
9343  *    Non-Carbon CFM:   not available
9344  }
ICMCompressionSessionOptionsSetMaxKeyFrameIntervalnull9345 function ICMCompressionSessionOptionsSetMaxKeyFrameInterval( options: ICMCompressionSessionOptionsRef; maxKeyFrameInterval: SInt32 ): OSStatus; external name '_ICMCompressionSessionOptionsSetMaxKeyFrameInterval';
9346 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9347 
9348 
9349 {
9350  *  ICMCompressionSessionOptionsGetMaxKeyFrameInterval()
9351  *
9352  *  Summary:
9353  *    Retrieves the maximum key frame interval.
9354  *
9355  *  Availability:
9356  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9357  *    CarbonLib:        not available
9358  *    Non-Carbon CFM:   not available
9359  }
ICMCompressionSessionOptionsGetMaxKeyFrameIntervalnull9360 function ICMCompressionSessionOptionsGetMaxKeyFrameInterval( options: ICMCompressionSessionOptionsRef ): SInt32; external name '_ICMCompressionSessionOptionsGetMaxKeyFrameInterval';
9361 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9362 
9363 
9364 {
9365  *  ICMCompressionSessionOptionsSetAllowFrameTimeChanges()
9366  *
9367  *  Summary:
9368  *    Enables the compressor to modify frame times.
9369  *
9370  *  Discussion:
9371  *    Some compressors are able to identify and coalesce runs of
9372  *    identical frames and output single frames with longer duration,
9373  *    or output frames at a different frame rate from the original.
9374  *    This feature is controlled by the "allow frame time changes"
9375  *    flag. By default, this flag is set to false, which forces
9376  *    compressors to emit one encoded frame for every source frame, and
9377  *    to preserve frame display times.
9378  *    (Note: this feature replaces the practice of having compressors
9379  *    return special high similarity values to indicate that frames
9380  *    could be dropped.)
9381  *    If you want to allow the compressor to modify frame times in
9382  *    order to improve compression performance, enable frame time
9383  *    changes.
9384  *
9385  *  Availability:
9386  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9387  *    CarbonLib:        not available
9388  *    Non-Carbon CFM:   not available
9389  }
ICMCompressionSessionOptionsSetAllowFrameTimeChangesnull9390 function ICMCompressionSessionOptionsSetAllowFrameTimeChanges( options: ICMCompressionSessionOptionsRef; allowFrameTimeChanges: Boolean ): OSStatus; external name '_ICMCompressionSessionOptionsSetAllowFrameTimeChanges';
9391 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9392 
9393 
9394 {
9395  *  ICMCompressionSessionOptionsGetAllowFrameTimeChanges()
9396  *
9397  *  Summary:
9398  *    Retrieves the allow frame time changes flag.
9399  *
9400  *  Availability:
9401  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9402  *    CarbonLib:        not available
9403  *    Non-Carbon CFM:   not available
9404  }
ICMCompressionSessionOptionsGetAllowFrameTimeChangesnull9405 function ICMCompressionSessionOptionsGetAllowFrameTimeChanges( options: ICMCompressionSessionOptionsRef ): Boolean; external name '_ICMCompressionSessionOptionsGetAllowFrameTimeChanges';
9406 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9407 
9408 
9409 { ICMMultiPassStorageRef routines }
9410 
9411 {
9412  *  ICMMultiPassStorageCreationFlags
9413  *
9414  }
9415 type
9416 	ICMMultiPassStorageCreationFlags = UInt32;
9417 const
9418 {
9419    * Indicates that the temporary file should not be deleted when the
9420    * multipass storage is released.
9421    }
9422 	kICMMultiPassStorage_DoNotDeleteWhenDone = 1 shl 0;
9423 
9424 {
9425  *  ICMMultiPassStorageCreateWithTemporaryFile()
9426  *
9427  *  Summary:
9428  *    Creates a multipass storage using a temporary file.
9429  *
9430  *  Discussion:
9431  *    If you pass NULL for directoryRef, the ICM will use the user's
9432  *    temporary items folder.
9433  *    If you pass NULL for fileName, the ICM will pick a unique name.
9434  *
9435  *    The file will be deleted when the multipass storage is released,
9436  *    unless you set the kICMMultiPassStorage_DoNotDeleteWhenDone flag.
9437  *
9438  *  Availability:
9439  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9440  *    CarbonLib:        not available
9441  *    Non-Carbon CFM:   not available
9442  }
ICMMultiPassStorageCreateWithTemporaryFilenull9443 function ICMMultiPassStorageCreateWithTemporaryFile( allocator: CFAllocatorRef { can be NULL }; directoryRef: FSRefPtr { can be NULL }; fileName: CFStringRef { can be NULL }; flags: ICMMultiPassStorageCreationFlags; var multiPassStorageOut: ICMMultiPassStorageRef ): OSStatus; external name '_ICMMultiPassStorageCreateWithTemporaryFile';
9444 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9445 
9446 
9447 {
9448  *  ICMMultiPassStorageStep
9449  *
9450  *  Summary:
9451  *    Indicates a jump in time stamps used to index multipass storage.
9452  }
9453 type
9454 	ICMMultiPassStorageStep = UInt32;
9455 const
9456 {
9457    * Requests the first time stamp at which a value is stored.
9458    }
9459 	kICMMultiPassStorage_GetFirstTimeStamp = 1;
9460 
9461   {
9462    * Requests the previous time stamp before the given time stamp at
9463    * which a value is stored.
9464    }
9465 	kICMMultiPassStorage_GetPreviousTimeStamp = 2;
9466 
9467   {
9468    * Requests the next time stamp after the given time stamp at which a
9469    * value is stored.
9470    }
9471 	kICMMultiPassStorage_GetNextTimeStamp = 3;
9472 
9473   {
9474    * Requests the last time stamp at which a value is stored.
9475    }
9476 	kICMMultiPassStorage_GetLastTimeStamp = 4;
9477 
9478 
9479 {
9480  *  ICMMultiPassSetDataAtTimeStampCallback
9481  *
9482  *  Summary:
9483  *    Stores a value at a given time stamp.
9484  *
9485  *  Discussion:
9486  *    The new data should replace any previous data held at that
9487  *    timestamp with that index.
9488  *
9489  *  Parameters:
9490  *
9491  *    storageRefCon:
9492  *      The callbacks' reference value.
9493  *
9494  *    timeStamp:
9495  *      The time stamp at which the value should be stored.
9496  *
9497  *    index:
9498  *      An index by which multiple values may be stored at a time
9499  *      stamp. The meaning of individual indexes is private to the
9500  *      compressor.
9501  *
9502  *    data:
9503  *      The data to be stored, or NULL to delete the value. The
9504  *      contents are private to the compressor component.
9505  }
9506 type
storageRefConnull9507 	ICMMultiPassSetDataAtTimeStampCallback = function( storageRefCon: UnivPtr; timeStamp: TimeValue64; index: SIGNEDLONG; data: CFDataRef ): OSStatus;
9508 
9509 {
9510  *  ICMMultiPassGetTimeStampCallback
9511  *
9512  *  Summary:
9513  *    Retrieves a time stamp for which a value is stored.
9514  *
9515  *  Parameters:
9516  *
9517  *    storageRefCon:
9518  *      The callbacks' reference value.
9519  *
9520  *    fromTimeStamp:
9521  *      The initial time stamp.  Ignored for some values of step.
9522  *
9523  *    step:
9524  *      Indicates the kind of time stamp search to perform.
9525  *
9526  *    timeStampOut:
9527  *      Points to a TimeValue64 to receive the found time stamp. Set to
9528  *      -1 if no time stamp is found.
9529  }
9530 type
storageRefConnull9531 	ICMMultiPassGetTimeStampCallback = function( storageRefCon: UnivPtr; fromTimeStamp: TimeValue64; step: ICMMultiPassStorageStep; var timeStampOut: TimeValue64 ): OSStatus;
9532 
9533 {
9534  *  ICMMultiPassCopyDataAtTimeStampCallback
9535  *
9536  *  Summary:
9537  *    Retrieves a value at a given time stamp and index.
9538  *
9539  *  Parameters:
9540  *
9541  *    storageRefCon:
9542  *      The callbacks' reference value.
9543  *
9544  *    timeStamp:
9545  *      The time stamp at which the value should be retrieved.
9546  *
9547  *    index:
9548  *      An index by which multiple values may be stored at a time
9549  *      stamp. The meaning of individual indexes is private to the
9550  *      compressor.
9551  *
9552  *    dataOut:
9553  *      Points to a variable to receive the value. Set to a
9554  *      newly-created CFMutableData containing the value for the given
9555  *      time stamp and index, or set to NULL if no value is at that
9556  *      time stamp and index. It will be the callers responsibility to
9557  *      release the CFMutableData.
9558  }
9559 type
storageRefConnull9560 	ICMMultiPassCopyDataAtTimeStampCallback = function( storageRefCon: UnivPtr; timeStamp: TimeValue64; index: SIGNEDLONG; var dataOut: CFMutableDataRef ): OSStatus;
9561 
9562 {
9563  *  ICMMultiPassReleaseCallback
9564  *
9565  *  Summary:
9566  *    Called when the multipass storage's retain count drops to zero.
9567  *
9568  *  Parameters:
9569  *
9570  *    storageRefCon:
9571  *      The callbacks' reference value.
9572  }
9573 type
storageRefConnull9574 	ICMMultiPassReleaseCallback = function( storageRefCon: UnivPtr ): OSStatus;
9575 
9576 {
9577  *  ICMMultiPassStorageCallbacks
9578  *
9579  *  Summary:
9580  *    A collection of callbacks for creating a custom multipass storage
9581  *    object.
9582  }
9583 type
9584 	ICMMultiPassStorageCallbacks = record
9585 {
9586    * The version of the struct.  Set to
9587    * kICMMultiPassStorageCallbacksVersionOne.
9588    }
9589 		version: UInt32;
9590 
9591   {
9592    * The callbacks' reference value.
9593    }
9594 		storageRefCon: UnivPtr;
9595 
9596   {
9597    * The callback for storing values.
9598    }
9599 		setDataAtTimeStampCallback: ICMMultiPassSetDataAtTimeStampCallback;
9600 
9601   {
9602    * The callback for finding time stamps.
9603    }
9604 		getTimeStampCallback: ICMMultiPassGetTimeStampCallback;
9605 
9606   {
9607    * The callback for retrieving values.
9608    }
9609 		copyDataAtTimeStampCallback: ICMMultiPassCopyDataAtTimeStampCallback;
9610 
9611   {
9612    * The callback for disposing the callback's state when done.
9613    }
9614 		releaseCallback: ICMMultiPassReleaseCallback;
9615 	end;
9616 const
9617 	kICMMultiPassStorageCallbacksVersionOne = 1;
9618 
9619 {
9620  *  ICMMultiPassStorageCreateWithCallbacks()
9621  *
9622  *  Summary:
9623  *    Assembles a multipass storage mechanism from callbacks.
9624  *
9625  *  Availability:
9626  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9627  *    CarbonLib:        not available
9628  *    Non-Carbon CFM:   not available
9629  }
ICMMultiPassStorageCreateWithCallbacksnull9630 function ICMMultiPassStorageCreateWithCallbacks( allocator: CFAllocatorRef { can be NULL }; var callbacks: ICMMultiPassStorageCallbacks; var multiPassStorageOut: ICMMultiPassStorageRef ): OSStatus; external name '_ICMMultiPassStorageCreateWithCallbacks';
9631 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9632 
9633 
9634 {
9635  *  ICMMultiPassStorageRetain()
9636  *
9637  *  Summary:
9638  *    Increments the retain count of a multipass storage object.
9639  *
9640  *  Discussion:
9641  *    If you pass NULL to this function, nothing happens.
9642  *
9643  *  Availability:
9644  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9645  *    CarbonLib:        not available
9646  *    Non-Carbon CFM:   not available
9647  }
ICMMultiPassStorageRetainnull9648 function ICMMultiPassStorageRetain( multiPassStorage: ICMMultiPassStorageRef ): ICMMultiPassStorageRef; external name '_ICMMultiPassStorageRetain';
9649 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9650 
9651 
9652 {
9653  *  ICMMultiPassStorageRelease()
9654  *
9655  *  Summary:
9656  *    Decrements the retain count of a multipass storage object.  If it
9657  *    drops to zero, the object is disposed.
9658  *
9659  *  Discussion:
9660  *    If you pass NULL to this function, nothing happens.
9661  *
9662  *  Availability:
9663  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9664  *    CarbonLib:        not available
9665  *    Non-Carbon CFM:   not available
9666  }
9667 procedure ICMMultiPassStorageRelease( multiPassStorage: ICMMultiPassStorageRef ); external name '_ICMMultiPassStorageRelease';
9668 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9669 
9670 
9671 {
9672  *  ICMMultiPassStorageGetTypeID()
9673  *
9674  *  Summary:
9675  *    Returns the CFTypeID for multipass storage objects.
9676  *
9677  *  Availability:
9678  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9679  *    CarbonLib:        not available
9680  *    Non-Carbon CFM:   not available
9681  }
ICMMultiPassStorageGetTypeIDnull9682 function ICMMultiPassStorageGetTypeID: CFTypeID; external name '_ICMMultiPassStorageGetTypeID';
9683 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9684 
9685 
9686 { ICMCompressionFrameOptionsRef routines }
9687 {
9688  *  ICMCompressionFrameOptionsCreate()
9689  *
9690  *  Summary:
9691  *    Creates a frame compression options object.
9692  *
9693  *  Availability:
9694  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9695  *    CarbonLib:        not available
9696  *    Non-Carbon CFM:   not available
9697  }
ICMCompressionFrameOptionsCreatenull9698 function ICMCompressionFrameOptionsCreate( allocator: CFAllocatorRef { can be NULL }; session: ICMCompressionSessionRef; var options: ICMCompressionFrameOptionsRef ): OSStatus; external name '_ICMCompressionFrameOptionsCreate';
9699 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9700 
9701 
9702 {
9703  *  ICMCompressionFrameOptionsCreateCopy()
9704  *
9705  *  Summary:
9706  *    Copies a frame compression options object.
9707  *
9708  *  Availability:
9709  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9710  *    CarbonLib:        not available
9711  *    Non-Carbon CFM:   not available
9712  }
ICMCompressionFrameOptionsCreateCopynull9713 function ICMCompressionFrameOptionsCreateCopy( allocator: CFAllocatorRef { can be NULL }; originalOptions: ICMCompressionFrameOptionsRef; var copiedOptions: ICMCompressionFrameOptionsRef ): OSStatus; external name '_ICMCompressionFrameOptionsCreateCopy';
9714 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9715 
9716 
9717 {
9718  *  ICMCompressionFrameOptionsRetain()
9719  *
9720  *  Summary:
9721  *    Increments the retain count of a frame compression options object.
9722  *
9723  *  Discussion:
9724  *    If you pass NULL to this function, nothing happens.
9725  *
9726  *  Availability:
9727  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9728  *    CarbonLib:        not available
9729  *    Non-Carbon CFM:   not available
9730  }
ICMCompressionFrameOptionsRetainnull9731 function ICMCompressionFrameOptionsRetain( options: ICMCompressionFrameOptionsRef ): ICMCompressionFrameOptionsRef; external name '_ICMCompressionFrameOptionsRetain';
9732 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9733 
9734 
9735 {
9736  *  ICMCompressionFrameOptionsRelease()
9737  *
9738  *  Summary:
9739  *    Decrements the retain count of a frame compression options
9740  *    object.  If it drops to zero, the object is disposed.
9741  *
9742  *  Discussion:
9743  *    If you pass NULL to this function, nothing happens.
9744  *
9745  *  Availability:
9746  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9747  *    CarbonLib:        not available
9748  *    Non-Carbon CFM:   not available
9749  }
9750 procedure ICMCompressionFrameOptionsRelease( options: ICMCompressionFrameOptionsRef ); external name '_ICMCompressionFrameOptionsRelease';
9751 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9752 
9753 
9754 {
9755  *  ICMCompressionFrameOptionsGetTypeID()
9756  *
9757  *  Summary:
9758  *    Returns the CFTypeID for frame compression options objects.
9759  *
9760  *  Availability:
9761  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9762  *    CarbonLib:        not available
9763  *    Non-Carbon CFM:   not available
9764  }
ICMCompressionFrameOptionsGetTypeIDnull9765 function ICMCompressionFrameOptionsGetTypeID: CFTypeID; external name '_ICMCompressionFrameOptionsGetTypeID';
9766 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9767 
9768 
9769 {
9770  *  ICMCompressionFrameOptionsGetPropertyInfo()
9771  *
9772  *  Summary:
9773  *    Retrieves information about properties of a compression frame
9774  *    options object.
9775  *
9776  *  Availability:
9777  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9778  *    CarbonLib:        not available
9779  *    Non-Carbon CFM:   not available
9780  }
ICMCompressionFrameOptionsGetPropertyInfonull9781 function ICMCompressionFrameOptionsGetPropertyInfo( options: ICMCompressionFrameOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; outPropType: ComponentValueTypePtr { can be NULL }; outPropValueSize: ByteCountPtr { can be NULL }; outPropertyFlags: UInt32Ptr { can be NULL } ): OSStatus; external name '_ICMCompressionFrameOptionsGetPropertyInfo';
9782 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9783 
9784 
9785 {
9786  *  ICMCompressionFrameOptionsGetProperty()
9787  *
9788  *  Summary:
9789  *    Retrieves the value of a specific property of a compression frame
9790  *    options object.
9791  *
9792  *  Availability:
9793  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9794  *    CarbonLib:        not available
9795  *    Non-Carbon CFM:   not available
9796  }
ICMCompressionFrameOptionsGetPropertynull9797 function ICMCompressionFrameOptionsGetProperty( options: ICMCompressionFrameOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMCompressionFrameOptionsGetProperty';
9798 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9799 
9800 
9801 {
9802  *  ICMCompressionFrameOptionsSetProperty()
9803  *
9804  *  Summary:
9805  *    Sets the value of a specific property of a compression frame
9806  *    options object.
9807  *
9808  *  Availability:
9809  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9810  *    CarbonLib:        not available
9811  *    Non-Carbon CFM:   not available
9812  }
ICMCompressionFrameOptionsSetPropertynull9813 function ICMCompressionFrameOptionsSetProperty( options: ICMCompressionFrameOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMCompressionFrameOptionsSetProperty';
9814 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9815 
9816 
9817 {
9818  *  Summary:
9819  *    Properties of compression frame options objects.
9820  }
9821 const
9822 {
9823    * Class identifier for compression frame options object properties.
9824    }
9825 	kQTPropertyClass_ICMCompressionFrameOptions = FourCharCode('icfo');
9826 
9827   {
9828    * Forces frames to be compressed as key frames.
9829    * The compressor must obey the "force key frame" flag if set. By
9830    * default this property is false.
9831    }
9832 	kICMCompressionFrameOptionsPropertyID_ForceKeyFrame = FourCharCode('keyf'); { Boolean, Read/Write }
9833 
9834   {
9835    * Requests a frame be compressed as a particular frame type.
9836    *  The frame type setting may be ignored by the compressor if not
9837    * appropriate.
9838    * By default this is set to kICMFrameType_Unknown.
9839    * Do not assume that kICMFrameType_I means a key frame; if you need
9840    * a key frame, set the "force key frame" property.
9841    }
9842 	kICMCompressionFrameOptionsPropertyID_FrameType = FourCharCode('frty'); { ICMFrameType, Read/Write }
9843 
9844 {
9845  *  ICMCompressionFrameOptionsSetForceKeyFrame()
9846  *
9847  *  Summary:
9848  *    Forces frames to be compressed as key frames.
9849  *
9850  *  Discussion:
9851  *    The compressor must obey the "force key frame" flag if set. By
9852  *    default this is set false.
9853  *
9854  *  Availability:
9855  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9856  *    CarbonLib:        not available
9857  *    Non-Carbon CFM:   not available
9858  }
ICMCompressionFrameOptionsSetForceKeyFramenull9859 function ICMCompressionFrameOptionsSetForceKeyFrame( options: ICMCompressionFrameOptionsRef; forceKeyFrame: Boolean ): OSStatus; external name '_ICMCompressionFrameOptionsSetForceKeyFrame';
9860 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9861 
9862 
9863 {
9864  *  ICMCompressionFrameOptionsGetForceKeyFrame()
9865  *
9866  *  Summary:
9867  *    Retrieves the "force key frame" flag.
9868  *
9869  *  Availability:
9870  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9871  *    CarbonLib:        not available
9872  *    Non-Carbon CFM:   not available
9873  }
ICMCompressionFrameOptionsGetForceKeyFramenull9874 function ICMCompressionFrameOptionsGetForceKeyFrame( options: ICMCompressionFrameOptionsRef ): Boolean; external name '_ICMCompressionFrameOptionsGetForceKeyFrame';
9875 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9876 
9877 
9878 {
9879  *  ICMCompressionFrameOptionsSetFrameType()
9880  *
9881  *  Summary:
9882  *    Requests a frame be compressed as a particular frame type.
9883  *
9884  *  Discussion:
9885  *    The frame type setting may be ignored by the compressor if not
9886  *    appropriate.
9887  *    By default this is set to kICMFrameType_Unknown.
9888  *    Do not assume that kICMFrameType_I means a key frame; if you need
9889  *    a key frame, set forceKeyFrame.
9890  *
9891  *  Availability:
9892  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9893  *    CarbonLib:        not available
9894  *    Non-Carbon CFM:   not available
9895  }
ICMCompressionFrameOptionsSetFrameTypenull9896 function ICMCompressionFrameOptionsSetFrameType( options: ICMCompressionFrameOptionsRef; frameType: ICMFrameType ): OSStatus; external name '_ICMCompressionFrameOptionsSetFrameType';
9897 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9898 
9899 
9900 {
9901  *  ICMCompressionFrameOptionsGetFrameType()
9902  *
9903  *  Summary:
9904  *    Retrieves the frame type setting.
9905  *
9906  *  Availability:
9907  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9908  *    CarbonLib:        not available
9909  *    Non-Carbon CFM:   not available
9910  }
ICMCompressionFrameOptionsGetFrameTypenull9911 function ICMCompressionFrameOptionsGetFrameType( options: ICMCompressionFrameOptionsRef ): ICMFrameType; external name '_ICMCompressionFrameOptionsGetFrameType';
9912 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9913 
9914 
9915 { ICMEncodedFrameRef routines }
9916 {
9917  *  ICMEncodedFrameRetain()
9918  *
9919  *  Summary:
9920  *    Increments the retain count of an encoded frame object.
9921  *
9922  *  Discussion:
9923  *    If you pass NULL to this function, nothing happens.
9924  *
9925  *  Availability:
9926  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9927  *    CarbonLib:        not available
9928  *    Non-Carbon CFM:   not available
9929  }
ICMEncodedFrameRetainnull9930 function ICMEncodedFrameRetain( frame: ICMEncodedFrameRef ): ICMEncodedFrameRef; external name '_ICMEncodedFrameRetain';
9931 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9932 
9933 
9934 {
9935  *  ICMEncodedFrameRelease()
9936  *
9937  *  Summary:
9938  *    Decrements the retain count of an encoded frame object.  If it
9939  *    drops to zero, the object is disposed.
9940  *
9941  *  Discussion:
9942  *    If you pass NULL to this function, nothing happens.
9943  *
9944  *  Availability:
9945  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9946  *    CarbonLib:        not available
9947  *    Non-Carbon CFM:   not available
9948  }
9949 procedure ICMEncodedFrameRelease( frame: ICMEncodedFrameRef ); external name '_ICMEncodedFrameRelease';
9950 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9951 
9952 
9953 {
9954  *  ICMEncodedFrameGetTypeID()
9955  *
9956  *  Summary:
9957  *    Returns the CFTypeID for encoded frame objects.
9958  *
9959  *  Availability:
9960  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9961  *    CarbonLib:        not available
9962  *    Non-Carbon CFM:   not available
9963  }
ICMEncodedFrameGetTypeIDnull9964 function ICMEncodedFrameGetTypeID: CFTypeID; external name '_ICMEncodedFrameGetTypeID';
9965 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9966 
9967 
9968 {
9969  *  ICMEncodedFrameGetDataPtr()
9970  *
9971  *  Summary:
9972  *    Gets the data buffer.
9973  *
9974  *  Availability:
9975  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9976  *    CarbonLib:        not available
9977  *    Non-Carbon CFM:   not available
9978  }
ICMEncodedFrameGetDataPtrnull9979 function ICMEncodedFrameGetDataPtr( frame: ICMEncodedFrameRef ): UInt8Ptr; external name '_ICMEncodedFrameGetDataPtr';
9980 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9981 
9982 
9983 {
9984  *  ICMEncodedFrameGetBufferSize()
9985  *
9986  *  Summary:
9987  *    Gets the size of the data buffer.
9988  *
9989  *  Discussion:
9990  *    This is the physical size of the buffer.
9991  *
9992  *  Availability:
9993  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
9994  *    CarbonLib:        not available
9995  *    Non-Carbon CFM:   not available
9996  }
ICMEncodedFrameGetBufferSizenull9997 function ICMEncodedFrameGetBufferSize( frame: ICMEncodedFrameRef ): ByteCount; external name '_ICMEncodedFrameGetBufferSize';
9998 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
9999 
10000 
10001 {
10002  *  ICMEncodedFrameGetDataSize()
10003  *
10004  *  Summary:
10005  *    Gets the data size of the compressed frame in the buffer.
10006  *
10007  *  Discussion:
10008  *    This is the logical size of the frame data. It may be less than
10009  *    the physical size of the buffer.
10010  *
10011  *  Availability:
10012  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10013  *    CarbonLib:        not available
10014  *    Non-Carbon CFM:   not available
10015  }
ICMEncodedFrameGetDataSizenull10016 function ICMEncodedFrameGetDataSize( frame: ICMEncodedFrameRef ): ByteCount; external name '_ICMEncodedFrameGetDataSize';
10017 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10018 
10019 
10020 {
10021  *  ICMEncodedFrameSetDataSize()
10022  *
10023  *  Summary:
10024  *    Sets the data size of the compressed frame in the buffer.
10025  *
10026  *  Availability:
10027  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10028  *    CarbonLib:        not available
10029  *    Non-Carbon CFM:   not available
10030  }
ICMEncodedFrameSetDataSizenull10031 function ICMEncodedFrameSetDataSize( frame: ICMMutableEncodedFrameRef; dataSize: ByteCount ): OSStatus; external name '_ICMEncodedFrameSetDataSize';
10032 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10033 
10034 
10035 {
10036  *  ICMEncodedFrameGetDecodeNumber()
10037  *
10038  *  Summary:
10039  *    Retrieves the decode number.
10040  *
10041  *  Discussion:
10042  *    The ICM automatically stamps ascending decode numbers on frames
10043  *    after the compressor emits them. The first decode number in a
10044  *    session is 1.
10045  *    Note: Compressors should not call this function.
10046  *
10047  *  Availability:
10048  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10049  *    CarbonLib:        not available
10050  *    Non-Carbon CFM:   not available
10051  }
ICMEncodedFrameGetDecodeNumbernull10052 function ICMEncodedFrameGetDecodeNumber( frame: ICMEncodedFrameRef ): UInt32; external name '_ICMEncodedFrameGetDecodeNumber';
10053 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10054 
10055 
10056 {
10057  *  ICMEncodedFrameGetTimeScale()
10058  *
10059  *  Summary:
10060  *    Retrieves the timescale.
10061  *
10062  *  Discussion:
10063  *    This is always the same as the timescale of the compression
10064  *    session.
10065  *
10066  *  Availability:
10067  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10068  *    CarbonLib:        not available
10069  *    Non-Carbon CFM:   not available
10070  }
ICMEncodedFrameGetTimeScalenull10071 function ICMEncodedFrameGetTimeScale( frame: ICMEncodedFrameRef ): TimeScale; external name '_ICMEncodedFrameGetTimeScale';
10072 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10073 
10074 
10075 {
10076  *  ICMEncodedFrameGetImageDescription()
10077  *
10078  *  Summary:
10079  *    Retrieves the image description.
10080  *
10081  *  Discussion:
10082  *    Returns the same image description handle as
10083  *    ICMCompressionSessionGetImageDescription.
10084  *    IMPORTANT: The caller should NOT dispose this handle.
10085  *
10086  *  Availability:
10087  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10088  *    CarbonLib:        not available
10089  *    Non-Carbon CFM:   not available
10090  }
ICMEncodedFrameGetImageDescriptionnull10091 function ICMEncodedFrameGetImageDescription( frame: ICMEncodedFrameRef; var imageDescOut: ImageDescriptionHandle ): OSStatus; external name '_ICMEncodedFrameGetImageDescription';
10092 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10093 
10094 
10095 {
10096  *  ICMEncodedFrameGetValidTimeFlags()
10097  *
10098  *  Summary:
10099  *    Retrieves flags indicating which of the time stamps and durations
10100  *    are valid.
10101  *
10102  *  Availability:
10103  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10104  *    CarbonLib:        not available
10105  *    Non-Carbon CFM:   not available
10106  }
ICMEncodedFrameGetValidTimeFlagsnull10107 function ICMEncodedFrameGetValidTimeFlags( frame: ICMEncodedFrameRef ): ICMValidTimeFlags; external name '_ICMEncodedFrameGetValidTimeFlags';
10108 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10109 
10110 
10111 {
10112  *  ICMEncodedFrameGetDecodeTimeStamp()
10113  *
10114  *  Summary:
10115  *    Retrieves the frame's decode time stamp.
10116  *
10117  *  Availability:
10118  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10119  *    CarbonLib:        not available
10120  *    Non-Carbon CFM:   not available
10121  }
ICMEncodedFrameGetDecodeTimeStampnull10122 function ICMEncodedFrameGetDecodeTimeStamp( frame: ICMEncodedFrameRef ): TimeValue64; external name '_ICMEncodedFrameGetDecodeTimeStamp';
10123 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10124 
10125 
10126 {
10127  *  ICMEncodedFrameGetDisplayTimeStamp()
10128  *
10129  *  Summary:
10130  *    Retrieves the frame's display time stamp.
10131  *
10132  *  Availability:
10133  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10134  *    CarbonLib:        not available
10135  *    Non-Carbon CFM:   not available
10136  }
ICMEncodedFrameGetDisplayTimeStampnull10137 function ICMEncodedFrameGetDisplayTimeStamp( frame: ICMEncodedFrameRef ): TimeValue64; external name '_ICMEncodedFrameGetDisplayTimeStamp';
10138 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10139 
10140 
10141 {
10142  *  ICMEncodedFrameGetDisplayOffset()
10143  *
10144  *  Summary:
10145  *    Retrieves the frame's display offset, which is the offset from
10146  *    decode time stamp to display time stamp.
10147  *
10148  *  Availability:
10149  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10150  *    CarbonLib:        not available
10151  *    Non-Carbon CFM:   not available
10152  }
ICMEncodedFrameGetDisplayOffsetnull10153 function ICMEncodedFrameGetDisplayOffset( frame: ICMEncodedFrameRef ): TimeValue64; external name '_ICMEncodedFrameGetDisplayOffset';
10154 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10155 
10156 
10157 {
10158  *  ICMEncodedFrameGetDecodeDuration()
10159  *
10160  *  Summary:
10161  *    Retrieves the frame's decode duration.
10162  *
10163  *  Availability:
10164  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10165  *    CarbonLib:        not available
10166  *    Non-Carbon CFM:   not available
10167  }
ICMEncodedFrameGetDecodeDurationnull10168 function ICMEncodedFrameGetDecodeDuration( frame: ICMEncodedFrameRef ): TimeValue64; external name '_ICMEncodedFrameGetDecodeDuration';
10169 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10170 
10171 
10172 {
10173  *  ICMEncodedFrameGetDisplayDuration()
10174  *
10175  *  Summary:
10176  *    Retrieves the frame's display duration.
10177  *
10178  *  Availability:
10179  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10180  *    CarbonLib:        not available
10181  *    Non-Carbon CFM:   not available
10182  }
ICMEncodedFrameGetDisplayDurationnull10183 function ICMEncodedFrameGetDisplayDuration( frame: ICMEncodedFrameRef ): TimeValue64; external name '_ICMEncodedFrameGetDisplayDuration';
10184 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10185 
10186 
10187 {
10188  *  ICMEncodedFrameSetValidTimeFlags()
10189  *
10190  *  Summary:
10191  *    Sets flags that indicate which of the time stamps and durations
10192  *    are valid.
10193  *
10194  *  Discussion:
10195  *    Note that setting the (decode/display) (timestamp/duration)
10196  *    automatically sets the corresponding valid time flags. For
10197  *    example, calling ICMEncodedFrameSetDecodeTimeStamp sets
10198  *    kICMValidTime_DisplayTimeStampIsValid. If both decode timestamp
10199  *    and display timestamp are valid,
10200  *    kICMValidTime_DisplayOffsetIsValid is automatically set.
10201  *
10202  *  Availability:
10203  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10204  *    CarbonLib:        not available
10205  *    Non-Carbon CFM:   not available
10206  }
ICMEncodedFrameSetValidTimeFlagsnull10207 function ICMEncodedFrameSetValidTimeFlags( frame: ICMMutableEncodedFrameRef; validTimeFlags: ICMValidTimeFlags ): OSStatus; external name '_ICMEncodedFrameSetValidTimeFlags';
10208 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10209 
10210 
10211 {
10212  *  ICMEncodedFrameSetDecodeTimeStamp()
10213  *
10214  *  Summary:
10215  *    Sets the decode time stamp.
10216  *
10217  *  Discussion:
10218  *    This automatically sets the kICMValidTime_DecodeTimeStampIsValid
10219  *    flag. If the display timestamp is valid, it also sets the
10220  *    kICMValidTime_DisplayOffsetIsValid flag.
10221  *
10222  *  Availability:
10223  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10224  *    CarbonLib:        not available
10225  *    Non-Carbon CFM:   not available
10226  }
ICMEncodedFrameSetDecodeTimeStampnull10227 function ICMEncodedFrameSetDecodeTimeStamp( frame: ICMMutableEncodedFrameRef; decodeTimeStamp: TimeValue64 ): OSStatus; external name '_ICMEncodedFrameSetDecodeTimeStamp';
10228 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10229 
10230 
10231 {
10232  *  ICMEncodedFrameSetDisplayTimeStamp()
10233  *
10234  *  Summary:
10235  *    Sets the display time stamp.
10236  *
10237  *  Discussion:
10238  *    This automatically sets the kICMValidTime_DisplayTimeStampIsValid
10239  *    flag. If the decode timestamp is valid, it also sets the
10240  *    kICMValidTime_DisplayOffsetIsValid flag.
10241  *
10242  *  Availability:
10243  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10244  *    CarbonLib:        not available
10245  *    Non-Carbon CFM:   not available
10246  }
ICMEncodedFrameSetDisplayTimeStampnull10247 function ICMEncodedFrameSetDisplayTimeStamp( frame: ICMMutableEncodedFrameRef; displayTimeStamp: TimeValue64 ): OSStatus; external name '_ICMEncodedFrameSetDisplayTimeStamp';
10248 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10249 
10250 
10251 {
10252  *  ICMEncodedFrameSetDecodeDuration()
10253  *
10254  *  Summary:
10255  *    Sets the decode duration.
10256  *
10257  *  Discussion:
10258  *    This automatically sets the kICMValidTime_DecodeDurationIsValid
10259  *    flag.
10260  *
10261  *  Availability:
10262  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10263  *    CarbonLib:        not available
10264  *    Non-Carbon CFM:   not available
10265  }
ICMEncodedFrameSetDecodeDurationnull10266 function ICMEncodedFrameSetDecodeDuration( frame: ICMMutableEncodedFrameRef; decodeDuration: TimeValue64 ): OSStatus; external name '_ICMEncodedFrameSetDecodeDuration';
10267 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10268 
10269 
10270 {
10271  *  ICMEncodedFrameSetDisplayDuration()
10272  *
10273  *  Summary:
10274  *    Sets the display duration.
10275  *
10276  *  Discussion:
10277  *    This automatically sets the kICMValidTime_DisplayDurationIsValid
10278  *    flag.
10279  *
10280  *  Availability:
10281  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10282  *    CarbonLib:        not available
10283  *    Non-Carbon CFM:   not available
10284  }
ICMEncodedFrameSetDisplayDurationnull10285 function ICMEncodedFrameSetDisplayDuration( frame: ICMMutableEncodedFrameRef; displayDuration: TimeValue64 ): OSStatus; external name '_ICMEncodedFrameSetDisplayDuration';
10286 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10287 
10288 
10289 {
10290  *  ICMEncodedFrameGetMediaSampleFlags()
10291  *
10292  *  Summary:
10293  *    Retrieves the media sample flags for an encoded frame.
10294  *
10295  *  Availability:
10296  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10297  *    CarbonLib:        not available
10298  *    Non-Carbon CFM:   not available
10299  }
ICMEncodedFrameGetMediaSampleFlagsnull10300 function ICMEncodedFrameGetMediaSampleFlags( frame: ICMEncodedFrameRef ): MediaSampleFlags; external name '_ICMEncodedFrameGetMediaSampleFlags';
10301 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10302 
10303 
10304 {
10305  *  ICMEncodedFrameSetMediaSampleFlags()
10306  *
10307  *  Summary:
10308  *    Sets the media sample flags for an encoded frame.
10309  *
10310  *  Availability:
10311  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10312  *    CarbonLib:        not available
10313  *    Non-Carbon CFM:   not available
10314  }
ICMEncodedFrameSetMediaSampleFlagsnull10315 function ICMEncodedFrameSetMediaSampleFlags( frame: ICMMutableEncodedFrameRef; mediaSampleFlags_: MediaSampleFlags ): OSStatus; external name '_ICMEncodedFrameSetMediaSampleFlags';
10316 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10317 
10318 
10319 {
10320  *  ICMEncodedFrameGetFrameType()
10321  *
10322  *  Summary:
10323  *    Retrieves the frame type for an encoded frame.
10324  *
10325  *  Availability:
10326  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10327  *    CarbonLib:        not available
10328  *    Non-Carbon CFM:   not available
10329  }
ICMEncodedFrameGetFrameTypenull10330 function ICMEncodedFrameGetFrameType( frame: ICMEncodedFrameRef ): ICMFrameType; external name '_ICMEncodedFrameGetFrameType';
10331 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10332 
10333 
10334 {
10335  *  ICMEncodedFrameSetFrameType()
10336  *
10337  *  Summary:
10338  *    Sets the frame type for an encoded frame.
10339  *
10340  *  Availability:
10341  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10342  *    CarbonLib:        not available
10343  *    Non-Carbon CFM:   not available
10344  }
ICMEncodedFrameSetFrameTypenull10345 function ICMEncodedFrameSetFrameType( frame: ICMMutableEncodedFrameRef; frameType: ICMFrameType ): OSStatus; external name '_ICMEncodedFrameSetFrameType';
10346 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10347 
10348 
10349 {
10350  *  ICMEncodedFrameGetSimilarity()
10351  *
10352  *  Summary:
10353  *    Retrieves the similarity for an encoded frame.
10354  *
10355  *  Discussion:
10356  *    1.0 means identical.  0.0 means not at all alike. By default,
10357  *    this is set to -1.0, which means unknown.
10358  *
10359  *  Availability:
10360  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10361  *    CarbonLib:        not available
10362  *    Non-Carbon CFM:   not available
10363  }
ICMEncodedFrameGetSimilaritynull10364 function ICMEncodedFrameGetSimilarity( frame: ICMEncodedFrameRef ): Float32; external name '_ICMEncodedFrameGetSimilarity';
10365 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10366 
10367 
10368 {
10369  *  ICMEncodedFrameSetSimilarity()
10370  *
10371  *  Summary:
10372  *    Sets the similarity for an encoded frame.
10373  *
10374  *  Discussion:
10375  *    1.0 means identical.  0.0 means not at all alike.
10376  *
10377  *  Availability:
10378  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10379  *    CarbonLib:        not available
10380  *    Non-Carbon CFM:   not available
10381  }
ICMEncodedFrameSetSimilaritynull10382 function ICMEncodedFrameSetSimilarity( frame: ICMMutableEncodedFrameRef; similarity: Float32 ): OSStatus; external name '_ICMEncodedFrameSetSimilarity';
10383 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10384 
10385 
10386 {
10387  *  ICMEncodedFrameGetSourceFrameRefCon()
10388  *
10389  *  Summary:
10390  *    Retrieves the source frame reference value.
10391  *
10392  *  Discussion:
10393  *    This is copied from the sourceFrameRefCon parameter to
10394  *    ICMCompressionSessionEncodeFrame.
10395  *
10396  *  Availability:
10397  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10398  *    CarbonLib:        not available
10399  *    Non-Carbon CFM:   not available
10400  }
ICMEncodedFrameGetSourceFrameRefConnull10401 function ICMEncodedFrameGetSourceFrameRefCon( frame: ICMEncodedFrameRef ): UnivPtr; external name '_ICMEncodedFrameGetSourceFrameRefCon';
10402 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10403 
10404 
10405 { ICMCompressorSession interface for compressor components }
10406 
10407 {
10408  *  ICMCompressorSessionRef
10409  *
10410  *  Summary:
10411  *    Represents the session between the ICM and an image compressor
10412  *    component.
10413  *
10414  *  Discussion:
10415  *    (Do not confuse this with ICMCompressionSessionRef, which is the
10416  *    session between the client and the ICM.) Note: compressors do not
10417  *    need to make any retain or release calls on this token.
10418  }
10419 type
10420 	ICMCompressorSessionRef = ^OpaqueICMCompressorSession; { an opaque type }
10421 	OpaqueICMCompressorSession = record end;
10422 
10423 {
10424  *  ICMCompressorSourceFrameRef
10425  *
10426  *  Summary:
10427  *    An opaque token that represents a frame that has been passed to
10428  *    ICMCompressionSessionEncodeFrame.
10429  *
10430  *  Discussion:
10431  *    Such tokens are passed to the compressor component, which may
10432  *    retain a window of them in order to perform out-of-order encoding.
10433  }
10434 type
10435 	ICMCompressorSourceFrameRef = ^OpaqueICMCompressorSourceFrame; { an opaque type }
10436 	OpaqueICMCompressorSourceFrame = record end;
10437 	ICMCompressorSourceFrameRefPtr = ^ICMCompressorSourceFrameRef;
10438 {
10439  *  ICMCompressorSourceFrameRetain()
10440  *
10441  *  Summary:
10442  *    Increments the retain count of a source frame object.
10443  *
10444  *  Discussion:
10445  *    If you pass NULL to this function, nothing happens.
10446  *
10447  *  Availability:
10448  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10449  *    CarbonLib:        not available
10450  *    Non-Carbon CFM:   not available
10451  }
ICMCompressorSourceFrameRetainnull10452 function ICMCompressorSourceFrameRetain( sourceFrame: ICMCompressorSourceFrameRef ): ICMCompressorSourceFrameRef; external name '_ICMCompressorSourceFrameRetain';
10453 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10454 
10455 
10456 {
10457  *  ICMCompressorSourceFrameRelease()
10458  *
10459  *  Summary:
10460  *    Decrements the retain count of a source frame object.  If it
10461  *    drops to zero, the object is disposed.
10462  *
10463  *  Discussion:
10464  *    If you pass NULL to this function, nothing happens.
10465  *
10466  *  Availability:
10467  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10468  *    CarbonLib:        not available
10469  *    Non-Carbon CFM:   not available
10470  }
10471 procedure ICMCompressorSourceFrameRelease( sourceFrame: ICMCompressorSourceFrameRef ); external name '_ICMCompressorSourceFrameRelease';
10472 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10473 
10474 
10475 {
10476  *  ICMCompressorSourceFrameGetTypeID()
10477  *
10478  *  Summary:
10479  *    Returns the CFTypeID for source frame objects.
10480  *
10481  *  Availability:
10482  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10483  *    CarbonLib:        not available
10484  *    Non-Carbon CFM:   not available
10485  }
ICMCompressorSourceFrameGetTypeIDnull10486 function ICMCompressorSourceFrameGetTypeID: CFTypeID; external name '_ICMCompressorSourceFrameGetTypeID';
10487 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10488 
10489 
10490 {
10491  *  ICMCompressorSourceFrameGetPixelBuffer()
10492  *
10493  *  Summary:
10494  *    Retrieves a source frame's pixel buffer.
10495  *
10496  *  Availability:
10497  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10498  *    CarbonLib:        not available
10499  *    Non-Carbon CFM:   not available
10500  }
ICMCompressorSourceFrameGetPixelBuffernull10501 function ICMCompressorSourceFrameGetPixelBuffer( sourceFrame: ICMCompressorSourceFrameRef ): CVPixelBufferRef; external name '_ICMCompressorSourceFrameGetPixelBuffer';
10502 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10503 
10504 
10505 {
10506  *  ICMCompressorSourceFrameGetDisplayNumber()
10507  *
10508  *  Summary:
10509  *    Retrieves a source frame's display number.
10510  *
10511  *  Discussion:
10512  *    The ICM tags source frames with display numbers in the order they
10513  *    are passed to ICMCompressionSessionEncodeFrame; the first display
10514  *    number is 1. Compressors may compare these numbers to work out
10515  *    whether prediction is forward or backward even when display times
10516  *    are not provided.
10517  *
10518  *  Availability:
10519  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10520  *    CarbonLib:        not available
10521  *    Non-Carbon CFM:   not available
10522  }
ICMCompressorSourceFrameGetDisplayNumbernull10523 function ICMCompressorSourceFrameGetDisplayNumber( sourceFrame: ICMCompressorSourceFrameRef ): SIGNEDLONG; external name '_ICMCompressorSourceFrameGetDisplayNumber';
10524 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10525 
10526 
10527 {
10528  *  ICMCompressorSourceFrameGetDisplayTimeStampAndDuration()
10529  *
10530  *  Summary:
10531  *    Retrieves the display time stamp and duration of a source frame.
10532  *
10533  *  Availability:
10534  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10535  *    CarbonLib:        not available
10536  *    Non-Carbon CFM:   not available
10537  }
ICMCompressorSourceFrameGetDisplayTimeStampAndDurationnull10538 function ICMCompressorSourceFrameGetDisplayTimeStampAndDuration( sourceFrame: ICMCompressorSourceFrameRef; displayTimeStampOut: TimeValue64Ptr { can be NULL }; displayDurationOut: TimeValue64Ptr { can be NULL }; timeScaleOut: TimeScalePtr { can be NULL }; validTimeFlagsOut: ICMValidTimeFlagsPtr { can be NULL } ): OSStatus; external name '_ICMCompressorSourceFrameGetDisplayTimeStampAndDuration';
10539 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10540 
10541 
10542 {
10543  *  ICMCompressorSourceFrameGetFrameOptions()
10544  *
10545  *  Summary:
10546  *    Retrieves the frame compression options for a source frame.
10547  *
10548  *  Availability:
10549  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10550  *    CarbonLib:        not available
10551  *    Non-Carbon CFM:   not available
10552  }
ICMCompressorSourceFrameGetFrameOptionsnull10553 function ICMCompressorSourceFrameGetFrameOptions( sourceFrame: ICMCompressorSourceFrameRef ): ICMCompressionFrameOptionsRef; external name '_ICMCompressorSourceFrameGetFrameOptions';
10554 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10555 
10556 
10557 {
10558  *  ICMCompressorSourceFrameDetachPixelBuffer()
10559  *
10560  *  Summary:
10561  *    Disconnects the pixel buffer from the source frame and allows it
10562  *    to be released.
10563  *
10564  *  Discussion:
10565  *    Compressor components often need to hold onto
10566  *    ICMCompressorSourceFrameRefs for some time after they are done
10567  *    with the pixel buffers. In order to allow pixel buffer memory to
10568  *    be released earlier, they may call
10569  *    ICMCompressorSourceFrameDetachPixelBuffer to declare that they
10570  *    have no further need for the source frame's pixel buffer. After
10571  *    calling this, ICMCompressorSourceFrameGetPixelBuffer will return
10572  *    NULL.
10573  *
10574  *  Availability:
10575  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10576  *    CarbonLib:        not available
10577  *    Non-Carbon CFM:   not available
10578  }
ICMCompressorSourceFrameDetachPixelBuffernull10579 function ICMCompressorSourceFrameDetachPixelBuffer( sourceFrame: ICMCompressorSourceFrameRef ): OSStatus; external name '_ICMCompressorSourceFrameDetachPixelBuffer';
10580 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10581 
10582 
10583 {
10584  *  ICMCompressorSessionDropFrame()
10585  *
10586  *  Summary:
10587  *    Called by a compressor to indicate that sourceFrame has been
10588  *    dropped and will not contribute to any encoded frames.
10589  *
10590  *  Discussion:
10591  *    Calling this function does not automatically release the source
10592  *    frame; if the compressor called ICMCompressorSourceFrameRetain it
10593  *    should still call ICMCompressorSourceFrameRelease.
10594  *
10595  *  Availability:
10596  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10597  *    CarbonLib:        not available
10598  *    Non-Carbon CFM:   not available
10599  }
ICMCompressorSessionDropFramenull10600 function ICMCompressorSessionDropFrame( session: ICMCompressorSessionRef; sourceFrame: ICMCompressorSourceFrameRef ): OSStatus; external name '_ICMCompressorSessionDropFrame';
10601 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10602 
10603 
10604 {
10605  *  ICMCompressorSessionEmitEncodedFrame()
10606  *
10607  *  Summary:
10608  *    Called by a compressor to output an encoded frame corresponding
10609  *    to one (or more) source frames.
10610  *
10611  *  Discussion:
10612  *    (Encoded frames may only correspond to more than one source frame
10613  *    if allowFrameTimeChanges is set in the
10614  *    compressionSessionOptions.)
10615  *    After calling this, the compressor should release the encoded
10616  *    frame by calling ICMEncodedFrameRelease.
10617  *    Calling this function does not automatically release the source
10618  *    frames; if the compressor called ICMCompressorSourceFrameRetain
10619  *    it should still call ICMCompressorSourceFrameRelease.
10620  *
10621  *  Availability:
10622  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10623  *    CarbonLib:        not available
10624  *    Non-Carbon CFM:   not available
10625  }
ICMCompressorSessionEmitEncodedFramenull10626 function ICMCompressorSessionEmitEncodedFrame( session: ICMCompressorSessionRef; encodedFrame: ICMMutableEncodedFrameRef; numberOfSourceFrames: SIGNEDLONG; sourceFrames: {variable-size-array} ICMCompressorSourceFrameRefPtr ): OSStatus; external name '_ICMCompressorSessionEmitEncodedFrame';
10627 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10628 
10629 
10630 {
10631  *  ICMEncodedFrameCreateMutable()
10632  *
10633  *  Summary:
10634  *    Called by a compressor to create an encoded-frame token
10635  *    corresponding to a given source frame.
10636  *
10637  *  Discussion:
10638  *    The encoded frame will initially have zero mediaSampleFlags; if
10639  *    the frame is not a key frame, the compressor must call
10640  *    ICMEncodedFrameSetMediaSampleFlags to set mediaSampleNotSync. If
10641  *    the frame is droppable, the compressor should set
10642  *    mediaSampleDroppable. If the frame is a partial key frame, the
10643  *    compressor should set mediaSamplePartialSync.
10644  *    The encoded frame will initially have undefined decodeTimeStamp
10645  *    and decodeDuration. The compressor may set these directly by
10646  *    calling ICMEncodedFrameSetDecodeTimeStamp and/or
10647  *    ICMEncodedFrameSetDecodeDuration. If these are not set by the
10648  *    compressor, the ICM will attempt to derive them.
10649  *
10650  *  Availability:
10651  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10652  *    CarbonLib:        not available
10653  *    Non-Carbon CFM:   not available
10654  }
ICMEncodedFrameCreateMutablenull10655 function ICMEncodedFrameCreateMutable( session: ICMCompressorSessionRef; sourceFrame: ICMCompressorSourceFrameRef; bufferSize: ByteCount; var frameOut: ICMMutableEncodedFrameRef ): OSStatus; external name '_ICMEncodedFrameCreateMutable';
10656 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10657 
10658 
10659 { Multi-pass storage access routines for compressor components }
10660 {
10661  *  ICMMultiPassStorageSetDataAtTimeStamp()
10662  *
10663  *  Summary:
10664  *    Called by a multipass-capable compressor to store data at a given
10665  *    timestamp.
10666  *
10667  *  Discussion:
10668  *    The new data replaces any previous data held at that timestamp.
10669  *    If data is NULL, the data for that timestamp is deleted. The
10670  *    format of the data is private to the compressor.
10671  *
10672  *  Parameters:
10673  *
10674  *    multiPassStorage:
10675  *      The multipass storage object.
10676  *
10677  *    timeStamp:
10678  *      The time stamp at which the value should be stored.
10679  *
10680  *    index:
10681  *      An index by which multiple values may be stored at a time
10682  *      stamp. The meaning of individual indexes is private to the
10683  *      compressor.
10684  *
10685  *    data:
10686  *      The data to be stored, or NULL to delete the value.
10687  *
10688  *  Availability:
10689  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10690  *    CarbonLib:        not available
10691  *    Non-Carbon CFM:   not available
10692  }
ICMMultiPassStorageSetDataAtTimeStampnull10693 function ICMMultiPassStorageSetDataAtTimeStamp( multiPassStorage: ICMMultiPassStorageRef; timeStamp: TimeValue64; index: SIGNEDLONG; data: CFDataRef ): OSStatus; external name '_ICMMultiPassStorageSetDataAtTimeStamp';
10694 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10695 
10696 
10697 {
10698  *  ICMMultiPassStorageGetTimeStamp()
10699  *
10700  *  Summary:
10701  *    Called by a multipass-capable compressor to retrieve a time stamp
10702  *    for which a value is stored.
10703  *
10704  *  Parameters:
10705  *
10706  *    multiPassStorage:
10707  *      The multipass storage object.
10708  *
10709  *    fromTimeStamp:
10710  *      The initial time stamp.  Ignored for some values of step.
10711  *
10712  *    step:
10713  *      Indicates the kind of time stamp search to perform.
10714  *
10715  *    timeStampOut:
10716  *      Points to a TimeValue64 to receive the found time stamp. It
10717  *      will be set to -1 if no time stamp is found.
10718  *
10719  *  Availability:
10720  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10721  *    CarbonLib:        not available
10722  *    Non-Carbon CFM:   not available
10723  }
ICMMultiPassStorageGetTimeStampnull10724 function ICMMultiPassStorageGetTimeStamp( multiPassStorage: ICMMultiPassStorageRef; fromTimeStamp: TimeValue64; step: ICMMultiPassStorageStep; var timeStampOut: TimeValue64 ): OSStatus; external name '_ICMMultiPassStorageGetTimeStamp';
10725 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10726 
10727 
10728 {
10729  *  ICMMultiPassStorageCopyDataAtTimeStamp()
10730  *
10731  *  Summary:
10732  *    Called by a multipass-capable compressor to retrieve data at a
10733  *    given timestamp.
10734  *
10735  *  Parameters:
10736  *
10737  *    multiPassStorage:
10738  *      The multipass storage object.
10739  *
10740  *    timeStamp:
10741  *      The time stamp at which the value should be retrieved.
10742  *
10743  *    index:
10744  *      An index by which multiple values may be stored at a time
10745  *      stamp. The meaning of individual indexes is private to the
10746  *      compressor.
10747  *
10748  *    dataOut:
10749  *      Points to a CFMutableDataRef to receive the value. It will be
10750  *      set to a newly-created CFMutableData containing the value for
10751  *      the given time stamp and index, or set to NULL if no value is
10752  *      at that time stamp and index. It is the caller's responsibility
10753  *      to release the CFMutableData.
10754  *
10755  *  Availability:
10756  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10757  *    CarbonLib:        not available
10758  *    Non-Carbon CFM:   not available
10759  }
ICMMultiPassStorageCopyDataAtTimeStampnull10760 function ICMMultiPassStorageCopyDataAtTimeStamp( multiPassStorage: ICMMultiPassStorageRef; timeStamp: TimeValue64; index: SIGNEDLONG; var dataOut: CFMutableDataRef ): OSStatus; external name '_ICMMultiPassStorageCopyDataAtTimeStamp';
10761 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10762 
10763 
10764 {
10765  *  kQTVisualContextTypeKey
10766  *
10767  *  Summary:
10768  *    Read-only CFStringRef: Type of the visual context.
10769  *
10770  *  Availability:
10771  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10772  *    CarbonLib:        not available
10773  *    Non-Carbon CFM:   not available
10774  }
10775 var kQTVisualContextTypeKey: CFStringRef; external name '_kQTVisualContextTypeKey'; (* attribute const *)
10776 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10777 {
10778  *  kQTVisualContextType_PixelBuffer
10779  *
10780  *  Summary:
10781  *    Value for kQTVisualContextTypeKey for pixel buffer visual
10782  *    contexts.
10783  *
10784  *  Availability:
10785  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10786  *    CarbonLib:        not available
10787  *    Non-Carbon CFM:   not available
10788  }
10789 var kQTVisualContextType_PixelBuffer: CFStringRef; external name '_kQTVisualContextType_PixelBuffer'; (* attribute const *)
10790 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10791 {
10792  *  kQTVisualContextType_OpenGLTexture
10793  *
10794  *  Summary:
10795  *    Value for kQTVisualContextTypeKey for OpenGL texture visual
10796  *    contexts.
10797  *
10798  *  Availability:
10799  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10800  *    CarbonLib:        not available
10801  *    Non-Carbon CFM:   not available
10802  }
10803 var kQTVisualContextType_OpenGLTexture: CFStringRef; external name '_kQTVisualContextType_OpenGLTexture'; (* attribute const *)
10804 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10805 {
10806  *  kQTVisualContextWorkingColorSpaceKey
10807  *
10808  *  Summary:
10809  *    CGColorSpaceRef: Color space in which QuickTime will perform
10810  *    image processing. If this attribute is not set, images will be
10811  *    processed in the output color space.
10812  *
10813  *  Availability:
10814  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10815  *    CarbonLib:        not available
10816  *    Non-Carbon CFM:   not available
10817  }
10818 var kQTVisualContextWorkingColorSpaceKey: CFStringRef; external name '_kQTVisualContextWorkingColorSpaceKey'; (* attribute const *)
10819 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10820 {
10821  *  kQTVisualContextOutputColorSpaceKey
10822  *
10823  *  Summary:
10824  *    CGColorSpaceRef: Color space of images produced by this visual
10825  *    context. If this attribute is not set, images may be in any color
10826  *    space.
10827  *
10828  *  Availability:
10829  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10830  *    CarbonLib:        not available
10831  *    Non-Carbon CFM:   not available
10832  }
10833 var kQTVisualContextOutputColorSpaceKey: CFStringRef; external name '_kQTVisualContextOutputColorSpaceKey'; (* attribute const *)
10834 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10835 {
10836  *  kQTVisualContextExpectedReadAheadKey
10837  *
10838  *  Summary:
10839  *    CFNumberRef: Number of seconds ahead of real-time that the client
10840  *    expects to pull images out of the visual context.  Applications
10841  *    using the CoreVideo display link should set this attribute
10842  *    according to value returned from
10843  *    CVDisplayLinkGetOutputVideoLatency().
10844  *
10845  *  Availability:
10846  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10847  *    CarbonLib:        not available
10848  *    Non-Carbon CFM:   not available
10849  }
10850 var kQTVisualContextExpectedReadAheadKey: CFStringRef; external name '_kQTVisualContextExpectedReadAheadKey'; (* attribute const *)
10851 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10852 {
10853  *  kQTVisualContextPixelBufferAttributesKey
10854  *
10855  *  Summary:
10856  *    CFDictionaryRef: Dictionary containing pixel buffer attributes as
10857  *    described for the CoreVideo pixel buffer pool.
10858  *
10859  *  Availability:
10860  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10861  *    CarbonLib:        not available
10862  *    Non-Carbon CFM:   not available
10863  }
10864 var kQTVisualContextPixelBufferAttributesKey: CFStringRef; external name '_kQTVisualContextPixelBufferAttributesKey'; (* attribute const *)
10865 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10866 {
10867  *  kQTVisualContextTargetDimensionsKey
10868  *
10869  *  Summary:
10870  *    CFDictionaryRef: Dictionary containing
10871  *    kQTVisualContextTargetDimensions_WidthKey and
10872  *    kQTVisualContextTargetDimensions_HeightKey.  This is only a hint
10873  *    to optimize certain media types, such as text, that can render at
10874  *    any resolution. If this attribute is not set, the movie will
10875  *    render at its native resolution.
10876  *
10877  *  Availability:
10878  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10879  *    CarbonLib:        not available
10880  *    Non-Carbon CFM:   not available
10881  }
10882 var kQTVisualContextTargetDimensionsKey: CFStringRef; external name '_kQTVisualContextTargetDimensionsKey'; (* attribute const *)
10883 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10884 {
10885  *  kQTVisualContextTargetDimensions_WidthKey
10886  *
10887  *  Summary:
10888  *    CFNumberRef: Width, in pixels, of the rendering target.
10889  *
10890  *  Availability:
10891  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10892  *    CarbonLib:        not available
10893  *    Non-Carbon CFM:   not available
10894  }
10895 var kQTVisualContextTargetDimensions_WidthKey: CFStringRef; external name '_kQTVisualContextTargetDimensions_WidthKey'; (* attribute const *)
10896 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10897 {
10898  *  kQTVisualContextTargetDimensions_HeightKey
10899  *
10900  *  Summary:
10901  *    CFNumberRef: Height, in pixels, of the rendering target.
10902  *
10903  *  Availability:
10904  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10905  *    CarbonLib:        not available
10906  *    Non-Carbon CFM:   not available
10907  }
10908 var kQTVisualContextTargetDimensions_HeightKey: CFStringRef; external name '_kQTVisualContextTargetDimensions_HeightKey'; (* attribute const *)
10909 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10910 {
10911  *  QTVisualContextRetain()
10912  *
10913  *  Summary:
10914  *    Increments the visual context's reference count.
10915  *
10916  *  Discussion:
10917  *    The same visual context is returned for convenience. If
10918  *    visualContext is NULL, nothing happens.
10919  *
10920  *  Parameters:
10921  *
10922  *    visualContext:
10923  *      [in] The visual context to retain.
10924  *
10925  *  Availability:
10926  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10927  *    CarbonLib:        not available
10928  *    Non-Carbon CFM:   not available
10929  }
QTVisualContextRetainnull10930 function QTVisualContextRetain( visualContext: QTVisualContextRef ): QTVisualContextRef; external name '_QTVisualContextRetain';
10931 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10932 
10933 
10934 {
10935  *  QTVisualContextRelease()
10936  *
10937  *  Summary:
10938  *    Decrements the visual context's reference count.
10939  *
10940  *  Discussion:
10941  *    If the retain count decreases to zero, the visual context is
10942  *    disposed. If visualContext is NULL, nothing happens.
10943  *
10944  *  Parameters:
10945  *
10946  *    visualContext:
10947  *      [in] The visual context to release.
10948  *
10949  *  Availability:
10950  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10951  *    CarbonLib:        not available
10952  *    Non-Carbon CFM:   not available
10953  }
10954 procedure QTVisualContextRelease( visualContext: QTVisualContextRef ); external name '_QTVisualContextRelease';
10955 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10956 
10957 
10958 {
10959  *  QTVisualContextGetTypeID()
10960  *
10961  *  Summary:
10962  *    Returns the CFTypeID for QTVisualContextRef.
10963  *
10964  *  Discussion:
10965  *    You could use this to test whether a CFTypeRef that extracted
10966  *    from a CF container such as a CFArray was a QTVisualContextRef.
10967  *    All visual contexts have the same CFTypeID.  If you need to
10968  *    distinguish between different types of visual contexts (eg.
10969  *    PixelBuffer vs. OpenGLTexture), query for kQTVisualContextTypeKey
10970  *    with QTVisualContextGetAttribute().
10971  *
10972  *  Availability:
10973  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
10974  *    CarbonLib:        not available
10975  *    Non-Carbon CFM:   not available
10976  }
QTVisualContextGetTypeIDnull10977 function QTVisualContextGetTypeID: CFTypeID; external name '_QTVisualContextGetTypeID';
10978 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
10979 
10980 
10981 {
10982  *  QTVisualContextSetAttribute()
10983  *
10984  *  Summary:
10985  *    Sets a visual context attribute.
10986  *
10987  *  Parameters:
10988  *
10989  *    visualContext:
10990  *      [in] The visual context.
10991  *
10992  *    attributeKey:
10993  *      [in] Identifier of attribute to set.
10994  *
10995  *    attributeValue:
10996  *      [in] Value of attribute to set, or NULL to remove a value.
10997  *
10998  *  Availability:
10999  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
11000  *    CarbonLib:        not available
11001  *    Non-Carbon CFM:   not available
11002  }
QTVisualContextSetAttributenull11003 function QTVisualContextSetAttribute( visualContext: QTVisualContextRef; attributeKey: CFStringRef; attributeValue: CFTypeRef { can be NULL } ): OSStatus; external name '_QTVisualContextSetAttribute';
11004 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
11005 
11006 
11007 {
11008  *  QTVisualContextGetAttribute()
11009  *
11010  *  Summary:
11011  *    Gets a visual context attribute.
11012  *
11013  *  Parameters:
11014  *
11015  *    visualContext:
11016  *      [in]  The visual context.
11017  *
11018  *    attributeKey:
11019  *      [in]  Identifier of attribute to get.
11020  *
11021  *    attributeValueOut:
11022  *      [out] Pointer to variable that will receive the attribute
11023  *      value, or NULL if the attribute is not set.
11024  *
11025  *  Availability:
11026  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
11027  *    CarbonLib:        not available
11028  *    Non-Carbon CFM:   not available
11029  }
QTVisualContextGetAttributenull11030 function QTVisualContextGetAttribute( visualContext: QTVisualContextRef; attributeKey: CFStringRef; var attributeValueOut: CFTypeRef ): OSStatus; external name '_QTVisualContextGetAttribute';
11031 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
11032 
11033 
11034 {
11035  *  QTVisualContextImageAvailableCallback
11036  *
11037  *  Summary:
11038  *    User-defined callback function to recieve notifications when a
11039  *    new image becomes available.
11040  *
11041  *  Discussion:
11042  *    Due to unpredictible activity, such as user seeks or the arrival
11043  *    of streaming video packets from a network, new images may become
11044  *    available for times supposedly occupied by previous images.
11045  *    Applications using the CoreVideo display link to drive rendering
11046  *    probably do not need to install a callback of this type since
11047  *    they will already be checking for new images at a sufficient rate.
11048  *
11049  *  Parameters:
11050  *
11051  *    visualContext:
11052  *      [in] The visual context invoking the callback.
11053  *
11054  *    timeStamp:
11055  *      [in] Time for which a new image has become available.
11056  *
11057  *    refCon:
11058  *      [in] User-defined value passed to
11059  *      QTVisualContextSetImageAvailableCallback.
11060  }
11061 type
11062 	QTVisualContextImageAvailableCallback = procedure( visualContext: QTVisualContextRef; const (*var*) timeStamp: CVTimeStamp; refCon: UnivPtr );
11063 {
11064  *  QTVisualContextSetImageAvailableCallback()
11065  *
11066  *  Summary:
11067  *    Installs user-defined callback to be notified when new images
11068  *    become available.
11069  *
11070  *  Discussion:
11071  *    This routine installs the user defined
11072  *    QTVisualContextImageAvailableCallback callback. There can only be
11073  *    one callback associated with a QTVisualContext at a given time.
11074  *
11075  *  Parameters:
11076  *
11077  *    visualContext:
11078  *      [in] The visual context.
11079  *
11080  *    imageAvailableCallback:
11081  *      [in] User-defined callback function to recieve notifications.
11082  *      Pass NULL to remove any existing callback.
11083  *
11084  *    refCon:
11085  *      [in] User-defined value to pass to
11086  *      QTVisualContextImageAvailableCallback.
11087  *
11088  *  Availability:
11089  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
11090  *    CarbonLib:        not available
11091  *    Non-Carbon CFM:   not available
11092  }
QTVisualContextSetImageAvailableCallbacknull11093 function QTVisualContextSetImageAvailableCallback( visualContext: QTVisualContextRef; imageAvailableCallback: QTVisualContextImageAvailableCallback { can be NULL }; refCon: UnivPtr { can be NULL } ): OSStatus; external name '_QTVisualContextSetImageAvailableCallback';
11094 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
11095 
11096 
11097 {
11098  *  QTVisualContextIsNewImageAvailable()
11099  *
11100  *  Summary:
11101  *    Queries whether a new image is available for a given time.
11102  *
11103  *  Discussion:
11104  *    This function returns true if there is a image available for the
11105  *    specified time that is different from the last image retrieved
11106  *    from QTVisualContextCopyImageForTime. See
11107  *    QTVisualContextCopyImageForTime for restrictions on time-stamps.
11108  *
11109  *  Parameters:
11110  *
11111  *    visualContext:
11112  *      [in] The visual context.
11113  *
11114  *    timeStamp:
11115  *      [in] Time in question.  Pass NULL to request the image at the
11116  *      current time.
11117  *
11118  *  Availability:
11119  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
11120  *    CarbonLib:        not available
11121  *    Non-Carbon CFM:   not available
11122  }
QTVisualContextIsNewImageAvailablenull11123 function QTVisualContextIsNewImageAvailable( visualContext: QTVisualContextRef; {const} timeStamp: CVTimeStampPtr { can be NULL } ): Boolean; external name '_QTVisualContextIsNewImageAvailable';
11124 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
11125 
11126 
11127 {
11128  *  QTVisualContextCopyImageForTime()
11129  *
11130  *  Summary:
11131  *    Retrieves an image buffer from the visual context, indexed by the
11132  *    provided timestamp.
11133  *
11134  *  Discussion:
11135  *    You should not request image buffers further ahead of the current
11136  *    time than the read-ahead time specified with the
11137  *    kQTVisualContextExpectedReadAheadKey attribute.  You may skip
11138  *    images by passing later times, but you may not pass an earlier
11139  *    time than passed to a previous call to this function.
11140  *
11141  *  Parameters:
11142  *
11143  *    visualContext:
11144  *      [in]  The visual context.
11145  *
11146  *    allocator:
11147  *      [in]  Allocator used to create new CVImageBufferRef.
11148  *
11149  *    timeStamp:
11150  *      [in]  Time in question.  Pass NULL to request the image at the
11151  *      current time.
11152  *
11153  *    newImage:
11154  *      [out] Points to variable to receive new image. If there is no
11155  *      video at the requested time, this variable will be set to NULL.
11156  *
11157  *  Availability:
11158  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
11159  *    CarbonLib:        not available
11160  *    Non-Carbon CFM:   not available
11161  }
QTVisualContextCopyImageForTimenull11162 function QTVisualContextCopyImageForTime( visualContext: QTVisualContextRef; allocator: CFAllocatorRef { can be NULL }; {const} timeStamp: CVTimeStampPtr { can be NULL }; var newImage: CVImageBufferRef ): OSStatus; external name '_QTVisualContextCopyImageForTime';
11163 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
11164 
11165 
11166 {
11167  *  QTVisualContextTask()
11168  *
11169  *  Summary:
11170  *    Causes visual context to release internally held resources for
11171  *    later re-use.
11172  *
11173  *  Discussion:
11174  *    For optimal resource management, this function should be called
11175  *    in every rendering pass, after old images have been released, new
11176  *    images have been used and all rendering has been flushed to the
11177  *    screen.  This call is not mandatory.
11178  *
11179  *  Parameters:
11180  *
11181  *    visualContext:
11182  *      [in] The visual context.
11183  *
11184  *  Availability:
11185  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
11186  *    CarbonLib:        not available
11187  *    Non-Carbon CFM:   not available
11188  }
11189 procedure QTVisualContextTask( visualContext: QTVisualContextRef ); external name '_QTVisualContextTask';
11190 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
11191 
11192 
11193 {
11194  *  QTOpenGLTextureContextCreate()
11195  *
11196  *  Summary:
11197  *    Creates a new OpenGL texture context for the given OpenGL context
11198  *    and pixel format.
11199  *
11200  *  Discussion:
11201  *    This function will fail if the graphics hardware is insufficient.
11202  *
11203  *  Parameters:
11204  *
11205  *    allocator:
11206  *      [in]  Allocator used to create the texture context.
11207  *
11208  *    cglContext:
11209  *      [in]  OpenGL context used to create textures.
11210  *
11211  *    cglPixelFormat:
11212  *      [in]  OpenGL pixel format used to create the OpenGL context.
11213  *
11214  *    attributes:
11215  *      [in]  Dictionary of attributes.
11216  *
11217  *    newTextureContext:
11218  *      [out] Points to a variable to recieve the new OpenGL texture
11219  *      context.
11220  *
11221  *  Availability:
11222  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
11223  *    CarbonLib:        not available
11224  *    Non-Carbon CFM:   not available
11225  }
QTOpenGLTextureContextCreatenull11226 function QTOpenGLTextureContextCreate( allocator: CFAllocatorRef { can be NULL }; cglContext: CGLContextObj; cglPixelFormat: CGLPixelFormatObj; attributes: CFDictionaryRef { can be NULL }; var newTextureContext: QTVisualContextRef ): OSStatus; external name '_QTOpenGLTextureContextCreate';
11227 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
11228 
11229 
11230 {
11231  *  QTPixelBufferContextCreate()
11232  *
11233  *  Summary:
11234  *    Creates a new pixel buffer context with the given attributes.
11235  *
11236  *  Discussion:
11237  *    This function will fail if the graphics hardware is insufficient.
11238  *
11239  *  Parameters:
11240  *
11241  *    allocator:
11242  *      [in]  Allocator used to create the pixel buffer context.
11243  *
11244  *    attributes:
11245  *      [in]  Dictionary of attributes.
11246  *
11247  *    newPixelBufferContext:
11248  *      [out] Points to a variable to recieve the new pixel buffer
11249  *      context.
11250  *
11251  *  Availability:
11252  *    Mac OS X:         in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
11253  *    CarbonLib:        not available
11254  *    Non-Carbon CFM:   not available
11255  }
QTPixelBufferContextCreatenull11256 function QTPixelBufferContextCreate( allocator: CFAllocatorRef { can be NULL }; attributes: CFDictionaryRef { can be NULL }; var newPixelBufferContext: QTVisualContextRef ): OSStatus; external name '_QTPixelBufferContextCreate';
11257 (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
11258 
11259 
11260 {$endc} {not TARGET_CPU_64}
11261 
11262 {$endc} {TARGET_OS_MAC}
11263 {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
11264 
11265 end.
11266 {$endc} {not MACOSALLINCLUDE}
11267