123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088110891109011091110921109311094110951109611097110981109911100111011110211103111041110511106111071110811109111101111111112111131111411115111161111711118111191112011121111221112311124111251112611127111281112911130111311113211133111341113511136111371113811139111401114111142111431114411145111461114711148111491115011151111521115311154111551115611157111581115911160111611116211163111641116511166111671116811169111701117111172111731117411175111761117711178111791118011181111821118311184111851118611187111881118911190111911119211193111941119511196111971119811199112001120111202112031120411205 |
- {
- File: QuickTime/ImageCompression.h
-
- Contains: QuickTime Image Compression Interfaces.
-
- Version: QuickTime 7.6.3
-
- Copyright: © 1990-2008 by Apple Inc., all rights reserved
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://www.freepascal.org/bugs.html
-
- }
- { Pascal Translation Updated: Jonas Maebe, <[email protected]>, October 2009 }
- {
- Modified for use with Free Pascal
- Version 308
- Please report any bugs to <[email protected]>
- }
- {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
- {$mode macpas}
- {$packenum 1}
- {$macro on}
- {$inline on}
- {$calling mwpascal}
- unit ImageCompression;
- interface
- {$setc UNIVERSAL_INTERFACES_VERSION := $0400}
- {$setc GAP_INTERFACES_VERSION := $0308}
- {$ifc not defined USE_CFSTR_CONSTANT_MACROS}
- {$setc USE_CFSTR_CONSTANT_MACROS := TRUE}
- {$endc}
- {$ifc defined CPUPOWERPC and defined CPUI386}
- {$error Conflicting initial definitions for CPUPOWERPC and CPUI386}
- {$endc}
- {$ifc defined FPC_BIG_ENDIAN and defined FPC_LITTLE_ENDIAN}
- {$error Conflicting initial definitions for FPC_BIG_ENDIAN and FPC_LITTLE_ENDIAN}
- {$endc}
- {$ifc not defined __ppc__ and defined CPUPOWERPC32}
- {$setc __ppc__ := 1}
- {$elsec}
- {$setc __ppc__ := 0}
- {$endc}
- {$ifc not defined __ppc64__ and defined CPUPOWERPC64}
- {$setc __ppc64__ := 1}
- {$elsec}
- {$setc __ppc64__ := 0}
- {$endc}
- {$ifc not defined __i386__ and defined CPUI386}
- {$setc __i386__ := 1}
- {$elsec}
- {$setc __i386__ := 0}
- {$endc}
- {$ifc not defined __x86_64__ and defined CPUX86_64}
- {$setc __x86_64__ := 1}
- {$elsec}
- {$setc __x86_64__ := 0}
- {$endc}
- {$ifc not defined __arm__ and defined CPUARM}
- {$setc __arm__ := 1}
- {$elsec}
- {$setc __arm__ := 0}
- {$endc}
- {$ifc defined cpu64}
- {$setc __LP64__ := 1}
- {$elsec}
- {$setc __LP64__ := 0}
- {$endc}
- {$ifc defined __ppc__ and __ppc__ and defined __i386__ and __i386__}
- {$error Conflicting definitions for __ppc__ and __i386__}
- {$endc}
- {$ifc defined __ppc__ and __ppc__}
- {$setc TARGET_CPU_PPC := TRUE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$elifc defined __ppc64__ and __ppc64__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := TRUE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$elifc defined __i386__ and __i386__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := TRUE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$ifc defined(iphonesim)}
- {$setc TARGET_OS_MAC := FALSE}
- {$setc TARGET_OS_IPHONE := TRUE}
- {$setc TARGET_IPHONE_SIMULATOR := TRUE}
- {$elsec}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$endc}
- {$elifc defined __x86_64__ and __x86_64__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := TRUE}
- {$setc TARGET_CPU_ARM := FALSE}
- {$setc TARGET_OS_MAC := TRUE}
- {$setc TARGET_OS_IPHONE := FALSE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$elifc defined __arm__ and __arm__}
- {$setc TARGET_CPU_PPC := FALSE}
- {$setc TARGET_CPU_PPC64 := FALSE}
- {$setc TARGET_CPU_X86 := FALSE}
- {$setc TARGET_CPU_X86_64 := FALSE}
- {$setc TARGET_CPU_ARM := TRUE}
- { will require compiler define when/if other Apple devices with ARM cpus ship }
- {$setc TARGET_OS_MAC := FALSE}
- {$setc TARGET_OS_IPHONE := TRUE}
- {$setc TARGET_IPHONE_SIMULATOR := FALSE}
- {$elsec}
- {$error __ppc__ nor __ppc64__ nor __i386__ nor __x86_64__ nor __arm__ is defined.}
- {$endc}
- {$ifc defined __LP64__ and __LP64__ }
- {$setc TARGET_CPU_64 := TRUE}
- {$elsec}
- {$setc TARGET_CPU_64 := FALSE}
- {$endc}
- {$ifc defined FPC_BIG_ENDIAN}
- {$setc TARGET_RT_BIG_ENDIAN := TRUE}
- {$setc TARGET_RT_LITTLE_ENDIAN := FALSE}
- {$elifc defined FPC_LITTLE_ENDIAN}
- {$setc TARGET_RT_BIG_ENDIAN := FALSE}
- {$setc TARGET_RT_LITTLE_ENDIAN := TRUE}
- {$elsec}
- {$error Neither FPC_BIG_ENDIAN nor FPC_LITTLE_ENDIAN are defined.}
- {$endc}
- {$setc ACCESSOR_CALLS_ARE_FUNCTIONS := TRUE}
- {$setc CALL_NOT_IN_CARBON := FALSE}
- {$setc OLDROUTINENAMES := FALSE}
- {$setc OPAQUE_TOOLBOX_STRUCTS := TRUE}
- {$setc OPAQUE_UPP_TYPES := TRUE}
- {$setc OTCARBONAPPLICATION := TRUE}
- {$setc OTKERNEL := FALSE}
- {$setc PM_USE_SESSION_APIS := TRUE}
- {$setc TARGET_API_MAC_CARBON := TRUE}
- {$setc TARGET_API_MAC_OS8 := FALSE}
- {$setc TARGET_API_MAC_OSX := TRUE}
- {$setc TARGET_CARBON := TRUE}
- {$setc TARGET_CPU_68K := FALSE}
- {$setc TARGET_CPU_MIPS := FALSE}
- {$setc TARGET_CPU_SPARC := FALSE}
- {$setc TARGET_OS_UNIX := FALSE}
- {$setc TARGET_OS_WIN32 := FALSE}
- {$setc TARGET_RT_MAC_68881 := FALSE}
- {$setc TARGET_RT_MAC_CFM := FALSE}
- {$setc TARGET_RT_MAC_MACHO := TRUE}
- {$setc TYPED_FUNCTION_POINTERS := TRUE}
- {$setc TYPE_BOOL := FALSE}
- {$setc TYPE_EXTENDED := FALSE}
- {$setc TYPE_LONGLONG := TRUE}
- uses MacTypes,Components,CGLTypes,ColorSyncDeprecated,CVBase,CVImageBuffer,CVPixelBuffer,CVPixelBufferPool,Files,Dialogs,OSUtils,QuickdrawTypes,QDOffscreen,CFBase,CFData,CFDictionary,CGContext,CGImage;
- {$endc} {not MACOSALLINCLUDE}
- {$ifc TARGET_OS_MAC}
- {$ALIGN MAC68K}
- type
- MatrixRecord = record
- matrix: array [0..2,0..2] of Fixed;
- end;
- MatrixRecordPtr = ^MatrixRecord;
- const
- kRawCodecType = FourCharCode('raw ');
- kCinepakCodecType = FourCharCode('cvid');
- kGraphicsCodecType = FourCharCode('smc ');
- kAnimationCodecType = FourCharCode('rle ');
- kVideoCodecType = FourCharCode('rpza');
- kComponentVideoCodecType = FourCharCode('yuv2');
- kJPEGCodecType = FourCharCode('jpeg');
- kMotionJPEGACodecType = FourCharCode('mjpa');
- kMotionJPEGBCodecType = FourCharCode('mjpb');
- kSGICodecType = FourCharCode('.SGI');
- kPlanarRGBCodecType = FourCharCode('8BPS');
- kMacPaintCodecType = FourCharCode('PNTG');
- kGIFCodecType = FourCharCode('gif ');
- kPhotoCDCodecType = FourCharCode('kpcd');
- kQuickDrawGXCodecType = FourCharCode('qdgx');
- kAVRJPEGCodecType = FourCharCode('avr ');
- kOpenDMLJPEGCodecType = FourCharCode('dmb1');
- kBMPCodecType = FourCharCode('WRLE');
- kWindowsRawCodecType = FourCharCode('WRAW');
- kVectorCodecType = FourCharCode('path');
- kQuickDrawCodecType = FourCharCode('qdrw');
- kWaterRippleCodecType = FourCharCode('ripl');
- kFireCodecType = FourCharCode('fire');
- kCloudCodecType = FourCharCode('clou');
- kH261CodecType = FourCharCode('h261');
- kH263CodecType = FourCharCode('h263');
- kDVCNTSCCodecType = FourCharCode('dvc '); { DV - NTSC and DVCPRO NTSC (available in QuickTime 6.0 or later)}
- { NOTE: kDVCProNTSCCodecType is deprecated. }
- { Use kDVCNTSCCodecType instead -- as far as the codecs are concerned, }
- { the two data formats are identical.}
- kDVCPALCodecType = FourCharCode('dvcp');
- kDVCProPALCodecType = FourCharCode('dvpp'); { available in QuickTime 6.0 or later}
- kDVCPro50NTSCCodecType = FourCharCode('dv5n');
- kDVCPro50PALCodecType = FourCharCode('dv5p');
- kDVCPro100NTSCCodecType = FourCharCode('dv1n');
- kDVCPro100PALCodecType = FourCharCode('dv1p');
- kDVCPROHD720pCodecType = FourCharCode('dvhp');
- kDVCPROHD1080i60CodecType = FourCharCode('dvh6');
- kDVCPROHD1080i50CodecType = FourCharCode('dvh5');
- kBaseCodecType = FourCharCode('base');
- kFLCCodecType = FourCharCode('flic');
- kTargaCodecType = FourCharCode('tga ');
- kPNGCodecType = FourCharCode('png ');
- kTIFFCodecType = FourCharCode('tiff'); { NOTE: despite what might seem obvious from the two constants}
- { below and their names, they really are correct. 'yuvu' really }
- { does mean signed, and 'yuvs' really does mean unsigned. Really. }
- kComponentVideoSigned = FourCharCode('yuvu');
- kComponentVideoUnsigned = FourCharCode('yuvs');
- kCMYKCodecType = FourCharCode('cmyk');
- kMicrosoftVideo1CodecType = FourCharCode('msvc');
- kSorensonCodecType = FourCharCode('SVQ1');
- kSorenson3CodecType = FourCharCode('SVQ3'); { available in QuickTime 5 and later}
- kIndeo4CodecType = FourCharCode('IV41');
- kMPEG4VisualCodecType = FourCharCode('mp4v');
- k64ARGBCodecType = FourCharCode('b64a');
- k48RGBCodecType = FourCharCode('b48r');
- k32AlphaGrayCodecType = FourCharCode('b32a');
- k16GrayCodecType = FourCharCode('b16g');
- kMpegYUV420CodecType = FourCharCode('myuv');
- kYUV420CodecType = FourCharCode('y420');
- kSorensonYUV9CodecType = FourCharCode('syv9');
- k422YpCbCr8CodecType = FourCharCode('2vuy'); { Component Y'CbCr 8-bit 4:2:2 }
- k444YpCbCr8CodecType = FourCharCode('v308'); { Component Y'CbCr 8-bit 4:4:4 }
- k4444YpCbCrA8CodecType = FourCharCode('v408'); { Component Y'CbCrA 8-bit 4:4:4:4 }
- k422YpCbCr16CodecType = FourCharCode('v216'); { Component Y'CbCr 10,12,14,16-bit 4:2:2}
- k422YpCbCr10CodecType = FourCharCode('v210'); { Component Y'CbCr 10-bit 4:2:2 }
- k444YpCbCr10CodecType = FourCharCode('v410'); { Component Y'CbCr 10-bit 4:4:4 }
- k4444YpCbCrA8RCodecType = FourCharCode('r408'); { Component Y'CbCrA 8-bit 4:4:4:4, rendering format. full range alpha, zero biased yuv}
- kJPEG2000CodecType = FourCharCode('mjp2');
- kPixletCodecType = FourCharCode('pxlt');
- kH264CodecType = FourCharCode('avc1');
- {$ifc not TARGET_CPU_64}
- { one source effects }
- const
- kBlurImageFilterType = FourCharCode('blur');
- kSharpenImageFilterType = FourCharCode('shrp');
- kEdgeDetectImageFilterType = FourCharCode('edge');
- kEmbossImageFilterType = FourCharCode('embs');
- kConvolveImageFilterType = FourCharCode('genk');
- kAlphaGainImageFilterType = FourCharCode('gain');
- kRGBColorBalanceImageFilterType = FourCharCode('rgbb');
- kHSLColorBalanceImageFilterType = FourCharCode('hslb');
- kColorSyncImageFilterType = FourCharCode('sync');
- kFilmNoiseImageFilterType = FourCharCode('fmns');
- kSolarizeImageFilterType = FourCharCode('solr');
- kColorTintImageFilterType = FourCharCode('tint');
- kLensFlareImageFilterType = FourCharCode('lens');
- kBrightnessContrastImageFilterType = FourCharCode('brco');
- { two source effects }
- const
- kAlphaCompositorTransitionType = FourCharCode('blnd');
- kCrossFadeTransitionType = FourCharCode('dslv');
- kChannelCompositeEffectType = FourCharCode('chan');
- kChromaKeyTransitionType = FourCharCode('ckey');
- kImplodeTransitionType = FourCharCode('mplo');
- kExplodeTransitionType = FourCharCode('xplo');
- kGradientTransitionType = FourCharCode('matt');
- kPushTransitionType = FourCharCode('push');
- kSlideTransitionType = FourCharCode('slid');
- kWipeTransitionType = FourCharCode('smpt');
- kIrisTransitionType = FourCharCode('smp2');
- kRadialTransitionType = FourCharCode('smp3');
- kMatrixTransitionType = FourCharCode('smp4');
- kZoomTransitionType = FourCharCode('zoom');
- { three source effects }
- const
- kTravellingMatteEffectType = FourCharCode('trav');
- { Supported by QTNewGWorld in QuickTime 4.0 and later }
- const
- kCMYKPixelFormat = FourCharCode('cmyk'); { CMYK, 8-bit }
- k64ARGBPixelFormat = FourCharCode('b64a'); { ARGB, 16-bit big-endian samples }
- k48RGBPixelFormat = FourCharCode('b48r'); { RGB, 16-bit big-endian samples }
- k32AlphaGrayPixelFormat = FourCharCode('b32a'); { AlphaGray, 16-bit big-endian samples }
- k16GrayPixelFormat = FourCharCode('b16g'); { Grayscale, 16-bit big-endian samples }
- k422YpCbCr8PixelFormat = FourCharCode('2vuy'); { Component Y'CbCr 8-bit 4:2:2, ordered Cb Y'0 Cr Y'1 }
- { Supported by QTNewGWorld in QuickTime 4.1.2 and later }
- const
- k4444YpCbCrA8PixelFormat = FourCharCode('v408'); { Component Y'CbCrA 8-bit 4:4:4:4, ordered Cb Y' Cr A }
- 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 }
- { Supported by QTNewGWorld in QuickTime 6.0 and later }
- const
- kYUV420PixelFormat = FourCharCode('y420'); { Planar Component Y'CbCr 8-bit 4:2:0. PixMap baseAddr points to a big-endian PlanarPixmapInfoYUV420 struct; see ImageCodec.i. }
- { These are the bits that are set in the Component flags, and also in the codecInfo struct. }
- const
- codecInfoDoes1 = 1 shl 0; { codec can work with 1-bit pixels }
- codecInfoDoes2 = 1 shl 1; { codec can work with 2-bit pixels }
- codecInfoDoes4 = 1 shl 2; { codec can work with 4-bit pixels }
- codecInfoDoes8 = 1 shl 3; { codec can work with 8-bit pixels }
- codecInfoDoes16 = 1 shl 4; { codec can work with 16-bit pixels }
- codecInfoDoes32 = 1 shl 5; { codec can work with 32-bit pixels }
- codecInfoDoesDither = 1 shl 6; { codec can do ditherMode }
- codecInfoDoesStretch = 1 shl 7; { codec can stretch to arbitrary sizes }
- codecInfoDoesShrink = 1 shl 8; { codec can shrink to arbitrary sizes }
- codecInfoDoesMask = 1 shl 9; { codec can mask to clipping regions }
- codecInfoDoesTemporal = 1 shl 10; { codec can handle temporal redundancy }
- codecInfoDoesDouble = 1 shl 11; { codec can stretch to double size exactly }
- codecInfoDoesQuad = 1 shl 12; { codec can stretch to quadruple size exactly }
- codecInfoDoesHalf = 1 shl 13; { codec can shrink to half size }
- codecInfoDoesQuarter = 1 shl 14; { codec can shrink to quarter size }
- codecInfoDoesRotate = 1 shl 15; { codec can rotate on decompress }
- codecInfoDoesHorizFlip = 1 shl 16; { codec can flip horizontally on decompress }
- codecInfoDoesVertFlip = 1 shl 17; { codec can flip vertically on decompress }
- codecInfoHasEffectParameterList = 1 shl 18; { codec implements get effects parameter list call, once was codecInfoDoesSkew }
- codecInfoDoesBlend = 1 shl 19; { codec can blend on decompress }
- codecInfoDoesReorder = 1 shl 19; { codec can rearrange frames during compression }
- codecInfoDoesWarp = 1 shl 20; { codec can warp arbitrarily on decompress }
- codecInfoDoesMultiPass = 1 shl 20; { codec can perform multi-pass compression }
- codecInfoDoesRecompress = 1 shl 21; { codec can recompress image without accumulating errors }
- codecInfoDoesSpool = 1 shl 22; { codec can spool image data }
- codecInfoDoesRateConstrain = 1 shl 23; { codec can data rate constrain }
- const
- codecInfoDepth1 = 1 shl 0; { compressed data at 1 bpp depth available }
- codecInfoDepth2 = 1 shl 1; { compressed data at 2 bpp depth available }
- codecInfoDepth4 = 1 shl 2; { compressed data at 4 bpp depth available }
- codecInfoDepth8 = 1 shl 3; { compressed data at 8 bpp depth available }
- codecInfoDepth16 = 1 shl 4; { compressed data at 16 bpp depth available }
- codecInfoDepth32 = 1 shl 5; { compressed data at 32 bpp depth available }
- codecInfoDepth24 = 1 shl 6; { compressed data at 24 bpp depth available }
- codecInfoDepth33 = 1 shl 7; { compressed data at 1 bpp monochrome depth available }
- codecInfoDepth34 = 1 shl 8; { compressed data at 2 bpp grayscale depth available }
- codecInfoDepth36 = 1 shl 9; { compressed data at 4 bpp grayscale depth available }
- codecInfoDepth40 = 1 shl 10; { compressed data at 8 bpp grayscale depth available }
- codecInfoStoresClut = 1 shl 11; { compressed data can have custom cluts }
- codecInfoDoesLossless = 1 shl 12; { compressed data can be stored in lossless format }
- codecInfoSequenceSensitive = 1 shl 13; { compressed data is sensitive to out of sequence decoding }
- { input sequence flags}
- const
- codecFlagUseImageBuffer = 1 shl 0; { decompress}
- codecFlagUseScreenBuffer = 1 shl 1; { decompress}
- codecFlagUpdatePrevious = 1 shl 2; { compress}
- codecFlagNoScreenUpdate = 1 shl 3; { decompress}
- codecFlagWasCompressed = 1 shl 4; { compress}
- codecFlagDontOffscreen = 1 shl 5; { decompress}
- codecFlagUpdatePreviousComp = 1 shl 6; { compress}
- codecFlagForceKeyFrame = 1 shl 7; { compress}
- codecFlagOnlyScreenUpdate = 1 shl 8; { decompress}
- codecFlagLiveGrab = 1 shl 9; { compress}
- codecFlagDiffFrame = 1 shl 9; { decompress}
- codecFlagDontUseNewImageBuffer = 1 shl 10; { decompress}
- codecFlagInterlaceUpdate = 1 shl 11; { decompress}
- codecFlagCatchUpDiff = 1 shl 12; { decompress}
- codecFlagSupportDisable = 1 shl 13; { decompress}
- codecFlagReenable = 1 shl 14; { decompress}
- { output sequence flags}
- const
- codecFlagOutUpdateOnNextIdle = 1 shl 9;
- codecFlagOutUpdateOnDataSourceChange = 1 shl 10;
- codecFlagSequenceSensitive = 1 shl 11;
- codecFlagOutUpdateOnTimeChange = 1 shl 12;
- codecFlagImageBufferNotSourceImage = 1 shl 13;
- codecFlagUsedNewImageBuffer = 1 shl 14;
- codecFlagUsedImageBuffer = 1 shl 15;
- const
- { The minimum data size for spooling in or out data }
- codecMinimumDataSize = 32768;
- const
- compressorComponentType = FourCharCode('imco'); { the type for "Components" which compress images }
- decompressorComponentType = FourCharCode('imdc'); { the type for "Components" which decompress images }
- type
- CompressorComponent = Component;
- DecompressorComponent = Component;
- CodecComponent = Component;
- const
- anyCodec = 0; { take first working codec of given type }
- bestSpeedCodec = -1; { take fastest codec of given type }
- bestFidelityCodec = -2; { take codec which is most accurate }
- bestCompressionCodec = -3; { take codec of given type that is most accurate }
- {$endc} {not TARGET_CPU_64}
- type
- CodecType = OSType;
- CodecType_fix = CodecType; { used as field type when a record declaration contains a CodecType field identifier }
- CodecFlags = UInt16;
- CodecQ = UInt32;
- {$ifc not TARGET_CPU_64}
- const
- codecLosslessQuality = $00000400;
- codecMaxQuality = $000003FF;
- codecMinQuality = $00000000;
- codecLowQuality = $00000100;
- codecNormalQuality = $00000200;
- codecHighQuality = $00000300;
- const
- codecLockBitsShieldCursor = 1 shl 0; { shield cursor }
- const
- codecCompletionSource = 1 shl 0; { asynchronous codec is done with source data }
- codecCompletionDest = 1 shl 1; { asynchronous codec is done with destination data }
- codecCompletionDontUnshield = 1 shl 2; { on dest complete don't unshield cursor }
- codecCompletionWentOffscreen = 1 shl 3; { codec used offscreen buffer }
- codecCompletionUnlockBits = 1 shl 4; { on dest complete, call ICMSequenceUnlockBits }
- codecCompletionForceChainFlush = 1 shl 5; { ICM needs to flush the whole chain }
- codecCompletionDropped = 1 shl 6; { codec decided to drop this frame }
- codecCompletionDecoded = 1 shl 10; { codec has decoded this frame; if it is cancelled and rescheduled, set icmFrameAlreadyDecoded in ICMFrameTimeRecord.flags }
- 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. }
- codecCompletionNotDrawn = 1 shl 12; { set in conjunction with codecCompletionDest to indicate that the frame was not drawn }
- const
- codecProgressOpen = 0;
- codecProgressUpdatePercent = 1;
- codecProgressClose = 2;
- type
- ICMDataProcPtr = function( var dataP: Ptr; bytesNeeded: SIGNEDLONG; refcon: SIGNEDLONG ): OSErr;
- ICMFlushProcPtr = function( data: Ptr; bytesAdded: SIGNEDLONG; refcon: SIGNEDLONG ): OSErr;
- ICMCompletionProcPtr = procedure( result: OSErr; flags: SInt16; refcon: SIGNEDLONG );
- ICMProgressProcPtr = function( message: SInt16; completeness: Fixed; refcon: SIGNEDLONG ): OSErr;
- StdPixProcPtr = procedure( var src: PixMap; var srcRect: Rect; var matrix: MatrixRecord; mode: SInt16; mask: RgnHandle; var matte: PixMap; var matteRect: Rect; flags: SInt16 );
- QDPixProcPtr = procedure( var src: PixMap; var srcRect: Rect; var matrix: MatrixRecord; mode: SInt16; mask: RgnHandle; var matte: PixMap; var matteRect: Rect; flags: SInt16 );
- ICMAlignmentProcPtr = procedure( var rp: Rect; refcon: SIGNEDLONG );
- ICMCursorShieldedProcPtr = procedure( const (*var*) r: Rect; refcon: UnivPtr; flags: SIGNEDLONG );
- ICMMemoryDisposedProcPtr = procedure( memoryBlock: Ptr; refcon: UnivPtr );
- ICMCursorNotify = UnivPtr;
- ICMConvertDataFormatProcPtr = function( refCon: UnivPtr; flags: SIGNEDLONG; desiredFormat: Handle; sourceDataFormat: Handle; srcData: UnivPtr; srcDataSize: SIGNEDLONG; var dstData: UnivPtr; var dstDataSize: SIGNEDLONG ): OSErr;
- ICMDataUPP = ICMDataProcPtr;
- ICMFlushUPP = ICMFlushProcPtr;
- ICMCompletionUPP = ICMCompletionProcPtr;
- ICMProgressUPP = ICMProgressProcPtr;
- StdPixUPP = StdPixProcPtr;
- QDPixUPP = QDPixProcPtr;
- ICMAlignmentUPP = ICMAlignmentProcPtr;
- ICMCursorShieldedUPP = ICMCursorShieldedProcPtr;
- ICMMemoryDisposedUPP = ICMMemoryDisposedProcPtr;
- ICMConvertDataFormatUPP = ICMConvertDataFormatProcPtr;
- ImageSequence = SIGNEDLONG;
- ImageSequenceDataSource = SIGNEDLONG;
- ImageTranscodeSequence = SIGNEDLONG;
- ImageFieldSequence = SIGNEDLONG;
- ICMProgressProcRecord = record
- progressProc: ICMProgressUPP;
- progressRefCon: SIGNEDLONG;
- end;
- ICMProgressProcRecordPtr = ^ICMProgressProcRecord;
- type
- ICMCompletionProcRecord = record
- completionProc: ICMCompletionUPP;
- completionRefCon: SIGNEDLONG;
- end;
- ICMCompletionProcRecordPtr = ^ICMCompletionProcRecord;
- type
- ICMDataProcRecord = record
- dataProc: ICMDataUPP;
- dataRefCon: SIGNEDLONG;
- end;
- ICMDataProcRecordPtr = ^ICMDataProcRecord;
- type
- ICMFlushProcRecord = record
- flushProc: ICMFlushUPP;
- flushRefCon: SIGNEDLONG;
- end;
- ICMFlushProcRecordPtr = ^ICMFlushProcRecord;
- type
- ICMAlignmentProcRecord = record
- alignmentProc: ICMAlignmentUPP;
- alignmentRefCon: SIGNEDLONG;
- end;
- ICMAlignmentProcRecordPtr = ^ICMAlignmentProcRecord;
- type
- DataRateParams = record
- dataRate: SIGNEDLONG;
- dataOverrun: SIGNEDLONG;
- frameDuration: SIGNEDLONG;
- keyFrameRate: SIGNEDLONG;
- minSpatialQuality: CodecQ;
- minTemporalQuality: CodecQ;
- end;
- DataRateParamsPtr = ^DataRateParams;
- {$endc} {not TARGET_CPU_64}
- type
- ImageDescription = packed record
- idSize: SInt32; { total size of ImageDescription including extra data ( CLUTs and other per sequence data ) }
- cType: CodecType; { what kind of codec compressed this data }
- resvd1: SInt32; { reserved for Apple use }
- resvd2: SInt16; { reserved for Apple use }
- dataRefIndex: SInt16; { set to zero }
- version: SInt16; { which version is this data }
- revisionLevel: SInt16; { what version of that codec did this }
- vendor: SInt32; { whose codec compressed this data }
- temporalQuality: CodecQ; { what was the temporal quality factor }
- spatialQuality: CodecQ; { what was the spatial quality factor }
- width: SInt16; { how many pixels wide is this data }
- height: SInt16; { how many pixels high is this data }
- hRes: Fixed; { horizontal resolution }
- vRes: Fixed; { vertical resolution }
- dataSize: SInt32; { if known, the size of data for this image descriptor }
- frameCount: SInt16; { number of frames this description applies to }
- name: Str31; { name of codec ( in case not installed ) }
- depth: SInt16; { what depth is this data (1-32) or ( 33-40 grayscale ) }
- clutID: SInt16; { clut id or if 0 clut follows or -1 if no clut }
- end;
- ImageDescriptionPtr = ^ImageDescription;
- type
- ImageDescriptionHandle = ^ImageDescriptionPtr;
- {$ifc not TARGET_CPU_64}
- type
- CodecInfoPtr = ^CodecInfo;
- CodecInfo = record
- typeName: Str31; { name of the codec type i.e.: 'Apple Image Compression' }
- version: SInt16; { version of the codec data that this codec knows about }
- revisionLevel: SInt16; { revision level of this codec i.e: 0x00010001 (1.0.1) }
- vendor: SIGNEDLONG; { Maker of this codec i.e: 'appl' }
- decompressFlags: SIGNEDLONG; { codecInfo flags for decompression capabilities }
- compressFlags: SIGNEDLONG; { codecInfo flags for compression capabilities }
- formatFlags: SIGNEDLONG; { codecInfo flags for compression format details }
- compressionAccuracy: UInt8; { measure (1-255) of accuracy of this codec for compress (0 if unknown) }
- decompressionAccuracy: UInt8; { measure (1-255) of accuracy of this codec for decompress (0 if unknown) }
- compressionSpeed: UInt16; { ( millisecs for compressing 320x240 on base mac II) (0 if unknown) }
- decompressionSpeed: UInt16; { ( millisecs for decompressing 320x240 on mac II)(0 if unknown) }
- compressionLevel: UInt8; { measure (1-255) of compression level of this codec (0 if unknown) }
- resvd: UInt8; { pad }
- minimumHeight: SInt16; { minimum height of image (block size) }
- minimumWidth: SInt16; { minimum width of image (block size) }
- decompressPipelineLatency: SInt16; { in milliseconds ( for asynchronous codecs ) }
- compressPipelineLatency: SInt16; { in milliseconds ( for asynchronous codecs ) }
- privateData: SIGNEDLONG;
- end;
- type
- CodecNameSpecPtr = ^CodecNameSpec;
- CodecNameSpec = record
- codec: CodecComponent;
- cType: CodecType;
- typeName: Str31;
- name: Handle;
- end;
- type
- CodecNameSpecList = record
- count: SInt16;
- list: array [0..0] of CodecNameSpec;
- end;
- CodecNameSpecListPtr = ^CodecNameSpecList;
- const
- defaultDither = 0;
- forceDither = 1;
- suppressDither = 2;
- useColorMatching = 4;
- const
- callStdBits = 1;
- callOldBits = 2;
- noDefaultOpcodes = 4;
- const
- graphicsModeStraightAlpha = 256;
- graphicsModePreWhiteAlpha = 257;
- graphicsModePreBlackAlpha = 258;
- graphicsModeComposition = 259;
- graphicsModeStraightAlphaBlend = 260;
- graphicsModePreMulColorAlpha = 261;
- graphicsModePerComponentAlpha = 272;
- const
- evenField1ToEvenFieldOut = 1 shl 0;
- evenField1ToOddFieldOut = 1 shl 1;
- oddField1ToEvenFieldOut = 1 shl 2;
- oddField1ToOddFieldOut = 1 shl 3;
- evenField2ToEvenFieldOut = 1 shl 4;
- evenField2ToOddFieldOut = 1 shl 5;
- oddField2ToEvenFieldOut = 1 shl 6;
- oddField2ToOddFieldOut = 1 shl 7;
- { Flags for ICMFrameTimeRecord.flags }
- const
- icmFrameTimeHasVirtualStartTimeAndDuration = 1 shl 0;
- icmFrameAlreadyDecoded = 1 shl 1;
- icmFrameTimeIsNonScheduledDisplayTime = 1 shl 2;
- icmFrameTimeHasDecodeTime = 1 shl 3;
- icmFrameTimeDecodeImmediately = 1 shl 4;
- icmFrameTimeDoNotDisplay = 1 shl 5;
- type
- ICMFrameTimeRecordPtr = ^ICMFrameTimeRecord;
- ICMFrameTimeRecord = record
- value: wide; { frame display time}
- scale: SIGNEDLONG; { timescale of value/duration fields}
- base: UnivPtr; { timebase}
- duration: SIGNEDLONG; { duration frame is to be displayed (0 if unknown)}
- rate: Fixed; { rate of timebase relative to wall-time}
- recordSize: SIGNEDLONG; { total number of bytes in ICMFrameTimeRecord}
- frameNumber: SIGNEDLONG; { number of frame, zero if not known}
- flags: SIGNEDLONG;
- virtualStartTime: wide; { conceptual start time}
- virtualDuration: SIGNEDLONG; { conceptual duration}
- { The following fields only exist for QuickTime 7.0 and greater. }
- decodeTime: TimeValue64; { suggested decode time, if icmFrameTimeHasDecodeTime is set in flags}
- end;
- type
- ICMFrameTimePtr = ICMFrameTimeRecordPtr;
- { QuickTime flavor of universally unique identifier (uuid)}
- type
- QTUUIDPtr = ^QTUUID;
- QTUUID = record
- data1: UInt32;
- data2: UInt16;
- data3: UInt16;
- data4: array[0..7] of UInt8;
- end;
- type
- QTMediaContextID = QTUUID;
- QTMediaContextIDPtr = ^QTMediaContextID;
- {$endc} {not TARGET_CPU_64}
- { See Movies.h for the flags themselves. }
- type
- MediaSampleFlags = UInt32;
- {$ifc not TARGET_CPU_64}
- {
- * NewICMDataUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- function NewICMDataUPP( userRoutine: ICMDataProcPtr ): ICMDataUPP; external name '_NewICMDataUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * NewICMFlushUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- function NewICMFlushUPP( userRoutine: ICMFlushProcPtr ): ICMFlushUPP; external name '_NewICMFlushUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * NewICMCompletionUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- function NewICMCompletionUPP( userRoutine: ICMCompletionProcPtr ): ICMCompletionUPP; external name '_NewICMCompletionUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * NewICMProgressUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- function NewICMProgressUPP( userRoutine: ICMProgressProcPtr ): ICMProgressUPP; external name '_NewICMProgressUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * NewStdPixUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- function NewStdPixUPP( userRoutine: StdPixProcPtr ): StdPixUPP; external name '_NewStdPixUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * NewQDPixUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- function NewQDPixUPP( userRoutine: QDPixProcPtr ): QDPixUPP; external name '_NewQDPixUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * NewICMAlignmentUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- function NewICMAlignmentUPP( userRoutine: ICMAlignmentProcPtr ): ICMAlignmentUPP; external name '_NewICMAlignmentUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * NewICMCursorShieldedUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- function NewICMCursorShieldedUPP( userRoutine: ICMCursorShieldedProcPtr ): ICMCursorShieldedUPP; external name '_NewICMCursorShieldedUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * NewICMMemoryDisposedUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- function NewICMMemoryDisposedUPP( userRoutine: ICMMemoryDisposedProcPtr ): ICMMemoryDisposedUPP; external name '_NewICMMemoryDisposedUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * NewICMConvertDataFormatUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- function NewICMConvertDataFormatUPP( userRoutine: ICMConvertDataFormatProcPtr ): ICMConvertDataFormatUPP; external name '_NewICMConvertDataFormatUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DisposeICMDataUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure DisposeICMDataUPP( userUPP: ICMDataUPP ); external name '_DisposeICMDataUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DisposeICMFlushUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure DisposeICMFlushUPP( userUPP: ICMFlushUPP ); external name '_DisposeICMFlushUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DisposeICMCompletionUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure DisposeICMCompletionUPP( userUPP: ICMCompletionUPP ); external name '_DisposeICMCompletionUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DisposeICMProgressUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure DisposeICMProgressUPP( userUPP: ICMProgressUPP ); external name '_DisposeICMProgressUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DisposeStdPixUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure DisposeStdPixUPP( userUPP: StdPixUPP ); external name '_DisposeStdPixUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DisposeQDPixUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure DisposeQDPixUPP( userUPP: QDPixUPP ); external name '_DisposeQDPixUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DisposeICMAlignmentUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure DisposeICMAlignmentUPP( userUPP: ICMAlignmentUPP ); external name '_DisposeICMAlignmentUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DisposeICMCursorShieldedUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure DisposeICMCursorShieldedUPP( userUPP: ICMCursorShieldedUPP ); external name '_DisposeICMCursorShieldedUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DisposeICMMemoryDisposedUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure DisposeICMMemoryDisposedUPP( userUPP: ICMMemoryDisposedUPP ); external name '_DisposeICMMemoryDisposedUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DisposeICMConvertDataFormatUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure DisposeICMConvertDataFormatUPP( userUPP: ICMConvertDataFormatUPP ); external name '_DisposeICMConvertDataFormatUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * InvokeICMDataUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- function InvokeICMDataUPP( var dataP: Ptr; bytesNeeded: SIGNEDLONG; refcon: SIGNEDLONG; userUPP: ICMDataUPP ): OSErr; external name '_InvokeICMDataUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * InvokeICMFlushUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- function InvokeICMFlushUPP( data: Ptr; bytesAdded: SIGNEDLONG; refcon: SIGNEDLONG; userUPP: ICMFlushUPP ): OSErr; external name '_InvokeICMFlushUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * InvokeICMCompletionUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure InvokeICMCompletionUPP( result: OSErr; flags: SInt16; refcon: SIGNEDLONG; userUPP: ICMCompletionUPP ); external name '_InvokeICMCompletionUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * InvokeICMProgressUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- function InvokeICMProgressUPP( message: SInt16; completeness: Fixed; refcon: SIGNEDLONG; userUPP: ICMProgressUPP ): OSErr; external name '_InvokeICMProgressUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * InvokeStdPixUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * InvokeQDPixUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * InvokeICMAlignmentUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure InvokeICMAlignmentUPP( var rp: Rect; refcon: SIGNEDLONG; userUPP: ICMAlignmentUPP ); external name '_InvokeICMAlignmentUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * InvokeICMCursorShieldedUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure InvokeICMCursorShieldedUPP( const (*var*) r: Rect; refcon: UnivPtr; flags: SIGNEDLONG; userUPP: ICMCursorShieldedUPP ); external name '_InvokeICMCursorShieldedUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * InvokeICMMemoryDisposedUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- procedure InvokeICMMemoryDisposedUPP( memoryBlock: Ptr; refcon: UnivPtr; userUPP: ICMMemoryDisposedUPP ); external name '_InvokeICMMemoryDisposedUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * InvokeICMConvertDataFormatUPP()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: available as macro/inline
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CodecManagerVersion()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CodecManagerVersion( var version: SIGNEDLONG ): OSErr; external name '_CodecManagerVersion';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetCodecNameList()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetCodecNameList( var list: CodecNameSpecListPtr; showAll: SInt16 ): OSErr; external name '_GetCodecNameList';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DisposeCodecNameList()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function DisposeCodecNameList( list: CodecNameSpecListPtr ): OSErr; external name '_DisposeCodecNameList';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetCodecInfo()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetCodecInfo( var info: CodecInfo; cType: CodecType; codec: CodecComponent ): OSErr; external name '_GetCodecInfo';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetMaxCompressionSize()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetMaxCompressionSize( src: PixMapHandle; const (*var*) srcRect: Rect; colorDepth: SInt16; quality: CodecQ; cType: CodecType; codec: CompressorComponent; var size: SIGNEDLONG ): OSErr; external name '_GetMaxCompressionSize';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetCSequenceMaxCompressionSize()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetCSequenceMaxCompressionSize( seqID: ImageSequence; src: PixMapHandle; var size: SIGNEDLONG ): OSErr; external name '_GetCSequenceMaxCompressionSize';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetCompressionTime()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompressImage()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CompressImage( src: PixMapHandle; const (*var*) srcRect: Rect; quality: CodecQ; cType: CodecType; desc: ImageDescriptionHandle; data: Ptr ): OSErr; external name '_CompressImage';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * FCompressImage()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DecompressImage()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function DecompressImage( data: Ptr; desc: ImageDescriptionHandle; dst: PixMapHandle; const (*var*) srcRect: Rect; const (*var*) dstRect: Rect; mode: SInt16; mask: RgnHandle ): OSErr; external name '_DecompressImage';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * FDecompressImage()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { For video compression, consider using ICMCompressionSessionCreate etc. instead of CompressSequenceBegin etc. }
- {
- * CompressSequenceBegin()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompressSequenceFrame()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { For video decompression, consider using ICMDecompressionSessionCreate etc. instead of DecompressSequenceBegin etc. }
- {
- * DecompressSequenceBegin()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { For video decompression, consider using ICMDecompressionSessionCreate etc. instead of DecompressSequenceBeginS etc. }
- {
- * DecompressSequenceBeginS()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DecompressSequenceFrame()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function DecompressSequenceFrame( seqID: ImageSequence; data: Ptr; inFlags: CodecFlags; var outFlags: CodecFlags; asyncCompletionProc: ICMCompletionProcRecordPtr ): OSErr; external name '_DecompressSequenceFrame';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DecompressSequenceFrameS()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function DecompressSequenceFrameS( seqID: ImageSequence; data: Ptr; dataSize: SIGNEDLONG; inFlags: CodecFlags; var outFlags: CodecFlags; asyncCompletionProc: ICMCompletionProcRecordPtr ): OSErr; external name '_DecompressSequenceFrameS';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DecompressSequenceFrameWhen()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function DecompressSequenceFrameWhen( seqID: ImageSequence; data: Ptr; dataSize: SIGNEDLONG; inFlags: CodecFlags; var outFlags: CodecFlags; asyncCompletionProc: ICMCompletionProcRecordPtr; const (*var*) frameTime: ICMFrameTimeRecord ): OSErr; external name '_DecompressSequenceFrameWhen';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceFlush()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceFlush( seqID: ImageSequence ): OSErr; external name '_CDSequenceFlush';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetDSequenceMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetDSequenceMatrix( seqID: ImageSequence; matrix: MatrixRecordPtr ): OSErr; external name '_SetDSequenceMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetDSequenceMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GetDSequenceMatrix( seqID: ImageSequence; matrix: MatrixRecordPtr ): OSErr; external name '_GetDSequenceMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetDSequenceMatte()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetDSequenceMatte( seqID: ImageSequence; matte: PixMapHandle; const (*var*) matteRect: Rect ): OSErr; external name '_SetDSequenceMatte';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetDSequenceMask()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetDSequenceMask( seqID: ImageSequence; mask: RgnHandle ): OSErr; external name '_SetDSequenceMask';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetDSequenceTransferMode()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetDSequenceTransferMode( seqID: ImageSequence; mode: SInt16; const (*var*) opColor: RGBColor ): OSErr; external name '_SetDSequenceTransferMode';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetDSequenceDataProc()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetDSequenceDataProc( seqID: ImageSequence; dataProc: ICMDataProcRecordPtr; bufferSize: SIGNEDLONG ): OSErr; external name '_SetDSequenceDataProc';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetDSequenceAccuracy()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetDSequenceAccuracy( seqID: ImageSequence; accuracy: CodecQ ): OSErr; external name '_SetDSequenceAccuracy';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetDSequenceSrcRect()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetDSequenceSrcRect( seqID: ImageSequence; const (*var*) srcRect: Rect ): OSErr; external name '_SetDSequenceSrcRect';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetDSequenceFlags()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function SetDSequenceFlags( seqID: ImageSequence; flags: SIGNEDLONG; flagsMask: SIGNEDLONG ): OSErr; external name '_SetDSequenceFlags';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- const
- codecDSequenceDisableOverlaySurface = 1 shl 5;
- codecDSequenceSingleField = 1 shl 6;
- codecDSequenceBidirectionalPrediction = 1 shl 7;
- codecDSequenceFlushInsteadOfDirtying = 1 shl 8;
- codecDSequenceEnableSubPixelPositioning = 1 shl 9;
- codecDSequenceDeinterlaceFields = 1 shl 10;
- type
- CodecComponentPtr = ^CodecComponent;
- CodecComponentHandle = ^CodecComponentPtr;
- { selectors for ICMSequenceGet/SetInfo}
- const
- kICMSequenceTaskWeight = FourCharCode('twei'); { data is pointer to UInt32}
- kICMSequenceTaskName = FourCharCode('tnam'); { data is pointer to OSType}
- kICMSequenceUserPreferredCodecs = FourCharCode('punt'); { data is pointer to CodecComponentHandle}
- {
- * ICMSequenceGetInfo()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.3 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- }
- function ICMSequenceGetInfo( seqID: ImageSequence; which: OSType; data: UnivPtr ): OSErr; external name '_ICMSequenceGetInfo';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ICMSequenceSetInfo()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.3 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- }
- function ICMSequenceSetInfo( seqID: ImageSequence; which: OSType; data: UnivPtr; dataSize: Size ): OSErr; external name '_ICMSequenceSetInfo';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetDSequenceImageBuffer()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetDSequenceImageBuffer( seqID: ImageSequence; var gworld: GWorldPtr ): OSErr; external name '_GetDSequenceImageBuffer';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetDSequenceScreenBuffer()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetDSequenceScreenBuffer( seqID: ImageSequence; var gworld: GWorldPtr ): OSErr; external name '_GetDSequenceScreenBuffer';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetCSequenceQuality()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetCSequenceQuality( seqID: ImageSequence; spatialQuality: CodecQ; temporalQuality: CodecQ ): OSErr; external name '_SetCSequenceQuality';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetCSequencePrev()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetCSequencePrev( seqID: ImageSequence; prev: PixMapHandle; const (*var*) prevRect: Rect ): OSErr; external name '_SetCSequencePrev';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetCSequenceFlushProc()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetCSequenceFlushProc( seqID: ImageSequence; flushProc: ICMFlushProcRecordPtr; bufferSize: SIGNEDLONG ): OSErr; external name '_SetCSequenceFlushProc';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetCSequenceKeyFrameRate()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetCSequenceKeyFrameRate( seqID: ImageSequence; keyFrameRate: SIGNEDLONG ): OSErr; external name '_SetCSequenceKeyFrameRate';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetCSequenceKeyFrameRate()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetCSequenceKeyFrameRate( seqID: ImageSequence; var keyFrameRate: SIGNEDLONG ): OSErr; external name '_GetCSequenceKeyFrameRate';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetCSequencePrevBuffer()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetCSequencePrevBuffer( seqID: ImageSequence; var gworld: GWorldPtr ): OSErr; external name '_GetCSequencePrevBuffer';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceBusy()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceBusy( seqID: ImageSequence ): OSErr; external name '_CDSequenceBusy';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceEnd()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceEnd( seqID: ImageSequence ): OSErr; external name '_CDSequenceEnd';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceEquivalentImageDescription()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceEquivalentImageDescription( seqID: ImageSequence; newDesc: ImageDescriptionHandle; var equivalent: Boolean ): OSErr; external name '_CDSequenceEquivalentImageDescription';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceEquivalentImageDescriptionS()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.3 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- }
- function CDSequenceEquivalentImageDescriptionS( seqID: ImageSequence; newDesc: ImageDescriptionHandle; var equivalent: Boolean; var canSwitch: Boolean ): OSErr; external name '_CDSequenceEquivalentImageDescriptionS';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ReplaceDSequenceImageDescription()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.3 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- }
- function ReplaceDSequenceImageDescription( seqID: ImageSequence; newDesc: ImageDescriptionHandle ): OSErr; external name '_ReplaceDSequenceImageDescription';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetCompressedImageSize()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetCompressedImageSize( desc: ImageDescriptionHandle; data: Ptr; bufferSize: SIGNEDLONG; dataProc: ICMDataProcRecordPtr; var dataSize: SIGNEDLONG ): OSErr; external name '_GetCompressedImageSize';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetSimilarity()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetSimilarity( src: PixMapHandle; const (*var*) srcRect: Rect; desc: ImageDescriptionHandle; data: Ptr; var similarity: Fixed ): OSErr; external name '_GetSimilarity';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- const
- kImageDescriptionSampleFormat = FourCharCode('idfm'); { image description extension describing sample format}
- kImageDescriptionClassicAtomFormat = FourCharCode('atom'); { sample contains classic atom structure (ie, GX codec and Curve codec)}
- kImageDescriptionQTAtomFormat = FourCharCode('qtat'); { sample contains QT atom structure}
- kImageDescriptionEffectDataFormat = FourCharCode('fxat'); { sample describes an effect (as QTAtoms)}
- kImageDescriptionPrivateDataFormat = FourCharCode('priv'); { sample is in a private codec specific format}
- kImageDescriptionAlternateCodec = FourCharCode('subs'); { image description extension containing the OSType of a substitute codec should the main codec not be available}
- 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)}
- {
- * GetImageDescriptionCTable()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetImageDescriptionCTable( desc: ImageDescriptionHandle; var ctable: CTabHandle ): OSErr; external name '_GetImageDescriptionCTable';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetImageDescriptionCTable()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetImageDescriptionCTable( desc: ImageDescriptionHandle; ctable: CTabHandle ): OSErr; external name '_SetImageDescriptionCTable';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetImageDescriptionExtension()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetImageDescriptionExtension( desc: ImageDescriptionHandle; var extension: Handle; idType: SIGNEDLONG; index: SIGNEDLONG ): OSErr; external name '_GetImageDescriptionExtension';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * AddImageDescriptionExtension()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function AddImageDescriptionExtension( desc: ImageDescriptionHandle; extension: Handle; idType: SIGNEDLONG ): OSErr; external name '_AddImageDescriptionExtension';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * RemoveImageDescriptionExtension()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function RemoveImageDescriptionExtension( desc: ImageDescriptionHandle; idType: SIGNEDLONG; index: SIGNEDLONG ): OSErr; external name '_RemoveImageDescriptionExtension';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CountImageDescriptionExtensionType()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CountImageDescriptionExtensionType( desc: ImageDescriptionHandle; idType: SIGNEDLONG; var count: SIGNEDLONG ): OSErr; external name '_CountImageDescriptionExtensionType';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetNextImageDescriptionExtensionType()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetNextImageDescriptionExtensionType( desc: ImageDescriptionHandle; var idType: SIGNEDLONG ): OSErr; external name '_GetNextImageDescriptionExtensionType';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * FindCodec()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function FindCodec( cType: CodecType; specCodec: CodecComponent; var compressor: CompressorComponent; var decompressor: DecompressorComponent ): OSErr; external name '_FindCodec';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompressPicture()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CompressPicture( srcPicture: PicHandle; dstPicture: PicHandle; quality: CodecQ; cType: CodecType ): OSErr; external name '_CompressPicture';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * FCompressPicture()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompressPictureFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CompressPictureFile( srcRefNum: SInt16; dstRefNum: SInt16; quality: CodecQ; cType: CodecType ): OSErr; external name '_CompressPictureFile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * FCompressPictureFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetPictureFileHeader()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetPictureFileHeader( refNum: SInt16; var frame: Rect; var header: OpenCPicParams ): OSErr; external name '_GetPictureFileHeader';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DrawPictureFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function DrawPictureFile( refNum: SInt16; const (*var*) frame: Rect; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_DrawPictureFile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DrawTrimmedPicture()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function DrawTrimmedPicture( srcPicture: PicHandle; const (*var*) frame: Rect; trimMask: RgnHandle; doDither: SInt16; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_DrawTrimmedPicture';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DrawTrimmedPictureFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function DrawTrimmedPictureFile( srcRefnum: SInt16; const (*var*) frame: Rect; trimMask: RgnHandle; doDither: SInt16; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_DrawTrimmedPictureFile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * MakeThumbnailFromPicture()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function MakeThumbnailFromPicture( picture: PicHandle; colorDepth: SInt16; thumbnail: PicHandle; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_MakeThumbnailFromPicture';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * MakeThumbnailFromPictureFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function MakeThumbnailFromPictureFile( refNum: SInt16; colorDepth: SInt16; thumbnail: PicHandle; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_MakeThumbnailFromPictureFile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * MakeThumbnailFromPixMap()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function MakeThumbnailFromPixMap( src: PixMapHandle; const (*var*) srcRect: Rect; colorDepth: SInt16; thumbnail: PicHandle; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_MakeThumbnailFromPixMap';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * TrimImage()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ConvertImage()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetCompressedPixMapInfo()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetCompressedPixMapInfo( pix: PixMapPtr; var desc: ImageDescriptionHandle; var data: Ptr; var bufferSize: SIGNEDLONG; var dataProc: ICMDataProcRecord; var progressProc: ICMProgressProcRecord ): OSErr; external name '_GetCompressedPixMapInfo';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetCompressedPixMapInfo()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetCompressedPixMapInfo( pix: PixMapPtr; desc: ImageDescriptionHandle; data: Ptr; bufferSize: SIGNEDLONG; dataProc: ICMDataProcRecordPtr; progressProc: ICMProgressProcRecordPtr ): OSErr; external name '_SetCompressedPixMapInfo';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * StdPix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * TransformRgn()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function TransformRgn( matrix: MatrixRecordPtr; rgn: RgnHandle ): OSErr; external name '_TransformRgn';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {**********
- preview stuff
- **********}
- {
- * SFGetFilePreview()
- *
- * Availability:
- * Mac OS X: not available
- * CarbonLib: not available
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- {
- * SFPGetFilePreview()
- *
- * Availability:
- * Mac OS X: not available
- * CarbonLib: not available
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- {
- * StandardGetFilePreview()
- *
- * Availability:
- * Mac OS X: not available
- * CarbonLib: not available
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- {
- * CustomGetFilePreview()
- *
- * Availability:
- * Mac OS X: not available
- * CarbonLib: not available
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- {
- * MakeFilePreview()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function MakeFilePreview( resRefNum: SInt16; progress: ICMProgressProcRecordPtr ): OSErr; external name '_MakeFilePreview';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * AddFilePreview()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function AddFilePreview( resRefNum: SInt16; previewType: OSType; previewData: Handle ): OSErr; external name '_AddFilePreview';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- type
- PreviewResourceRecordPtr = ^PreviewResourceRecord;
- PreviewResourceRecord = record
- modDate: UNSIGNEDLONG;
- version: SInt16;
- resType: OSType;
- resID: SInt16;
- end;
- type
- PreviewResourcePtr = PreviewResourceRecordPtr;
- PreviewResource = ^PreviewResourcePtr;
- {
- * AlignScreenRect()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure AlignScreenRect( var rp: Rect; alignmentProc: ICMAlignmentProcRecordPtr ); external name '_AlignScreenRect';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * AlignWindow()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure AlignWindow( wp: WindowRef; front: Boolean; const (*var*) alignmentRect: Rect; alignmentProc: ICMAlignmentProcRecordPtr ); external name '_AlignWindow';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DragAlignedWindow()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure DragAlignedWindow( wp: WindowRef; startPt: Point; var boundsRect: Rect; var alignmentRect: Rect; alignmentProc: ICMAlignmentProcRecordPtr ); external name '_DragAlignedWindow';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * DragAlignedGrayRgn()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetCSequenceDataRateParams()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetCSequenceDataRateParams( seqID: ImageSequence; params: DataRateParamsPtr ): OSErr; external name '_SetCSequenceDataRateParams';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetCSequenceFrameNumber()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetCSequenceFrameNumber( seqID: ImageSequence; frameNumber: SIGNEDLONG ): OSErr; external name '_SetCSequenceFrameNumber';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetCSequencePreferredPacketSize()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetCSequencePreferredPacketSize( seqID: ImageSequence; preferredPacketSizeInBytes: SIGNEDLONG ): OSErr; external name '_SetCSequencePreferredPacketSize';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * NewImageGWorld()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function NewImageGWorld( var gworld: GWorldPtr; idh: ImageDescriptionHandle; flags: GWorldFlags ): OSErr; external name '_NewImageGWorld';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetCSequenceDataRateParams()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetCSequenceDataRateParams( seqID: ImageSequence; params: DataRateParamsPtr ): OSErr; external name '_GetCSequenceDataRateParams';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetCSequenceFrameNumber()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetCSequenceFrameNumber( seqID: ImageSequence; var frameNumber: SIGNEDLONG ): OSErr; external name '_GetCSequenceFrameNumber';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetBestDeviceRect()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetBestDeviceRect( var gdh: GDHandle; var rp: Rect ): OSErr; external name '_GetBestDeviceRect';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetSequenceProgressProc()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetSequenceProgressProc( seqID: ImageSequence; var progressProc: ICMProgressProcRecord ): OSErr; external name '_SetSequenceProgressProc';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GDHasScale()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GDHasScale( gdh: GDHandle; depth: SInt16; var scale: Fixed ): OSErr; external name '_GDHasScale';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GDGetScale()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GDGetScale( gdh: GDHandle; var scale: Fixed; var flags: SInt16 ): OSErr; external name '_GDGetScale';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GDSetScale()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GDSetScale( gdh: GDHandle; scale: Fixed; flags: SInt16 ): OSErr; external name '_GDSetScale';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ICMShieldSequenceCursor()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ICMShieldSequenceCursor( seqID: ImageSequence ): OSErr; external name '_ICMShieldSequenceCursor';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ICMDecompressComplete()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure ICMDecompressComplete( seqID: ImageSequence; err: OSErr; flag: SInt16; completionRtn: ICMCompletionProcRecordPtr ); external name '_ICMDecompressComplete';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ICMDecompressCompleteS()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ICMDecompressCompleteS( seqID: ImageSequence; err: OSErr; flag: SInt16; completionRtn: ICMCompletionProcRecordPtr ): OSErr; external name '_ICMDecompressCompleteS';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ICMSequenceLockBits()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ICMSequenceLockBits( seqID: ImageSequence; dst: PixMapPtr; flags: SIGNEDLONG ): OSErr; external name '_ICMSequenceLockBits';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ICMSequenceUnlockBits()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ICMSequenceUnlockBits( seqID: ImageSequence; flags: SIGNEDLONG ): OSErr; external name '_ICMSequenceUnlockBits';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- const
- kICMPixelFormatIsPlanarMask = $0F; { these bits in formatFlags indicate how many planes there are; they're 0 if chunky}
- kICMPixelFormatIsIndexed = 1 shl 4;
- kICMPixelFormatIsSupportedByQD = 1 shl 5;
- kICMPixelFormatIsMonochrome = 1 shl 6;
- kICMPixelFormatHasAlphaChannel = 1 shl 7;
- type
- ICMPixelFormatInfo = record
- size: SIGNEDLONG; { caller MUST fill this in with sizeof(ICMPixelFormatInfo) before calling ICMGet/SetPixelFormatInfo}
- formatFlags: UNSIGNEDLONG;
- bitsPerPixel: array [0..13] of SInt16; { list each plane's bits per pixel separately if planar}
- { new field for QuickTime 4.1}
- defaultGammaLevel: Fixed;
- { new fields for QuickTime 6.0}
- horizontalSubsampling: array [0..13] of SInt16; { per plane; use 1 if plane is not subsampled}
- verticalSubsampling: array [0..13] of SInt16; { per plane; use 1 if plane is not subsampled}
- { new fields for QuickTime 6.5}
- cmpCount: SInt16; { for use in PixMap.cmpCount}
- cmpSize: SInt16; { for use in PixMap.cmpSize}
- end;
- ICMPixelFormatInfoPtr = ^ICMPixelFormatInfo;
- { IMPORTANT: Fill in theInfo->size with sizeof(ICMPixelFormatInfo) before calling ICMGetPixelFormatInfo }
- {
- * ICMGetPixelFormatInfo()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ICMGetPixelFormatInfo( PixelFormat: OSType; theInfo: ICMPixelFormatInfoPtr ): OSErr; external name '_ICMGetPixelFormatInfo';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { IMPORTANT: Fill in theInfo->size with sizeof(ICMPixelFormatInfo) before calling ICMSetPixelFormatInfo }
- {
- * ICMSetPixelFormatInfo()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ICMSetPixelFormatInfo( PixelFormat: OSType; theInfo: ICMPixelFormatInfoPtr ): OSErr; external name '_ICMSetPixelFormatInfo';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- const
- kICMGetChainUltimateParent = 0;
- kICMGetChainParent = 1;
- kICMGetChainChild = 2;
- kICMGetChainUltimateChild = 3;
- {
- * ICMSequenceGetChainMember()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ICMSequenceGetChainMember( seqID: ImageSequence; var retSeqID: ImageSequence; flags: SIGNEDLONG ): OSErr; external name '_ICMSequenceGetChainMember';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetDSequenceTimeCode()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function SetDSequenceTimeCode( seqID: ImageSequence; timeCodeFormat: UnivPtr; timeCodeTime: UnivPtr ): OSErr; external name '_SetDSequenceTimeCode';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceNewMemory()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceNewMemory( seqID: ImageSequence; var data: Ptr; dataSize: Size; dataUse: SIGNEDLONG; memoryGoneProc: ICMMemoryDisposedUPP; refCon: UnivPtr ): OSErr; external name '_CDSequenceNewMemory';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceDisposeMemory()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceDisposeMemory( seqID: ImageSequence; data: Ptr ): OSErr; external name '_CDSequenceDisposeMemory';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceNewDataSource()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceNewDataSource( seqID: ImageSequence; var sourceID: ImageSequenceDataSource; sourceType: OSType; sourceInputNumber: SIGNEDLONG; dataDescription: Handle; transferProc: ICMConvertDataFormatUPP; refCon: UnivPtr ): OSErr; external name '_CDSequenceNewDataSource';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceDisposeDataSource()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceDisposeDataSource( sourceID: ImageSequenceDataSource ): OSErr; external name '_CDSequenceDisposeDataSource';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceSetSourceData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceSetSourceData( sourceID: ImageSequenceDataSource; data: UnivPtr; dataSize: SIGNEDLONG ): OSErr; external name '_CDSequenceSetSourceData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceChangedSourceData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceChangedSourceData( sourceID: ImageSequenceDataSource ): OSErr; external name '_CDSequenceChangedSourceData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceSetSourceDataQueue()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceSetSourceDataQueue( sourceID: ImageSequenceDataSource; dataQueue: QHdrPtr ): OSErr; external name '_CDSequenceSetSourceDataQueue';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceGetDataSource()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceGetDataSource( seqID: ImageSequence; var sourceID: ImageSequenceDataSource; sourceType: OSType; sourceInputNumber: SIGNEDLONG ): OSErr; external name '_CDSequenceGetDataSource';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * PtInDSequenceData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function PtInDSequenceData( seqID: ImageSequence; data: UnivPtr; dataSize: Size; where: Point; var hit: Boolean ): OSErr; external name '_PtInDSequenceData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * HitTestDSequenceData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function HitTestDSequenceData( seqID: ImageSequence; data: UnivPtr; dataSize: Size; where: Point; var hit: SIGNEDLONG; hitFlags: SIGNEDLONG ): OSErr; external name '_HitTestDSequenceData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetDSequenceNonScheduledDisplayTime()
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- }
- function SetDSequenceNonScheduledDisplayTime( sequence: ImageSequence; displayTime: TimeValue64; displayTimeScale: TimeScale; flags: UInt32 ): OSErr; external name '_SetDSequenceNonScheduledDisplayTime';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * GetDSequenceNonScheduledDisplayTime()
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- }
- function GetDSequenceNonScheduledDisplayTime( sequence: ImageSequence; var displayTime: TimeValue64; var displayTimeScale: TimeScale ): OSErr; external name '_GetDSequenceNonScheduledDisplayTime';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * SetDSequenceNonScheduledDisplayDirection()
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- }
- function SetDSequenceNonScheduledDisplayDirection( sequence: ImageSequence; rate: Fixed ): OSErr; external name '_SetDSequenceNonScheduledDisplayDirection';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * GetDSequenceNonScheduledDisplayDirection()
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- * Windows: in qtmlClient.lib version 10.4 (or QuickTime 7.0) and later
- }
- function GetDSequenceNonScheduledDisplayDirection( sequence: ImageSequence; var rate: Fixed ): OSErr; external name '_GetDSequenceNonScheduledDisplayDirection';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * GetGraphicsImporterForFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetGraphicsImporterForFile( const (*var*) theFile: FSSpec; var gi: ComponentInstance ): OSErr; external name '_GetGraphicsImporterForFile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetGraphicsImporterForDataRef()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetGraphicsImporterForDataRef( dataRef: Handle; dataRefType: OSType; var gi: ComponentInstance ): OSErr; external name '_GetGraphicsImporterForDataRef';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- const
- kDontUseValidateToFindGraphicsImporter = 1 shl 0;
- {
- * GetGraphicsImporterForFileWithFlags()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetGraphicsImporterForFileWithFlags( const (*var*) theFile: FSSpec; var gi: ComponentInstance; flags: SIGNEDLONG ): OSErr; external name '_GetGraphicsImporterForFileWithFlags';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GetGraphicsImporterForDataRefWithFlags()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.1 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetGraphicsImporterForDataRefWithFlags( dataRef: Handle; dataRefType: OSType; var gi: ComponentInstance; flags: SIGNEDLONG ): OSErr; external name '_GetGraphicsImporterForDataRefWithFlags';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTGetFileNameExtension()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function QTGetFileNameExtension(const (*var*) fileName: StrFileName; fileType: OSType; var extension: OSType ): OSErr; external name '_QTGetFileNameExtension';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ImageTranscodeSequenceBegin()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ImageTranscodeSequenceBegin( var its: ImageTranscodeSequence; srcDesc: ImageDescriptionHandle; destType: OSType; var dstDesc: ImageDescriptionHandle; data: UnivPtr; dataSize: SIGNEDLONG ): OSErr; external name '_ImageTranscodeSequenceBegin';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ImageTranscodeSequenceEnd()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ImageTranscodeSequenceEnd( its: ImageTranscodeSequence ): OSErr; external name '_ImageTranscodeSequenceEnd';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ImageTranscodeFrame()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ImageTranscodeFrame( its: ImageTranscodeSequence; srcData: UnivPtr; srcDataSize: SIGNEDLONG; var dstData: UnivPtr; var dstDataSize: SIGNEDLONG ): OSErr; external name '_ImageTranscodeFrame';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ImageTranscodeDisposeFrameData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ImageTranscodeDisposeFrameData( its: ImageTranscodeSequence; dstData: UnivPtr ): OSErr; external name '_ImageTranscodeDisposeFrameData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceInvalidate()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceInvalidate( seqID: ImageSequence; invalRgn: RgnHandle ): OSErr; external name '_CDSequenceInvalidate';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CDSequenceSetTimeBase()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CDSequenceSetTimeBase( seqID: ImageSequence; base: UnivPtr ): OSErr; external name '_CDSequenceSetTimeBase';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ImageFieldSequenceBegin()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ImageFieldSequenceBegin( var ifs: ImageFieldSequence; desc1: ImageDescriptionHandle; desc2: ImageDescriptionHandle; descOut: ImageDescriptionHandle ): OSErr; external name '_ImageFieldSequenceBegin';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ImageFieldSequenceExtractCombine()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ImageFieldSequenceExtractCombine( ifs: ImageFieldSequence; fieldFlags: SIGNEDLONG; data1: UnivPtr; dataSize1: SIGNEDLONG; data2: UnivPtr; dataSize2: SIGNEDLONG; outputData: UnivPtr; var outDataSize: SIGNEDLONG ): OSErr; external name '_ImageFieldSequenceExtractCombine';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ImageFieldSequenceEnd()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ImageFieldSequenceEnd( ifs: ImageFieldSequence ): OSErr; external name '_ImageFieldSequenceEnd';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- const
- kICMTempThenAppMemory = 1 shl 12;
- kICMAppThenTempMemory = 1 shl 13;
- {
- * QTNewGWorld()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function QTNewGWorld( var offscreenGWorld: GWorldPtr; PixelFormat: OSType; const (*var*) boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags ): OSErr; external name '_QTNewGWorld';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTNewGWorldFromPtr()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTUpdateGWorld()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function QTUpdateGWorld( var offscreenGWorld: GWorldPtr; PixelFormat: OSType; const (*var*) boundsRect: Rect; cTable: CTabHandle; aGDevice: GDHandle; flags: GWorldFlags ): GWorldFlags; external name '_QTUpdateGWorld';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * MakeImageDescriptionForPixMap()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function MakeImageDescriptionForPixMap( pixmap: PixMapHandle; var idh: ImageDescriptionHandle ): OSErr; external name '_MakeImageDescriptionForPixMap';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * MakeImageDescriptionForEffect()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function MakeImageDescriptionForEffect( effectType: OSType; var idh: ImageDescriptionHandle ): OSErr; external name '_MakeImageDescriptionForEffect';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTGetPixelSize()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function QTGetPixelSize( PixelFormat: OSType ): SInt16; external name '_QTGetPixelSize';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTGetPixelFormatDepthForImageDescription()
- *
- * Availability:
- * Mac OS X: in version 10.2 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.6 and later
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * Windows: in qtmlClient.lib 6.0 and later
- }
- function QTGetPixelFormatDepthForImageDescription( PixelFormat: OSType ): SInt16; external name '_QTGetPixelFormatDepthForImageDescription';
- (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
- {
- * QTGetPixMapPtrRowBytes()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function QTGetPixMapPtrRowBytes( pm: PixMapPtr ): SIGNEDLONG; external name '_QTGetPixMapPtrRowBytes';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTGetPixMapHandleRowBytes()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function QTGetPixMapHandleRowBytes( pm: PixMapHandle ): SIGNEDLONG; external name '_QTGetPixMapHandleRowBytes';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTSetPixMapPtrRowBytes()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function QTSetPixMapPtrRowBytes( pm: PixMapPtr; rowBytes: SIGNEDLONG ): OSErr; external name '_QTSetPixMapPtrRowBytes';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTSetPixMapHandleRowBytes()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function QTSetPixMapHandleRowBytes( pm: PixMapHandle; rowBytes: SIGNEDLONG ): OSErr; external name '_QTSetPixMapHandleRowBytes';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- const
- kQTUsePlatformDefaultGammaLevel = 0; { When decompressing into this PixMap, gamma-correct to the platform's standard gamma. }
- kQTUseSourceGammaLevel = -1; { When decompressing into this PixMap, don't perform gamma-correction. }
- kQTCCIR601VideoGammaLevel = $00023333; { 2.2, standard television video gamma.}
- {
- * QTGetPixMapPtrGammaLevel()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.3 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- }
- function QTGetPixMapPtrGammaLevel( pm: PixMapPtr ): Fixed; external name '_QTGetPixMapPtrGammaLevel';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTSetPixMapPtrGammaLevel()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.3 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- }
- function QTSetPixMapPtrGammaLevel( pm: PixMapPtr; gammaLevel: Fixed ): OSErr; external name '_QTSetPixMapPtrGammaLevel';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTGetPixMapHandleGammaLevel()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.3 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- }
- function QTGetPixMapHandleGammaLevel( pm: PixMapHandle ): Fixed; external name '_QTGetPixMapHandleGammaLevel';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTSetPixMapHandleGammaLevel()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.3 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- }
- function QTSetPixMapHandleGammaLevel( pm: PixMapHandle; gammaLevel: Fixed ): OSErr; external name '_QTSetPixMapHandleGammaLevel';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTGetPixMapPtrRequestedGammaLevel()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.3 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- }
- function QTGetPixMapPtrRequestedGammaLevel( pm: PixMapPtr ): Fixed; external name '_QTGetPixMapPtrRequestedGammaLevel';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTSetPixMapPtrRequestedGammaLevel()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.3 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- }
- function QTSetPixMapPtrRequestedGammaLevel( pm: PixMapPtr; requestedGammaLevel: Fixed ): OSErr; external name '_QTSetPixMapPtrRequestedGammaLevel';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTGetPixMapHandleRequestedGammaLevel()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.3 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- }
- function QTGetPixMapHandleRequestedGammaLevel( pm: PixMapHandle ): Fixed; external name '_QTGetPixMapHandleRequestedGammaLevel';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QTSetPixMapHandleRequestedGammaLevel()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.3 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0 and later
- * Windows: in qtmlClient.lib 5.0 and later
- }
- function QTSetPixMapHandleRequestedGammaLevel( pm: PixMapHandle; requestedGammaLevel: Fixed ): OSErr; external name '_QTSetPixMapHandleRequestedGammaLevel';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * QuadToQuadMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- type
- FixedPoint4 = array[0..3] of FixedPoint;
- function QuadToQuadMatrix( const (*var*) source: FixedPoint4; const (*var*) dest: FixedPoint4; var map: MatrixRecord ): OSErr; external name '_QuadToQuadMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- const
- identityMatrixType = $00; { result if matrix is identity }
- translateMatrixType = $01; { result if matrix translates }
- scaleMatrixType = $02; { result if matrix scales }
- scaleTranslateMatrixType = $03; { result if matrix scales and translates }
- linearMatrixType = $04; { result if matrix is general 2 x 2 }
- linearTranslateMatrixType = $05; { result if matrix is general 2 x 2 and translates }
- perspectiveMatrixType = $06; { result if matrix is general 3 x 3 }
- type
- MatrixFlags = UInt16;
- {
- * GetMatrixType()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GetMatrixType( const (*var*) m: MatrixRecord ): SInt16; external name '_GetMatrixType';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CopyMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure CopyMatrix( const (*var*) m1: MatrixRecord; var m2: MatrixRecord ); external name '_CopyMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * EqualMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function EqualMatrix( const (*var*) m1: MatrixRecord; const (*var*) m2: MatrixRecord ): Boolean; external name '_EqualMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SetIdentityMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure SetIdentityMatrix( var matrix: MatrixRecord ); external name '_SetIdentityMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * TranslateMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure TranslateMatrix( var m: MatrixRecord; deltaH: Fixed; deltaV: Fixed ); external name '_TranslateMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * RotateMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure RotateMatrix( var m: MatrixRecord; degrees: Fixed; aboutX: Fixed; aboutY: Fixed ); external name '_RotateMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ScaleMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure ScaleMatrix( var m: MatrixRecord; scaleX: Fixed; scaleY: Fixed; aboutX: Fixed; aboutY: Fixed ); external name '_ScaleMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * SkewMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure SkewMatrix( var m: MatrixRecord; skewX: Fixed; skewY: Fixed; aboutX: Fixed; aboutY: Fixed ); external name '_SkewMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * TransformFixedPoints()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function TransformFixedPoints( const (*var*) m: MatrixRecord; var fpt: FixedPoint; count: SIGNEDLONG ): OSErr; external name '_TransformFixedPoints';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * TransformPoints()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function TransformPoints( const (*var*) mp: MatrixRecord; var pt1: Point; count: SIGNEDLONG ): OSErr; external name '_TransformPoints';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * TransformFixedRect()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function TransformFixedRect( const (*var*) m: MatrixRecord; var fr: FixedRect; var fpp: FixedPoint ): Boolean; external name '_TransformFixedRect';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * TransformRect()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function TransformRect( const (*var*) m: MatrixRecord; var r: Rect; var fpp: FixedPoint ): Boolean; external name '_TransformRect';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * InverseMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function InverseMatrix( const (*var*) m: MatrixRecord; var im: MatrixRecord ): Boolean; external name '_InverseMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ConcatMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure ConcatMatrix( const (*var*) a: MatrixRecord; var b: MatrixRecord ); external name '_ConcatMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * RectMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure RectMatrix( var matrix: MatrixRecord; const (*var*) srcRect: Rect; const (*var*) dstRect: Rect ); external name '_RectMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * MapMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure MapMatrix( var matrix: MatrixRecord; const (*var*) fromRect: Rect; const (*var*) toRect: Rect ); external name '_MapMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompAdd()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure CompAdd( var src: wide; var dst: wide ); external name '_CompAdd';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompSub()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure CompSub( var src: wide; var dst: wide ); external name '_CompSub';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompNeg()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure CompNeg( var dst: wide ); external name '_CompNeg';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompShift()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure CompShift( var src: wide; shift: SInt16 ); external name '_CompShift';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompMul()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure CompMul( src1: SIGNEDLONG; src2: SIGNEDLONG; var dst: wide ); external name '_CompMul';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompDiv()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CompDiv( var numerator: wide; denominator: SIGNEDLONG; var remainder: SIGNEDLONG ): SIGNEDLONG; external name '_CompDiv';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompFixMul()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure CompFixMul( var compSrc: wide; fixSrc: Fixed; var compDst: wide ); external name '_CompFixMul';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompMulDiv()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure CompMulDiv( var co: wide; mul: SIGNEDLONG; divisor: SIGNEDLONG ); external name '_CompMulDiv';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompMulDivTrunc()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- procedure CompMulDivTrunc( var co: wide; mul: SIGNEDLONG; divisor: SIGNEDLONG; var remainder: SIGNEDLONG ); external name '_CompMulDivTrunc';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompCompare()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CompCompare( const (*var*) a: wide; const (*var*) minusb: wide ): SIGNEDLONG; external name '_CompCompare';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * CompSquareRoot()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function CompSquareRoot( const (*var*) src: wide ): UNSIGNEDLONG; external name '_CompSquareRoot';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * FixMulDiv()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function FixMulDiv( src: Fixed; mul: Fixed; divisor: Fixed ): Fixed; external name '_FixMulDiv';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * UnsignedFixMulDiv()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function UnsignedFixMulDiv( src: Fixed; mul: Fixed; divisor: Fixed ): Fixed; external name '_UnsignedFixMulDiv';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * FracSinCos()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function FracSinCos( degree: Fixed; var cosOut: Fract ): Fract; external name '_FracSinCos';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * FixExp2()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function FixExp2( src: Fixed ): Fixed; external name '_FixExp2';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * FixLog2()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function FixLog2( src: Fixed ): Fixed; external name '_FixLog2';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * FixPow()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function FixPow( base: Fixed; exp: Fixed ): Fixed; external name '_FixPow';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- type
- GraphicsImportComponent = ComponentInstance;
- const
- GraphicsImporterComponentType = FourCharCode('grip');
- { Component flags for Graphics Importer components }
- const
- graphicsImporterIsBaseImporter = 1 shl 0;
- graphicsImporterCanValidateFile = 1 shl 9;
- graphicsImporterSubTypeIsFileExtension = 1 shl 12;
- graphicsImporterHasMIMEList = 1 shl 14;
- graphicsImporterUsesImageDecompressor = 1 shl 23;
- { Atom types for QuickTime Image files }
- const
- quickTimeImageFileImageDescriptionAtom = FourCharCode('idsc');
- quickTimeImageFileImageDataAtom = FourCharCode('idat');
- quickTimeImageFileMetaDataAtom = FourCharCode('meta');
- quickTimeImageFileColorSyncProfileAtom = FourCharCode('iicc');
- { Flags for GraphicsImportDoesDrawAllPixels }
- const
- graphicsImporterDrawsAllPixels = 0;
- graphicsImporterDoesntDrawAllPixels = 1;
- graphicsImporterDontKnowIfDrawAllPixels = 2;
- { Flags for GraphicsImportSetFlags }
- const
- kGraphicsImporterDontDoGammaCorrection = 1 shl 0;
- kGraphicsImporterTrustResolutionFromFile = 1 shl 1;
- kGraphicsImporterEnableSubPixelPositioning = 1 shl 2;
- kGraphicsImporterDontUseColorMatching = 1 shl 3; { set this flag (*before* calling GraphicsImportGetColorSyncProfile) if you do matching yourself }
- { Flags for GraphicsImportCreateCGImage }
- const
- kGraphicsImportCreateCGImageUsingCurrentSettings = 1 shl 0;
- const
- kGraphicsExportGroup = FourCharCode('expo');
- kGraphicsExportFileType = FourCharCode('ftyp');
- kGraphicsExportMIMEType = FourCharCode('mime');
- kGraphicsExportExtension = FourCharCode('ext ');
- kGraphicsExportDescription = FourCharCode('desc');
- { User data types for layers of Photoshop files }
- const
- kQTPhotoshopLayerMode = FourCharCode('lmod'); { OSType }
- kQTPhotoshopLayerOpacity = FourCharCode('lopa'); { UInt8, 0 = transparent .. 255 = opaque }
- kQTPhotoshopLayerClipping = FourCharCode('lclp'); { UInt8, 0 = base, 1 = non-base }
- kQTPhotoshopLayerFlags = FourCharCode('lflg'); { UInt8 }
- kQTPhotoshopLayerName = FourCharCode('©lnm'); { Text }
- kQTPhotoshopLayerUnicodeName = FourCharCode('luni'); { Unicode characters, not terminated }
- { User data returned by graphics importers to suggest intended use for indexed images }
- const
- kQTIndexedImageType = FourCharCode('nth?'); { 1 or more OSTypes, such as the following values: }
- kQTIndexedImageIsThumbnail = FourCharCode('n=th'); { The image at this index is a thumbnail. }
- kQTIndexedImageIsLayer = FourCharCode('n=ly'); { The image at this index is a layer. }
- kQTIndexedImageIsPage = FourCharCode('n=pg'); { The image at this index is a page. }
- kQTIndexedImageIsMultiResolution = FourCharCode('n=rs'); { The image at this index is one of several identical images at different resolutions. }
- { Other user data types returned by graphics importers }
- const
- kQTTIFFUserDataPrefix = $74690000; { Added to some tag values in TIFF IFDs to generate user data codes. (0x7469 is 'ti'.) }
- { For example, YCbCrPositioning is tag 0x0213, so its user data code is 0x74690213. }
- kQTTIFFExifUserDataPrefix = $65780000; { Added to tag values in Exif IFDs to generate user data codes. (0x6578 is 'ex'.) }
- { For example, DateTimeOriginal is tag 0x9003, so its user data code is 0x65789003. }
- kQTTIFFExifGPSUserDataPrefix = $67700000; { Added to tag values in Exif GPS IFDs to generate user data codes. (0x6770 is 'gp'.) }
- { For example, GPSAltitude is tag 0x0006, so its user data code is 0x6770006. }
- kQTAlphaMode = FourCharCode('almo'); { UInt32; eg, graphicsModeStraightAlpha or graphicsModePreBlackAlpha }
- kQTAlphaModePreMulColor = FourCharCode('almp'); { RGBColor; used if kQTAlphaMode is graphicsModePreMulColorAlpha }
- kUserDataIPTC = FourCharCode('iptc');
- { Found in TIFF and Exif JPEG files }
- const
- kQTTIFFUserDataOrientation = $74690112; { 1 SHORT }
- kQTTIFFUserDataTransferFunction = $7469012D; { n SHORTs }
- kQTTIFFUserDataWhitePoint = $7469013E; { 2 RATIONALs }
- kQTTIFFUserDataPrimaryChromaticities = $7469013F; { 6 RATIONALs }
- kQTTIFFUserDataTransferRange = $74690156; { 6 SHORTs }
- kQTTIFFUserDataYCbCrPositioning = $74690213; { 1 SHORT }
- kQTTIFFUserDataReferenceBlackWhite = $74690214; { n LONGs }
- { Found in GeoTIFF files; defined in the GeoTIFF 1.0 spec }
- const
- kQTTIFFUserDataModelPixelScale = $7469830E; { 3 DOUBLEs }
- kQTTIFFUserDataModelTransformation = $746985D8; { 16 DOUBLEs }
- kQTTIFFUserDataModelTiepoint = $74698482; { n DOUBLEs }
- kQTTIFFUserDataGeoKeyDirectory = $746987AF; { n SHORTs }
- kQTTIFFUserDataGeoDoubleParams = $746987B0; { n DOUBLEs }
- kQTTIFFUserDataGeoAsciiParams = $746987B1; { n ASCIIs }
- kQTTIFFUserDataIntergraphMatrix = $74698480; { 16 or 17 DOUBLEs }
- { Found in Exif TIFF and Exif JPEG files; defined in the Exif 2.1 spec }
- const
- kQTExifUserDataExifVersion = $65789000; { 4 bytes (import only) }
- kQTExifUserDataFlashPixVersion = $6578A000; { 4 bytes }
- kQTExifUserDataColorSpace = $6578A001; { 1 SHORT }
- kQTExifUserDataComponentsConfiguration = $65789101; { 4 bytes }
- kQTExifUserDataCompressedBitsPerPixel = $65789102; { 1 RATIONAL }
- kQTExifUserDataPixelXDimension = $6578A002; { 1 SHORT or LONG }
- kQTExifUserDataPixelYDimension = $6578A003; { 1 SHORT or LONG }
- kQTExifUserDataMakerNote = $6578927C; { n bytes }
- kQTExifUserDataUserComment = $65789286; { n bytes (Note: this constant was erroneously 0x6578928C)}
- kQTExifUserDataRelatedSoundFile = $6578A004; { 13 ASCIIs}
- kQTExifUserDataDateTimeOriginal = $65789003; { 20 ASCIIs }
- kQTExifUserDataDateTimeDigitized = $65789004; { 20 ASCIIs }
- kQTExifUserDataSubSecTime = $65789290; { n ASCIIs }
- kQTExifUserDataSubSecTimeOriginal = $65789291; { n ASCIIs }
- kQTExifUserDataSubSecTimeDigitized = $65789292; { n ASCIIs }
- kQTExifUserDataExposureTime = $6578829A; { 1 RATIONAL }
- kQTExifUserDataFNumber = $6578829D; { 1 RATIONAL }
- kQTExifUserDataExposureProgram = $65788822; { 1 SHORT }
- kQTExifUserDataSpectralSensitivity = $65788824; { n ASCIIs }
- kQTExifUserDataISOSpeedRatings = $65788827; { n SHORTs }
- kQTExifUserDataShutterSpeedValue = $65789201; { 1 SIGNED RATIONAL }
- kQTExifUserDataApertureValue = $65789202; { 1 RATIONAL }
- kQTExifUserDataBrightnessValue = $65789203; { 1 SIGNED RATIONAL }
- kQTExifUserDataExposureBiasValue = $65789204; { 1 SIGNED RATIONAL }
- kQTExifUserDataMaxApertureValue = $65789205; { 1 RATIONAL }
- kQTExifUserDataSubjectDistance = $65789206; { 1 RATIONAL }
- kQTExifUserDataMeteringMode = $65789207; { 1 SHORT }
- kQTExifUserDataLightSource = $65789208; { 1 SHORT }
- kQTExifUserDataFlash = $65789209; { 1 SHORT }
- kQTExifUserDataFocalLength = $6578920A; { 1 RATIONAL }
- kQTExifUserDataFlashEnergy = $6578A20B; { 1 RATIONAL }
- kQTExifUserDataFocalPlaneXResolution = $6578A20E; { 1 RATIONAL }
- kQTExifUserDataFocalPlaneYResolution = $6578A20F; { 1 RATIONAL }
- kQTExifUserDataFocalPlaneResolutionUnit = $6578A210; { 1 SHORT }
- kQTExifUserDataSubjectLocation = $6578A214; { 1 SHORT }
- kQTExifUserDataExposureIndex = $6578A215; { 1 RATIONAL }
- kQTExifUserDataSensingMethod = $6578A217; { 1 SHORT }
- kQTExifUserDataFileSource = $6578A300; { 1 UNDEFINED }
- kQTExifUserDataSceneType = $6578A301; { 1 UNDEFINED }
- { Found in some Exif TIFF and Exif JPEG files; defined in the Exif 2.1 spec }
- { Note: these were wrong in the QuickTime 6.0 headers -- the high two bytes were 0x677 instead of 0x6770. }
- const
- kQTExifUserDataGPSVersionID = $67700000; { 4 BYTEs }
- kQTExifUserDataGPSLatitudeRef = $67700001; { 2 ASCIIs}
- kQTExifUserDataGPSLatitude = $67700002; { 3 RATIONALs }
- kQTExifUserDataGPSLongitudeRef = $67700003; { 2 ASCIIs }
- kQTExifUserDataGPSLongitude = $67700004; { 3 RATIONALs }
- kQTExifUserDataGPSAltitudeRef = $67700005; { 1 BYTE }
- kQTExifUserDataGPSAltitude = $67700006; { 1 RATIONAL }
- kQTExifUserDataGPSTimeStamp = $67700007; { 3 RATIONALs }
- kQTExifUserDataGPSSatellites = $67700008; { n ASCIIs }
- kQTExifUserDataGPSStatus = $67700009; { 2 ASCIIs }
- kQTExifUserDataGPSMeasureMode = $6770000A; { 2 ASCIIs }
- kQTExifUserDataGPSDOP = $6770000B; { 1 RATIONAL }
- kQTExifUserDataGPSSpeedRef = $6770000C; { 2 ASCIIs }
- kQTExifUserDataGPSSpeed = $6770000D; { 1 RATIONAL }
- kQTExifUserDataGPSTrackRef = $6770000E; { 2 ASCIIs }
- kQTExifUserDataGPSTrack = $6770000F; { 1 RATIONAL }
- kQTExifUserDataGPSImgDirectionRef = $67700010; { 2 ASCIIs }
- kQTExifUserDataGPSImgDirection = $67700011; { 1 RATIONAL }
- kQTExifUserDataGPSMapDatum = $67700012; { n ASCII }
- kQTExifUserDataGPSDestLatitudeRef = $67700013; { 2 ASCIIs }
- kQTExifUserDataGPSDestLatitude = $67700014; { 3 RATIONALs }
- kQTExifUserDataGPSDestLongitudeRef = $67700015; { 2 ASCIIs }
- kQTExifUserDataGPSDestLongitude = $67700016; { 3 RATIONALs }
- kQTExifUserDataGPSDestBearingRef = $67700017; { 2 ASCIIs }
- kQTExifUserDataGPSDestBearing = $67700018; { 1 RATIONAL }
- kQTExifUserDataGPSDestDistanceRef = $67700019; { 2 ASCIIs }
- kQTExifUserDataGPSDestDistance = $6770001A; { 1 RATIONAL }
- {* These are GraphicsImport procedures *}
- {
- * GraphicsImportSetDataReference()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSetDataReference( ci: GraphicsImportComponent; dataRef: Handle; dataReType: OSType ): ComponentResult; external name '_GraphicsImportSetDataReference';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetDataReference()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetDataReference( ci: GraphicsImportComponent; var dataRef: Handle; var dataReType: OSType ): ComponentResult; external name '_GraphicsImportGetDataReference';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetDataFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSetDataFile( ci: GraphicsImportComponent; const (*var*) theFile: FSSpec ): ComponentResult; external name '_GraphicsImportSetDataFile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetDataFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetDataFile( ci: GraphicsImportComponent; var theFile: FSSpec ): ComponentResult; external name '_GraphicsImportGetDataFile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetDataHandle()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSetDataHandle( ci: GraphicsImportComponent; h: Handle ): ComponentResult; external name '_GraphicsImportSetDataHandle';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetDataHandle()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetDataHandle( ci: GraphicsImportComponent; var h: Handle ): ComponentResult; external name '_GraphicsImportGetDataHandle';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetImageDescription()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetImageDescription( ci: GraphicsImportComponent; var desc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsImportGetImageDescription';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetDataOffsetAndSize()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetDataOffsetAndSize( ci: GraphicsImportComponent; var offset: UNSIGNEDLONG; var size: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportGetDataOffsetAndSize';
- {
- * GraphicsImportReadData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportReadData( ci: GraphicsImportComponent; dataPtr: UnivPtr; dataOffset: UNSIGNEDLONG; dataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportReadData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetClip()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSetClip( ci: GraphicsImportComponent; clipRgn: RgnHandle ): ComponentResult; external name '_GraphicsImportSetClip';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetClip()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetClip( ci: GraphicsImportComponent; var clipRgn: RgnHandle ): ComponentResult; external name '_GraphicsImportGetClip';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetSourceRect()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSetSourceRect( ci: GraphicsImportComponent; const (*var*) sourceRect: Rect ): ComponentResult; external name '_GraphicsImportSetSourceRect';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetSourceRect()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetSourceRect( ci: GraphicsImportComponent; var sourceRect: Rect ): ComponentResult; external name '_GraphicsImportGetSourceRect';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetNaturalBounds()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetNaturalBounds( ci: GraphicsImportComponent; var naturalBounds: Rect ): ComponentResult; external name '_GraphicsImportGetNaturalBounds';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportDraw()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportDraw( ci: GraphicsImportComponent ): ComponentResult; external name '_GraphicsImportDraw';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetGWorld()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSetGWorld( ci: GraphicsImportComponent; port: CGrafPtr; gd: GDHandle ): ComponentResult; external name '_GraphicsImportSetGWorld';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetGWorld()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetGWorld( ci: GraphicsImportComponent; var port: CGrafPtr; var gd: GDHandle ): ComponentResult; external name '_GraphicsImportGetGWorld';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSetMatrix( ci: GraphicsImportComponent; const (*var*) matrix: MatrixRecord ): ComponentResult; external name '_GraphicsImportSetMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetMatrix( ci: GraphicsImportComponent; var matrix: MatrixRecord ): ComponentResult; external name '_GraphicsImportGetMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetBoundsRect()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSetBoundsRect( ci: GraphicsImportComponent; const (*var*) bounds: Rect ): ComponentResult; external name '_GraphicsImportSetBoundsRect';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetBoundsRect()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetBoundsRect( ci: GraphicsImportComponent; var bounds: Rect ): ComponentResult; external name '_GraphicsImportGetBoundsRect';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSaveAsPicture()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSaveAsPicture( ci: GraphicsImportComponent; const (*var*) fss: FSSpec; scriptTag: ScriptCode ): ComponentResult; external name '_GraphicsImportSaveAsPicture';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetGraphicsMode()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSetGraphicsMode( ci: GraphicsImportComponent; graphicsMode: SIGNEDLONG; const (*var*) opColor: RGBColor ): ComponentResult; external name '_GraphicsImportSetGraphicsMode';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetGraphicsMode()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetGraphicsMode( ci: GraphicsImportComponent; var graphicsMode: SIGNEDLONG; var opColor: RGBColor ): ComponentResult; external name '_GraphicsImportGetGraphicsMode';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetQuality()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSetQuality( ci: GraphicsImportComponent; quality: CodecQ ): ComponentResult; external name '_GraphicsImportSetQuality';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetQuality()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetQuality( ci: GraphicsImportComponent; var quality: CodecQ ): ComponentResult; external name '_GraphicsImportGetQuality';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSaveAsQuickTimeImageFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSaveAsQuickTimeImageFile( ci: GraphicsImportComponent; const (*var*) fss: FSSpec; scriptTag: ScriptCode ): ComponentResult; external name '_GraphicsImportSaveAsQuickTimeImageFile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetDataReferenceOffsetAndLimit()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSetDataReferenceOffsetAndLimit( ci: GraphicsImportComponent; offset: UNSIGNEDLONG; limit: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportSetDataReferenceOffsetAndLimit';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetDataReferenceOffsetAndLimit()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetDataReferenceOffsetAndLimit( ci: GraphicsImportComponent; var offset: UNSIGNEDLONG; var limit: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportGetDataReferenceOffsetAndLimit';
- {
- * GraphicsImportGetAliasedDataReference()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetAliasedDataReference( ci: GraphicsImportComponent; var dataRef: Handle; var dataRefType: OSType ): ComponentResult; external name '_GraphicsImportGetAliasedDataReference';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportValidate()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportValidate( ci: GraphicsImportComponent; var valid: Boolean ): ComponentResult; external name '_GraphicsImportValidate';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetMetaData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetMetaData( ci: GraphicsImportComponent; userData: UnivPtr ): ComponentResult; external name '_GraphicsImportGetMetaData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetMIMETypeList()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetMIMETypeList( ci: GraphicsImportComponent; qtAtomContainerPtr: UnivPtr ): ComponentResult; external name '_GraphicsImportGetMIMETypeList';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportDoesDrawAllPixels()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportDoesDrawAllPixels( ci: GraphicsImportComponent; var drawsAllPixels: SInt16 ): ComponentResult; external name '_GraphicsImportDoesDrawAllPixels';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetAsPicture()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetAsPicture( ci: GraphicsImportComponent; var picture: PicHandle ): ComponentResult; external name '_GraphicsImportGetAsPicture';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportExportImageFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportExportImageFile( ci: GraphicsImportComponent; fileType: OSType; fileCreator: OSType; const (*var*) fss: FSSpec; scriptTag: ScriptCode ): ComponentResult; external name '_GraphicsImportExportImageFile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetExportImageTypeList()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetExportImageTypeList( ci: GraphicsImportComponent; qtAtomContainerPtr: UnivPtr ): ComponentResult; external name '_GraphicsImportGetExportImageTypeList';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportDoExportImageFileDialog()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetExportSettingsAsAtomContainer()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetExportSettingsAsAtomContainer( ci: GraphicsImportComponent; qtAtomContainerPtr: UnivPtr ): ComponentResult; external name '_GraphicsImportGetExportSettingsAsAtomContainer';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetExportSettingsFromAtomContainer()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSetExportSettingsFromAtomContainer( ci: GraphicsImportComponent; qtAtomContainer: UnivPtr ): ComponentResult; external name '_GraphicsImportSetExportSettingsFromAtomContainer';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetProgressProc()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportSetProgressProc( ci: GraphicsImportComponent; progressProc: ICMProgressProcRecordPtr ): ComponentResult; external name '_GraphicsImportSetProgressProc';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetProgressProc()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 3.0 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function GraphicsImportGetProgressProc( ci: GraphicsImportComponent; progressProc: ICMProgressProcRecordPtr ): ComponentResult; external name '_GraphicsImportGetProgressProc';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetImageCount()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportGetImageCount( ci: GraphicsImportComponent; var imageCount: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportGetImageCount';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetImageIndex()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportSetImageIndex( ci: GraphicsImportComponent; imageIndex: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportSetImageIndex';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetImageIndex()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportGetImageIndex( ci: GraphicsImportComponent; var imageIndex: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportGetImageIndex';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetDataOffsetAndSize64()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportGetDataOffsetAndSize64( ci: GraphicsImportComponent; var offset: wide; var size: wide ): ComponentResult; external name '_GraphicsImportGetDataOffsetAndSize64';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportReadData64()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportReadData64( ci: GraphicsImportComponent; dataPtr: UnivPtr; const (*var*) dataOffset: wide; dataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsImportReadData64';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetDataReferenceOffsetAndLimit64()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportSetDataReferenceOffsetAndLimit64( ci: GraphicsImportComponent; const (*var*) offset: wide; const (*var*) limit: wide ): ComponentResult; external name '_GraphicsImportSetDataReferenceOffsetAndLimit64';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetDataReferenceOffsetAndLimit64()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportGetDataReferenceOffsetAndLimit64( ci: GraphicsImportComponent; var offset: wide; var limit: wide ): ComponentResult; external name '_GraphicsImportGetDataReferenceOffsetAndLimit64';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetDefaultMatrix()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportGetDefaultMatrix( ci: GraphicsImportComponent; var defaultMatrix: MatrixRecord ): ComponentResult; external name '_GraphicsImportGetDefaultMatrix';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetDefaultClip()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportGetDefaultClip( ci: GraphicsImportComponent; var defaultRgn: RgnHandle ): ComponentResult; external name '_GraphicsImportGetDefaultClip';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetDefaultGraphicsMode()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportGetDefaultGraphicsMode( ci: GraphicsImportComponent; var defaultGraphicsMode: SIGNEDLONG; var defaultOpColor: RGBColor ): ComponentResult; external name '_GraphicsImportGetDefaultGraphicsMode';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetDefaultSourceRect()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportGetDefaultSourceRect( ci: GraphicsImportComponent; var defaultSourceRect: Rect ): ComponentResult; external name '_GraphicsImportGetDefaultSourceRect';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetColorSyncProfile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportGetColorSyncProfile( ci: GraphicsImportComponent; var profile: Handle ): ComponentResult; external name '_GraphicsImportGetColorSyncProfile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetDestRect()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportSetDestRect( ci: GraphicsImportComponent; const (*var*) destRect: Rect ): ComponentResult; external name '_GraphicsImportSetDestRect';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetDestRect()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportGetDestRect( ci: GraphicsImportComponent; var destRect: Rect ): ComponentResult; external name '_GraphicsImportGetDestRect';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportSetFlags()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportSetFlags( ci: GraphicsImportComponent; flags: SIGNEDLONG ): ComponentResult; external name '_GraphicsImportSetFlags';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsImportGetFlags()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsImportGetFlags( ci: GraphicsImportComponent; var flags: SIGNEDLONG ): ComponentResult; external name '_GraphicsImportGetFlags';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { 2 private selectors }
- {
- * GraphicsImportGetBaseDataOffsetAndSize64()
- *
- * Availability:
- * Mac OS X: in version 10.1 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.4 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
- * Windows: in qtmlClient.lib 5.0.2 and later
- }
- function GraphicsImportGetBaseDataOffsetAndSize64( ci: GraphicsImportComponent; var offset: wide; var size: wide ): ComponentResult; external name '_GraphicsImportGetBaseDataOffsetAndSize64';
- (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
- {
- * GraphicsImportSetImageIndexToThumbnail()
- *
- * Availability:
- * Mac OS X: in version 10.2 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.6 and later
- * Non-Carbon CFM: in QuickTimeLib 6.0 and later
- * Windows: in qtmlClient.lib 6.0 and later
- }
- function GraphicsImportSetImageIndexToThumbnail( ci: GraphicsImportComponent ): ComponentResult; external name '_GraphicsImportSetImageIndexToThumbnail';
- (* AVAILABLE_MAC_OS_X_VERSION_10_2_AND_LATER *)
- {$ifc TARGET_API_MAC_OSX}
- {
- * GraphicsImportCreateCGImage()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function GraphicsImportCreateCGImage( ci: GraphicsImportComponent; var imageRefOut: CGImageRef; flags: UInt32 ): ComponentResult; external name '_GraphicsImportCreateCGImage';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {$endc} {TARGET_API_MAC_OSX}
- {
- * GraphicsImportSaveAsPictureToDataRef()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- * Windows: in qtmlClient.lib 6.5 and later
- }
- function GraphicsImportSaveAsPictureToDataRef( ci: GraphicsImportComponent; dataRef: Handle; dataRefType: OSType ): ComponentResult; external name '_GraphicsImportSaveAsPictureToDataRef';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * GraphicsImportSaveAsQuickTimeImageFileToDataRef()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- * Windows: in qtmlClient.lib 6.5 and later
- }
- function GraphicsImportSaveAsQuickTimeImageFileToDataRef( ci: GraphicsImportComponent; dataRef: Handle; dataRefType: OSType ): ComponentResult; external name '_GraphicsImportSaveAsQuickTimeImageFileToDataRef';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * GraphicsImportExportImageFileToDataRef()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- * Windows: in qtmlClient.lib 6.5 and later
- }
- function GraphicsImportExportImageFileToDataRef( ci: GraphicsImportComponent; fileType: OSType; fileCreator: OSType; dataRef: Handle; dataRefType: OSType ): ComponentResult; external name '_GraphicsImportExportImageFileToDataRef';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * GraphicsImportDoExportImageFileToDataRefDialog()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- * Windows: in qtmlClient.lib 6.5 and later
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {$ifc TARGET_API_MAC_OSX}
- { 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. }
- {
- * GraphicsImportSetOverrideSourceColorSyncProfileRef()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function GraphicsImportSetOverrideSourceColorSyncProfileRef( ci: GraphicsImportComponent; newOverrideSourceProfileRef: CMProfileRef ): ComponentResult; external name '_GraphicsImportSetOverrideSourceColorSyncProfileRef';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * GraphicsImportGetOverrideSourceColorSyncProfileRef()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function GraphicsImportGetOverrideSourceColorSyncProfileRef( ci: GraphicsImportComponent; var outOverrideSourceProfileRef: CMProfileRef ): ComponentResult; external name '_GraphicsImportGetOverrideSourceColorSyncProfileRef';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- { NOTE: If the destination ColorSync profile is NULL, then a generic ColorSync profile may be used. }
- {
- * GraphicsImportSetDestinationColorSyncProfileRef()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function GraphicsImportSetDestinationColorSyncProfileRef( ci: GraphicsImportComponent; newDestinationProfileRef: CMProfileRef ): ComponentResult; external name '_GraphicsImportSetDestinationColorSyncProfileRef';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * GraphicsImportGetDestinationColorSyncProfileRef()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function GraphicsImportGetDestinationColorSyncProfileRef( ci: GraphicsImportComponent; var destinationProfileRef: CMProfileRef ): ComponentResult; external name '_GraphicsImportGetDestinationColorSyncProfileRef';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {$endc} {TARGET_API_MAC_OSX}
- {
- * GraphicsImportWillUseColorMatching()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- * Windows: in qtmlClient.lib 6.5 and later
- }
- function GraphicsImportWillUseColorMatching( ci: GraphicsImportComponent; var outWillMatch: Boolean ): ComponentResult; external name '_GraphicsImportWillUseColorMatching';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {$ifc TARGET_API_MAC_OSX}
- { This convenience API is implemented by the base graphics importer for format-specific importers. }
- {
- * GraphicsImportGetGenericColorSyncProfile()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function GraphicsImportGetGenericColorSyncProfile( ci: GraphicsImportComponent; pixelFormat: OSType; reservedSetToNULL: UnivPtr; flags: UInt32; var genericColorSyncProfileOut: Handle ): ComponentResult; external name '_GraphicsImportGetGenericColorSyncProfile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {$endc} {TARGET_API_MAC_OSX}
- { Format-specific importers that implement GetColorSyncProfile and that want the base graphics
- importer to automatically support ColorSync matching should:
- (a) implement GraphicsImportSetReturnGenericColorSyncProfile; when it is called, set an internal flag
- (b) change GraphicsImportGetColorSyncProfile so that, if this internal flag is set,
- when the source image file contains a profile
- and the kGraphicsImporterDontUseColorMatching flag is NOT set,
- it returns a generic profile of the appropriate colorspace instead.
- Other importers should *not* implement GraphicsImportSetReturnGenericColorSyncProfile. }
- { WARNING: Applications should not call this API; it is internal graphics importer plumbing.
- Set kGraphicsImporterDontUseColorMatching instead. }
- {
- * GraphicsImportSetReturnGenericColorSyncProfile()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- * Windows: in qtmlClient.lib 6.5 and later
- }
- function GraphicsImportSetReturnGenericColorSyncProfile( ci: GraphicsImportComponent; returnGenericProfilesUnlessDontMatchFlagSet: Boolean ): ComponentResult; external name '_GraphicsImportSetReturnGenericColorSyncProfile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- { WARNING: Applications should not call this API; it is internal graphics importer plumbing. }
- {
- * GraphicsImportGetReturnGenericColorSyncProfile()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- * Windows: in qtmlClient.lib 6.5 and later
- }
- function GraphicsImportGetReturnGenericColorSyncProfile( ci: GraphicsImportComponent; var returnGenericProfilesUnlessDontMatchFlagSet: Boolean ): ComponentResult; external name '_GraphicsImportGetReturnGenericColorSyncProfile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- type
- GraphicsExportComponent = ComponentInstance;
- const
- GraphicsExporterComponentType = FourCharCode('grex');
- kBaseGraphicsExporterSubType = FourCharCode('base');
- { Component flags for Graphics Exporter components }
- const
- graphicsExporterIsBaseExporter = 1 shl 0;
- graphicsExporterCanTranscode = 1 shl 1;
- graphicsExporterUsesImageCompressor = 1 shl 2;
- type
- QTResolutionSettingsPtr = ^QTResolutionSettings;
- QTResolutionSettings = record
- horizontalResolution: Fixed;
- verticalResolution: Fixed;
- end;
- type
- QTTargetDataSizePtr = ^QTTargetDataSize;
- QTTargetDataSize = record
- targetDataSize: UNSIGNEDLONG;
- end;
- type
- QTThumbnailSettingsPtr = ^QTThumbnailSettings;
- QTThumbnailSettings = record
- enableThumbnail: SIGNEDLONG; { a thoroughly padded Boolean}
- maxThumbnailWidth: SIGNEDLONG; { set to zero to let someone else decide}
- maxThumbnailHeight: SIGNEDLONG; { set to zero to let someone else decide}
- end;
- const
- kQTResolutionSettings = FourCharCode('reso');
- kQTTargetDataSize = FourCharCode('dasz');
- kQTDontRecompress = FourCharCode('dntr');
- kQTInterlaceStyle = FourCharCode('ilac');
- kQTColorSyncProfile = FourCharCode('iccp');
- kQTThumbnailSettings = FourCharCode('thum');
- kQTEnableExif = FourCharCode('exif'); { UInt8 (boolean)}
- kQTMetaData = FourCharCode('meta');
- const
- kQTTIFFCompressionMethod = FourCharCode('tifc'); { UInt32}
- kQTTIFFCompression_None = 1;
- kQTTIFFCompression_PackBits = 32773;
- kQTTIFFLittleEndian = FourCharCode('tife'); { UInt8 (boolean)}
- const
- kQTPNGFilterPreference = FourCharCode('pngf'); { UInt32}
- kQTPNGFilterBestForColorType = FourCharCode('bflt');
- kQTPNGFilterNone = 0;
- kQTPNGFilterSub = 1;
- kQTPNGFilterUp = 2;
- kQTPNGFilterAverage = 3;
- kQTPNGFilterPaeth = 4;
- kQTPNGFilterAdaptivePerRow = FourCharCode('aflt');
- kQTPNGInterlaceStyle = FourCharCode('ilac'); { UInt32}
- kQTPNGInterlaceNone = 0;
- kQTPNGInterlaceAdam7 = 1;
- const
- kQTJPEGQuantizationTables = FourCharCode('jpqt');
- kQTJPEGHuffmanTables = FourCharCode('jpht');
- {* These are GraphicsExport procedures *}
- { To use: set the input and output (and other settings as desired) and call GEDoExport. }
- {
- * GraphicsExportDoExport()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportDoExport( ci: GraphicsExportComponent; var actualSizeWritten: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportDoExport';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Used for internal communication between the base and format-specific graphics exporter: }
- {
- * GraphicsExportCanTranscode()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportCanTranscode( ci: GraphicsExportComponent; var canTranscode: Boolean ): ComponentResult; external name '_GraphicsExportCanTranscode';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportDoTranscode()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportDoTranscode( ci: GraphicsExportComponent ): ComponentResult; external name '_GraphicsExportDoTranscode';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportCanUseCompressor()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportCanUseCompressor( ci: GraphicsExportComponent; var canUseCompressor: Boolean; codecSettingsAtomContainerPtr: UnivPtr ): ComponentResult; external name '_GraphicsExportCanUseCompressor';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportDoUseCompressor()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportDoUseCompressor( ci: GraphicsExportComponent; codecSettingsAtomContainer: UnivPtr; var outDesc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsExportDoUseCompressor';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportDoStandaloneExport()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportDoStandaloneExport( ci: GraphicsExportComponent ): ComponentResult; external name '_GraphicsExportDoStandaloneExport';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Queries applications can make of a format-specific graphics exporter: }
- {
- * GraphicsExportGetDefaultFileTypeAndCreator()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetDefaultFileTypeAndCreator( ci: GraphicsExportComponent; var fileType: OSType; var fileCreator: OSType ): ComponentResult; external name '_GraphicsExportGetDefaultFileTypeAndCreator';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetDefaultFileNameExtension()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetDefaultFileNameExtension( ci: GraphicsExportComponent; var fileNameExtension: OSType ): ComponentResult; external name '_GraphicsExportGetDefaultFileNameExtension';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetMIMETypeList()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetMIMETypeList( ci: GraphicsExportComponent; qtAtomContainerPtr: UnivPtr ): ComponentResult; external name '_GraphicsExportGetMIMETypeList';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { (1 unused selector) }
- { Graphics exporter settings: }
- {
- * GraphicsExportRequestSettings()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportRequestSettings( ci: GraphicsExportComponent; filterProc: ModalFilterYDUPP; yourDataProc: UnivPtr ): ComponentResult; external name '_GraphicsExportRequestSettings';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetSettingsFromAtomContainer()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetSettingsFromAtomContainer( ci: GraphicsExportComponent; qtAtomContainer: UnivPtr ): ComponentResult; external name '_GraphicsExportSetSettingsFromAtomContainer';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetSettingsAsAtomContainer()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetSettingsAsAtomContainer( ci: GraphicsExportComponent; qtAtomContainerPtr: UnivPtr ): ComponentResult; external name '_GraphicsExportGetSettingsAsAtomContainer';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetSettingsAsText()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetSettingsAsText( ci: GraphicsExportComponent; var theText: Handle ): ComponentResult; external name '_GraphicsExportGetSettingsAsText';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Graphics exporters may implement some or none of the following: }
- {
- * GraphicsExportSetDontRecompress()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetDontRecompress( ci: GraphicsExportComponent; dontRecompress: Boolean ): ComponentResult; external name '_GraphicsExportSetDontRecompress';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetDontRecompress()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetDontRecompress( ci: GraphicsExportComponent; var dontRecompress: Boolean ): ComponentResult; external name '_GraphicsExportGetDontRecompress';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetInterlaceStyle()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetInterlaceStyle( ci: GraphicsExportComponent; interlaceStyle: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetInterlaceStyle';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetInterlaceStyle()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInterlaceStyle( ci: GraphicsExportComponent; var interlaceStyle: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetInterlaceStyle';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetMetaData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetMetaData( ci: GraphicsExportComponent; userData: UnivPtr ): ComponentResult; external name '_GraphicsExportSetMetaData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetMetaData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetMetaData( ci: GraphicsExportComponent; userData: UnivPtr ): ComponentResult; external name '_GraphicsExportGetMetaData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetTargetDataSize()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetTargetDataSize( ci: GraphicsExportComponent; targetDataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetTargetDataSize';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetTargetDataSize()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetTargetDataSize( ci: GraphicsExportComponent; var targetDataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetTargetDataSize';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetCompressionMethod()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetCompressionMethod( ci: GraphicsExportComponent; compressionMethod: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetCompressionMethod';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetCompressionMethod()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetCompressionMethod( ci: GraphicsExportComponent; var compressionMethod: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetCompressionMethod';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetCompressionQuality()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetCompressionQuality( ci: GraphicsExportComponent; spatialQuality: CodecQ ): ComponentResult; external name '_GraphicsExportSetCompressionQuality';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetCompressionQuality()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetCompressionQuality( ci: GraphicsExportComponent; var spatialQuality: CodecQ ): ComponentResult; external name '_GraphicsExportGetCompressionQuality';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetResolution()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetResolution( ci: GraphicsExportComponent; horizontalResolution: Fixed; verticalResolution: Fixed ): ComponentResult; external name '_GraphicsExportSetResolution';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetResolution()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetResolution( ci: GraphicsExportComponent; var horizontalResolution: Fixed; var verticalResolution: Fixed ): ComponentResult; external name '_GraphicsExportGetResolution';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetDepth()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetDepth( ci: GraphicsExportComponent; depth: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetDepth';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetDepth()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetDepth( ci: GraphicsExportComponent; var depth: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetDepth';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { (2 unused selectors) }
- {
- * GraphicsExportSetColorSyncProfile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetColorSyncProfile( ci: GraphicsExportComponent; colorSyncProfile: Handle ): ComponentResult; external name '_GraphicsExportSetColorSyncProfile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetColorSyncProfile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetColorSyncProfile( ci: GraphicsExportComponent; var colorSyncProfile: Handle ): ComponentResult; external name '_GraphicsExportGetColorSyncProfile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Always implemented by the base graphics exporter: }
- {
- * GraphicsExportSetProgressProc()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetProgressProc( ci: GraphicsExportComponent; progressProc: ICMProgressProcRecordPtr ): ComponentResult; external name '_GraphicsExportSetProgressProc';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetProgressProc()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetProgressProc( ci: GraphicsExportComponent; progressProc: ICMProgressProcRecordPtr ): ComponentResult; external name '_GraphicsExportGetProgressProc';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Sources for the input image: }
- {
- * GraphicsExportSetInputDataReference()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetInputDataReference( ci: GraphicsExportComponent; dataRef: Handle; dataRefType: OSType; desc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsExportSetInputDataReference';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetInputDataReference()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInputDataReference( ci: GraphicsExportComponent; var dataRef: Handle; var dataRefType: OSType ): ComponentResult; external name '_GraphicsExportGetInputDataReference';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetInputFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetInputFile( ci: GraphicsExportComponent; const (*var*) theFile: FSSpec; desc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsExportSetInputFile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetInputFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInputFile( ci: GraphicsExportComponent; var theFile: FSSpec ): ComponentResult; external name '_GraphicsExportGetInputFile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetInputHandle()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetInputHandle( ci: GraphicsExportComponent; h: Handle; desc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsExportSetInputHandle';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetInputHandle()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInputHandle( ci: GraphicsExportComponent; var h: Handle ): ComponentResult; external name '_GraphicsExportGetInputHandle';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetInputPtr()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetInputPtr( ci: GraphicsExportComponent; p: Ptr; size: UNSIGNEDLONG; desc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsExportSetInputPtr';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetInputPtr()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInputPtr( ci: GraphicsExportComponent; var p: Ptr; var size: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetInputPtr';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetInputGraphicsImporter()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetInputGraphicsImporter( ci: GraphicsExportComponent; grip: GraphicsImportComponent ): ComponentResult; external name '_GraphicsExportSetInputGraphicsImporter';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetInputGraphicsImporter()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInputGraphicsImporter( ci: GraphicsExportComponent; var grip: GraphicsImportComponent ): ComponentResult; external name '_GraphicsExportGetInputGraphicsImporter';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetInputPicture()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetInputPicture( ci: GraphicsExportComponent; picture: PicHandle ): ComponentResult; external name '_GraphicsExportSetInputPicture';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetInputPicture()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInputPicture( ci: GraphicsExportComponent; var picture: PicHandle ): ComponentResult; external name '_GraphicsExportGetInputPicture';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetInputGWorld()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetInputGWorld( ci: GraphicsExportComponent; gworld: GWorldPtr ): ComponentResult; external name '_GraphicsExportSetInputGWorld';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetInputGWorld()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInputGWorld( ci: GraphicsExportComponent; var gworld: GWorldPtr ): ComponentResult; external name '_GraphicsExportGetInputGWorld';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetInputPixmap()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetInputPixmap( ci: GraphicsExportComponent; pixmap: PixMapHandle ): ComponentResult; external name '_GraphicsExportSetInputPixmap';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetInputPixmap()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInputPixmap( ci: GraphicsExportComponent; var pixmap: PixMapHandle ): ComponentResult; external name '_GraphicsExportGetInputPixmap';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Only applicable when the input is a data reference, file, handle or ptr: }
- {
- * GraphicsExportSetInputOffsetAndLimit()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetInputOffsetAndLimit( ci: GraphicsExportComponent; offset: UNSIGNEDLONG; limit: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetInputOffsetAndLimit';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetInputOffsetAndLimit()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInputOffsetAndLimit( ci: GraphicsExportComponent; var offset: UNSIGNEDLONG; var limit: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetInputOffsetAndLimit';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Used by format-specific graphics exporters when transcoding: }
- {
- * GraphicsExportMayExporterReadInputData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportMayExporterReadInputData( ci: GraphicsExportComponent; var mayReadInputData: Boolean ): ComponentResult; external name '_GraphicsExportMayExporterReadInputData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetInputDataSize()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInputDataSize( ci: GraphicsExportComponent; var size: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetInputDataSize';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportReadInputData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportReadInputData( ci: GraphicsExportComponent; dataPtr: UnivPtr; dataOffset: UNSIGNEDLONG; dataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportReadInputData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Used by format-specific graphics exporters, especially when doing standalone export: }
- {
- * GraphicsExportGetInputImageDescription()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInputImageDescription( ci: GraphicsExportComponent; var desc: ImageDescriptionHandle ): ComponentResult; external name '_GraphicsExportGetInputImageDescription';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetInputImageDimensions()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInputImageDimensions( ci: GraphicsExportComponent; var dimensions: Rect ): ComponentResult; external name '_GraphicsExportGetInputImageDimensions';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetInputImageDepth()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetInputImageDepth( ci: GraphicsExportComponent; var inputDepth: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetInputImageDepth';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportDrawInputImage()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportDrawInputImage( ci: GraphicsExportComponent; gw: CGrafPtr; gd: GDHandle; const (*var*) srcRect: Rect; const (*var*) dstRect: Rect ): ComponentResult; external name '_GraphicsExportDrawInputImage';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Destinations for the output image: }
- {
- * GraphicsExportSetOutputDataReference()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetOutputDataReference( ci: GraphicsExportComponent; dataRef: Handle; dataRefType: OSType ): ComponentResult; external name '_GraphicsExportSetOutputDataReference';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetOutputDataReference()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetOutputDataReference( ci: GraphicsExportComponent; var dataRef: Handle; var dataRefType: OSType ): ComponentResult; external name '_GraphicsExportGetOutputDataReference';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetOutputFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetOutputFile( ci: GraphicsExportComponent; const (*var*) theFile: FSSpec ): ComponentResult; external name '_GraphicsExportSetOutputFile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetOutputFile()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetOutputFile( ci: GraphicsExportComponent; var theFile: FSSpec ): ComponentResult; external name '_GraphicsExportGetOutputFile';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetOutputHandle()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetOutputHandle( ci: GraphicsExportComponent; h: Handle ): ComponentResult; external name '_GraphicsExportSetOutputHandle';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetOutputHandle()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetOutputHandle( ci: GraphicsExportComponent; var h: Handle ): ComponentResult; external name '_GraphicsExportGetOutputHandle';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetOutputOffsetAndMaxSize()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetOutputOffsetAndMaxSize( ci: GraphicsExportComponent; offset: UNSIGNEDLONG; maxSize: UNSIGNEDLONG; truncateFile: Boolean ): ComponentResult; external name '_GraphicsExportSetOutputOffsetAndMaxSize';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetOutputOffsetAndMaxSize()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetOutputOffsetAndMaxSize( ci: GraphicsExportComponent; var offset: UNSIGNEDLONG; var maxSize: UNSIGNEDLONG; var truncateFile: Boolean ): ComponentResult; external name '_GraphicsExportGetOutputOffsetAndMaxSize';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetOutputFileTypeAndCreator()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetOutputFileTypeAndCreator( ci: GraphicsExportComponent; fileType: OSType; fileCreator: OSType ): ComponentResult; external name '_GraphicsExportSetOutputFileTypeAndCreator';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetOutputFileTypeAndCreator()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetOutputFileTypeAndCreator( ci: GraphicsExportComponent; var fileType: OSType; var fileCreator: OSType ): ComponentResult; external name '_GraphicsExportGetOutputFileTypeAndCreator';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Used by format-specific graphics exporters: }
- {
- * GraphicsExportWriteOutputData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportWriteOutputData( ci: GraphicsExportComponent; dataPtr: {const} UnivPtr; dataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportWriteOutputData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportSetOutputMark()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportSetOutputMark( ci: GraphicsExportComponent; mark: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetOutputMark';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportGetOutputMark()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportGetOutputMark( ci: GraphicsExportComponent; var mark: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetOutputMark';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * GraphicsExportReadOutputData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0.2 and later
- * Non-Carbon CFM: in QuickTimeLib 4.0 and later
- * Windows: in qtmlClient.lib 4.0 and later
- }
- function GraphicsExportReadOutputData( ci: GraphicsExportComponent; dataPtr: UnivPtr; dataOffset: UNSIGNEDLONG; dataSize: UNSIGNEDLONG ): ComponentResult; external name '_GraphicsExportReadOutputData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- { Allows embedded thumbnail creation, if supported. }
- {
- * GraphicsExportSetThumbnailEnabled()
- *
- * Availability:
- * Mac OS X: in version 10.1 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.4 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
- * Windows: in qtmlClient.lib 5.0.2 and later
- }
- function GraphicsExportSetThumbnailEnabled( ci: GraphicsExportComponent; enableThumbnail: Boolean; maxThumbnailWidth: SIGNEDLONG; maxThumbnailHeight: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportSetThumbnailEnabled';
- (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
- {
- * GraphicsExportGetThumbnailEnabled()
- *
- * Availability:
- * Mac OS X: in version 10.1 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.4 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
- * Windows: in qtmlClient.lib 5.0.2 and later
- }
- function GraphicsExportGetThumbnailEnabled( ci: GraphicsExportComponent; var thumbnailEnabled: Boolean; var maxThumbnailWidth: SIGNEDLONG; var maxThumbnailHeight: SIGNEDLONG ): ComponentResult; external name '_GraphicsExportGetThumbnailEnabled';
- (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
- { 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. }
- {
- * GraphicsExportSetExifEnabled()
- *
- * Availability:
- * Mac OS X: in version 10.1 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.4 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
- * Windows: in qtmlClient.lib 5.0.2 and later
- }
- function GraphicsExportSetExifEnabled( ci: GraphicsExportComponent; enableExif: Boolean ): ComponentResult; external name '_GraphicsExportSetExifEnabled';
- (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
- {
- * GraphicsExportGetExifEnabled()
- *
- * Availability:
- * Mac OS X: in version 10.1 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.4 and later
- * Non-Carbon CFM: in QuickTimeLib 5.0.2 and later
- * Windows: in qtmlClient.lib 5.0.2 and later
- }
- function GraphicsExportGetExifEnabled( ci: GraphicsExportComponent; var exifEnabled: Boolean ): ComponentResult; external name '_GraphicsExportGetExifEnabled';
- (* AVAILABLE_MAC_OS_X_VERSION_10_1_AND_LATER *)
- {$ifc TARGET_API_MAC_OSX}
- {
- * GraphicsExportSetInputCGImage()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function GraphicsExportSetInputCGImage( ci: GraphicsExportComponent; imageRef: CGImageRef ): ComponentResult; external name '_GraphicsExportSetInputCGImage';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * GraphicsExportGetInputCGImage()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function GraphicsExportGetInputCGImage( ci: GraphicsExportComponent; var imageRefOut: CGImageRef ): ComponentResult; external name '_GraphicsExportGetInputCGImage';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * GraphicsExportSetInputCGBitmapContext()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function GraphicsExportSetInputCGBitmapContext( ci: GraphicsExportComponent; bitmapContextRef: CGContextRef ): ComponentResult; external name '_GraphicsExportSetInputCGBitmapContext';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * GraphicsExportGetInputCGBitmapContext()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function GraphicsExportGetInputCGBitmapContext( ci: GraphicsExportComponent; var bitmapContextRefOut: CGContextRef ): ComponentResult; external name '_GraphicsExportGetInputCGBitmapContext';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {$endc} {TARGET_API_MAC_OSX}
- {
- * GraphicsExportSetFlags()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function GraphicsExportSetFlags( ci: GraphicsExportComponent; flags: UInt32 ): ComponentResult; external name '_GraphicsExportSetFlags';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * GraphicsExportGetFlags()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function GraphicsExportGetFlags( ci: GraphicsExportComponent; var flagsOut: UInt32 ): ComponentResult; external name '_GraphicsExportGetFlags';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- type
- ImageTranscoderComponent = ComponentInstance;
- const
- ImageTranscodererComponentType = FourCharCode('imtc');
- {* These are ImageTranscoder procedures *}
- {
- * ImageTranscoderBeginSequence()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ImageTranscoderBeginSequence( itc: ImageTranscoderComponent; srcDesc: ImageDescriptionHandle; var dstDesc: ImageDescriptionHandle; data: UnivPtr; dataSize: SIGNEDLONG ): ComponentResult; external name '_ImageTranscoderBeginSequence';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ImageTranscoderConvert()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ImageTranscoderConvert( itc: ImageTranscoderComponent; srcData: UnivPtr; srcDataSize: SIGNEDLONG; var dstData: UnivPtr; var dstDataSize: SIGNEDLONG ): ComponentResult; external name '_ImageTranscoderConvert';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ImageTranscoderDisposeData()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ImageTranscoderDisposeData( itc: ImageTranscoderComponent; dstData: UnivPtr ): ComponentResult; external name '_ImageTranscoderDisposeData';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- {
- * ImageTranscoderEndSequence()
- *
- * Availability:
- * Mac OS X: in version 10.0 and later in QuickTime.framework
- * CarbonLib: in CarbonLib 1.0 and later
- * Non-Carbon CFM: in QuickTimeLib 2.5 and later
- * Windows: in qtmlClient.lib 3.0 and later
- }
- function ImageTranscoderEndSequence( itc: ImageTranscoderComponent ): ComponentResult; external name '_ImageTranscoderEndSequence';
- (* AVAILABLE_MAC_OS_X_VERSION_10_0_AND_LATER *)
- //#if (MAC_OS_X_VERSION_MAX_ALLOWED == MAC_OS_X_VERSION_10_2) || //!defined(kComponentPropertyListenerCollectionContextVersion)
- { MixedMode ProcInfo constants for component property calls }
- const
- uppCallComponentGetComponentPropertyInfoProcInfo = $0003FFF0;
- uppCallComponentGetComponentPropertyProcInfo = $0003FFF0;
- uppCallComponentSetComponentPropertyProcInfo = $0000FFF0;
- uppCallComponentAddComponentPropertyListenerProcInfo = $0000FFF0;
- uppCallComponentRemoveComponentPropertyListenerProcInfo = $0000FFF0;
- { == CallComponentGetComponentPropertyInfo flags == }
- const
- kComponentPropertyFlagCanSetLater = 1 shl 0;
- kComponentPropertyFlagCanSetNow = 1 shl 1;
- kComponentPropertyFlagCanGetLater = 1 shl 2;
- kComponentPropertyFlagCanGetNow = 1 shl 3;
- kComponentPropertyFlagHasExtendedInfo = 1 shl 4;
- kComponentPropertyFlagValueMustBeReleased = 1 shl 5;
- kComponentPropertyFlagValueIsCFTypeRef = 1 shl 6;
- kComponentPropertyFlagGetBufferMustBeInitialized = 1 shl 7;
- kComponentPropertyFlagWillNotifyListeners = 1 shl 8;
- type
- ComponentPropertyClass = OSType;
- ComponentPropertyClassPtr = ^ComponentPropertyClass;
- ComponentPropertyID = OSType;
- ComponentPropertyIDPtr = ^ComponentPropertyID;
- ComponentValueType = OSType;
- ComponentValueTypePtr = ^ComponentValueType;
- ComponentValuePtr = UnivPtr;
- ComponentValuePtrPtr = ^ComponentValuePtr;
- ConstComponentValuePtr = {const} UnivPtr;
- ConstComponentValuePtrPtr = ^ConstComponentValuePtr;
- { == standard property class constants == }
- const
- kComponentPropertyClassPropertyInfo = FourCharCode('pnfo'); { property info class }
- { property info property IDs }
- kComponentPropertyInfoList = FourCharCode('list'); { array of ComponentPropertyInfo (CFData), one for each property }
- kComponentPropertyCacheSeed = FourCharCode('seed'); { property cache seed value }
- kComponentPropertyCacheFlags = FourCharCode('flgs'); { see kComponentPropertyCache flags }
- kComponentPropertyExtendedInfo = FourCharCode('meta'); { CFDictionary with extended property information}
- { values for kComponentPropertyClassPropertyInfo/kComponentPropertyCacheFlags standard component property }
- const
- kComponentPropertyCacheFlagNotPersistent = 1 shl 0; { property metadata should not be saved in persistent cache}
- kComponentPropertyCacheFlagIsDynamic = 1 shl 1; { property metadata should not cached at all}
- type
- ComponentPropertyInfoPtr = ^ComponentPropertyInfo;
- ComponentPropertyInfo = record
- propClass: ComponentPropertyClass;
- propID: ComponentPropertyID;
- propType: ComponentValueType;
- propSize: ByteCount;
- propFlags: UInt32;
- end;
- //#endif { #MAC_OS_X_VERSION_10_3 <= MAC_OS_X_VERSION_MAX_ALLOWED }
- { == "QT" prefixed Component Property calls == }
- type
- QTComponentPropertyListenerProcPtr = procedure( inComponent: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inUserData: UnivPtr );
- QTComponentPropertyListenerUPP = QTComponentPropertyListenerProcPtr;
- {
- * QTGetComponentPropertyInfo()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * QTGetComponentProperty()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTGetComponentProperty( inComponent: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): ComponentResult; external name '_QTGetComponentProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * QTSetComponentProperty()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTSetComponentProperty( inComponent: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): ComponentResult; external name '_QTSetComponentProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * QTAddComponentPropertyListener()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTAddComponentPropertyListener( inComponent: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inDispatchProc: QTComponentPropertyListenerUPP; inUserData: UnivPtr { can be NULL } ): ComponentResult; external name '_QTAddComponentPropertyListener';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * QTRemoveComponentPropertyListener()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTRemoveComponentPropertyListener( inComponent: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inDispatchProc: QTComponentPropertyListenerUPP; inUserData: UnivPtr { can be NULL } ): ComponentResult; external name '_QTRemoveComponentPropertyListener';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- { == "QT" prefixed Component Property Listener helpers == }
- type
- QTComponentPropertyListenerCollectionContextPtr = ^QTComponentPropertyListenerCollectionContext;
- QTComponentPropertyListenersRef = CFTypeRef;
- 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;
- QTComponentPropertyListenerFilterUPP = QTComponentPropertyListenerFilterProcPtr;
- QTComponentPropertyListenerCollectionContext = record
- version: UInt32; { struct version }
- filterProcUPP: QTComponentPropertyListenerFilterUPP;
- filterProcData: UnivPtr;
- end;
- const
- kQTComponentPropertyListenerCollectionContextVersion = 1;
- {
- * NewQTComponentPropertyListenerUPP()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: available as macro/inline
- }
- function NewQTComponentPropertyListenerUPP( userRoutine: QTComponentPropertyListenerProcPtr ): QTComponentPropertyListenerUPP; external name '_NewQTComponentPropertyListenerUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * NewQTComponentPropertyListenerFilterUPP()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: available as macro/inline
- }
- function NewQTComponentPropertyListenerFilterUPP( userRoutine: QTComponentPropertyListenerFilterProcPtr ): QTComponentPropertyListenerFilterUPP; external name '_NewQTComponentPropertyListenerFilterUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * DisposeQTComponentPropertyListenerUPP()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: available as macro/inline
- }
- procedure DisposeQTComponentPropertyListenerUPP( userUPP: QTComponentPropertyListenerUPP ); external name '_DisposeQTComponentPropertyListenerUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * DisposeQTComponentPropertyListenerFilterUPP()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: available as macro/inline
- }
- procedure DisposeQTComponentPropertyListenerFilterUPP( userUPP: QTComponentPropertyListenerFilterUPP ); external name '_DisposeQTComponentPropertyListenerFilterUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * InvokeQTComponentPropertyListenerUPP()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: available as macro/inline
- }
- procedure InvokeQTComponentPropertyListenerUPP( inComponent: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inUserData: UnivPtr; userUPP: QTComponentPropertyListenerUPP ); external name '_InvokeQTComponentPropertyListenerUPP';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * InvokeQTComponentPropertyListenerFilterUPP()
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: available as macro/inline
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * QTComponentPropertyListenerCollectionCreate()
- *
- * Summary:
- * Create a collection to use with the functions
- * ComponentPropertyListenerCollectionAddListener,
- * ComponentPropertyListenerCollectionRemoveListener,
- * ComponentPropertyListenerCollectionNotifyListeners,
- * ComponentPropertyListenerCollectionIsEmpty, and
- * ComponentPropertyListenerCollectionHasListenersForProperty.
- *
- * Parameters:
- *
- * outCollection:
- * Returns the new, empty, listener collection.
- *
- * inAllocator:
- * Allocator used to create the collection and it's contents.
- *
- * inContext:
- * The listener collection context. May be NULL. A copy of the
- * contents of the structure is made, so a pointer to a structure
- * on the stack can be passed.
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTComponentPropertyListenerCollectionCreate( inAllocator: CFAllocatorRef { can be NULL }; {const} inContext: QTComponentPropertyListenerCollectionContextPtr { can be NULL }; var outCollection: QTComponentPropertyListenersRef ): OSStatus; external name '_QTComponentPropertyListenerCollectionCreate';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * QTComponentPropertyListenerCollectionAddListener()
- *
- * Summary:
- * Add a listener callback for the specified property class and ID
- * to a property listener collection.
- *
- * Parameters:
- *
- * inCollection:
- * The property listener collection.
- *
- * inPropClass:
- * The property class.
- *
- * inPropID:
- * The property ID.
- *
- * inListenerProc:
- * The property listener callback function.
- *
- * inListenerProcRefCon:
- * The data parameter to pass to the listener callback function.
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTComponentPropertyListenerCollectionAddListener( inCollection: QTComponentPropertyListenersRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inListenerProc: QTComponentPropertyListenerUPP; inListenerProcRefCon: {const} UnivPtr ): OSStatus; external name '_QTComponentPropertyListenerCollectionAddListener';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * QTComponentPropertyListenerCollectionRemoveListener()
- *
- * Summary:
- * Remove a listener callback for the specified property class and
- * ID from a property listener collection.
- *
- * Parameters:
- *
- * inCollection:
- * The property listener collection.
- *
- * inPropClass:
- * The property class.
- *
- * inPropID:
- * The property ID.
- *
- * inListenerProc:
- * The property listener callback function.
- *
- * inListenerProcRefCon:
- * The data parameter to pass to the listener callback function.
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTComponentPropertyListenerCollectionRemoveListener( inCollection: QTComponentPropertyListenersRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inListenerProc: QTComponentPropertyListenerUPP; inListenerProcRefCon: {const} UnivPtr ): OSStatus; external name '_QTComponentPropertyListenerCollectionRemoveListener';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * QTComponentPropertyListenerCollectionNotifyListeners()
- *
- * Summary:
- * Call all listener callbacks in the collection registered for the
- * specified property class and ID.
- *
- * Discussion:
- * If the "filterProcUPP" in the collection's context is non-NULL,
- * the filter function will be called before each registered
- * listener that matches the specified property class and ID. If the
- * filter function return false, the listener proc will not be
- * called. This is intended to allow a component to change the
- * calling semantics (call another thread, etc), to use a different
- * listener callback signature, etc.
- *
- * Parameters:
- *
- * inCollection:
- * The property listener collection.
- *
- * inNotifier:
- * The calling ComponentInstance.
- *
- * inPropClass:
- * The property class.
- *
- * inPropID:
- * The property ID.
- *
- * inFilterProcRefCon:
- * The data parameter to pass to the filter function.
- *
- * inFlags:
- * Flags. Must be set to 0.
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTComponentPropertyListenerCollectionNotifyListeners( inCollection: QTComponentPropertyListenersRef; inNotifier: ComponentInstance; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inFilterProcRefCon: {const} UnivPtr { can be NULL }; inFlags: UInt32 ): OSStatus; external name '_QTComponentPropertyListenerCollectionNotifyListeners';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * QTComponentPropertyListenerCollectionIsEmpty()
- *
- * Summary:
- * Return true if the listener collection is empty.
- *
- * Parameters:
- *
- * inCollection:
- * The property listener collection.
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTComponentPropertyListenerCollectionIsEmpty( inCollection: QTComponentPropertyListenersRef ): Boolean; external name '_QTComponentPropertyListenerCollectionIsEmpty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- {
- * QTComponentPropertyListenerCollectionHasListenersForProperty()
- *
- * Summary:
- * Returns true if there are any listeners registered for the
- * specified property class and ID.
- *
- * Parameters:
- *
- * inCollection:
- * The property listener collection.
- *
- * inPropClass:
- * The property class.
- *
- * inPropID:
- * The property ID.
- *
- * Availability:
- * Mac OS X: in version 10.3 (or QuickTime 6.4) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTComponentPropertyListenerCollectionHasListenersForProperty( inCollection: QTComponentPropertyListenersRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID ): Boolean; external name '_QTComponentPropertyListenerCollectionHasListenersForProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_3_AND_LATER *)
- { DRM properties}
- const
- kQTPropertyClass_DRM = FourCharCode('drm ');
- const
- kQTDRMPropertyID_InteractWithUser = FourCharCode('shui'); { Boolean*}
- kQTDRMPropertyID_IsProtected = FourCharCode('prot'); { Boolean*}
- kQTDRMPropertyID_IsAuthorized = FourCharCode('auth'); { Boolean*}
- { UPP call backs }
- { selectors for component calls }
- const
- kGraphicsImportSetDataReferenceSelect = $0001;
- kGraphicsImportGetDataReferenceSelect = $0002;
- kGraphicsImportSetDataFileSelect = $0003;
- kGraphicsImportGetDataFileSelect = $0004;
- kGraphicsImportSetDataHandleSelect = $0005;
- kGraphicsImportGetDataHandleSelect = $0006;
- kGraphicsImportGetImageDescriptionSelect = $0007;
- kGraphicsImportGetDataOffsetAndSizeSelect = $0008;
- kGraphicsImportReadDataSelect = $0009;
- kGraphicsImportSetClipSelect = $000A;
- kGraphicsImportGetClipSelect = $000B;
- kGraphicsImportSetSourceRectSelect = $000C;
- kGraphicsImportGetSourceRectSelect = $000D;
- kGraphicsImportGetNaturalBoundsSelect = $000E;
- kGraphicsImportDrawSelect = $000F;
- kGraphicsImportSetGWorldSelect = $0010;
- kGraphicsImportGetGWorldSelect = $0011;
- kGraphicsImportSetMatrixSelect = $0012;
- kGraphicsImportGetMatrixSelect = $0013;
- kGraphicsImportSetBoundsRectSelect = $0014;
- kGraphicsImportGetBoundsRectSelect = $0015;
- kGraphicsImportSaveAsPictureSelect = $0016;
- kGraphicsImportSetGraphicsModeSelect = $0017;
- kGraphicsImportGetGraphicsModeSelect = $0018;
- kGraphicsImportSetQualitySelect = $0019;
- kGraphicsImportGetQualitySelect = $001A;
- kGraphicsImportSaveAsQuickTimeImageFileSelect = $001B;
- kGraphicsImportSetDataReferenceOffsetAndLimitSelect = $001C;
- kGraphicsImportGetDataReferenceOffsetAndLimitSelect = $001D;
- kGraphicsImportGetAliasedDataReferenceSelect = $001E;
- kGraphicsImportValidateSelect = $001F;
- kGraphicsImportGetMetaDataSelect = $0020;
- kGraphicsImportGetMIMETypeListSelect = $0021;
- kGraphicsImportDoesDrawAllPixelsSelect = $0022;
- kGraphicsImportGetAsPictureSelect = $0023;
- kGraphicsImportExportImageFileSelect = $0024;
- kGraphicsImportGetExportImageTypeListSelect = $0025;
- kGraphicsImportDoExportImageFileDialogSelect = $0026;
- kGraphicsImportGetExportSettingsAsAtomContainerSelect = $0027;
- kGraphicsImportSetExportSettingsFromAtomContainerSelect = $0028;
- kGraphicsImportSetProgressProcSelect = $0029;
- kGraphicsImportGetProgressProcSelect = $002A;
- kGraphicsImportGetImageCountSelect = $002B;
- kGraphicsImportSetImageIndexSelect = $002C;
- kGraphicsImportGetImageIndexSelect = $002D;
- kGraphicsImportGetDataOffsetAndSize64Select = $002E;
- kGraphicsImportReadData64Select = $002F;
- kGraphicsImportSetDataReferenceOffsetAndLimit64Select = $0030;
- kGraphicsImportGetDataReferenceOffsetAndLimit64Select = $0031;
- kGraphicsImportGetDefaultMatrixSelect = $0032;
- kGraphicsImportGetDefaultClipSelect = $0033;
- kGraphicsImportGetDefaultGraphicsModeSelect = $0034;
- kGraphicsImportGetDefaultSourceRectSelect = $0035;
- kGraphicsImportGetColorSyncProfileSelect = $0036;
- kGraphicsImportSetDestRectSelect = $0037;
- kGraphicsImportGetDestRectSelect = $0038;
- kGraphicsImportSetFlagsSelect = $0039;
- kGraphicsImportGetFlagsSelect = $003A;
- kGraphicsImportGetBaseDataOffsetAndSize64Select = $003D;
- kGraphicsImportSetImageIndexToThumbnailSelect = $003E;
- kGraphicsImportCreateCGImageSelect = $003F;
- kGraphicsImportSaveAsPictureToDataRefSelect = $0040;
- kGraphicsImportSaveAsQuickTimeImageFileToDataRefSelect = $0041;
- kGraphicsImportExportImageFileToDataRefSelect = $0042;
- kGraphicsImportDoExportImageFileToDataRefDialogSelect = $0043;
- kGraphicsImportSetOverrideSourceColorSyncProfileRefSelect = $0044;
- kGraphicsImportGetOverrideSourceColorSyncProfileRefSelect = $0045;
- kGraphicsImportSetDestinationColorSyncProfileRefSelect = $0046;
- kGraphicsImportGetDestinationColorSyncProfileRefSelect = $0047;
- kGraphicsImportWillUseColorMatchingSelect = $0048;
- kGraphicsImportGetGenericColorSyncProfileSelect = $0049;
- kGraphicsImportSetReturnGenericColorSyncProfileSelect = $004A;
- kGraphicsImportGetReturnGenericColorSyncProfileSelect = $004B;
- kGraphicsExportDoExportSelect = $0001;
- kGraphicsExportCanTranscodeSelect = $0002;
- kGraphicsExportDoTranscodeSelect = $0003;
- kGraphicsExportCanUseCompressorSelect = $0004;
- kGraphicsExportDoUseCompressorSelect = $0005;
- kGraphicsExportDoStandaloneExportSelect = $0006;
- kGraphicsExportGetDefaultFileTypeAndCreatorSelect = $0007;
- kGraphicsExportGetDefaultFileNameExtensionSelect = $0008;
- kGraphicsExportGetMIMETypeListSelect = $0009;
- kGraphicsExportRequestSettingsSelect = $000B;
- kGraphicsExportSetSettingsFromAtomContainerSelect = $000C;
- kGraphicsExportGetSettingsAsAtomContainerSelect = $000D;
- kGraphicsExportGetSettingsAsTextSelect = $000E;
- kGraphicsExportSetDontRecompressSelect = $000F;
- kGraphicsExportGetDontRecompressSelect = $0010;
- kGraphicsExportSetInterlaceStyleSelect = $0011;
- kGraphicsExportGetInterlaceStyleSelect = $0012;
- kGraphicsExportSetMetaDataSelect = $0013;
- kGraphicsExportGetMetaDataSelect = $0014;
- kGraphicsExportSetTargetDataSizeSelect = $0015;
- kGraphicsExportGetTargetDataSizeSelect = $0016;
- kGraphicsExportSetCompressionMethodSelect = $0017;
- kGraphicsExportGetCompressionMethodSelect = $0018;
- kGraphicsExportSetCompressionQualitySelect = $0019;
- kGraphicsExportGetCompressionQualitySelect = $001A;
- kGraphicsExportSetResolutionSelect = $001B;
- kGraphicsExportGetResolutionSelect = $001C;
- kGraphicsExportSetDepthSelect = $001D;
- kGraphicsExportGetDepthSelect = $001E;
- kGraphicsExportSetColorSyncProfileSelect = $0021;
- kGraphicsExportGetColorSyncProfileSelect = $0022;
- kGraphicsExportSetProgressProcSelect = $0023;
- kGraphicsExportGetProgressProcSelect = $0024;
- kGraphicsExportSetInputDataReferenceSelect = $0025;
- kGraphicsExportGetInputDataReferenceSelect = $0026;
- kGraphicsExportSetInputFileSelect = $0027;
- kGraphicsExportGetInputFileSelect = $0028;
- kGraphicsExportSetInputHandleSelect = $0029;
- kGraphicsExportGetInputHandleSelect = $002A;
- kGraphicsExportSetInputPtrSelect = $002B;
- kGraphicsExportGetInputPtrSelect = $002C;
- kGraphicsExportSetInputGraphicsImporterSelect = $002D;
- kGraphicsExportGetInputGraphicsImporterSelect = $002E;
- kGraphicsExportSetInputPictureSelect = $002F;
- kGraphicsExportGetInputPictureSelect = $0030;
- kGraphicsExportSetInputGWorldSelect = $0031;
- kGraphicsExportGetInputGWorldSelect = $0032;
- kGraphicsExportSetInputPixmapSelect = $0033;
- kGraphicsExportGetInputPixmapSelect = $0034;
- kGraphicsExportSetInputOffsetAndLimitSelect = $0035;
- kGraphicsExportGetInputOffsetAndLimitSelect = $0036;
- kGraphicsExportMayExporterReadInputDataSelect = $0037;
- kGraphicsExportGetInputDataSizeSelect = $0038;
- kGraphicsExportReadInputDataSelect = $0039;
- kGraphicsExportGetInputImageDescriptionSelect = $003A;
- kGraphicsExportGetInputImageDimensionsSelect = $003B;
- kGraphicsExportGetInputImageDepthSelect = $003C;
- kGraphicsExportDrawInputImageSelect = $003D;
- kGraphicsExportSetOutputDataReferenceSelect = $003E;
- kGraphicsExportGetOutputDataReferenceSelect = $003F;
- kGraphicsExportSetOutputFileSelect = $0040;
- kGraphicsExportGetOutputFileSelect = $0041;
- kGraphicsExportSetOutputHandleSelect = $0042;
- kGraphicsExportGetOutputHandleSelect = $0043;
- kGraphicsExportSetOutputOffsetAndMaxSizeSelect = $0044;
- kGraphicsExportGetOutputOffsetAndMaxSizeSelect = $0045;
- kGraphicsExportSetOutputFileTypeAndCreatorSelect = $0046;
- kGraphicsExportGetOutputFileTypeAndCreatorSelect = $0047;
- kGraphicsExportWriteOutputDataSelect = $0048;
- kGraphicsExportSetOutputMarkSelect = $0049;
- kGraphicsExportGetOutputMarkSelect = $004A;
- kGraphicsExportReadOutputDataSelect = $004B;
- kGraphicsExportSetThumbnailEnabledSelect = $004C;
- kGraphicsExportGetThumbnailEnabledSelect = $004D;
- kGraphicsExportSetExifEnabledSelect = $004E;
- kGraphicsExportGetExifEnabledSelect = $004F;
- kGraphicsExportSetInputCGImageSelect = $0050;
- kGraphicsExportGetInputCGImageSelect = $0051;
- kGraphicsExportSetInputCGBitmapContextSelect = $0052;
- kGraphicsExportGetInputCGBitmapContextSelect = $0053;
- kGraphicsExportSetFlagsSelect = $0054;
- kGraphicsExportGetFlagsSelect = $0055;
- kImageTranscoderBeginSequenceSelect = $0001;
- kImageTranscoderConvertSelect = $0002;
- kImageTranscoderDisposeDataSelect = $0003;
- kImageTranscoderEndSequenceSelect = $0004;
- kQTGetComponentPropertyInfoSelect = -11;
- kQTGetComponentPropertySelect = -12;
- kQTSetComponentPropertySelect = -13;
- kQTAddComponentPropertyListenerSelect = -14;
- kQTRemoveComponentPropertyListenerSelect = -15;
- { Aperture modes }
- {
- * Summary:
- * Aperture modes
- *
- * Discussion:
- * You can set the aperture mode property on a movie to indicate
- * whether aspect ratio and clean aperture correction should be
- * performed (kQTPropertyClass_Visual /
- * kQTVisualPropertyID_ApertureMode). When a movie is in clean,
- * production or encoded pixels aperture mode, each track's
- * dimensions are overriden by special dimensions for that mode. The
- * original track dimensions are preserved and can be restored by
- * setting the movie into classic aperture mode. Aperture modes are
- * not saved in movies.
- * You can set the aperture mode property on a decompression session
- * options object to indicate whether pixel buffers should be tagged
- * to enable aspect ratio and clean aperture correction
- * (kQTPropertyClass_ICMDecompressionSessionOptions /
- * kICMDecompressionSessionOptionsPropertyID_ApertureMode).
- }
- const
- {
- * An aperture mode which gives compatibility with behavior in
- * QuickTime 7.0.x and earlier.
- * A movie in classic aperture mode uses track dimensions as set in
- * NewMovieTrack and SetTrackDimensions.
- * A decompression session in classic aperture mode does not set the
- * clean aperture or pixel aspect ratio attachments on emitted pixel
- * buffers.
- * Movies default to classic aperture mode. If you call
- * SetTrackDimensions on a track, the movie is automatically switched
- * into classic aperture mode.
- }
- kQTApertureMode_Classic = FourCharCode('clas');
- {
- * An aperture mode for general display.
- * Where possible, video will be displayed at the correct pixel
- * aspect ratio, trimmed to the clean aperture. A movie in clean
- * aperture mode sets each track's dimensions to match its
- * kQTVisualPropertyID_CleanApertureDimensions.
- * A decompression session in clean aperture mode sets the clean
- * aperture and pixel aspect ratio attachments on emitted pixel
- * buffers based on the image description.
- }
- kQTApertureMode_CleanAperture = FourCharCode('clea');
- {
- * An aperture mode for modal use in authoring applications.
- * Where possible, video will be displayed at the correct pixel
- * aspect ratio, but without trimming to the clean aperture so that
- * the edge processing region can be viewed. A movie in production
- * aperture mode sets each track's dimensions to match its
- * kQTVisualPropertyID_ProductionApertureDimensions.
- * A decompression session in production aperture mode sets the pixel
- * aspect ratio attachments on emitted pixel buffers based on the
- * image description.
- }
- kQTApertureMode_ProductionAperture = FourCharCode('prod');
- {
- * An aperture mode for technical use.
- * Displays all encoded pixels with no aspect ratio or clean aperture
- * compensation. A movie in encoded pixels aperture mode sets each
- * track's dimensions to match its
- * kQTVisualPropertyID_EncodedPixelsDimensions.
- * A decompression session in encoded pixels aperture mode does not
- * set the clean aperture or pixel aspect ratio attachments on
- * emitted pixel buffers.
- }
- kQTApertureMode_EncodedPixels = FourCharCode('enco');
- { Property interface for Image Descriptions }
- {
- * Summary:
- * Properties of image descriptions.
- }
- const
- {
- * Class identifier for image description properties.
- }
- kQTPropertyClass_ImageDescription = FourCharCode('idsc');
- {
- * The width of the encoded image. Usually, but not always, this is
- * the ImageDescription's width field.
- }
- kICMImageDescriptionPropertyID_EncodedWidth = FourCharCode('encw'); { SInt32, Read/Write }
- {
- * The height of the encoded image. Usually, but not always, this is
- * the ImageDescription's height field.
- }
- kICMImageDescriptionPropertyID_EncodedHeight = FourCharCode('ench'); { SInt32, Read/Write }
- {
- * Describes the clean aperture of the buffer. If not specified
- * explicitly in the image description, the default clean aperture
- * (full encoded width and height) will be returned.
- }
- kICMImageDescriptionPropertyID_CleanAperture = FourCharCode('clap'); { Native-endian CleanApertureImageDescriptionExtension, Read/Write }
- {
- * Describes the pixel aspect ratio. If not specified explicitly in
- * the image description, a square (1:1) pixel aspect ratio will be
- * returned.
- }
- kICMImageDescriptionPropertyID_PixelAspectRatio = FourCharCode('pasp'); { Native-endian PixelAspectRatioImageDescriptionExtension, Read/Write }
- {
- * Dimensions at which the image could be displayed on a square-pixel
- * display, generally calculated using the clean aperture and pixel
- * aspect ratio.
- * Note that this value is returned as a FixedPoint; the width and
- * height can also be read separately as rounded SInt32s via
- * kICMImageDescriptionPropertyID_CleanApertureDisplayWidth and
- * kICMImageDescriptionPropertyID_CleanApertureDisplayHeight.
- }
- kICMImageDescriptionPropertyID_CleanApertureDisplayDimensions = FourCharCode('cadi'); { FixedPoint, Read }
- {
- * Dimensions at which the image could be displayed on a square-pixel
- * display, disregarding any clean aperture but honoring the pixel
- * aspect ratio. This may be useful for authoring applications that
- * want to expose the edge processing region. For general viewing,
- * use kICMImageDescriptionPropertyID_CleanApertureDimensions
- * instead.
- * Note that this value is returned as a FixedPoint; the width and
- * height can also be read separately as rounded SInt32s via
- * kICMImageDescriptionPropertyID_ProductionApertureDisplayWidth and
- * kICMImageDescriptionPropertyID_ProductionApertureDisplayHeight.
- }
- kICMImageDescriptionPropertyID_ProductionApertureDisplayDimensions = FourCharCode('prdi'); { FixedPoint, Read }
- {
- * Dimensions of the encoded image.
- * Note that this value is returned as a FixedPoint for convenience;
- * the width and height can also be read separately as SInt32s via
- * kICMImageDescriptionPropertyID_EncodedWidth and
- * kICMImageDescriptionPropertyID_EncodedHeight.
- }
- kICMImageDescriptionPropertyID_EncodedPixelsDimensions = FourCharCode('endi'); { FixedPoint, Read }
- {
- * A width at which the image could be displayed on a square-pixel
- * display, possibly calculated using the clean aperture and pixel
- * aspect ratio.
- }
- kICMImageDescriptionPropertyID_CleanApertureDisplayWidth = FourCharCode('disw'); { SInt32, Read }
- {
- * A height at which the image could be displayed on a square-pixel
- * display, possibly calculated using the clean aperture and pixel
- * aspect ratio.
- }
- kICMImageDescriptionPropertyID_CleanApertureDisplayHeight = FourCharCode('dish'); { SInt32, Read }
- {
- * A width at which the image could be displayed on a square-pixel
- * display, disregarding any clean aperture but honoring the pixel
- * aspect ratio. This may be useful for authoring applications that
- * want to expose the edge processing region. For general viewing,
- * use kICMImageDescriptionPropertyID_CleanApertureDisplayWidth
- * instead.
- }
- kICMImageDescriptionPropertyID_ProductionApertureDisplayWidth = FourCharCode('pdsw'); { SInt32, Read }
- {
- * A height at which the image could be displayed on a square-pixel
- * display, disregarding any clean aperture but honoring the pixel
- * aspect ratio. This may be useful for authoring applications that
- * want to expose the edge processing region. For general viewing,
- * use kICMImageDescriptionPropertyID_CleanApertureDisplayHeight
- * instead.
- }
- kICMImageDescriptionPropertyID_ProductionApertureDisplayHeight = FourCharCode('pdsh'); { SInt32, Read }
- {
- * Synonym for
- * kICMImageDescriptionPropertyID_CleanApertureDisplayWidth.
- }
- kICMImageDescriptionPropertyID_DisplayWidth = FourCharCode('disw'); { SInt32, Read }
- {
- * Synonym for
- * kICMImageDescriptionPropertyID_CleanApertureDisplayHeight.
- }
- kICMImageDescriptionPropertyID_DisplayHeight = FourCharCode('dish'); { SInt32, Read }
- {
- * Synonym for
- * kICMImageDescriptionPropertyID_ProductionApertureDisplayWidth.
- }
- kICMImageDescriptionPropertyID_ProductionDisplayWidth = FourCharCode('pdsw'); { SInt32, Read }
- {
- * Synonym for
- * kICMImageDescriptionPropertyID_ProductionApertureDisplayHeight.
- }
- kICMImageDescriptionPropertyID_ProductionDisplayHeight = FourCharCode('pdsh'); { SInt32, Read }
- {
- * Color information, if available in the
- * NCLCColorInfoImageDescriptionExtension format.
- }
- kICMImageDescriptionPropertyID_NCLCColorInfo = FourCharCode('nclc'); { Native-endian NCLCColorInfoImageDescriptionExtension, Read/Write }
- {
- * A CGColorSpaceRef for the colorspace described by the image
- * description, constructed from video color info or ICC Profile.
- * IMPORTANT NOTE: The YCbCr matrix from the video color info is not
- * represented in the CGColorSpaceRef. The caller of GetProperty is
- * responsible for releasing this, eg, by calling
- * CGColorSpaceRelease. Only supported on Mac OS X.
- }
- kICMImageDescriptionPropertyID_CGColorSpace = FourCharCode('cgcs'); { CGColorSpaceRef, Read -- caller of GetProperty must call CGColorSpaceRelease }
- {
- * A CFDataRef containing the serialized ICC profile described by the
- * image description. The caller of GetProperty is responsible for
- * releasing this, eg, by calling CFRelease.
- }
- kICMImageDescriptionPropertyID_ICCProfile = FourCharCode('iccp'); { CFDataRef, Read/Write -- caller of GetProperty must call CFRelease }
- {
- * The gamma level described by the image description.
- }
- kICMImageDescriptionPropertyID_GammaLevel = FourCharCode('gama'); { Fixed, Read/Write }
- {
- * Information about the number and order of fields, if available.
- }
- kICMImageDescriptionPropertyID_FieldInfo = FourCharCode('fiel'); { FieldInfoImageDescriptionExtension2, Read/Write }
- {
- * The offset in bytes from the start of one row to the next. Only
- * valid if the codec type is a chunky pixel format.
- }
- kICMImageDescriptionPropertyID_RowBytes = FourCharCode('rowb'); { SInt32, Read/Write }
- {
- * A track width suitable for passing to NewMovieTrack when creating
- * a new track to hold this image data.
- }
- kICMImageDescriptionPropertyID_ClassicTrackWidth = FourCharCode('claw'); { Fixed, Read }
- {
- * A track height suitable for passing to NewMovieTrack when creating
- * a new track to hold this image data.
- }
- kICMImageDescriptionPropertyID_ClassicTrackHeight = FourCharCode('clah'); { Fixed, Read }
- {
- * Defines a duration for quantizing time. This is applicable for
- * cases where a single media sample generates visual output that
- * varies continuously through its duration. By interpreting this
- * property, such a sample may be considered to have internal "step
- * points" at multiples of the stepping duration. This can be used to
- * throttle frame generation during playback, and when stepping using
- * InterestingTime APIs. Setting a step duration with value zero
- * removes any current step duration.
- }
- kICMImageDescriptionPropertyID_StepDuration = FourCharCode('step'); { TimeRecord (base ignored), Read/Write }
- {
- * The clean aperture as a FixedRect in source coordinates, within
- * the rectangle defined by the image description width and height,
- * suitable for use as a source rectangle in a decompression
- * sequence.
- * For historical reasons, the DVCPROHD codecs store the production
- * aperture display dimensions in the image description width and
- * height; the actual encoded dimensions are smaller. For DVCPROHD,
- * the clip rect will be relative to the image description width and
- * height, not the encoded dimensions.
- }
- kICMImageDescriptionPropertyID_CleanApertureClipRect = FourCharCode('cacr'); { FixedRect, Read }
- {
- * A matrix transforming the clean aperture clip rect to the origin,
- * scaled to the clean aperture display dimensions.
- * For historical reasons, the DVCPROHD codecs store the production
- * aperture display dimensions in the image description width and
- * height; the actual encoded dimensions are smaller. For DVCPROHD,
- * the matrix will be relative to the image description width and
- * height, not the encoded dimensions.
- }
- kICMImageDescriptionPropertyID_CleanApertureMatrix = FourCharCode('camx'); { MatrixRecord, Read }
- {
- * A matrix transforming the image to the origin, scaled to the
- * production aperture display dimensions.
- * For historical reasons, the DVCPROHD codecs store the production
- * aperture display dimensions in the image description width and
- * height; the actual encoded dimensions are smaller. For DVCPROHD,
- * the matrix will be relative to the image description width and
- * height, not the encoded dimensions.
- }
- kICMImageDescriptionPropertyID_ProductionApertureMatrix = FourCharCode('pamx'); { MatrixRecord, Read }
- {
- * A localized, human readable string summarizing the image as a
- * CFString, ie: "Apple DV, 720 x 480 (640 x 480), Millions".
- * The elements are: the codec name, the encoded pixels dimensions,
- * then parenthetically the clean aperture mode dimensions, but only
- * if they are different from the encoded pixels dimensions; then the
- * depth.
- * The codec name shall be from the localized decompressor component
- * name string if exactly one decompressor with the correct cType is
- * available; otherwise the string in the image description shall be
- * used. The caller of GetProperty is responsible for releasing this
- * CFString, eg, by calling CFRelease.
- }
- kICMImageDescriptionPropertyID_SummaryString = FourCharCode('isum'); { CFStringRef, Read - caller of GetProperty must call CFRelease}
- {
- * ICMImageDescriptionGetPropertyInfo()
- *
- * Summary:
- * Gets info about a particular property of a ImageDescription.
- *
- * Parameters:
- *
- * inDesc:
- * ImageDescriptionHandle being interrogated
- *
- * inPropClass:
- * The class of property being requested
- *
- * inPropID:
- * The ID of the property being requested
- *
- * outPropType:
- * The type of property is returned here (can be NULL)
- *
- * outPropValueSize:
- * The size of property is returned here (can be NULL)
- *
- * outPropertyFlags:
- * The property flags are returned here (can be NULL)
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMImageDescriptionGetProperty()
- *
- * Summary:
- * Gets a particular property of a ImageDescriptionHandle.
- *
- * Parameters:
- *
- * inDesc:
- * ImageDescriptionHandle being interrogated
- *
- * inPropClass:
- * The class of property being requested
- *
- * inPropID:
- * The ID of the property being requested
- *
- * inPropValueSize:
- * The size of the property value buffer
- *
- * outPropValueAddress:
- * Points to the buffer to receive the property value
- *
- * outPropValueSizeUsed:
- * Points to a variable to receive the actual size of returned
- * property value (can be NULL)
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMImageDescriptionGetProperty( inDesc: ImageDescriptionHandle; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMImageDescriptionGetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMImageDescriptionSetProperty()
- *
- * Summary:
- * Sets a particular property of a ImageDescriptionHandle.
- *
- * Parameters:
- *
- * inDesc:
- * ImageDescriptionHandle being modified
- *
- * inPropClass:
- * The class of property being set
- *
- * inPropID:
- * The ID of the property being set
- *
- * inPropValueSize:
- * The size of property value
- *
- * inPropValueAddress:
- * Points to the property value buffer
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMImageDescriptionSetProperty( inDesc: ImageDescriptionHandle; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMImageDescriptionSetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMValidTimeFlags
- *
- * Summary:
- * Flags to describe which time values are valid.
- }
- type
- ICMValidTimeFlagsPtr = ^ICMValidTimeFlags;
- ICMValidTimeFlags = UInt32;
- const
- {
- * Indicates that a display time stamp is valid.
- }
- kICMValidTime_DisplayTimeStampIsValid = 1 shl 0;
- {
- * Indicates that a display duration is valid.
- }
- kICMValidTime_DisplayDurationIsValid = 1 shl 1;
- {
- * Indicates that a decode time stamp is valid.
- }
- kICMValidTime_DecodeTimeStampIsValid = 1 shl 2;
- {
- * Indicates that a decode duration is valid.
- }
- kICMValidTime_DecodeDurationIsValid = 1 shl 3;
- {
- * Indicates that a display offset (the offset from a decode time
- * stamp to a display time stamp) is valid.
- }
- kICMValidTime_DisplayOffsetIsValid = 1 shl 4;
- {
- * ICMDecompressionSessionRef
- *
- * Summary:
- * Represents a decompression session that emits CVPixelBufferRefs
- * containing frames, tagged with display times.
- *
- * Discussion:
- * ICMDecompressionSession does not support source extraction,
- * matrix transformations, graphics transfer modes, region-based
- * clipping or data-loading procedures. Note that the pixel buffers
- * may be output out of display order, provided that the client opts
- * in.
- }
- type
- ICMDecompressionSessionRef = ^SInt32; { an opaque type }
- {
- * QTVisualContextRef
- *
- * Summary:
- * Represents a destination visual rendering environment.
- *
- * Discussion:
- * The QTVisualContextRef type encapsulates a connection to a
- * generic visual destination. A single visual context object may
- * not be associated with more than one movie at a time.
- }
- type
- QTVisualContextRef = ^SInt32; { an opaque type }
- {
- * ICMDecompressionSessionOptionsRef
- *
- * Summary:
- * Holds options for a decompression session.
- }
- type
- ICMDecompressionSessionOptionsRef = ^SInt32; { an opaque type }
- {
- * ICMDecompressionFrameOptionsRef
- *
- * Summary:
- * Holds options for decompressing an individual frame.
- }
- type
- ICMDecompressionFrameOptionsRef = ^SInt32; { an opaque type }
- {
- * ICMDecompressionTrackingFlags
- *
- * Summary:
- * Describes changes in state of a frame queued with an ICM
- * decompression session.
- }
- type
- ICMDecompressionTrackingFlags = UInt32;
- const
- {
- * Indicates that this is the last call for this sourceFrameRefCon.
- }
- kICMDecompressionTracking_LastCall = 1 shl 0;
- {
- * Indicates that the session no longer needs the source data pointer.
- }
- kICMDecompressionTracking_ReleaseSourceData = 1 shl 1;
- {
- * Indicates that a frame is being emitted. The pixelBuffer parameter
- * contains the decompressed frame. If the decompression session is
- * targetting a visual context, the frame has not yet been sent to
- * the visual context but will be after the callback returns.
- }
- kICMDecompressionTracking_EmittingFrame = 1 shl 2;
- {
- * Indicates that this frame was decoded.
- }
- kICMDecompressionTracking_FrameDecoded = 1 shl 3;
- {
- * Indicates that the codec decided to drop this frame.
- }
- kICMDecompressionTracking_FrameDropped = 1 shl 4;
- {
- * Indicates that this frame will not be able to be displayed unless
- * it is queued for redecode (also known as FrameNotDisplayable).
- }
- kICMDecompressionTracking_FrameNeedsRequeueing = 1 shl 5;
- {
- * ICMDecompressionTrackingCallback
- *
- * Summary:
- * The callback through which a client of an ICM decompression
- * session receives decoded frames and information about decoding.
- *
- * Discussion:
- * The client may retain the emitted pixel buffers as long as it
- * needs; they will not be reused before the client releases them.
- *
- * Parameters:
- *
- * decompressionTrackingRefCon:
- * The callback's reference value, copied from the
- * decompressionTrackingRefCon field of the
- * ICMDecompressionTrackingCallbackRecord structure.
- *
- * result:
- * Indicates whether there was an error in decompression.
- *
- * decompressionTrackingFlags:
- * One or more flags describing the a frame's state transitions.
- *
- * pixelBuffer:
- * When the kICMDecompressionTracking_EmittingFrame flag is set in
- * decompressionTrackingFlags, a pixel buffer containing the
- * decompressed frame. Otherwise, NULL.
- *
- * displayTime:
- * If kICMValidTime_DisplayTimeStampIsValid is set in
- * validTimeFlags, the display time of the frame.
- *
- * displayDuration:
- * If kICMValidTime_DisplayDurationIsValid is set in
- * validTimeFlags, the display duration of the frame.
- *
- * validTimeFlags:
- * Indicates which of displayTime and displayDuration is valid.
- *
- * reserved:
- * Reserved for future use. Ignore the value of this parameter.
- *
- * sourceFrameRefCon:
- * The frame's reference value, copied from the sourceFrameRefCon
- * parameter to ICMDecompressionSessionDecodeFrame.
- }
- type
- ICMDecompressionTrackingCallback = procedure( decompressionTrackingRefCon: UnivPtr; result: OSStatus; decompressionTrackingFlags: ICMDecompressionTrackingFlags; pixelBuffer: CVPixelBufferRef; displayTime: TimeValue64; displayDuration: TimeValue64; validTimeFlags: ICMValidTimeFlags; reserved: UnivPtr; sourceFrameRefCon: UnivPtr );
- {
- * ICMDecompressionTrackingCallbackRecord
- *
- * Summary:
- * A tracking callback for an ICM decompression session.
- }
- type
- ICMDecompressionTrackingCallbackRecordPtr = ^ICMDecompressionTrackingCallbackRecord;
- ICMDecompressionTrackingCallbackRecord = record
- {
- * The callback function pointer.
- }
- decompressionTrackingCallback: ICMDecompressionTrackingCallback;
- {
- * The callback's reference value.
- }
- decompressionTrackingRefCon: UnivPtr;
- end;
- {
- * ICMDecompressionSessionCreate()
- *
- * Summary:
- * Creates a session for decompressing video frames.
- *
- * Discussion:
- * Frames will be output through calls to trackingCallback.
- *
- * Parameters:
- *
- * allocator:
- * An allocator for the session. Pass NULL to use the default
- * allocator.
- *
- * desc:
- * An image description for the source frames.
- *
- * decompressionOptions:
- * Options for the session. The session will retain this options
- * object. You may change some options during the session by
- * modifying the object.
- *
- * destinationPixelBufferAttributes:
- * Describes requirements for emitted pixel buffers.
- *
- * trackingCallback:
- * The callback to be called with information about queued frames,
- * and pixel buffers containing the decompressed frames.
- *
- * decompressionSessionOut:
- * Points to a variable to receive the new decompression session.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionCreateForVisualContext()
- *
- * Summary:
- * Creates a session for decompressing video frames.
- *
- * Discussion:
- * Frames will be output to a visual context. If desired, the
- * trackingCallback may attach additional data to pixel buffers
- * before they are sent to the visual context.
- *
- * Parameters:
- *
- * allocator:
- * An allocator for the session. Pass NULL to use the default
- * allocator.
- *
- * desc:
- * An image description for the source frames.
- *
- * decompressionOptions:
- * Options for the session. The session will retain this options
- * object. You may change some options during the session by
- * modifying the object.
- *
- * visualContext:
- * The target visual context.
- *
- * trackingCallback:
- * The callback to be called with information about queued frames,
- * and pixel buffers containing the decompressed frames.
- *
- * decompressionSessionOut:
- * Points to a variable to receive the new decompression session.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionRetain()
- *
- * Summary:
- * Increments the retain count of a decompression session.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionRetain( session: ICMDecompressionSessionRef ): ICMDecompressionSessionRef; external name '_ICMDecompressionSessionRetain';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionRelease()
- *
- * Summary:
- * Decrements the retain count of a decompression session. If it
- * drops to zero, the session is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- procedure ICMDecompressionSessionRelease( session: ICMDecompressionSessionRef ); external name '_ICMDecompressionSessionRelease';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for decompression sessions.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionGetTypeID: CFTypeID; external name '_ICMDecompressionSessionGetTypeID';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionDecodeFrame()
- *
- * Summary:
- * Queues a frame for decompression.
- *
- * Parameters:
- *
- * session:
- * The decompression session.
- *
- * data:
- * Points to the compressed data for this frame. The data must
- * remain in this location until the tracking callback is called
- * with the kICMDecompressionTracking_ReleaseSourceData flag set
- * in decompressionTrackingFlags.
- *
- * dataSize:
- * The number of bytes of compressed data. You may not pass zero
- * in this parameter.
- *
- * frameOptions:
- * Options for this frame.
- *
- * frameTime:
- * Points to a structure describing the frame's timing information.
- *
- * sourceFrameRefCon:
- * Your reference value for the frame.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionDecodeFrame( session: ICMDecompressionSessionRef; data: {const} UnivPtr; dataSize: ByteCount; frameOptions: ICMDecompressionFrameOptionsRef { can be NULL }; const (*var*) frameTime: ICMFrameTimeRecord; sourceFrameRefCon: UnivPtr ): OSStatus; external name '_ICMDecompressionSessionDecodeFrame';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionGetPropertyInfo()
- *
- * Summary:
- * Retrieves information about properties of a decompression session.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionGetProperty()
- *
- * Summary:
- * Retrieves the value of a specific property of a decompression
- * session.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionGetProperty( session: ICMDecompressionSessionRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMDecompressionSessionGetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionSetProperty()
- *
- * Summary:
- * Sets the value of a specific property of a decompression session.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionSetProperty( session: ICMDecompressionSessionRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMDecompressionSessionSetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMNonScheduledDisplayTime
- *
- * Discussion:
- * The display time for a decompression session.
- }
- type
- ICMNonScheduledDisplayTime = record
- {
- * A display time. Usually this is the display time of a
- * non-scheduled queued frame.
- }
- displayTime: TimeValue64;
- {
- * The timescale according to which displayTime should be interpreted.
- }
- displayTimeScale: TimeScale;
- {
- * Reserved, set to zero.
- }
- flags: UInt32;
- end;
- {
- * Summary:
- * Properties of decompression sessions.
- }
- const
- {
- * Class identifier for decompression session properties.
- }
- kQTPropertyClass_ICMDecompressionSession = FourCharCode('icds');
- {
- * The non-scheduled display time for a decompression session.
- * Setting this requests display of the non-scheduled queued frame at
- * that display time, if there is one.
- * See ICMDecompressionSessionSetNonScheduledDisplayTime.
- }
- kICMDecompressionSessionPropertyID_NonScheduledDisplayTime = FourCharCode('nsti'); { ICMNonScheduledDisplayTime, Read/Write }
- {
- * The direction for non-scheduled display time.
- * See ICMDecompressionSessionSetNonScheduledDisplayDirection.
- }
- kICMDecompressionSessionPropertyID_NonScheduledDisplayDirection = FourCharCode('nsdu'); { Fixed, Read/Write }
- {
- * The pixel buffer pool from which emitted pixel buffers are
- * allocated. Getting this does not change the retain count of the
- * pool.
- }
- kICMDecompressionSessionPropertyID_PixelBufferPool = FourCharCode('pool'); { CVPixelBufferPoolRef, Read }
- {
- * Indicates whether the a common pixel buffer pool is shared between
- * the decompressor and the session client. This is false if separate
- * pools are used because the decompressor's and the client's pixel
- * buffer attributes were incompatible.
- }
- kICMDecompressionSessionPropertyID_PixelBufferPoolIsShared = FourCharCode('plsh'); { Boolean, Read }
- {
- * ICMDecompressionSessionSetNonScheduledDisplayTime()
- *
- * Summary:
- * Sets the display time for a decompression session, and requests
- * display of the non-scheduled queued frame at that display time,
- * if there is one.
- *
- * Discussion:
- * Call ICMDecompressionSessionSetNonScheduledDisplayTime after
- * queueing non-scheduled frames with
- * ICMDecompressionSessionDecodeFrame with the
- * icmFrameTimeIsNonScheduledDisplayTime flag set to request display
- * of the frame at a particular display time.
- * If there is no queued non-scheduled frame with this display time,
- * the frame with the next earlier display time is displayed. (Which
- * of two display times is earlier is determined using the
- * non-scheduled display time direction, which you can set with
- * ICMDecompressionSessionSetNonScheduledDisplayDirection.) If there
- * is no such frame, nothing happens.
- * This has no effect if frames are scheduled against a timebase.
- *
- * Parameters:
- *
- * session:
- * The decompression session.
- *
- * displayTime:
- * A display time. Usually this is the display time of a
- * non-scheduled queued frame.
- *
- * displayTimeScale:
- * The timescale according to which displayTime should be
- * interpreted.
- *
- * flags:
- * Reserved, set to zero.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionSetNonScheduledDisplayTime( session: ICMDecompressionSessionRef; displayTime: TimeValue64; displayTimeScale: TimeScale; flags: UInt32 ): OSStatus; external name '_ICMDecompressionSessionSetNonScheduledDisplayTime';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionSetNonScheduledDisplayDirection()
- *
- * Summary:
- * Sets the direction for non-scheduled display time.
- *
- * Discussion:
- * If rate is zero or positive, direction is forwards. If negative,
- * direction is backwards.
- * Any frames queued under the opposite direction will be flushed.
- *
- * The non-scheduled display direction defaults to forwards (rate
- * 1.0).
- *
- * Parameters:
- *
- * session:
- * The decompression session.
- *
- * rate:
- * Indicates the direction.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionSetNonScheduledDisplayDirection( session: ICMDecompressionSessionRef; rate: Fixed ): OSStatus; external name '_ICMDecompressionSessionSetNonScheduledDisplayDirection';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionFlush()
- *
- * Summary:
- * Flushes frames queued with a decompression session.
- *
- * Discussion:
- * The tracking callback will be called for each frame with the
- * result -1.
- *
- * Parameters:
- *
- * session:
- * The decompression session.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionFlush( session: ICMDecompressionSessionRef ): OSStatus; external name '_ICMDecompressionSessionFlush';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionOptionsCreate()
- *
- * Summary:
- * Creates a decompression session options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionOptionsCreate( allocator: CFAllocatorRef { can be NULL }; var options: ICMDecompressionSessionOptionsRef ): OSStatus; external name '_ICMDecompressionSessionOptionsCreate';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionOptionsCreateCopy()
- *
- * Summary:
- * Copies a decompression session options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionOptionsCreateCopy( allocator: CFAllocatorRef { can be NULL }; originalOptions: ICMDecompressionSessionOptionsRef; var copiedOptions: ICMDecompressionSessionOptionsRef ): OSStatus; external name '_ICMDecompressionSessionOptionsCreateCopy';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionOptionsRetain()
- *
- * Summary:
- * Increments the retain count of a decompression session options
- * object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionOptionsRetain( options: ICMDecompressionSessionOptionsRef ): ICMDecompressionSessionOptionsRef; external name '_ICMDecompressionSessionOptionsRetain';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionOptionsRelease()
- *
- * Summary:
- * Decrements the retain count of a decompression session options
- * object. If it drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- procedure ICMDecompressionSessionOptionsRelease( options: ICMDecompressionSessionOptionsRef ); external name '_ICMDecompressionSessionOptionsRelease';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionOptionsGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for decompression session options objects.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionOptionsGetTypeID: CFTypeID; external name '_ICMDecompressionSessionOptionsGetTypeID';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionOptionsGetPropertyInfo()
- *
- * Summary:
- * Retrieves information about properties of a decompression session
- * options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionOptionsGetProperty()
- *
- * Summary:
- * Retrieves the value of a specific property of a decompression
- * session options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionOptionsGetProperty( options: ICMDecompressionSessionOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMDecompressionSessionOptionsGetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionSessionOptionsSetProperty()
- *
- * Summary:
- * Sets the value of a specific property of a decompression session
- * options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionSessionOptionsSetProperty( options: ICMDecompressionSessionOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMDecompressionSessionOptionsSetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * Summary:
- * Properties of decompression session options objects.
- }
- const
- {
- * Class identifier for decompression session options object
- * properties.
- }
- kQTPropertyClass_ICMDecompressionSessionOptions = FourCharCode('idso');
- {
- * By default, this is true, meaning that frames must be output in
- * display order. Set this to false to allow frames to be output in
- * decode order rather than in display order.
- }
- kICMDecompressionSessionOptionsPropertyID_DisplayOrderRequired = FourCharCode('dorq'); { Boolean, Read/Write }
- {
- * A specific decompressor component or component instance to be
- * used, or one of the wildcards anyCodec, bestSpeedCodec,
- * bestFidelityCodec, or bestCompressionCodec.
- * By default, this is anyCodec.
- }
- kICMDecompressionSessionOptionsPropertyID_DecompressorComponent = FourCharCode('imdc'); { DecompressorComponent, Read/Write }
- {
- * The decompression accuracy.
- * The default accuracy is codecNormalQuality.
- }
- kICMDecompressionSessionOptionsPropertyID_Accuracy = FourCharCode('acur'); { CodecQ, Read/Write }
- {
- * Requests special handling of fields. Not all codecs will obey this
- * request; some codecs will only handle it at certain accuracy
- * levels. Ignored for non-interlaced content.
- }
- kICMDecompressionSessionOptionsPropertyID_FieldMode = FourCharCode('fiel'); { ICMFieldMode, Read/Write }
- {
- * The maximum number of buffers ahead of the current time that
- * should be decompressed. Used in sessions that target visual
- * contexts. By default, the number of buffers will be determined
- * from the visual context.
- }
- kICMDecompressionSessionOptionsPropertyID_MaxBufferCount = FourCharCode('m#bf'); { UInt32, Read/Write }
- {
- * The minimum time ahead of the current time that frames should be
- * decompressed. Used in sessions that target visual contexts. By
- * default, the output-ahead time will be determined from the visual
- * context.
- }
- kICMDecompressionSessionOptionsPropertyID_OutputAheadTime = FourCharCode('futu'); { TimeRecord, Read/Write }
- {
- * You can set the aperture mode property on a decompression session
- * options object to indicate whether pixel buffers should be tagged
- * to enable aspect ratio and clean aperture correction. The default
- * aperture mode for a decompression session is clean aperture mode.
- }
- kICMDecompressionSessionOptionsPropertyID_ApertureMode = FourCharCode('apmd'); { OSType, Read/Write }
- {
- * ICMFieldMode
- *
- * Summary:
- * Describes special field handling.
- }
- type
- ICMFieldMode = UInt32;
- const
- {
- * Both fields should be decompressed.
- }
- kICMFieldMode_BothFields = 0;
- {
- * Only the top field should be decompressed, producing a half-height
- * image.
- }
- kICMFieldMode_TopFieldOnly = 1;
- {
- * Only the bottom field should be decompressed, producing a
- * half-height image.
- }
- kICMFieldMode_BottomFieldOnly = 2;
- {
- * Both fields should be decompressed, and then filtered to reduce
- * interlacing artifacts.
- }
- kICMFieldMode_DeinterlaceFields = 3;
- {
- * ICMDecompressionFrameOptionsCreate()
- *
- * Summary:
- * Creates a frame decompression options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionFrameOptionsCreate( allocator: CFAllocatorRef { can be NULL }; var options: ICMDecompressionFrameOptionsRef ): OSStatus; external name '_ICMDecompressionFrameOptionsCreate';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionFrameOptionsCreateCopy()
- *
- * Summary:
- * Copies a frame decompression options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionFrameOptionsCreateCopy( allocator: CFAllocatorRef { can be NULL }; originalOptions: ICMDecompressionFrameOptionsRef; var copiedOptions: ICMDecompressionFrameOptionsRef ): OSStatus; external name '_ICMDecompressionFrameOptionsCreateCopy';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionFrameOptionsRetain()
- *
- * Summary:
- * Increments the retain count of a frame decompression options
- * object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionFrameOptionsRetain( options: ICMDecompressionFrameOptionsRef ): ICMDecompressionFrameOptionsRef; external name '_ICMDecompressionFrameOptionsRetain';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionFrameOptionsRelease()
- *
- * Summary:
- * Decrements the retain count of a frame decompression options
- * object. If it drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- procedure ICMDecompressionFrameOptionsRelease( options: ICMDecompressionFrameOptionsRef ); external name '_ICMDecompressionFrameOptionsRelease';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionFrameOptionsGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for frame decompression options objects.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionFrameOptionsGetTypeID: CFTypeID; external name '_ICMDecompressionFrameOptionsGetTypeID';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionFrameOptionsGetPropertyInfo()
- *
- * Summary:
- * Retrieves information about properties of a decompression frame
- * options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionFrameOptionsGetProperty()
- *
- * Summary:
- * Retrieves the value of a specific property of a decompression
- * frame options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionFrameOptionsGetProperty( options: ICMDecompressionFrameOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMDecompressionFrameOptionsGetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMDecompressionFrameOptionsSetProperty()
- *
- * Summary:
- * Sets the value of a specific property of a decompression frame
- * options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMDecompressionFrameOptionsSetProperty( options: ICMDecompressionFrameOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMDecompressionFrameOptionsSetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * Summary:
- * Properties of decompression frame options objects.
- }
- const
- {
- * Class identifier for decompression frame options object properties.
- }
- kQTPropertyClass_ICMDecompressionFrameOptions = FourCharCode('idfo');
- {
- * A specific pixel buffer that the frame should be decompressed
- * into. Setting this circumvents the pixel buffer pool mechanism. If
- * this buffer is not compatible with the codec's pixel buffer
- * requirements, decompression will fail.
- }
- kICMDecompressionFrameOptionsPropertyID_DestinationPixelBuffer = FourCharCode('cvpb'); { CVPixelBufferRef, Read/Write }
- {
- * ICMCompressionSessionRef
- *
- * Summary:
- * Represents a compression session for a sequence of images.
- * B-frame capable.
- }
- type
- ICMCompressionSessionRef = ^SInt32; { an opaque type }
- {
- * ICMEncodedFrameRef
- *
- * Summary:
- * Represents a frame encoded by a compressor component and emitted
- * by a compression session.
- *
- * Discussion:
- * Compressor components have access to the mutable flavor of
- * encoded frame object (ICMMutableEncodedFrameRef); compression
- * session clients receive the read-only flavor
- * (ICMMutableEncodedFrameRef).
- }
- type
- ICMEncodedFrameRef = ^SInt32; { an opaque type }
- ICMEncodedFrameRefPtr = ^ICMEncodedFrameRef;
- ICMMutableEncodedFrameRef = ^SInt32; { an opaque type }
- ICMMutableEncodedFrameRefPtr = ^ICMMutableEncodedFrameRef;
- {
- * ICMCompressionSessionOptionsRef
- *
- * Summary:
- * An opaque struct which holds options to configure a compression
- * session.
- }
- type
- ICMCompressionSessionOptionsRef = ^SInt32; { an opaque type }
- {
- * ICMCompressionFrameOptionsRef
- *
- * Summary:
- * A token which holds options to configure an individual frame
- * during a compression session.
- }
- type
- ICMCompressionFrameOptionsRef = ^SInt32; { an opaque type }
- {
- * ICMMultiPassStorageRef
- *
- * Summary:
- * A mechanism for storing information for each frame of a multipass
- * compression session.
- *
- * Discussion:
- * The ICM provides default storage mechanisms using temporary
- * files, but clients may override this with custom mechanisms.
- }
- type
- ICMMultiPassStorageRef = ^SInt32; { an opaque type }
- {
- * ICMEncodedFrameOutputCallback
- *
- * Summary:
- * The callback through which a client of an ICM compression session
- * receives encoded frames.
- *
- * Discussion:
- * During the encoded frame output callback, the ICM has a reference
- * to the passed ICMEncodedFrame, but the ICM will release that
- * reference afterwards; the callback should retain the encoded
- * frame if the client wants to keep it after the callback returns.
- *
- * Parameters:
- *
- * encodedFrameOutputRefCon:
- * The callback's reference value, copied from the
- * encodedFrameOutputRefCon field of the
- * ICMEncodedFrameOutputRecord.
- *
- * session:
- * The compression session.
- *
- * error:
- * Indicates whether there was an error.
- *
- * frame:
- * The encoded frame.
- *
- * reserved:
- * Reserved for future use. Ignore the value of this parameter.
- *
- * Result:
- * If the callback returns an error, the compressor and ICM will
- * stop emitting frames so that the error can be propogated back to
- * the caller of ICMCompressionSessionEncodeFrame or
- * ICMCompressionSessionCompleteFrames.
- }
- type
- ICMEncodedFrameOutputCallback = function( encodedFrameOutputRefCon: UnivPtr; session: ICMCompressionSessionRef; error: OSStatus; frame: ICMEncodedFrameRef; reserved: UnivPtr ): OSStatus;
- {
- * ICMEncodedFrameOutputRecord
- *
- * Summary:
- * Holds an encoded frame callback and reference value.
- }
- type
- ICMEncodedFrameOutputRecord = record
- {
- * An encoded frame callback.
- }
- encodedFrameOutputCallback: ICMEncodedFrameOutputCallback;
- {
- * The reference value for the encoded frame callback.
- }
- encodedFrameOutputRefCon: UnivPtr;
- {
- * The allocator for encoded frame data. Pass NULL if you do not need
- * a specific allocator.
- }
- frameDataAllocator: CFAllocatorRef;
- end;
- {
- * ICMSourceTrackingFlags
- *
- }
- type
- ICMSourceTrackingFlags = UInt32;
- const
- {
- * Indicates that this is the last call for this sourceFrameRefCon.
- }
- kICMSourceTracking_LastCall = 1 shl 0;
- {
- * Indicates that the session is done with the source pixel buffer
- * and has released any reference to it that it had.
- }
- kICMSourceTracking_ReleasedPixelBuffer = 1 shl 1;
- {
- * Indicates that this frame was encoded.
- }
- kICMSourceTracking_FrameWasEncoded = 1 shl 2;
- {
- * Indicates that this frame was dropped.
- }
- kICMSourceTracking_FrameWasDropped = 1 shl 3;
- {
- * Indicates that this frame was merged into other frames.
- }
- kICMSourceTracking_FrameWasMerged = 1 shl 4;
- {
- * Indicates that the time stamp of this frame was modified.
- }
- kICMSourceTracking_FrameTimeWasChanged = 1 shl 5;
- {
- * Indicates that the ICM has copied the image from the source pixel
- * buffer into another pixel buffer because the source pixel buffer
- * was not compatible with the compressor's required pixel buffer
- * attributes.
- }
- kICMSourceTracking_CopiedPixelBuffer = 1 shl 6;
- {
- * ICMSourceTrackingCallback
- *
- * Summary:
- * A callback which the ICM calls to provide information about the
- * status of a frame that was passed to
- * ICMCompressionSessionEncodeFrame.
- *
- * Discussion:
- * Note that this callback may be called several times.
- *
- * Parameters:
- *
- * sourceTrackingRefCon:
- * The callback's reference value, copied from the
- * sourceTrackingRefCon field of ICMSourceTrackingCallbackRecord.
- *
- * sourceTrackingFlags:
- * Flags describing what has happened to the frame.
- *
- * sourceFrameRefCon:
- * The frame's reference value, copied from the sourceFrameRefCon
- * parameter to ICMCompressionSessionEncodeFrame.
- *
- * reserved:
- * Reserved for future use. Ignore the value of this parameter.
- }
- type
- ICMSourceTrackingCallback = procedure( sourceTrackingRefCon: UnivPtr; sourceTrackingFlags: ICMSourceTrackingFlags; sourceFrameRefCon: UnivPtr; reserved: UnivPtr );
- {
- * ICMSourceTrackingCallbackRecord
- *
- * Summary:
- * A tracking callback for an ICM compression session.
- }
- type
- ICMSourceTrackingCallbackRecordPtr = ^ICMSourceTrackingCallbackRecord;
- ICMSourceTrackingCallbackRecord = record
- {
- * The callback function pointer.
- }
- sourceTrackingCallback: ICMSourceTrackingCallback;
- {
- * The callback's reference value.
- }
- sourceTrackingRefCon: UnivPtr;
- end;
- {
- * ICMFrameType
- *
- * Summary:
- * Informally identifies a type of frame.
- *
- * Discussion:
- * Do not assume that there are no other frame types beyond I, P and
- * B.
- }
- type
- ICMFrameType = UInt16;
- const
- kICMFrameType_I = 'I';
- kICMFrameType_P = 'P';
- kICMFrameType_B = 'B';
- kICMFrameType_Unknown = 0;
- { ICMCompressionSessionRef routines }
- {
- * ICMCompressionSessionCreate()
- *
- * Summary:
- * Creates a compression session for the given codec type.
- *
- * Discussion:
- * Some compressors do not support arbitrary source dimensions, and
- * may override the suggested width and height.
- *
- * Parameters:
- *
- * allocator:
- * An allocator for the session. Pass NULL to use the default
- * allocator.
- *
- * width:
- * The width of frames.
- *
- * height:
- * The height of frames.
- *
- * cType:
- * The codec type.
- *
- * timescale:
- * The timescale to be used for all timestamps and durations used
- * in the session.
- *
- * compressionOptions:
- * Settings configuring the session.
- *
- * sourcePixelBufferAttributes:
- * Required attributes for source pixel buffers, used when
- * creating a pixel buffer pool for source frames. If you do not
- * want the ICM to create one for you, pass NULL. (Using pixel
- * buffers not allocated by the ICM may increase the chance that
- * it will be necessary to copy image data.)
- *
- * encodedFrameOutputRecord:
- * The callback that will receive encoded frames.
- *
- * compressionSessionOut:
- * Points to a variable to receive the created session object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionRetain()
- *
- * Summary:
- * Increments the retain count of a compression session.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionRetain( session: ICMCompressionSessionRef ): ICMCompressionSessionRef; external name '_ICMCompressionSessionRetain';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionRelease()
- *
- * Summary:
- * Decrements the retain count of a compression session. If it
- * drops to zero, the session is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens. Remember to
- * call ICMCompressionSessionCompleteFrames first if you want to
- * ensure any pending frames are emitted. If you do not, they will
- * be discarded.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- procedure ICMCompressionSessionRelease( session: ICMCompressionSessionRef ); external name '_ICMCompressionSessionRelease';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for compression sessions.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionGetTypeID: CFTypeID; external name '_ICMCompressionSessionGetTypeID';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionGetPropertyInfo()
- *
- * Summary:
- * Retrieves information about properties of a compression session.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionGetProperty()
- *
- * Summary:
- * Retrieves the value of a specific property of a compression
- * session.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionGetProperty( session: ICMCompressionSessionRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMCompressionSessionGetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionSetProperty()
- *
- * Summary:
- * Sets the value of a specific property of a compression session.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionSetProperty( session: ICMCompressionSessionRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMCompressionSessionSetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * Summary:
- * Properties of compression sessions.
- }
- const
- {
- * Class identifier for compression session properties.
- }
- kQTPropertyClass_ICMCompressionSession = FourCharCode('icse');
- {
- * The time scale for the compression session.
- }
- kICMCompressionSessionPropertyID_TimeScale = FourCharCode('tscl'); { TimeScale, Read }
- {
- * The compressor's pixel buffer attributes for the compression
- * session. You can use these to create a pixel buffer pool for
- * source pixel buffers. Note that this is not the same as the
- * sourcePixelBufferAttributes passed in to
- * ICMCompressionSessionCreate. Getting this property does not change
- * its retain count.
- }
- kICMCompressionSessionPropertyID_CompressorPixelBufferAttributes = FourCharCode('batt'); { CFDictionaryRef, Read }
- {
- * A pool that can provide ideal source pixel buffers for a
- * compression session. The compression session creates this pixel
- * buffer pool based on the compressor's pixel buffer attributes and
- * any pixel buffer attributes passed in to
- * ICMCompressionSessionCreate. If the source pixel buffer attributes
- * and the compressor pixel buffer attributes can not be reconciled,
- * the pool is based on the source pixel buffer attributes and the
- * ICM converts each CVPixelBuffer internally.
- }
- kICMCompressionSessionPropertyID_PixelBufferPool = FourCharCode('pool'); { CVPixelBufferPoolRef, Read }
- {
- * The image description for the compression session. For some
- * codecs, the image description may not be available before the
- * first frame is compressed. Multiple calls to retrieve this
- * property will return the same handle. The ICM will dispose this
- * handle when the compression session is disposed.
- * IMPORTANT: The caller must NOT dispose this handle.
- }
- kICMCompressionSessionPropertyID_ImageDescription = FourCharCode('idsc'); { ImageDescriptionHandle, Read }
- {
- * ICMCompressionSessionGetTimeScale()
- *
- * Summary:
- * Retrieves the time scale for the compression session.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionGetTimeScale( session: ICMCompressionSessionRef ): TimeScale; external name '_ICMCompressionSessionGetTimeScale';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionGetPixelBufferPool()
- *
- * Summary:
- * Returns a pool that can provide ideal source pixel buffers for a
- * compression session.
- *
- * Discussion:
- * The compression session creates this pixel buffer pool based on
- * the compressor's pixel buffer attributes and any pixel buffer
- * attributes passed in to ICMCompressionSessionCreate. If the
- * source pixel buffer attributes and the compressor pixel buffer
- * attributes can not be reconciled, the pool is based on the source
- * pixel buffer attributes and the ICM converts each CVPixelBuffer
- * internally.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionGetPixelBufferPool( session: ICMCompressionSessionRef ): CVPixelBufferPoolRef; external name '_ICMCompressionSessionGetPixelBufferPool';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionGetImageDescription()
- *
- * Summary:
- * Retrieves the image description for the compression session.
- *
- * Discussion:
- * For some codecs, this may fail if called before the first frame
- * is compressed. Multiple calls to
- * ICMCompressionSessionGetImageDescription will return the same
- * handle. The ICM will dispose this handle when the compression
- * session is disposed.
- * IMPORTANT: The caller must NOT dispose this handle.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionGetImageDescription( session: ICMCompressionSessionRef; var imageDescOut: ImageDescriptionHandle ): OSStatus; external name '_ICMCompressionSessionGetImageDescription';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- { ICMCompressionSessionRef encoding routines }
- {
- * ICMCompressionSessionEncodeFrame()
- *
- * Summary:
- * Call this function to present frames to the compression session.
- * Encoded frames may or may not be output before the function
- * returns.
- *
- * Discussion:
- * The session will retain the pixel buffer as long as necessary;
- * the client should not modify the pixel data until the session
- * releases it. (The most practical way to deal with this is by
- * allocating pixel buffers from a pool.)
- * The client may fill in both, either or neither of
- * displayTimeStamp and displayDuration, but should set the
- * appropriate flags to indicate which is valid. If the client needs
- * to track the progress of a source frame, it should provide a
- * sourceTrackingCallback.
- * Note: If multipass compression is enabled, calls to
- * ICMCompressionSessionEncodeFrame must be bracketed by
- * ICMCompressionSessionBeginPass ... ICMCompressionSessionEndPass.
- *
- * Parameters:
- *
- * session:
- * Identifies the compression session.
- *
- * pixelBuffer:
- * Contains the source image to be compressed. PixelBuffer must
- * have a nonzero reference count. The session will retain it as
- * long as necessary. The client should not modify pixel buffer's
- * pixels until the pixel buffer release callback is called. In a
- * multipass encoding session pass where the compressor suggested
- * the flag kICMCompressionPassMode_NoSourceFrames, you may pass
- * NULL for pixelBuffer.
- *
- * displayTimeStamp:
- * The display timestamp of the frame, using the timescale passed
- * to ICMCompressionSessionCreate. If you pass a valid value, set
- * the kICMValidTime_DisplayTimeStampIsValid flag in
- * validTimeFlags.
- *
- * displayDuration:
- * The display duration of the frame, using the timescale passed
- * to ICMCompressionSessionCreate. If you pass a valid value, set
- * the kICMValidTime_DisplayDurationIsValid flag in validTimeFlags.
- *
- * validTimeFlags:
- * Flags to indicate which of displayTimeStamp and displayDuration
- * are valid.
- *
- * frameOptions:
- * Options for this frame.
- *
- * sourceTrackingCallback:
- * A callback to be notified about the status of this source
- * frame. Pass NULL if you do not require notification.
- *
- * sourceFrameRefCon:
- * Your reference to the source frame.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionCompleteFrames()
- *
- * Discussion:
- * Call this function to force the compression session to complete
- * encoding frames. Set completeAllFrames to direct the session to
- * complete all pending frames.
- * If completeAllFrames is false, only frames with display time
- * stamps up to and including completeUntilDisplayTimeStamp.
- * If ICMCompressionSessionOptionsSetDurationsNeeded is true and you
- * are passing valid display timestamps but not display durations to
- * ICMCompressionSessionEncodeFrame, pass the display timestamp of
- * the next frame that would be passed to EncodeFrame in
- * nextDisplayTimeStamp.
- * Note: This function might return before frames are completed if
- * the encoded frame callback returns an error.
- *
- * Parameters:
- *
- * session:
- * Identifies the compression session.
- *
- * completeAllFrames:
- * Set to direct the session to complete all pending frames.
- *
- * completeUntilDisplayTimeStamp:
- * If completeAllFrames is false, the display timestamp to
- * complete frames up to. Ignored if completeAllFrames is true.
- *
- * nextDisplayTimeStamp:
- * See above. Ignored unless
- * ICMCompressionSessionOptionsSetDurationsNeeded set true and
- * kICMValidTime_DisplayDurationIsValid was clear in
- * validTimeFlags in last call to ICMCompressionSessionEncodeFrame.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionCompleteFrames( session: ICMCompressionSessionRef; completeAllFrames: Boolean; completeUntilDisplayTimeStamp: TimeValue64; nextDisplayTimeStamp: TimeValue64 ): OSStatus; external name '_ICMCompressionSessionCompleteFrames';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- { ICMCompressionSessionRef multipass support routines }
- {
- * ICMCompressionPassModeFlags
- *
- * Summary:
- * Flags describing how a compressor should behave in a given pass
- * of multipass encoding.
- }
- type
- ICMCompressionPassModeFlagsPtr = ^ICMCompressionPassModeFlags;
- ICMCompressionPassModeFlags = UInt32;
- const
- {
- * In this pass the compressor shall output encoded frames.
- }
- kICMCompressionPassMode_OutputEncodedFrames = 1 shl 0;
- {
- * In this pass the client need not provide source frame buffers.
- }
- kICMCompressionPassMode_NoSourceFrames = 1 shl 1;
- {
- * In this pass the compressor may write private data to multipass
- * storage.
- }
- kICMCompressionPassMode_WriteToMultiPassStorage = 1 shl 2;
- {
- * In this pass the compressor may read private data from multipass
- * storage.
- }
- kICMCompressionPassMode_ReadFromMultiPassStorage = 1 shl 3;
- {
- * The compressor will set this flag to indicate that it will not be
- * able to output encoded frames in the coming pass. If this flag is
- * not set, then the client is allowed to set the
- * kICMCompressionPassMode_OutputEncodedFrames flag when calling
- * ICMCompressionSessionBeginPass.
- }
- kICMCompressionPassMode_NotReadyToOutputEncodedFrames = 1 shl 4;
- {
- * ICMCompressionSessionSupportsMultiPassEncoding()
- *
- * Summary:
- * Queries whether a compression session supports multipass encoding.
- *
- * Discussion:
- * Even if this function returns false, if you set the
- * kICMCompressionSessionOptionsPropertyID_MultiPassStorage property
- * on the CompressionSessionOptions, you must call
- * ICMCompressionSessionBeginPass and ICMCompressionSessionEndPass.
- *
- * Parameters:
- *
- * session:
- * The compression session.
- *
- * multiPassStyleFlags:
- * Reserved. Set to zero.
- *
- * firstPassModeFlagsOut:
- * Points to a variable to receive the session's requested mode
- * flags for the first pass. The client may modify these flags,
- * but should not set kICMCompressionPassMode_NoSourceFrames. Pass
- * NULL if you do not want this information.
- *
- * Result:
- * true if the session supports multipass encoding, false otherwise.
- * If the session does not support multipass encoding,
- * *firstPassModeFlagsOut will be set to
- * kICMCompressionPassMode_OutputEncodedFrames.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionSupportsMultiPassEncoding( session: ICMCompressionSessionRef; multiPassStyleFlags: UInt32; firstPassModeFlagsOut: ICMCompressionPassModeFlagsPtr { can be NULL } ): Boolean; external name '_ICMCompressionSessionSupportsMultiPassEncoding';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionBeginPass()
- *
- * Summary:
- * Call to announce the start of a specific compression pass.
- *
- * Discussion:
- * The source frames and frame options for each display timestamp
- * should be the same across passes.
- * During multipass compression, valid displayTimeStamps must be
- * passed to ICMCompressionSessionEncodeFrame since they are used to
- * index the compressor's stored state.
- * During an analysis pass
- * (kICMCompressionPassMode_WriteToMultiPassStorage), the compressor
- * does not output encoded frames, but records compressor-private
- * information for each frame.
- * During repeated analysis passes and the encoding pass
- * (kICMCompressionPassMode_ReadFromMultiPassStorage), the
- * compressor may refer to this information for other frames and use
- * it to improve encoding.
- * During an encoding pass
- * (kICMCompressionPassMode_OutputEncodedFrames), the compressor
- * must output encoded frames.
- * If the compressor set the kICMCompressionPassMode_NoSourceFrames
- * flag for the pass, the client may pass NULL pixel buffers to
- * ICMCompressionSessionEncodeFrame.
- * By default, the ICM provides local storage that lasts only until
- * the compression session is disposed. If the client provides
- * custom multipass storage, pass may be performed at different
- * times or on different machines; segments of each pass may even be
- * distributed.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionBeginPass( session: ICMCompressionSessionRef; passModeFlags: ICMCompressionPassModeFlags; flags: UInt32 ): OSStatus; external name '_ICMCompressionSessionBeginPass';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionEndPass()
- *
- * Summary:
- * Call to announce the end of a pass.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionEndPass( session: ICMCompressionSessionRef ): OSStatus; external name '_ICMCompressionSessionEndPass';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionProcessBetweenPasses()
- *
- * Summary:
- * Lets the compressor perform processing between passes.
- *
- * Discussion:
- * Call this function repeatedly, until the compressor sets
- * *interpassProcessingDoneOut to true to indicate that it is done
- * with this round of interpass processing.
- * When done, the compressor will indicate its preferred mode for
- * the next pass.
- * The client may choose to begin an encoding pass (by ORing in the
- * kICMCompressionPassMode_OutputEncodedFrames flag) regardless of
- * the compressor's request.
- *
- * Parameters:
- *
- * session:
- * The compression session.
- *
- * flags:
- * Reserved. Set to zero.
- *
- * interpassProcessingDoneOut:
- * Points to a Boolean that will be set to false if
- * ICMCompressionSessionProcessBetweenPasses should be called
- * again, true if not
- *
- * requestedNextPassModeFlagsOut:
- * Points to ICMCompressionPassModeFlags that will be set to the
- * codec's recommended mode flags for the next pass.
- * kICMCompressionPassMode_OutputEncodedFrames will only be set if
- * it recommends that the next pass be the final one.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionProcessBetweenPasses( session: ICMCompressionSessionRef; flags: UInt32; var interpassProcessingDoneOut: Boolean; var requestedNextPassModeFlagsOut: ICMCompressionPassModeFlags ): OSStatus; external name '_ICMCompressionSessionProcessBetweenPasses';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- { ICMCompressionSessionOptionsRef routines }
- {
- * ICMCompressionSessionOptionsCreate()
- *
- * Summary:
- * Creates a compression session options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsCreate( allocator: CFAllocatorRef { can be NULL }; var options: ICMCompressionSessionOptionsRef ): OSStatus; external name '_ICMCompressionSessionOptionsCreate';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsCreateCopy()
- *
- * Summary:
- * Copies a compression session options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsCreateCopy( allocator: CFAllocatorRef { can be NULL }; originalOptions: ICMCompressionSessionOptionsRef; var copiedOptions: ICMCompressionSessionOptionsRef ): OSStatus; external name '_ICMCompressionSessionOptionsCreateCopy';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsRetain()
- *
- * Summary:
- * Increments the retain count of a compression session options
- * object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsRetain( options: ICMCompressionSessionOptionsRef ): ICMCompressionSessionOptionsRef; external name '_ICMCompressionSessionOptionsRetain';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsRelease()
- *
- * Summary:
- * Decrements the retain count of a compression session options
- * object. If it drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- procedure ICMCompressionSessionOptionsRelease( options: ICMCompressionSessionOptionsRef ); external name '_ICMCompressionSessionOptionsRelease';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for compression session options objects.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsGetTypeID: CFTypeID; external name '_ICMCompressionSessionOptionsGetTypeID';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsGetPropertyInfo()
- *
- * Summary:
- * Retrieves information about properties of a compression session
- * options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsGetProperty()
- *
- * Summary:
- * Retrieves the value of a specific property of a compression
- * session options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsGetProperty( options: ICMCompressionSessionOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMCompressionSessionOptionsGetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsSetProperty()
- *
- * Summary:
- * Sets the value of a specific property of a compression session
- * options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsSetProperty( options: ICMCompressionSessionOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMCompressionSessionOptionsSetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- const
- {
- * Indicates no limit on the number of frames in the compression
- * window.
- }
- kICMUnlimitedFrameDelayCount = -1;
- {
- * Indicates no time limit on the number of frames in the compression
- * window.
- }
- kICMUnlimitedFrameDelayTime = -1;
- {
- * Indicates no CPU time limit on compression.
- }
- kICMUnlimitedCPUTimeBudget = -1;
- {
- * ICMDataRateLimit
- *
- * Summary:
- * A hard limit on the data rate.
- *
- * Discussion:
- * A hard limit is described by a data size in bytes and a duration
- * in seconds, and requires that the total size of compressed data
- * for any continuous segment of that duration (in decode time) must
- * not exceed the provided data size.
- }
- type
- ICMDataRateLimit = record
- {
- * The number of bytes.
- }
- dataSize: SInt32;
- {
- * The number of seconds.
- }
- dataDuration: Float32;
- end;
- {
- * Summary:
- * Scaling modes
- *
- * Discussion:
- * These constants indicate how source frames to a compression
- * session should be scaled if the dimensions and/or display aspect
- * ratio do not match.
- }
- const
- {
- * The full width and height of source frames shall be scaled to the
- * full width and height of the destination. This is the default if
- * no other scaling mode is specified.
- }
- kICMScalingMode_StretchProductionAperture = FourCharCode('sp2p');
- {
- * The clean aperture of the source frames shall be scaled to the
- * clean aperture of the destination.
- }
- kICMScalingMode_StretchCleanAperture = FourCharCode('sc2c');
- {
- * The clean aperture of the source frames shall be scaled to fit
- * inside the clean aperture of the destination, preserving the
- * original display aspect ratio. If the display aspect ratios are
- * different, the source frames will be centered with black bars
- * above and below, or to the left and right.
- }
- kICMScalingMode_Letterbox = FourCharCode('lett');
- {
- * The clean aperture of the source frames shall be scaled to cover
- * the clean aperture of the destination, preserving the original
- * display aspect ratio. If the display aspect ratios are different,
- * the source frames will be centered and cropped.
- }
- kICMScalingMode_Trim = FourCharCode('trim');
- {
- * ICMSimpleBoundaryConditions
- *
- * Summary:
- * Indicates whether and how a compression session's frames will be
- * concatenated with other compressed frames to form a longer series.
- *
- * Discussion:
- * Some clients divide a long series of frames into several shorter
- * segments, each of which is then compressed by an independent
- * compression session. Boundary conditions tell the compressor
- * about how each session fits into the greater series: does this
- * session stand alone, or will it be used to encode the first
- * segment, a middle segment, or the last segment in a longer
- * continuum?
- * This information enables compressors to ensure that compressed
- * segments can be concatenated smoothly -- for example, avoiding
- * data rate spikes where segments are joined.
- * By default, a session is assumed to stand alone.
- }
- type
- ICMSimpleBoundaryConditions = record
- {
- * True if frames compressed in a separate session will be
- * concatenated before the beginning of this one. False if this is a
- * stand-alone session, or if this session will encode the first
- * segment of a multi-segment compression. By default, false.
- }
- moreFramesBeforeStart: Boolean;
- {
- * True if frames compressed in a separate session will be
- * concatenated following the end of this one. False if this is a
- * stand-alone session, or if this session will encode the last
- * segment of a multi-segment compression. By default, false.
- }
- moreFramesAfterEnd: Boolean;
- end;
- {
- * Summary:
- * Properties of compression sessions options objects.
- }
- const
- {
- * Class identifier for compression session options object properties.
- }
- kQTPropertyClass_ICMCompressionSessionOptions = FourCharCode('icso');
- {
- * Enables temporal compression. By default, temporal compression is
- * disabled.
- * IMPORTANT: If you want temporal compression (P frames and/or B
- * frames) you must set this to true.
- }
- kICMCompressionSessionOptionsPropertyID_AllowTemporalCompression = FourCharCode('p ok'); { Boolean, Read/Write }
- {
- * Enables frame reordering.
- * In order to encode B frames, a compressor must reorder frames,
- * which means that the order in which they will be emitted and
- * stored (the decode order) is different from the order in which
- * they were presented to the compressor (the display order).
- * By default, frame reordering is disabled.
- * IMPORTANT: In order to encode using B frames, you must enable
- * frame reordering.
- }
- kICMCompressionSessionOptionsPropertyID_AllowFrameReordering = FourCharCode('b ok'); { Boolean, Read/Write }
- {
- * Indicates that durations of emitted frames are needed.
- * If this flag is set and source frames are provided with times but
- * not durations, then frames will be delayed so that durations can
- * be calculated as the difference between one frame's time stamp and
- * the next frame's time stamp.
- * By default, this flag is clear, so frames will not be delayed in
- * order to calculate durations.
- * IMPORTANT: If you will be passing encoded frames to
- * AddMediaSampleFromEncodedFrame, you must set this flag to true.
- }
- kICMCompressionSessionOptionsPropertyID_DurationsNeeded = FourCharCode('need'); { Boolean, Read/Write }
- {
- * The maximum interval between key frames, also known as the key
- * frame rate.
- * Key frames, also known as sync frames, reset inter-frame
- * dependencies; decoding a key frame is sufficient to prepare a
- * decompressor for correctly decoding the difference frames that
- * follow.
- * Compressors are allowed to generate key frames more frequently if
- * this would result in more efficient compression.
- * The default key frame interval is 0, which indicates that the
- * compressor should choose where to place all key frames. A key
- * frame interval of 1 indicates that every frame must be a key
- * frame, 2 indicates that at least every other frame must be a key
- * frame, etc.
- }
- kICMCompressionSessionOptionsPropertyID_MaxKeyFrameInterval = FourCharCode('kyfr'); { SInt32, Read/Write }
- {
- * The requested maximum interval between partial sync frames. If the
- * interval is n, any sequence of n successive frames must include at
- * least one key or partial sync frame.
- * Where supported, partial sync frames perform a partial reset of
- * inter-frame dependencies; decoding two partial sync frames and the
- * non-droppable difference frames between them is sufficient to
- * prepare a decompressor for correctly decoding the difference
- * frames that follow.
- * Compressors are allowed to generate partial sync frames more
- * frequently if this would result in more efficient compression.
- *
- * The default partial sync frame interval is 0, which indicates that
- * the compressor should choose where to place partial sync frames. A
- * partial sync frame interval of 1 means there can be no difference
- * frames, so it is equivalent to a key frame interval of 1. A
- * partial sync frame interval of 2 means that every other frame must
- * be a key frame or a partial sync frame.
- * Compressors that do not support partial sync frames will ignore
- * this setting.
- }
- kICMCompressionSessionOptionsPropertyID_MaxPartialSyncFrameInterval = FourCharCode('psfr'); { SInt32, Read/Write }
- {
- * Enables the compressor to modify frame times.
- * Some compressors are able to identify and coalesce runs of
- * identical frames and output single frames with longer duration, or
- * output frames at a different frame rate from the original. This
- * feature is controlled by the "allow frame time changes" flag. By
- * default, this flag is set to false, which forces compressors to
- * emit one encoded frame for every source frame, and to preserve
- * frame display times.
- * (Note: this feature replaces the practice of having compressors
- * return special high similarity values to indicate that frames
- * could be dropped.)
- * If you want to allow the compressor to modify frame times in order
- * to improve compression performance, enable frame time changes.
- }
- kICMCompressionSessionOptionsPropertyID_AllowFrameTimeChanges = FourCharCode('+ ok'); { Boolean, Read/Write }
- {
- * Enables the compressor to call the encoded-frame callback from a
- * different thread.
- * By default, the flag is false, which means that the compressor
- * must call the encoded-frame callback from the same thread that
- * ICMCompressionSessionEncodeFrame and
- * ICMCompressionSessionCompleteFrames were called on.
- }
- kICMCompressionSessionOptionsPropertyID_AllowAsyncCompletion = FourCharCode('asok'); { Boolean, Read/Write }
- {
- * The maximum frame delay count is the maximum number of frames that
- * a compressor is allowed to hold before it must output a compressed
- * frame. It limits the number of frames that may be held in the
- * "compression window". If the maximum frame delay count is M, then
- * before the call to encode frame N returns, frame N-M must have
- * been emitted.
- * The default is kICMUnlimitedFrameDelayCount, which sets no limit
- * on the compression window.
- }
- kICMCompressionSessionOptionsPropertyID_MaxFrameDelayCount = FourCharCode('cwin'); { SInt32, Read/Write }
- {
- * The maximum frame delay time is the maximum difference between a
- * source frame's display time and the corresponding encoded frame's
- * decode time. It limits the span of display time that may be held
- * in the "compression window". If the maximum frame delay time is
- * TM, then before the call to encode a frame with display time TN
- * returns, all frames with display times up to and including TN-TM
- * must have been emitted.
- * The default is kICMUnlimitedFrameDelayTime, which sets no time
- * limit on the compression window.
- }
- kICMCompressionSessionOptionsPropertyID_MaxFrameDelayTime = FourCharCode('cwit'); { TimeValue64, Read/Write }
- {
- * Sets a specific compressor component or component instance to be
- * used, or one of the wildcards anyCodec, bestSpeedCodec,
- * bestFidelityCodec, or bestCompressionCodec.
- * Use this API to force the Image Compression Manager to use a
- * specific compressor component or compressor component instance.
- * (If you pass in a component instance that you opened, the ICM will
- * not close that instance; you must do so after the compression
- * session is released.) To allow the Image Compression Manager to
- * choose the compressor component, set the compressorComponent to
- * anyCodec (the default), bestSpeedCodec, bestFidelityCodec or
- * bestCompressionCodec.
- }
- kICMCompressionSessionOptionsPropertyID_CompressorComponent = FourCharCode('imco'); { CompressorComponent, Read/Write }
- {
- * A handle containing compressor settings. The compressor will be
- * configured with these settings (by a call to
- * ImageCodecSetSettings) during ICMCompressionSessionCreate.
- }
- kICMCompressionSessionOptionsPropertyID_CompressorSettings = FourCharCode('cost'); { Handle, Read/Write }
- {
- * The depth for compression.
- * If a compressor does not support a specific depth, the closest
- * supported depth will be used (preferring deeper depths to
- * shallower depths). The default depth is k24RGBPixelFormat.
- }
- kICMCompressionSessionOptionsPropertyID_Depth = FourCharCode('deep'); { UInt32, Read/Write }
- {
- * The color table for compression. Used with indexed-color depths.
- *
- * Clients who get this property are responsible for disposing the
- * returned CTabHandle.
- }
- kICMCompressionSessionOptionsPropertyID_ColorTable = FourCharCode('clut'); { CTabHandle, Read/Write}
- {
- * The compression quality.
- * This value is always used to set the spatialQuality; if temporal
- * compression is enabled, it is also used to set temporalQuality.
- * <BR> The default quality is codecNormalQuality.
- }
- kICMCompressionSessionOptionsPropertyID_Quality = FourCharCode('qual'); { CodecQ, Read/Write }
- {
- * The long-term desired average data rate in bytes per second.
- * This is not a hard limit.
- * The default data rate is zero, which indicates that the quality
- * setting should determine the size of compressed data.
- * Note that data rate settings only have an effect when timing
- * information is provided for source frames, and that some codecs do
- * not support limiting to specified data rates.
- }
- kICMCompressionSessionOptionsPropertyID_AverageDataRate = FourCharCode('aver'); { SInt32, Read/Write }
- {
- * Zero, one or two hard limits on data rate.
- * Each hard limit is described by a data size in bytes and a
- * duration in seconds, and requires that the total size of
- * compressed data for any contiguous segment of that duration (in
- * decode time) must not exceed the data size.
- * By default, no data rate limits are set.
- * When setting this property, the inPropValueSize parameter should
- * be the number of data rate limits multiplied by
- * sizeof(ICMDataRateLimit).
- * Note that data rate settings only have an effect when timing
- * information is provided for source frames, and that some codecs do
- * not support limiting to specified data rates.
- }
- kICMCompressionSessionOptionsPropertyID_DataRateLimits = FourCharCode('hard'); { C array of ICMDataRateLimit struct, Read/Write }
- {
- * The current number of data rate limits.
- }
- kICMCompressionSessionOptionsPropertyID_DataRateLimitCount = FourCharCode('har#'); { UInt32, Read }
- {
- * The maximum allowed number of data rate limits. (Currently 2.)
- }
- kICMCompressionSessionOptionsPropertyID_MaxDataRateLimits = FourCharCode('mhar'); { UInt32, Read }
- {
- * Indicates that the source was previously compressed.
- * This property is purely an optional, informational hint to the
- * compressor; by default it is false.
- }
- kICMCompressionSessionOptionsPropertyID_WasCompressed = FourCharCode('wasc'); { Boolean, Read/Write }
- {
- * Recommends a CPU time budget for the compressor in microseconds
- * per frame.
- * Zero means to go as fast as possible.
- * By default, this is set to kICMUnlimitedCPUTimeBudget, which sets
- * no limit.
- * This is an advisory hint to the compressor, and some compressors
- * may ignore it. Multithreaded compressors may use this amount of
- * CPU time on each processor.
- * Compressors should not feel compelled to use the full time budget
- * if they complete ahead of time!
- }
- kICMCompressionSessionOptionsPropertyID_CPUTimeBudget = FourCharCode('cput'); { UInt32, Read/Write }
- {
- * Storage for multi-pass compression.
- * To enable multipass compression, the client must provide a storage
- * location for multipass data. Use
- * ICMMultiPassStorageCreateWithTemporaryFile to have the ICM store
- * it in a temporary file. Use
- * ICMMultiPassStorageCreateWithCallbacks to manage the storage
- * yourself.
- * Note that the amount of multipass data to be stored can be
- * substantial; it could be greater than the size of the output movie
- * file.
- * If this property is not NULL, the client must call
- * ICMCompressionSessionBeginPass and ICMCompressionSessionEndPass
- * around groups of calls to ICMCompressionSessionEncodeFrame.
- * By default, this property is NULL and multipass compression is
- * not enabled. The compression session options object retains the
- * multipass storage object, when one is set.
- }
- kICMCompressionSessionOptionsPropertyID_MultiPassStorage = FourCharCode('imps'); { ICMMultiPassStorageRef, Read/Write }
- {
- * Indicates the number of source frames, if known. If nonzero, this
- * should be the exact number of times that the client calls
- * ICMCompressionSessionEncodeFrame in each pass.
- * The default is 0, which indicates that the number of source frames
- * is not known.
- }
- kICMCompressionSessionOptionsPropertyID_SourceFrameCount = FourCharCode('frco'); { UInt64, Read/Write }
- {
- * Indicates the expected frame rate, if known. The frame rate is
- * measured in frames per second. This is not used to control the
- * frame rate; it is provided as a hint to the compressor so that it
- * can set up internal configuration before compression begins. The
- * actual frame rate will depend on frame durations and may vary. By
- * default, this is zero, indicating "unknown".
- }
- kICMCompressionSessionOptionsPropertyID_ExpectedFrameRate = FourCharCode('fran'); { Fixed, Read/Write }
- {
- * Indicates how source frames to a compression session should be
- * scaled if the dimensions and/or display aspect ratio do not match.
- }
- kICMCompressionSessionOptionsPropertyID_ScalingMode = FourCharCode('scam'); { OSType, Read/Write }
- {
- * Describes the clean aperture for compressed frames. Note that if
- * the compressor enforces a clean aperture, it will override this
- * setting. The clean aperture will be set on the output image
- * description and may affect scaling in some scaling modes. By
- * default, this is all zeros, meaning unset.
- }
- kICMCompressionSessionOptionsPropertyID_CleanAperture = FourCharCode('clap'); { Native-endian CleanApertureImageDescriptionExtension, Read/Write }
- {
- * Describes the pixel aspect ratio for compressed frames. Note that
- * if the compressor enforces a pixel aspect ratio, it will override
- * this setting. The pixel aspect ratio will be set on the output
- * image description and may affect scaling in some scaling modes. By
- * default, this is all zeros, meaning unset.
- }
- kICMCompressionSessionOptionsPropertyID_PixelAspectRatio = FourCharCode('pasp'); { Native-endian PixelAspectRatioImageDescriptionExtension, Read/Write }
- {
- * Describes the number and order of fields for compressed frames.
- * Note that if the compressor enforces field info, it will override
- * this setting. The field info will be set on the output image
- * description and may affect scaling in some scaling modes. By
- * default, this is all zeros, meaning unset.
- }
- kICMCompressionSessionOptionsPropertyID_FieldInfo = FourCharCode('fiel'); { FieldInfoImageDescriptionExtension2, Read/Write }
- {
- * Indicates whether and how a compression session's frames will be
- * concatenated with other compressed frames to form a longer series.
- }
- kICMCompressionSessionOptionsPropertyID_SimpleBoundaryConditions = FourCharCode('ends'); { ICMSimpleBoundaryConditions struct, Read/Write }
- {
- * Requests additional distortion to be applied to the aspect ratio
- * in the kICMScalingMode_Letterbox and kICMScalingMode_Trim scaling
- * modes. Values greater than fixed1 mean wider, values less than
- * fixed1 mean narrower. For example, a value of X2Fix(2.0) would
- * make the picture aspect ratio twice as wide.
- }
- kICMCompressionSessionOptionsPropertyID_ExtraAspectRatioStretchFactor = FourCharCode('exsf'); { Fixed, Default fixed1, Read/Write }
- {
- * ICMCompressionSessionOptionsSetAllowTemporalCompression()
- *
- * Summary:
- * Enables temporal compression.
- *
- * Discussion:
- * By default, temporal compression is disabled.
- * IMPORTANT: If you want temporal compression (P frames and/or B
- * frames) you must set this to true.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsSetAllowTemporalCompression( options: ICMCompressionSessionOptionsRef; allowTemporalCompression: Boolean ): OSStatus; external name '_ICMCompressionSessionOptionsSetAllowTemporalCompression';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsGetAllowTemporalCompression()
- *
- * Summary:
- * Retrieves the allow temporal compression flag.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsGetAllowTemporalCompression( options: ICMCompressionSessionOptionsRef ): Boolean; external name '_ICMCompressionSessionOptionsGetAllowTemporalCompression';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsSetAllowFrameReordering()
- *
- * Summary:
- * Enables frame reordering.
- *
- * Discussion:
- * In order to encode B frames, a compressor must reorder frames,
- * which means that the order in which they will be emitted and
- * stored (the decode order) is different from the order in which
- * they were presented to the compressor (the display order).
- * By default, frame reordering is disabled.
- * IMPORTANT: In order to encode using B frames, you must enable
- * frame reordering.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsSetAllowFrameReordering( options: ICMCompressionSessionOptionsRef; allowFrameReordering: Boolean ): OSStatus; external name '_ICMCompressionSessionOptionsSetAllowFrameReordering';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsGetAllowFrameReordering()
- *
- * Summary:
- * Retrieves the allow frame reordering flag.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsGetAllowFrameReordering( options: ICMCompressionSessionOptionsRef ): Boolean; external name '_ICMCompressionSessionOptionsGetAllowFrameReordering';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsSetDurationsNeeded()
- *
- * Summary:
- * Indicates that durations of emitted frames are needed.
- *
- * Discussion:
- * If this flag is set and source frames are provided with times but
- * not durations, then frames will be delayed so that durations can
- * be calculated as the difference between one frame's time stamp
- * and the next frame's time stamp.
- * By default, this flag is clear, so frames will not be delayed in
- * order to calculate durations.
- * IMPORTANT: If you will be passing encoded frames to
- * AddMediaSampleFromEncodedFrame, you must set this flag to true.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsSetDurationsNeeded( options: ICMCompressionSessionOptionsRef; decodeDurationsNeeded: Boolean ): OSStatus; external name '_ICMCompressionSessionOptionsSetDurationsNeeded';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsGetDurationsNeeded()
- *
- * Summary:
- * Retrieves the "durations needed" flag.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsGetDurationsNeeded( options: ICMCompressionSessionOptionsRef ): Boolean; external name '_ICMCompressionSessionOptionsGetDurationsNeeded';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsSetMaxKeyFrameInterval()
- *
- * Summary:
- * Sets the maximum interval between key frames (also known as the
- * key frame rate).
- *
- * Discussion:
- * Compressors are allowed to generate key frames more frequently if
- * this would result in more efficient compression.
- * The default key frame interval is 0, which indicates that the
- * compressor should choose where to place all key frames.
- * (Note: this is a break with previous practice, which used a key
- * frame rate of zero to disable temporal compression.)
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsSetMaxKeyFrameInterval( options: ICMCompressionSessionOptionsRef; maxKeyFrameInterval: SInt32 ): OSStatus; external name '_ICMCompressionSessionOptionsSetMaxKeyFrameInterval';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsGetMaxKeyFrameInterval()
- *
- * Summary:
- * Retrieves the maximum key frame interval.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsGetMaxKeyFrameInterval( options: ICMCompressionSessionOptionsRef ): SInt32; external name '_ICMCompressionSessionOptionsGetMaxKeyFrameInterval';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsSetAllowFrameTimeChanges()
- *
- * Summary:
- * Enables the compressor to modify frame times.
- *
- * Discussion:
- * Some compressors are able to identify and coalesce runs of
- * identical frames and output single frames with longer duration,
- * or output frames at a different frame rate from the original.
- * This feature is controlled by the "allow frame time changes"
- * flag. By default, this flag is set to false, which forces
- * compressors to emit one encoded frame for every source frame, and
- * to preserve frame display times.
- * (Note: this feature replaces the practice of having compressors
- * return special high similarity values to indicate that frames
- * could be dropped.)
- * If you want to allow the compressor to modify frame times in
- * order to improve compression performance, enable frame time
- * changes.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsSetAllowFrameTimeChanges( options: ICMCompressionSessionOptionsRef; allowFrameTimeChanges: Boolean ): OSStatus; external name '_ICMCompressionSessionOptionsSetAllowFrameTimeChanges';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionSessionOptionsGetAllowFrameTimeChanges()
- *
- * Summary:
- * Retrieves the allow frame time changes flag.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionSessionOptionsGetAllowFrameTimeChanges( options: ICMCompressionSessionOptionsRef ): Boolean; external name '_ICMCompressionSessionOptionsGetAllowFrameTimeChanges';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- { ICMMultiPassStorageRef routines }
- {
- * ICMMultiPassStorageCreationFlags
- *
- }
- type
- ICMMultiPassStorageCreationFlags = UInt32;
- const
- {
- * Indicates that the temporary file should not be deleted when the
- * multipass storage is released.
- }
- kICMMultiPassStorage_DoNotDeleteWhenDone = 1 shl 0;
- {
- * ICMMultiPassStorageCreateWithTemporaryFile()
- *
- * Summary:
- * Creates a multipass storage using a temporary file.
- *
- * Discussion:
- * If you pass NULL for directoryRef, the ICM will use the user's
- * temporary items folder.
- * If you pass NULL for fileName, the ICM will pick a unique name.
- *
- * The file will be deleted when the multipass storage is released,
- * unless you set the kICMMultiPassStorage_DoNotDeleteWhenDone flag.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMMultiPassStorageStep
- *
- * Summary:
- * Indicates a jump in time stamps used to index multipass storage.
- }
- type
- ICMMultiPassStorageStep = UInt32;
- const
- {
- * Requests the first time stamp at which a value is stored.
- }
- kICMMultiPassStorage_GetFirstTimeStamp = 1;
- {
- * Requests the previous time stamp before the given time stamp at
- * which a value is stored.
- }
- kICMMultiPassStorage_GetPreviousTimeStamp = 2;
- {
- * Requests the next time stamp after the given time stamp at which a
- * value is stored.
- }
- kICMMultiPassStorage_GetNextTimeStamp = 3;
- {
- * Requests the last time stamp at which a value is stored.
- }
- kICMMultiPassStorage_GetLastTimeStamp = 4;
- {
- * ICMMultiPassSetDataAtTimeStampCallback
- *
- * Summary:
- * Stores a value at a given time stamp.
- *
- * Discussion:
- * The new data should replace any previous data held at that
- * timestamp with that index.
- *
- * Parameters:
- *
- * storageRefCon:
- * The callbacks' reference value.
- *
- * timeStamp:
- * The time stamp at which the value should be stored.
- *
- * index:
- * An index by which multiple values may be stored at a time
- * stamp. The meaning of individual indexes is private to the
- * compressor.
- *
- * data:
- * The data to be stored, or NULL to delete the value. The
- * contents are private to the compressor component.
- }
- type
- ICMMultiPassSetDataAtTimeStampCallback = function( storageRefCon: UnivPtr; timeStamp: TimeValue64; index: SIGNEDLONG; data: CFDataRef ): OSStatus;
- {
- * ICMMultiPassGetTimeStampCallback
- *
- * Summary:
- * Retrieves a time stamp for which a value is stored.
- *
- * Parameters:
- *
- * storageRefCon:
- * The callbacks' reference value.
- *
- * fromTimeStamp:
- * The initial time stamp. Ignored for some values of step.
- *
- * step:
- * Indicates the kind of time stamp search to perform.
- *
- * timeStampOut:
- * Points to a TimeValue64 to receive the found time stamp. Set to
- * -1 if no time stamp is found.
- }
- type
- ICMMultiPassGetTimeStampCallback = function( storageRefCon: UnivPtr; fromTimeStamp: TimeValue64; step: ICMMultiPassStorageStep; var timeStampOut: TimeValue64 ): OSStatus;
- {
- * ICMMultiPassCopyDataAtTimeStampCallback
- *
- * Summary:
- * Retrieves a value at a given time stamp and index.
- *
- * Parameters:
- *
- * storageRefCon:
- * The callbacks' reference value.
- *
- * timeStamp:
- * The time stamp at which the value should be retrieved.
- *
- * index:
- * An index by which multiple values may be stored at a time
- * stamp. The meaning of individual indexes is private to the
- * compressor.
- *
- * dataOut:
- * Points to a variable to receive the value. Set to a
- * newly-created CFMutableData containing the value for the given
- * time stamp and index, or set to NULL if no value is at that
- * time stamp and index. It will be the callers responsibility to
- * release the CFMutableData.
- }
- type
- ICMMultiPassCopyDataAtTimeStampCallback = function( storageRefCon: UnivPtr; timeStamp: TimeValue64; index: SIGNEDLONG; var dataOut: CFMutableDataRef ): OSStatus;
- {
- * ICMMultiPassReleaseCallback
- *
- * Summary:
- * Called when the multipass storage's retain count drops to zero.
- *
- * Parameters:
- *
- * storageRefCon:
- * The callbacks' reference value.
- }
- type
- ICMMultiPassReleaseCallback = function( storageRefCon: UnivPtr ): OSStatus;
- {
- * ICMMultiPassStorageCallbacks
- *
- * Summary:
- * A collection of callbacks for creating a custom multipass storage
- * object.
- }
- type
- ICMMultiPassStorageCallbacks = record
- {
- * The version of the struct. Set to
- * kICMMultiPassStorageCallbacksVersionOne.
- }
- version: UInt32;
- {
- * The callbacks' reference value.
- }
- storageRefCon: UnivPtr;
- {
- * The callback for storing values.
- }
- setDataAtTimeStampCallback: ICMMultiPassSetDataAtTimeStampCallback;
- {
- * The callback for finding time stamps.
- }
- getTimeStampCallback: ICMMultiPassGetTimeStampCallback;
- {
- * The callback for retrieving values.
- }
- copyDataAtTimeStampCallback: ICMMultiPassCopyDataAtTimeStampCallback;
- {
- * The callback for disposing the callback's state when done.
- }
- releaseCallback: ICMMultiPassReleaseCallback;
- end;
- const
- kICMMultiPassStorageCallbacksVersionOne = 1;
- {
- * ICMMultiPassStorageCreateWithCallbacks()
- *
- * Summary:
- * Assembles a multipass storage mechanism from callbacks.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMMultiPassStorageCreateWithCallbacks( allocator: CFAllocatorRef { can be NULL }; var callbacks: ICMMultiPassStorageCallbacks; var multiPassStorageOut: ICMMultiPassStorageRef ): OSStatus; external name '_ICMMultiPassStorageCreateWithCallbacks';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMMultiPassStorageRetain()
- *
- * Summary:
- * Increments the retain count of a multipass storage object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMMultiPassStorageRetain( multiPassStorage: ICMMultiPassStorageRef ): ICMMultiPassStorageRef; external name '_ICMMultiPassStorageRetain';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMMultiPassStorageRelease()
- *
- * Summary:
- * Decrements the retain count of a multipass storage object. If it
- * drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- procedure ICMMultiPassStorageRelease( multiPassStorage: ICMMultiPassStorageRef ); external name '_ICMMultiPassStorageRelease';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMMultiPassStorageGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for multipass storage objects.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMMultiPassStorageGetTypeID: CFTypeID; external name '_ICMMultiPassStorageGetTypeID';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- { ICMCompressionFrameOptionsRef routines }
- {
- * ICMCompressionFrameOptionsCreate()
- *
- * Summary:
- * Creates a frame compression options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionFrameOptionsCreate( allocator: CFAllocatorRef { can be NULL }; session: ICMCompressionSessionRef; var options: ICMCompressionFrameOptionsRef ): OSStatus; external name '_ICMCompressionFrameOptionsCreate';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionFrameOptionsCreateCopy()
- *
- * Summary:
- * Copies a frame compression options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionFrameOptionsCreateCopy( allocator: CFAllocatorRef { can be NULL }; originalOptions: ICMCompressionFrameOptionsRef; var copiedOptions: ICMCompressionFrameOptionsRef ): OSStatus; external name '_ICMCompressionFrameOptionsCreateCopy';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionFrameOptionsRetain()
- *
- * Summary:
- * Increments the retain count of a frame compression options object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionFrameOptionsRetain( options: ICMCompressionFrameOptionsRef ): ICMCompressionFrameOptionsRef; external name '_ICMCompressionFrameOptionsRetain';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionFrameOptionsRelease()
- *
- * Summary:
- * Decrements the retain count of a frame compression options
- * object. If it drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- procedure ICMCompressionFrameOptionsRelease( options: ICMCompressionFrameOptionsRef ); external name '_ICMCompressionFrameOptionsRelease';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionFrameOptionsGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for frame compression options objects.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionFrameOptionsGetTypeID: CFTypeID; external name '_ICMCompressionFrameOptionsGetTypeID';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionFrameOptionsGetPropertyInfo()
- *
- * Summary:
- * Retrieves information about properties of a compression frame
- * options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionFrameOptionsGetProperty()
- *
- * Summary:
- * Retrieves the value of a specific property of a compression frame
- * options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionFrameOptionsGetProperty( options: ICMCompressionFrameOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; outPropValueAddress: ComponentValuePtr; outPropValueSizeUsed: ByteCountPtr { can be NULL } ): OSStatus; external name '_ICMCompressionFrameOptionsGetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionFrameOptionsSetProperty()
- *
- * Summary:
- * Sets the value of a specific property of a compression frame
- * options object.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionFrameOptionsSetProperty( options: ICMCompressionFrameOptionsRef; inPropClass: ComponentPropertyClass; inPropID: ComponentPropertyID; inPropValueSize: ByteCount; inPropValueAddress: ConstComponentValuePtr ): OSStatus; external name '_ICMCompressionFrameOptionsSetProperty';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * Summary:
- * Properties of compression frame options objects.
- }
- const
- {
- * Class identifier for compression frame options object properties.
- }
- kQTPropertyClass_ICMCompressionFrameOptions = FourCharCode('icfo');
- {
- * Forces frames to be compressed as key frames.
- * The compressor must obey the "force key frame" flag if set. By
- * default this property is false.
- }
- kICMCompressionFrameOptionsPropertyID_ForceKeyFrame = FourCharCode('keyf'); { Boolean, Read/Write }
- {
- * Requests a frame be compressed as a particular frame type.
- * The frame type setting may be ignored by the compressor if not
- * appropriate.
- * By default this is set to kICMFrameType_Unknown.
- * Do not assume that kICMFrameType_I means a key frame; if you need
- * a key frame, set the "force key frame" property.
- }
- kICMCompressionFrameOptionsPropertyID_FrameType = FourCharCode('frty'); { ICMFrameType, Read/Write }
- {
- * ICMCompressionFrameOptionsSetForceKeyFrame()
- *
- * Summary:
- * Forces frames to be compressed as key frames.
- *
- * Discussion:
- * The compressor must obey the "force key frame" flag if set. By
- * default this is set false.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionFrameOptionsSetForceKeyFrame( options: ICMCompressionFrameOptionsRef; forceKeyFrame: Boolean ): OSStatus; external name '_ICMCompressionFrameOptionsSetForceKeyFrame';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionFrameOptionsGetForceKeyFrame()
- *
- * Summary:
- * Retrieves the "force key frame" flag.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionFrameOptionsGetForceKeyFrame( options: ICMCompressionFrameOptionsRef ): Boolean; external name '_ICMCompressionFrameOptionsGetForceKeyFrame';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionFrameOptionsSetFrameType()
- *
- * Summary:
- * Requests a frame be compressed as a particular frame type.
- *
- * Discussion:
- * The frame type setting may be ignored by the compressor if not
- * appropriate.
- * By default this is set to kICMFrameType_Unknown.
- * Do not assume that kICMFrameType_I means a key frame; if you need
- * a key frame, set forceKeyFrame.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionFrameOptionsSetFrameType( options: ICMCompressionFrameOptionsRef; frameType: ICMFrameType ): OSStatus; external name '_ICMCompressionFrameOptionsSetFrameType';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressionFrameOptionsGetFrameType()
- *
- * Summary:
- * Retrieves the frame type setting.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressionFrameOptionsGetFrameType( options: ICMCompressionFrameOptionsRef ): ICMFrameType; external name '_ICMCompressionFrameOptionsGetFrameType';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- { ICMEncodedFrameRef routines }
- {
- * ICMEncodedFrameRetain()
- *
- * Summary:
- * Increments the retain count of an encoded frame object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameRetain( frame: ICMEncodedFrameRef ): ICMEncodedFrameRef; external name '_ICMEncodedFrameRetain';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameRelease()
- *
- * Summary:
- * Decrements the retain count of an encoded frame object. If it
- * drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- procedure ICMEncodedFrameRelease( frame: ICMEncodedFrameRef ); external name '_ICMEncodedFrameRelease';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for encoded frame objects.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetTypeID: CFTypeID; external name '_ICMEncodedFrameGetTypeID';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetDataPtr()
- *
- * Summary:
- * Gets the data buffer.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetDataPtr( frame: ICMEncodedFrameRef ): UInt8Ptr; external name '_ICMEncodedFrameGetDataPtr';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetBufferSize()
- *
- * Summary:
- * Gets the size of the data buffer.
- *
- * Discussion:
- * This is the physical size of the buffer.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetBufferSize( frame: ICMEncodedFrameRef ): ByteCount; external name '_ICMEncodedFrameGetBufferSize';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetDataSize()
- *
- * Summary:
- * Gets the data size of the compressed frame in the buffer.
- *
- * Discussion:
- * This is the logical size of the frame data. It may be less than
- * the physical size of the buffer.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetDataSize( frame: ICMEncodedFrameRef ): ByteCount; external name '_ICMEncodedFrameGetDataSize';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameSetDataSize()
- *
- * Summary:
- * Sets the data size of the compressed frame in the buffer.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameSetDataSize( frame: ICMMutableEncodedFrameRef; dataSize: ByteCount ): OSStatus; external name '_ICMEncodedFrameSetDataSize';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetDecodeNumber()
- *
- * Summary:
- * Retrieves the decode number.
- *
- * Discussion:
- * The ICM automatically stamps ascending decode numbers on frames
- * after the compressor emits them. The first decode number in a
- * session is 1.
- * Note: Compressors should not call this function.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetDecodeNumber( frame: ICMEncodedFrameRef ): UInt32; external name '_ICMEncodedFrameGetDecodeNumber';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetTimeScale()
- *
- * Summary:
- * Retrieves the timescale.
- *
- * Discussion:
- * This is always the same as the timescale of the compression
- * session.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetTimeScale( frame: ICMEncodedFrameRef ): TimeScale; external name '_ICMEncodedFrameGetTimeScale';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetImageDescription()
- *
- * Summary:
- * Retrieves the image description.
- *
- * Discussion:
- * Returns the same image description handle as
- * ICMCompressionSessionGetImageDescription.
- * IMPORTANT: The caller should NOT dispose this handle.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetImageDescription( frame: ICMEncodedFrameRef; var imageDescOut: ImageDescriptionHandle ): OSStatus; external name '_ICMEncodedFrameGetImageDescription';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetValidTimeFlags()
- *
- * Summary:
- * Retrieves flags indicating which of the time stamps and durations
- * are valid.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetValidTimeFlags( frame: ICMEncodedFrameRef ): ICMValidTimeFlags; external name '_ICMEncodedFrameGetValidTimeFlags';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetDecodeTimeStamp()
- *
- * Summary:
- * Retrieves the frame's decode time stamp.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetDecodeTimeStamp( frame: ICMEncodedFrameRef ): TimeValue64; external name '_ICMEncodedFrameGetDecodeTimeStamp';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetDisplayTimeStamp()
- *
- * Summary:
- * Retrieves the frame's display time stamp.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetDisplayTimeStamp( frame: ICMEncodedFrameRef ): TimeValue64; external name '_ICMEncodedFrameGetDisplayTimeStamp';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetDisplayOffset()
- *
- * Summary:
- * Retrieves the frame's display offset, which is the offset from
- * decode time stamp to display time stamp.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetDisplayOffset( frame: ICMEncodedFrameRef ): TimeValue64; external name '_ICMEncodedFrameGetDisplayOffset';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetDecodeDuration()
- *
- * Summary:
- * Retrieves the frame's decode duration.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetDecodeDuration( frame: ICMEncodedFrameRef ): TimeValue64; external name '_ICMEncodedFrameGetDecodeDuration';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetDisplayDuration()
- *
- * Summary:
- * Retrieves the frame's display duration.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetDisplayDuration( frame: ICMEncodedFrameRef ): TimeValue64; external name '_ICMEncodedFrameGetDisplayDuration';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameSetValidTimeFlags()
- *
- * Summary:
- * Sets flags that indicate which of the time stamps and durations
- * are valid.
- *
- * Discussion:
- * Note that setting the (decode/display) (timestamp/duration)
- * automatically sets the corresponding valid time flags. For
- * example, calling ICMEncodedFrameSetDecodeTimeStamp sets
- * kICMValidTime_DisplayTimeStampIsValid. If both decode timestamp
- * and display timestamp are valid,
- * kICMValidTime_DisplayOffsetIsValid is automatically set.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameSetValidTimeFlags( frame: ICMMutableEncodedFrameRef; validTimeFlags: ICMValidTimeFlags ): OSStatus; external name '_ICMEncodedFrameSetValidTimeFlags';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameSetDecodeTimeStamp()
- *
- * Summary:
- * Sets the decode time stamp.
- *
- * Discussion:
- * This automatically sets the kICMValidTime_DecodeTimeStampIsValid
- * flag. If the display timestamp is valid, it also sets the
- * kICMValidTime_DisplayOffsetIsValid flag.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameSetDecodeTimeStamp( frame: ICMMutableEncodedFrameRef; decodeTimeStamp: TimeValue64 ): OSStatus; external name '_ICMEncodedFrameSetDecodeTimeStamp';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameSetDisplayTimeStamp()
- *
- * Summary:
- * Sets the display time stamp.
- *
- * Discussion:
- * This automatically sets the kICMValidTime_DisplayTimeStampIsValid
- * flag. If the decode timestamp is valid, it also sets the
- * kICMValidTime_DisplayOffsetIsValid flag.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameSetDisplayTimeStamp( frame: ICMMutableEncodedFrameRef; displayTimeStamp: TimeValue64 ): OSStatus; external name '_ICMEncodedFrameSetDisplayTimeStamp';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameSetDecodeDuration()
- *
- * Summary:
- * Sets the decode duration.
- *
- * Discussion:
- * This automatically sets the kICMValidTime_DecodeDurationIsValid
- * flag.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameSetDecodeDuration( frame: ICMMutableEncodedFrameRef; decodeDuration: TimeValue64 ): OSStatus; external name '_ICMEncodedFrameSetDecodeDuration';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameSetDisplayDuration()
- *
- * Summary:
- * Sets the display duration.
- *
- * Discussion:
- * This automatically sets the kICMValidTime_DisplayDurationIsValid
- * flag.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameSetDisplayDuration( frame: ICMMutableEncodedFrameRef; displayDuration: TimeValue64 ): OSStatus; external name '_ICMEncodedFrameSetDisplayDuration';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetMediaSampleFlags()
- *
- * Summary:
- * Retrieves the media sample flags for an encoded frame.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetMediaSampleFlags( frame: ICMEncodedFrameRef ): MediaSampleFlags; external name '_ICMEncodedFrameGetMediaSampleFlags';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameSetMediaSampleFlags()
- *
- * Summary:
- * Sets the media sample flags for an encoded frame.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameSetMediaSampleFlags( frame: ICMMutableEncodedFrameRef; mediaSampleFlags_: MediaSampleFlags ): OSStatus; external name '_ICMEncodedFrameSetMediaSampleFlags';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetFrameType()
- *
- * Summary:
- * Retrieves the frame type for an encoded frame.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetFrameType( frame: ICMEncodedFrameRef ): ICMFrameType; external name '_ICMEncodedFrameGetFrameType';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameSetFrameType()
- *
- * Summary:
- * Sets the frame type for an encoded frame.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameSetFrameType( frame: ICMMutableEncodedFrameRef; frameType: ICMFrameType ): OSStatus; external name '_ICMEncodedFrameSetFrameType';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetSimilarity()
- *
- * Summary:
- * Retrieves the similarity for an encoded frame.
- *
- * Discussion:
- * 1.0 means identical. 0.0 means not at all alike. By default,
- * this is set to -1.0, which means unknown.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetSimilarity( frame: ICMEncodedFrameRef ): Float32; external name '_ICMEncodedFrameGetSimilarity';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameSetSimilarity()
- *
- * Summary:
- * Sets the similarity for an encoded frame.
- *
- * Discussion:
- * 1.0 means identical. 0.0 means not at all alike.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameSetSimilarity( frame: ICMMutableEncodedFrameRef; similarity: Float32 ): OSStatus; external name '_ICMEncodedFrameSetSimilarity';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameGetSourceFrameRefCon()
- *
- * Summary:
- * Retrieves the source frame reference value.
- *
- * Discussion:
- * This is copied from the sourceFrameRefCon parameter to
- * ICMCompressionSessionEncodeFrame.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameGetSourceFrameRefCon( frame: ICMEncodedFrameRef ): UnivPtr; external name '_ICMEncodedFrameGetSourceFrameRefCon';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- { ICMCompressorSession interface for compressor components }
- {
- * ICMCompressorSessionRef
- *
- * Summary:
- * Represents the session between the ICM and an image compressor
- * component.
- *
- * Discussion:
- * (Do not confuse this with ICMCompressionSessionRef, which is the
- * session between the client and the ICM.) Note: compressors do not
- * need to make any retain or release calls on this token.
- }
- type
- ICMCompressorSessionRef = ^SInt32; { an opaque type }
- {
- * ICMCompressorSourceFrameRef
- *
- * Summary:
- * An opaque token that represents a frame that has been passed to
- * ICMCompressionSessionEncodeFrame.
- *
- * Discussion:
- * Such tokens are passed to the compressor component, which may
- * retain a window of them in order to perform out-of-order encoding.
- }
- type
- ICMCompressorSourceFrameRef = ^SInt32; { an opaque type }
- ICMCompressorSourceFrameRefPtr = ^ICMCompressorSourceFrameRef;
- {
- * ICMCompressorSourceFrameRetain()
- *
- * Summary:
- * Increments the retain count of a source frame object.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressorSourceFrameRetain( sourceFrame: ICMCompressorSourceFrameRef ): ICMCompressorSourceFrameRef; external name '_ICMCompressorSourceFrameRetain';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressorSourceFrameRelease()
- *
- * Summary:
- * Decrements the retain count of a source frame object. If it
- * drops to zero, the object is disposed.
- *
- * Discussion:
- * If you pass NULL to this function, nothing happens.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- procedure ICMCompressorSourceFrameRelease( sourceFrame: ICMCompressorSourceFrameRef ); external name '_ICMCompressorSourceFrameRelease';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressorSourceFrameGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for source frame objects.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressorSourceFrameGetTypeID: CFTypeID; external name '_ICMCompressorSourceFrameGetTypeID';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressorSourceFrameGetPixelBuffer()
- *
- * Summary:
- * Retrieves a source frame's pixel buffer.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressorSourceFrameGetPixelBuffer( sourceFrame: ICMCompressorSourceFrameRef ): CVPixelBufferRef; external name '_ICMCompressorSourceFrameGetPixelBuffer';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressorSourceFrameGetDisplayNumber()
- *
- * Summary:
- * Retrieves a source frame's display number.
- *
- * Discussion:
- * The ICM tags source frames with display numbers in the order they
- * are passed to ICMCompressionSessionEncodeFrame; the first display
- * number is 1. Compressors may compare these numbers to work out
- * whether prediction is forward or backward even when display times
- * are not provided.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressorSourceFrameGetDisplayNumber( sourceFrame: ICMCompressorSourceFrameRef ): SIGNEDLONG; external name '_ICMCompressorSourceFrameGetDisplayNumber';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressorSourceFrameGetDisplayTimeStampAndDuration()
- *
- * Summary:
- * Retrieves the display time stamp and duration of a source frame.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- 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';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressorSourceFrameGetFrameOptions()
- *
- * Summary:
- * Retrieves the frame compression options for a source frame.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressorSourceFrameGetFrameOptions( sourceFrame: ICMCompressorSourceFrameRef ): ICMCompressionFrameOptionsRef; external name '_ICMCompressorSourceFrameGetFrameOptions';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressorSourceFrameDetachPixelBuffer()
- *
- * Summary:
- * Disconnects the pixel buffer from the source frame and allows it
- * to be released.
- *
- * Discussion:
- * Compressor components often need to hold onto
- * ICMCompressorSourceFrameRefs for some time after they are done
- * with the pixel buffers. In order to allow pixel buffer memory to
- * be released earlier, they may call
- * ICMCompressorSourceFrameDetachPixelBuffer to declare that they
- * have no further need for the source frame's pixel buffer. After
- * calling this, ICMCompressorSourceFrameGetPixelBuffer will return
- * NULL.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressorSourceFrameDetachPixelBuffer( sourceFrame: ICMCompressorSourceFrameRef ): OSStatus; external name '_ICMCompressorSourceFrameDetachPixelBuffer';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressorSessionDropFrame()
- *
- * Summary:
- * Called by a compressor to indicate that sourceFrame has been
- * dropped and will not contribute to any encoded frames.
- *
- * Discussion:
- * Calling this function does not automatically release the source
- * frame; if the compressor called ICMCompressorSourceFrameRetain it
- * should still call ICMCompressorSourceFrameRelease.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressorSessionDropFrame( session: ICMCompressorSessionRef; sourceFrame: ICMCompressorSourceFrameRef ): OSStatus; external name '_ICMCompressorSessionDropFrame';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMCompressorSessionEmitEncodedFrame()
- *
- * Summary:
- * Called by a compressor to output an encoded frame corresponding
- * to one (or more) source frames.
- *
- * Discussion:
- * (Encoded frames may only correspond to more than one source frame
- * if allowFrameTimeChanges is set in the
- * compressionSessionOptions.)
- * After calling this, the compressor should release the encoded
- * frame by calling ICMEncodedFrameRelease.
- * Calling this function does not automatically release the source
- * frames; if the compressor called ICMCompressorSourceFrameRetain
- * it should still call ICMCompressorSourceFrameRelease.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMCompressorSessionEmitEncodedFrame( session: ICMCompressorSessionRef; encodedFrame: ICMMutableEncodedFrameRef; numberOfSourceFrames: SIGNEDLONG; sourceFrames: {variable-size-array} ICMCompressorSourceFrameRefPtr ): OSStatus; external name '_ICMCompressorSessionEmitEncodedFrame';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMEncodedFrameCreateMutable()
- *
- * Summary:
- * Called by a compressor to create an encoded-frame token
- * corresponding to a given source frame.
- *
- * Discussion:
- * The encoded frame will initially have zero mediaSampleFlags; if
- * the frame is not a key frame, the compressor must call
- * ICMEncodedFrameSetMediaSampleFlags to set mediaSampleNotSync. If
- * the frame is droppable, the compressor should set
- * mediaSampleDroppable. If the frame is a partial key frame, the
- * compressor should set mediaSamplePartialSync.
- * The encoded frame will initially have undefined decodeTimeStamp
- * and decodeDuration. The compressor may set these directly by
- * calling ICMEncodedFrameSetDecodeTimeStamp and/or
- * ICMEncodedFrameSetDecodeDuration. If these are not set by the
- * compressor, the ICM will attempt to derive them.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMEncodedFrameCreateMutable( session: ICMCompressorSessionRef; sourceFrame: ICMCompressorSourceFrameRef; bufferSize: ByteCount; var frameOut: ICMMutableEncodedFrameRef ): OSStatus; external name '_ICMEncodedFrameCreateMutable';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- { Multi-pass storage access routines for compressor components }
- {
- * ICMMultiPassStorageSetDataAtTimeStamp()
- *
- * Summary:
- * Called by a multipass-capable compressor to store data at a given
- * timestamp.
- *
- * Discussion:
- * The new data replaces any previous data held at that timestamp.
- * If data is NULL, the data for that timestamp is deleted. The
- * format of the data is private to the compressor.
- *
- * Parameters:
- *
- * multiPassStorage:
- * The multipass storage object.
- *
- * timeStamp:
- * The time stamp at which the value should be stored.
- *
- * index:
- * An index by which multiple values may be stored at a time
- * stamp. The meaning of individual indexes is private to the
- * compressor.
- *
- * data:
- * The data to be stored, or NULL to delete the value.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMMultiPassStorageSetDataAtTimeStamp( multiPassStorage: ICMMultiPassStorageRef; timeStamp: TimeValue64; index: SIGNEDLONG; data: CFDataRef ): OSStatus; external name '_ICMMultiPassStorageSetDataAtTimeStamp';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMMultiPassStorageGetTimeStamp()
- *
- * Summary:
- * Called by a multipass-capable compressor to retrieve a time stamp
- * for which a value is stored.
- *
- * Parameters:
- *
- * multiPassStorage:
- * The multipass storage object.
- *
- * fromTimeStamp:
- * The initial time stamp. Ignored for some values of step.
- *
- * step:
- * Indicates the kind of time stamp search to perform.
- *
- * timeStampOut:
- * Points to a TimeValue64 to receive the found time stamp. It
- * will be set to -1 if no time stamp is found.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMMultiPassStorageGetTimeStamp( multiPassStorage: ICMMultiPassStorageRef; fromTimeStamp: TimeValue64; step: ICMMultiPassStorageStep; var timeStampOut: TimeValue64 ): OSStatus; external name '_ICMMultiPassStorageGetTimeStamp';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * ICMMultiPassStorageCopyDataAtTimeStamp()
- *
- * Summary:
- * Called by a multipass-capable compressor to retrieve data at a
- * given timestamp.
- *
- * Parameters:
- *
- * multiPassStorage:
- * The multipass storage object.
- *
- * timeStamp:
- * The time stamp at which the value should be retrieved.
- *
- * index:
- * An index by which multiple values may be stored at a time
- * stamp. The meaning of individual indexes is private to the
- * compressor.
- *
- * dataOut:
- * Points to a CFMutableDataRef to receive the value. It will be
- * set to a newly-created CFMutableData containing the value for
- * the given time stamp and index, or set to NULL if no value is
- * at that time stamp and index. It is the caller's responsibility
- * to release the CFMutableData.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function ICMMultiPassStorageCopyDataAtTimeStamp( multiPassStorage: ICMMultiPassStorageRef; timeStamp: TimeValue64; index: SIGNEDLONG; var dataOut: CFMutableDataRef ): OSStatus; external name '_ICMMultiPassStorageCopyDataAtTimeStamp';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * kQTVisualContextTypeKey
- *
- * Summary:
- * Read-only CFStringRef: Type of the visual context.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- var kQTVisualContextTypeKey: CFStringRef; external name '_kQTVisualContextTypeKey'; (* attribute const *)
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * kQTVisualContextType_PixelBuffer
- *
- * Summary:
- * Value for kQTVisualContextTypeKey for pixel buffer visual
- * contexts.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- var kQTVisualContextType_PixelBuffer: CFStringRef; external name '_kQTVisualContextType_PixelBuffer'; (* attribute const *)
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * kQTVisualContextType_OpenGLTexture
- *
- * Summary:
- * Value for kQTVisualContextTypeKey for OpenGL texture visual
- * contexts.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- var kQTVisualContextType_OpenGLTexture: CFStringRef; external name '_kQTVisualContextType_OpenGLTexture'; (* attribute const *)
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * kQTVisualContextWorkingColorSpaceKey
- *
- * Summary:
- * CGColorSpaceRef: Color space in which QuickTime will perform
- * image processing. If this attribute is not set, images will be
- * processed in the output color space.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- var kQTVisualContextWorkingColorSpaceKey: CFStringRef; external name '_kQTVisualContextWorkingColorSpaceKey'; (* attribute const *)
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * kQTVisualContextOutputColorSpaceKey
- *
- * Summary:
- * CGColorSpaceRef: Color space of images produced by this visual
- * context. If this attribute is not set, images may be in any color
- * space.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- var kQTVisualContextOutputColorSpaceKey: CFStringRef; external name '_kQTVisualContextOutputColorSpaceKey'; (* attribute const *)
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * kQTVisualContextExpectedReadAheadKey
- *
- * Summary:
- * CFNumberRef: Number of seconds ahead of real-time that the client
- * expects to pull images out of the visual context. Applications
- * using the CoreVideo display link should set this attribute
- * according to value returned from
- * CVDisplayLinkGetOutputVideoLatency().
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- var kQTVisualContextExpectedReadAheadKey: CFStringRef; external name '_kQTVisualContextExpectedReadAheadKey'; (* attribute const *)
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * kQTVisualContextPixelBufferAttributesKey
- *
- * Summary:
- * CFDictionaryRef: Dictionary containing pixel buffer attributes as
- * described for the CoreVideo pixel buffer pool.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- var kQTVisualContextPixelBufferAttributesKey: CFStringRef; external name '_kQTVisualContextPixelBufferAttributesKey'; (* attribute const *)
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * kQTVisualContextTargetDimensionsKey
- *
- * Summary:
- * CFDictionaryRef: Dictionary containing
- * kQTVisualContextTargetDimensions_WidthKey and
- * kQTVisualContextTargetDimensions_HeightKey. This is only a hint
- * to optimize certain media types, such as text, that can render at
- * any resolution. If this attribute is not set, the movie will
- * render at its native resolution.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- var kQTVisualContextTargetDimensionsKey: CFStringRef; external name '_kQTVisualContextTargetDimensionsKey'; (* attribute const *)
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * kQTVisualContextTargetDimensions_WidthKey
- *
- * Summary:
- * CFNumberRef: Width, in pixels, of the rendering target.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- var kQTVisualContextTargetDimensions_WidthKey: CFStringRef; external name '_kQTVisualContextTargetDimensions_WidthKey'; (* attribute const *)
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * kQTVisualContextTargetDimensions_HeightKey
- *
- * Summary:
- * CFNumberRef: Height, in pixels, of the rendering target.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- var kQTVisualContextTargetDimensions_HeightKey: CFStringRef; external name '_kQTVisualContextTargetDimensions_HeightKey'; (* attribute const *)
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * QTVisualContextRetain()
- *
- * Summary:
- * Increments the visual context's reference count.
- *
- * Discussion:
- * The same visual context is returned for convenience. If
- * visualContext is NULL, nothing happens.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context to retain.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTVisualContextRetain( visualContext: QTVisualContextRef ): QTVisualContextRef; external name '_QTVisualContextRetain';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * QTVisualContextRelease()
- *
- * Summary:
- * Decrements the visual context's reference count.
- *
- * Discussion:
- * If the retain count decreases to zero, the visual context is
- * disposed. If visualContext is NULL, nothing happens.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context to release.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- procedure QTVisualContextRelease( visualContext: QTVisualContextRef ); external name '_QTVisualContextRelease';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * QTVisualContextGetTypeID()
- *
- * Summary:
- * Returns the CFTypeID for QTVisualContextRef.
- *
- * Discussion:
- * You could use this to test whether a CFTypeRef that extracted
- * from a CF container such as a CFArray was a QTVisualContextRef.
- * All visual contexts have the same CFTypeID. If you need to
- * distinguish between different types of visual contexts (eg.
- * PixelBuffer vs. OpenGLTexture), query for kQTVisualContextTypeKey
- * with QTVisualContextGetAttribute().
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTVisualContextGetTypeID: CFTypeID; external name '_QTVisualContextGetTypeID';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * QTVisualContextSetAttribute()
- *
- * Summary:
- * Sets a visual context attribute.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context.
- *
- * attributeKey:
- * [in] Identifier of attribute to set.
- *
- * attributeValue:
- * [in] Value of attribute to set, or NULL to remove a value.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTVisualContextSetAttribute( visualContext: QTVisualContextRef; attributeKey: CFStringRef; attributeValue: CFTypeRef { can be NULL } ): OSStatus; external name '_QTVisualContextSetAttribute';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * QTVisualContextGetAttribute()
- *
- * Summary:
- * Gets a visual context attribute.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context.
- *
- * attributeKey:
- * [in] Identifier of attribute to get.
- *
- * attributeValueOut:
- * [out] Pointer to variable that will receive the attribute
- * value, or NULL if the attribute is not set.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTVisualContextGetAttribute( visualContext: QTVisualContextRef; attributeKey: CFStringRef; var attributeValueOut: CFTypeRef ): OSStatus; external name '_QTVisualContextGetAttribute';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * QTVisualContextImageAvailableCallback
- *
- * Summary:
- * User-defined callback function to recieve notifications when a
- * new image becomes available.
- *
- * Discussion:
- * Due to unpredictible activity, such as user seeks or the arrival
- * of streaming video packets from a network, new images may become
- * available for times supposedly occupied by previous images.
- * Applications using the CoreVideo display link to drive rendering
- * probably do not need to install a callback of this type since
- * they will already be checking for new images at a sufficient rate.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context invoking the callback.
- *
- * timeStamp:
- * [in] Time for which a new image has become available.
- *
- * refCon:
- * [in] User-defined value passed to
- * QTVisualContextSetImageAvailableCallback.
- }
- type
- QTVisualContextImageAvailableCallback = procedure( visualContext: QTVisualContextRef; const (*var*) timeStamp: CVTimeStamp; refCon: UnivPtr );
- {
- * QTVisualContextSetImageAvailableCallback()
- *
- * Summary:
- * Installs user-defined callback to be notified when new images
- * become available.
- *
- * Discussion:
- * This routine installs the user defined
- * QTVisualContextImageAvailableCallback callback. There can only be
- * one callback associated with a QTVisualContext at a given time.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context.
- *
- * imageAvailableCallback:
- * [in] User-defined callback function to recieve notifications.
- * Pass NULL to remove any existing callback.
- *
- * refCon:
- * [in] User-defined value to pass to
- * QTVisualContextImageAvailableCallback.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTVisualContextSetImageAvailableCallback( visualContext: QTVisualContextRef; imageAvailableCallback: QTVisualContextImageAvailableCallback { can be NULL }; refCon: UnivPtr { can be NULL } ): OSStatus; external name '_QTVisualContextSetImageAvailableCallback';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * QTVisualContextIsNewImageAvailable()
- *
- * Summary:
- * Queries whether a new image is available for a given time.
- *
- * Discussion:
- * This function returns true if there is a image available for the
- * specified time that is different from the last image retrieved
- * from QTVisualContextCopyImageForTime. See
- * QTVisualContextCopyImageForTime for restrictions on time-stamps.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context.
- *
- * timeStamp:
- * [in] Time in question. Pass NULL to request the image at the
- * current time.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTVisualContextIsNewImageAvailable( visualContext: QTVisualContextRef; {const} timeStamp: CVTimeStampPtr { can be NULL } ): Boolean; external name '_QTVisualContextIsNewImageAvailable';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * QTVisualContextCopyImageForTime()
- *
- * Summary:
- * Retrieves an image buffer from the visual context, indexed by the
- * provided timestamp.
- *
- * Discussion:
- * You should not request image buffers further ahead of the current
- * time than the read-ahead time specified with the
- * kQTVisualContextExpectedReadAheadKey attribute. You may skip
- * images by passing later times, but you may not pass an earlier
- * time than passed to a previous call to this function.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context.
- *
- * allocator:
- * [in] Allocator used to create new CVImageBufferRef.
- *
- * timeStamp:
- * [in] Time in question. Pass NULL to request the image at the
- * current time.
- *
- * newImage:
- * [out] Points to variable to receive new image. If there is no
- * video at the requested time, this variable will be set to NULL.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTVisualContextCopyImageForTime( visualContext: QTVisualContextRef; allocator: CFAllocatorRef { can be NULL }; {const} timeStamp: CVTimeStampPtr { can be NULL }; var newImage: CVImageBufferRef ): OSStatus; external name '_QTVisualContextCopyImageForTime';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * QTVisualContextTask()
- *
- * Summary:
- * Causes visual context to release internally held resources for
- * later re-use.
- *
- * Discussion:
- * For optimal resource management, this function should be called
- * in every rendering pass, after old images have been released, new
- * images have been used and all rendering has been flushed to the
- * screen. This call is not mandatory.
- *
- * Parameters:
- *
- * visualContext:
- * [in] The visual context.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- procedure QTVisualContextTask( visualContext: QTVisualContextRef ); external name '_QTVisualContextTask';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * QTOpenGLTextureContextCreate()
- *
- * Summary:
- * Creates a new OpenGL texture context for the given OpenGL context
- * and pixel format.
- *
- * Discussion:
- * This function will fail if the graphics hardware is insufficient.
- *
- * Parameters:
- *
- * allocator:
- * [in] Allocator used to create the texture context.
- *
- * cglContext:
- * [in] OpenGL context used to create textures.
- *
- * cglPixelFormat:
- * [in] OpenGL pixel format used to create the OpenGL context.
- *
- * attributes:
- * [in] Dictionary of attributes.
- *
- * newTextureContext:
- * [out] Points to a variable to recieve the new OpenGL texture
- * context.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTOpenGLTextureContextCreate( allocator: CFAllocatorRef { can be NULL }; cglContext: CGLContextObj; cglPixelFormat: CGLPixelFormatObj; attributes: CFDictionaryRef { can be NULL }; var newTextureContext: QTVisualContextRef ): OSStatus; external name '_QTOpenGLTextureContextCreate';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {
- * QTPixelBufferContextCreate()
- *
- * Summary:
- * Creates a new pixel buffer context with the given attributes.
- *
- * Discussion:
- * This function will fail if the graphics hardware is insufficient.
- *
- * Parameters:
- *
- * allocator:
- * [in] Allocator used to create the pixel buffer context.
- *
- * attributes:
- * [in] Dictionary of attributes.
- *
- * newPixelBufferContext:
- * [out] Points to a variable to recieve the new pixel buffer
- * context.
- *
- * Availability:
- * Mac OS X: in version 10.4 (or QuickTime 7.0) and later in QuickTime.framework
- * CarbonLib: not available
- * Non-Carbon CFM: not available
- }
- function QTPixelBufferContextCreate( allocator: CFAllocatorRef { can be NULL }; attributes: CFDictionaryRef { can be NULL }; var newPixelBufferContext: QTVisualContextRef ): OSStatus; external name '_QTPixelBufferContextCreate';
- (* AVAILABLE_MAC_OS_X_VERSION_10_4_AND_LATER *)
- {$endc} {not TARGET_CPU_64}
- {$endc} {TARGET_OS_MAC}
- {$ifc not defined MACOSALLINCLUDE or not MACOSALLINCLUDE}
- end.
- {$endc} {not MACOSALLINCLUDE}
|