CMAcceleration.h
上传用户:xjjlds
上传日期:2015-12-05
资源大小:22823k
文件大小:5k
- /*
- File: CMAcceleration.h
-
- Contains: ColorSync Acceleration Component API
-
- Version: Technology: ColorSync 2.0
- Release: QuickTime 6.0.2
-
- Copyright: (c) 1995-2001 by Apple Computer, Inc., all rights reserved.
-
- Bugs?: For bug reports, consult the following page on
- the World Wide Web:
-
- http://developer.apple.com/bugreporter/
-
- */
- #ifndef __CMACCELERATION__
- #define __CMACCELERATION__
- #ifndef __COMPONENTS__
- #include "Components.h"
- #endif
- #ifndef __CMAPPLICATION__
- #include "CMApplication.h"
- #endif
- #if PRAGMA_ONCE
- #pragma once
- #endif
- #ifdef __cplusplus
- extern "C" {
- #endif
- #if PRAGMA_IMPORT
- #pragma import on
- #endif
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=mac68k
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(push, 2)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack(2)
- #endif
- /* -------------------------------------- version info */
- enum {
- cmAccelerationInterfaceVersion = 1
- };
- /* -------------------------------------- Component Type */
- enum {
- cmAccelerationComponentType = FOUR_CHAR_CODE('csac')
- };
- /* -------------------------------------- Required Component function selectors */
- enum {
- cmLoadTables = 0,
- cmCalculateData = 1
- };
- /* -------------------------------------- table data for acceleration component */
- struct CMAccelerationTableData {
- long inputLutEntryCount; /* count of entries for input lut for one dimension*/
- long inputLutWordSize; /* count of bits of each entry ( e.g. 16 for WORD )*/
- Handle inputLut; /* handle to input lut*/
- long outputLutEntryCount; /* count of entries for output lut for one dimension */
- long outputLutWordSize; /* count of bits of each entry ( e.g. 8 for BYTE )*/
- Handle outputLut; /* handle to output lut*/
- long colorLutInDim; /* input dimension ( e.g. 3 for LAB ; 4 for CMYK )*/
- long colorLutOutDim; /* output dimension ( e.g. 3 for LAB ; 4 for CMYK )*/
- long colorLutGridPoints; /* count of gridpoints for color lut ( for one Dimension ) */
- long colorLutWordSize; /* count of bits of each entry ( e.g. 8 for BYTE )*/
- Handle colorLut; /* handle to color lut*/
- CMBitmapColorSpace inputColorSpace; /* packing info for input*/
- CMBitmapColorSpace outputColorSpace; /* packing info for output*/
- void * userData;
- unsigned long reserved1;
- unsigned long reserved2;
- unsigned long reserved3;
- unsigned long reserved4;
- unsigned long reserved5;
- };
- typedef struct CMAccelerationTableData CMAccelerationTableData;
- typedef CMAccelerationTableData * CMAccelerationTableDataPtr;
- typedef CMAccelerationTableDataPtr * CMAccelerationTableDataHdl;
- /* -------------------------------------- calc data for acceleration component */
- struct CMAccelerationCalcData {
- long pixelCount; /* count of input pixels*/
- Ptr inputData; /* input array*/
- Ptr outputData; /* output array*/
- unsigned long reserved1;
- unsigned long reserved2;
- };
- typedef struct CMAccelerationCalcData CMAccelerationCalcData;
- typedef CMAccelerationCalcData * CMAccelerationCalcDataPtr;
- typedef CMAccelerationCalcDataPtr * CMAccelerationCalcDataHdl;
- /*
- ------------------------------------------------------------------------------------------------
- A c c e l e r a t i o n C o m p o n e n t I n t e r f a c e s
- ------------------------------------------------------------------------------------------------
- */
- #if CALL_NOT_IN_CARBON
- EXTERN_API( CMError )
- CMAccelerationLoadTables (ComponentInstance CMSession,
- CMAccelerationTableDataPtr tableData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0000, 0x7000, 0xA82A);
- EXTERN_API( CMError )
- CMAccelerationCalculateData (ComponentInstance CMSession,
- CMAccelerationCalcDataPtr calcData) FIVEWORDINLINE(0x2F3C, 0x0004, 0x0001, 0x7000, 0xA82A);
- #endif /* CALL_NOT_IN_CARBON */
- #if PRAGMA_STRUCT_ALIGN
- #pragma options align=reset
- #elif PRAGMA_STRUCT_PACKPUSH
- #pragma pack(pop)
- #elif PRAGMA_STRUCT_PACK
- #pragma pack()
- #endif
- #ifdef PRAGMA_IMPORT_OFF
- #pragma import off
- #elif PRAGMA_IMPORT
- #pragma import reset
- #endif
- #ifdef __cplusplus
- }
- #endif
- #endif /* __CMACCELERATION__ */