topical media & game development
lib-of-vs-libs-QTDevWin-CIncludes-CMAcceleration.h / h
/*
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__ */
(C) Æliens
04/09/2009
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.