00001
00028 #ifndef OMX_Image_h
00029 #define OMX_Image_h
00030
00031 #ifdef __cplusplus
00032 extern "C" {
00033 #endif
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_CodingMax = 0x7FFFFFFF
00065 } OMX_IMAGE_CODINGTYPE;
00066
00067
00109 typedef struct OMX_IMAGE_PORTDEFINITIONTYPE {
00110 OMX_STRING cMIMEType;
00111 OMX_NATIVE_DEVICETYPE pNativeRender;
00112 OMX_U32 nFrameWidth;
00113 OMX_U32 nFrameHeight;
00114 OMX_S32 nStride;
00115 OMX_U32 nSliceHeight;
00116 OMX_BOOL bFlagErrorConcealment;
00117 OMX_IMAGE_CODINGTYPE eCompressionFormat;
00118 OMX_COLOR_FORMATTYPE eColorFormat;
00119 OMX_NATIVE_WINDOWTYPE pNativeWindow;
00120 } OMX_IMAGE_PORTDEFINITIONTYPE;
00121
00122
00138 typedef struct OMX_IMAGE_PARAM_PORTFORMATTYPE {
00139 OMX_U32 nSize;
00140 OMX_VERSIONTYPE nVersion;
00141 OMX_U32 nPortIndex;
00142 OMX_U32 nIndex;
00143 OMX_IMAGE_CODINGTYPE eCompressionFormat;
00144 OMX_COLOR_FORMATTYPE eColorFormat;
00145 } OMX_IMAGE_PARAM_PORTFORMATTYPE;
00146
00147
00154 typedef enum OMX_IMAGE_FLASHCONTROLTYPE {
00155 OMX_IMAGE_FlashControlOn = 0,
00156 OMX_IMAGE_FlashControlOff,
00157 OMX_IMAGE_FlashControlAuto,
00158 OMX_IMAGE_FlashControlRedEyeReduction,
00159 OMX_IMAGE_FlashControlFillin,
00160 OMX_IMAGE_FlashControlTorch,
00161 OMX_IMAGE_FlashControlMax = 0x7FFFFFFF
00162 } OMX_IMAGE_FLASHCONTROLTYPE;
00163
00164
00174 typedef struct OMX_IMAGE_PARAM_FLASHCONTROLTYPE {
00175 OMX_U32 nSize;
00176 OMX_VERSIONTYPE nVersion;
00177 OMX_U32 nPortIndex;
00178 OMX_IMAGE_FLASHCONTROLTYPE eFlashControl;
00179 } OMX_IMAGE_PARAM_FLASHCONTROLTYPE;
00180
00181
00185 typedef enum OMX_IMAGE_FOCUSCONTROLTYPE {
00186 OMX_IMAGE_FocusControlOn = 0,
00187 OMX_IMAGE_FocusControlOff,
00188 OMX_IMAGE_FocusControlAuto,
00189 OMX_IMAGE_FocusControlAutoLock,
00190 OMX_IMAGE_FocusControlMax = 0x7FFFFFFF
00191 } OMX_IMAGE_FOCUSCONTROLTYPE;
00192
00193
00206 typedef struct OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE {
00207 OMX_U32 nSize;
00208 OMX_VERSIONTYPE nVersion;
00209 OMX_U32 nPortIndex;
00210 OMX_IMAGE_FOCUSCONTROLTYPE eFocusControl;
00211 OMX_U32 nFocusSteps;
00212 OMX_U32 nFocusStepIndex;
00213 } OMX_IMAGE_CONFIG_FOCUSCONTROLTYPE;
00214
00215
00231 typedef struct OMX_IMAGE_PARAM_QFACTORTYPE {
00232 OMX_U32 nSize;
00233 OMX_VERSIONTYPE nVersion;
00234 OMX_U32 nPortIndex;
00235 OMX_U32 nQFactor;
00236 } OMX_IMAGE_PARAM_QFACTORTYPE;
00237
00242 typedef enum OMX_IMAGE_QUANTIZATIONTABLETYPE {
00243 OMX_IMAGE_QuantizationTableLuma = 0,
00244 OMX_IMAGE_QuantizationTableChroma,
00245 OMX_IMAGE_QuantizationTableChromaCb,
00246 OMX_IMAGE_QuantizationTableChromaCr,
00247 OMX_IMAGE_QuantizationTableMax = 0x7FFFFFFF
00248 } OMX_IMAGE_QUANTIZATIONTABLETYPE;
00249
00267 typedef struct OMX_IMAGE_PARAM_QUANTIZATIONTABLETYPE {
00268 OMX_U32 nSize;
00269 OMX_VERSIONTYPE nVersion;
00270 OMX_U32 nPortIndex;
00271 OMX_IMAGE_QUANTIZATIONTABLETYPE eQuantizationTable;
00272 OMX_U8 nQuantizationMatrix[64];
00273 } OMX_IMAGE_PARAM_QUANTIZATIONTABLETYPE;
00274
00275
00280 typedef enum OMX_IMAGE_HUFFMANTABLETYPE {
00281 OMX_IMAGE_HuffmanTableAC = 0,
00282 OMX_IMAGE_HuffmanTableDC,
00283 OMX_IMAGE_HuffmanTableACLuma,
00284 OMX_IMAGE_HuffmanTableACChroma,
00285 OMX_IMAGE_HuffmanTableDCLuma,
00286 OMX_IMAGE_HuffmanTableDCChroma,
00287 OMX_IMAGE_HuffmanTableMax = 0x7FFFFFFF
00288 } OMX_IMAGE_HUFFMANTABLETYPE;
00289
00303 typedef struct OMX_IMAGE_PARAM_HUFFMANTTABLETYPE {
00304 OMX_U32 nSize;
00305 OMX_VERSIONTYPE nVersion;
00306 OMX_U32 nPortIndex;
00307 OMX_IMAGE_HUFFMANTABLETYPE eHuffmanTable;
00308 OMX_U8 nNumberOfHuffmanCodeOfLength[16];
00309 OMX_U8 nHuffmanTable[256];
00310 }OMX_IMAGE_PARAM_HUFFMANTTABLETYPE;
00311
00313 #ifdef __cplusplus
00314 }
00315 #endif
00316
00317 #endif
00318