OpenMAXBellagio 0.9.3
OMX_Image.h
Go to the documentation of this file.
00001 
00028 #ifndef OMX_Image_h
00029 #define OMX_Image_h
00030 
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif /* __cplusplus */
00034 
00035 
00042 #include <OMX_IVCommon.h>
00043 
00053 typedef enum OMX_IMAGE_CODINGTYPE {
00054     OMX_IMAGE_CodingUnused,      
00055     OMX_IMAGE_CodingAutoDetect,  
00056     OMX_IMAGE_CodingJPEG,        
00057     OMX_IMAGE_CodingJPEG2K,      
00058     OMX_IMAGE_CodingEXIF,        
00059     OMX_IMAGE_CodingTIFF,        
00060     OMX_IMAGE_CodingGIF,         
00061     OMX_IMAGE_CodingPNG,         
00062     OMX_IMAGE_CodingLZW,         
00063     OMX_IMAGE_CodingBMP,         
00064     OMX_IMAGE_CodingKhronosExtensions = 0x6F000000, 
00065     OMX_IMAGE_CodingVendorStartUnused = 0x7F000000, 
00066     OMX_IMAGE_CodingMax = 0x7FFFFFFF
00067 } OMX_IMAGE_CODINGTYPE;
00068 
00069 
00111 typedef struct OMX_IMAGE_PORTDEFINITIONTYPE {
00112     OMX_STRING cMIMEType;
00113     OMX_NATIVE_DEVICETYPE pNativeRender;
00114     OMX_U32 nFrameWidth; 
00115     OMX_U32 nFrameHeight;
00116     OMX_S32 nStride;     
00117     OMX_U32 nSliceHeight;
00118     OMX_BOOL bFlagErrorConcealment;
00119     OMX_IMAGE_CODINGTYPE eCompressionFormat;
00120     OMX_COLOR_FORMATTYPE eColorFormat;
00121     OMX_NATIVE_WINDOWTYPE pNativeWindow;
00122 } OMX_IMAGE_PORTDEFINITIONTYPE;
00123 
00124 
00140 typedef struct OMX_IMAGE_PARAM_PORTFORMATTYPE {
00141     OMX_U32 nSize;
00142     OMX_VERSIONTYPE nVersion;
00143     OMX_U32 nPortIndex;
00144     OMX_U32 nIndex;
00145     OMX_IMAGE_CODINGTYPE eCompressionFormat;
00146     OMX_COLOR_FORMATTYPE eColorFormat;
00147 } OMX_IMAGE_PARAM_PORTFORMATTYPE;
00148 
00149 
00156 typedef enum OMX_IMAGE_FLASHCONTROLTYPE {
00157     OMX_IMAGE_FlashControlOn = 0,
00158     OMX_IMAGE_FlashControlOff,
00159     OMX_IMAGE_FlashControlAuto,
00160     OMX_IMAGE_FlashControlRedEyeReduction,
00161     OMX_IMAGE_FlashControlFillin,
00162     OMX_IMAGE_FlashControlTorch,
00163     OMX_IMAGE_FlashControlKhronosExtensions = 0x6F000000, 
00164     OMX_IMAGE_FlashControlVendorStartUnused = 0x7F000000, 
00165     OMX_IMAGE_FlashControlMax = 0x7FFFFFFF
00166 } OMX_IMAGE_FLASHCONTROLTYPE;
00167 
00168 
00178 typedef struct OMX_IMAGE_PARAM_FLASHCONTROLTYPE {
00179     OMX_U32 nSize;
00180     OMX_VERSIONTYPE nVersion;
00181     OMX_U32 nPortIndex;
00182     OMX_IMAGE_FLASHCONTROLTYPE eFlashControl;
00183 } OMX_IMAGE_PARAM_FLASHCONTROLTYPE;
00184 
00185 
00189 typedef enum OMX_IMAGE_FOCUSCONTROLTYPE {
00190     OMX_IMAGE_FocusControlOn = 0,
00191     OMX_IMAGE_FocusControlOff,
00192     OMX_IMAGE_FocusControlAuto,
00193     OMX_IMAGE_FocusControlAutoLock,
00194     OMX_IMAGE_FocusControlKhronosExtensions = 0x6F000000, 
00195     OMX_IMAGE_FocusControlVendorStartUnused = 0x7F000000, 
00196     OMX_IMAGE_FocusControlMax = 0x7FFFFFFF
00197 } OMX_IMAGE_FOCUSCONTROLTYPE;
00198 
00199  
00212 typedef struct OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE {
00213     OMX_U32 nSize;
00214     OMX_VERSIONTYPE nVersion;
00215     OMX_U32 nPortIndex;
00216     OMX_IMAGE_FOCUSCONTROLTYPE eFocusControl;
00217     OMX_U32 nFocusSteps;
00218     OMX_U32 nFocusStepIndex;
00219 } OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE;
00220 
00221 
00237 typedef struct OMX_IMAGE_PARAM_QFACTORTYPE {
00238     OMX_U32 nSize;            
00239     OMX_VERSIONTYPE nVersion; 
00240     OMX_U32 nPortIndex;       
00241     OMX_U32 nQFactor;                                        
00242 } OMX_IMAGE_PARAM_QFACTORTYPE;
00243 
00248 typedef enum OMX_IMAGE_QUANTIZATIONTABLETYPE {
00249     OMX_IMAGE_QuantizationTableLuma = 0,
00250     OMX_IMAGE_QuantizationTableChroma,
00251     OMX_IMAGE_QuantizationTableChromaCb,
00252     OMX_IMAGE_QuantizationTableChromaCr,
00253     OMX_IMAGE_QuantizationTableKhronosExtensions = 0x6F000000, 
00254     OMX_IMAGE_QuantizationTableVendorStartUnused = 0x7F000000, 
00255     OMX_IMAGE_QuantizationTableMax = 0x7FFFFFFF
00256 } OMX_IMAGE_QUANTIZATIONTABLETYPE;
00257 
00275 typedef struct OMX_IMAGE_PARAM_QUANTIZATIONTABLETYPE {
00276     OMX_U32 nSize;
00277     OMX_VERSIONTYPE nVersion;
00278     OMX_U32 nPortIndex;
00279     OMX_IMAGE_QUANTIZATIONTABLETYPE eQuantizationTable;
00280     OMX_U8 nQuantizationMatrix[64];
00281 } OMX_IMAGE_PARAM_QUANTIZATIONTABLETYPE;
00282 
00283 
00288 typedef enum OMX_IMAGE_HUFFMANTABLETYPE {
00289     OMX_IMAGE_HuffmanTableAC = 0,
00290     OMX_IMAGE_HuffmanTableDC,
00291     OMX_IMAGE_HuffmanTableACLuma,
00292     OMX_IMAGE_HuffmanTableACChroma,
00293     OMX_IMAGE_HuffmanTableDCLuma,
00294     OMX_IMAGE_HuffmanTableDCChroma,
00295     OMX_IMAGE_HuffmanTableKhronosExtensions = 0x6F000000, 
00296     OMX_IMAGE_HuffmanTableVendorStartUnused = 0x7F000000, 
00297     OMX_IMAGE_HuffmanTableMax = 0x7FFFFFFF
00298 } OMX_IMAGE_HUFFMANTABLETYPE;
00299 
00313 typedef struct OMX_IMAGE_PARAM_HUFFMANTTABLETYPE {
00314     OMX_U32 nSize;
00315     OMX_VERSIONTYPE nVersion;
00316     OMX_U32 nPortIndex;
00317     OMX_IMAGE_HUFFMANTABLETYPE eHuffmanTable;
00318     OMX_U8 nNumberOfHuffmanCodeOfLength[16];
00319     OMX_U8 nHuffmanTable[256];
00320 }OMX_IMAGE_PARAM_HUFFMANTTABLETYPE;
00321 
00323 #ifdef __cplusplus
00324 }
00325 #endif /* __cplusplus */
00326 
00327 #endif
00328 /* File EOF */