home *** CD-ROM | disk | FTP | other *** search
/ QuickTime 2.0 Beta / Quicktime 2.0 Beta.iso / Programming Stuff / Interfaces / QuickTime Interfaces / ImageCodec.h next >
Encoding:
C/C++ Source or Header  |  1994-05-02  |  7.1 KB  |  264 lines  |  [TEXT/MPS ]

  1. /*
  2.     File:        ImageCodec.h
  3.  
  4.     Copyright:    © 1984-1993 by Apple Computer, Inc., all rights reserved.
  5.  
  6.     WARNING
  7.     This file was auto generated by the interfacer tool. Modifications
  8.     must be made to the master file.
  9.  
  10. */
  11.  
  12. #ifndef    __IMAGECODEC__
  13. #define __IMAGECODEC__
  14.  
  15. #ifndef __QUICKDRAW__
  16. #include <Quickdraw.h>
  17. /*    #include <Types.h>                                            */
  18. /*        #include <ConditionalMacros.h>                            */
  19. /*        #include <MixedMode.h>                                    */
  20. /*            #include <Traps.h>                                    */
  21. /*    #include <QuickdrawText.h>                                    */
  22. /*        #include <IntlResources.h>                                */
  23. #endif
  24.  
  25. #ifndef __QDOFFSCREEN__
  26. #include <QDOffscreen.h>
  27. #endif
  28.  
  29. #ifndef __TYPES__
  30. #endif
  31.  
  32. #ifndef __COMPONENTS__
  33. #include <Components.h>
  34. #endif
  35.  
  36. #ifndef    __IMAGECOMPRESSION__
  37. #include <ImageCompression.h>
  38. /*    #include <StandardFile.h>                                    */
  39. /*        #include <Dialogs.h>                                    */
  40. /*            #include <Windows.h>                                */
  41. /*                #include <Events.h>                                */
  42. /*                    #include <OSUtils.h>                        */
  43. /*                #include <Controls.h>                            */
  44. /*                    #include <Menus.h>                            */
  45. /*            #include <TextEdit.h>                                */
  46. /*        #include <Files.h>                                        */
  47. /*            #include <SegLoad.h>                                */
  48. /*    #include <ToolUtils.h>                                        */
  49. /*        #include <TextUtils.h>                                    */
  50. /*            #include <Script.h>                                    */
  51. /*        #include <FixMath.h>                                    */
  52. #endif
  53.  
  54. #define codecGetCodecInfo 0x00
  55.  
  56. #define codecGetCompressionTime 0x01
  57.  
  58. #define codecGetMaxCompressionSize 0x02
  59.  
  60. #define codecPreCompress 0x03
  61.  
  62. #define codecBandCompress 0x04
  63.  
  64. #define codecPreDecompress 0x05
  65.  
  66. #define codecBandDecompress 0x06
  67.  
  68. #define codecCDSequenceBusy 0x07
  69.  
  70. #define codecGetCompressedImageSize 0x08
  71.  
  72. #define codecGetSimilarity 0x09
  73.  
  74. #define codecTrimImage 0x0A
  75.  
  76. #define codecRequestSettings 0x0B
  77.  
  78. #define codecGetSettings 0x0C
  79.  
  80. #define codecSetSettings 0x0D
  81.  
  82. #define codecCDSequenceFlush 0x0E
  83.  
  84. #define codecCanScale (1L<<0)
  85.  
  86. #define codecCanMask (1L<<1)
  87.  
  88. #define codecCanMatte (1L<<2)
  89.  
  90. #define codecCanTransform (1L<<3)
  91.  
  92. #define codecCanTransferMode (1L<<4)
  93.  
  94. #define codecCanCopyPrev (1L<<5)
  95.  
  96. #define codecCanSpool (1L<<6)
  97.  
  98. #define codecCanClipVertical (1L<<7)
  99.  
  100. #define codecCanClipRectangular (1L<<8)
  101.  
  102. #define codecCanRemapColor (1L<<9)
  103.  
  104. #define codecCanFastDither (1L<<10)
  105.  
  106. #define codecCanSrcExtract (1L<<11)
  107.  
  108. #define codecCanCopyPrevComp (1L<<12)
  109.  
  110. #define codecCanAsync (1L<<13)
  111.  
  112. #define codecCanMakeMask (1L<<14)
  113.  
  114. #define codecCanShift (1L<<15)
  115.  
  116. #define codecCanAsyncWhen (1L<<16)
  117.  
  118. #define codecCanShieldCursor (1L<<17)
  119.  
  120. #if defined(powerc) || defined (__powerc)
  121. #pragma options align=mac68k
  122. #endif
  123. struct CodecCapabilities {
  124.     long                        flags;
  125.     short                        wantedPixelSize;
  126.     short                        extendWidth;
  127.     short                        extendHeight;
  128.     short                        bandMin;
  129.     short                        bandInc;
  130.     short                        pad;
  131.     unsigned long                time;
  132. };
  133. #if defined(powerc) || defined(__powerc)
  134. #pragma options align=reset
  135. #endif
  136.  
  137. typedef struct CodecCapabilities CodecCapabilities;
  138.  
  139. #define codecConditionFirstBand (1L<<0)
  140.  
  141. #define codecConditionLastBand (1L<<1)
  142.  
  143. #define codecConditionFirstFrame (1L<<2)
  144.  
  145. #define codecConditionNewDepth (1L<<3)
  146.  
  147. #define codecConditionNewTransform (1L<<4)
  148.  
  149. #define codecConditionNewSrcRect (1L<<5)
  150.  
  151. #define codecConditionNewMask (1L<<6)
  152.  
  153. #define codecConditionNewMatte (1L<<7)
  154.  
  155. #define codecConditionNewTransferMode (1L<<8)
  156.  
  157. #define codecConditionNewClut (1L<<9)
  158.  
  159. #define codecConditionNewAccuracy (1L<<10)
  160.  
  161. #define codecConditionNewDestination (1L<<11)
  162.  
  163. #define codecConditionFirstScreen (1L<<12)
  164.  
  165. #define codecConditionDoCursor (1L<<13)
  166.  
  167. #define codecConditionCatchUpDiff (1L<<14)
  168.  
  169. #define codecConditionCodecChangedMask (1L<<31)
  170.  
  171. #define codecInfoResourceType 'cdci'
  172.  
  173. #define codecInterfaceVersion 1
  174.  
  175. #if defined(powerc) || defined (__powerc)
  176. #pragma options align=mac68k
  177. #endif
  178. struct CodecCompressParams {
  179.     ImageSequence                sequenceID;
  180.     ImageDescriptionHandle        imageDescription;
  181.     Ptr                            data;
  182.     long                        bufferSize;
  183.     long                        frameNumber;
  184.     long                        startLine;
  185.     long                        stopLine;
  186.     long                        conditionFlags;
  187.     CodecFlags                    callerFlags;
  188.     CodecCapabilities            *capabilities;
  189.     ICMProgressProcRecord        progressProcRecord;
  190.     ICMCompletionProcRecord        completionProcRecord;
  191.     ICMFlushProcRecord            flushProcRecord;
  192.     PixMap                        srcPixMap;
  193.     PixMap                        prevPixMap;
  194.     CodecQ                        spatialQuality;
  195.     CodecQ                        temporalQuality;
  196.     Fixed                        similarity;
  197.     DataRateParamsPtr            dataRateParams;
  198.     long                        reserved;
  199. };
  200. #if defined(powerc) || defined(__powerc)
  201. #pragma options align=reset
  202. #endif
  203.  
  204. typedef struct CodecCompressParams CodecCompressParams;
  205.  
  206. #if defined(powerc) || defined (__powerc)
  207. #pragma options align=mac68k
  208. #endif
  209. struct CodecDecompressParams {
  210.     ImageSequence                sequenceID;
  211.     ImageDescriptionHandle        imageDescription;
  212.     Ptr                            data;
  213.     long                        bufferSize;
  214.     long                        frameNumber;
  215.     long                        startLine;
  216.     long                        stopLine;
  217.     long                        conditionFlags;
  218.     CodecFlags                    callerFlags;
  219.     CodecCapabilities            *capabilities;
  220.     ICMProgressProcRecord        progressProcRecord;
  221.     ICMCompletionProcRecord        completionProcRecord;
  222.     ICMDataProcRecord            dataProcRecord;
  223.     CGrafPtr                    port;
  224.     PixMap                        dstPixMap;
  225.     BitMapPtr                    maskBits;
  226.     PixMapPtr                    mattePixMap;
  227.     Rect                        srcRect;
  228.     MatrixRecord                *matrix;
  229.     CodecQ                        accuracy;
  230.     short                        transferMode;
  231.     ICMFrameTimePtr                frameTime;
  232.     long                        reserved[1];
  233.     char                        matrixFlags;
  234.     char                        matrixType;
  235.     Rect                        dstRect;
  236. };
  237. #if defined(powerc) || defined(__powerc)
  238. #pragma options align=reset
  239. #endif
  240.  
  241. typedef struct CodecDecompressParams CodecDecompressParams;
  242.  
  243. #define matrixFlagScale2x (1L<<7)
  244.  
  245. #define PREAMBLE Handle    storage
  246.  
  247. extern pascal ComponentResult CDGetCodecInfo(Handle storage, CodecInfo *info);
  248. extern pascal ComponentResult CDGetCompressionTime(Handle storage, PixMapHandle src, const Rect *srcRect, short depth, CodecQ *spatialQuality, CodecQ *temporalQuality, unsigned long *time);
  249. extern pascal ComponentResult CDGetMaxCompressionSize(Handle storage, PixMapHandle src, const Rect *srcRect, short depth, CodecQ quality, long *size);
  250. extern pascal ComponentResult CDPreCompress(Handle storage, CodecCompressParams *params);
  251. extern pascal ComponentResult CDBandCompress(Handle storage, CodecCompressParams *params);
  252. extern pascal ComponentResult CDPreDecompress(Handle storage, CodecDecompressParams *params);
  253. extern pascal ComponentResult CDBandDecompress(Handle storage, CodecDecompressParams *params);
  254. extern pascal ComponentResult CDCodecBusy(Handle storage, ImageSequence seq);
  255. extern pascal ComponentResult CDGetCompressedImageSize(Handle storage, ImageDescriptionHandle desc, Ptr data, long bufferSize, ICMDataProcRecordPtr dataProc, long *dataSize);
  256. extern pascal ComponentResult CDGetSimilarity(Handle storage, PixMapHandle src, const Rect *srcRect, ImageDescriptionHandle desc, Ptr data, Fixed *similarity);
  257. extern pascal ComponentResult CDTrimImage(Handle storage, ImageDescriptionHandle Desc, Ptr inData, long inBufferSize, ICMDataProcRecordPtr dataProc, Ptr outData, long outBufferSize, ICMFlushProcRecordPtr flushProc, Rect *trimRect, ICMProgressProcRecordPtr progressProc);
  258. extern pascal ComponentResult CDRequestSettings(Handle storage, Handle settings, Rect *rp, ModalFilterUPP filterProc);
  259. extern pascal ComponentResult CDGetSettings(Handle storage, Handle settings);
  260. extern pascal ComponentResult CDSetSettings(Handle storage, Handle settings);
  261. extern pascal ComponentResult CDCodecFlush(Handle storage);
  262. #endif
  263.  
  264.