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