|
OpenMAXBellagio 0.9.3
|
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 */