00001
00029 #ifndef OMX_IVCommon_h
00030 #define OMX_IVCommon_h
00031
00032 #ifdef __cplusplus
00033 extern "C" {
00034 #endif
00035
00042 #include <OMX_Core.h>
00043
00088 typedef enum OMX_COLOR_FORMATTYPE {
00089 OMX_COLOR_FormatUnused,
00090 OMX_COLOR_FormatMonochrome,
00091 OMX_COLOR_Format8bitRGB332,
00092 OMX_COLOR_Format12bitRGB444,
00093 OMX_COLOR_Format16bitARGB4444,
00094 OMX_COLOR_Format16bitARGB1555,
00095 OMX_COLOR_Format16bitRGB565,
00096 OMX_COLOR_Format16bitBGR565,
00097 OMX_COLOR_Format18bitRGB666,
00098 OMX_COLOR_Format18bitARGB1665,
00099 OMX_COLOR_Format19bitARGB1666,
00100 OMX_COLOR_Format24bitRGB888,
00101 OMX_COLOR_Format24bitBGR888,
00102 OMX_COLOR_Format24bitARGB1887,
00103 OMX_COLOR_Format25bitARGB1888,
00104 OMX_COLOR_Format32bitBGRA8888,
00105 OMX_COLOR_Format32bitARGB8888,
00106 OMX_COLOR_FormatYUV411Planar,
00107 OMX_COLOR_FormatYUV411PackedPlanar,
00108 OMX_COLOR_FormatYUV420Planar,
00109 OMX_COLOR_FormatYUV420PackedPlanar,
00110 OMX_COLOR_FormatYUV420SemiPlanar,
00111 OMX_COLOR_FormatYUV422Planar,
00112 OMX_COLOR_FormatYUV422PackedPlanar,
00113 OMX_COLOR_FormatYUV422SemiPlanar,
00114 OMX_COLOR_FormatYCbYCr,
00115 OMX_COLOR_FormatYCrYCb,
00116 OMX_COLOR_FormatCbYCrY,
00117 OMX_COLOR_FormatCrYCbY,
00118 OMX_COLOR_FormatYUV444Interleaved,
00119 OMX_COLOR_FormatRawBayer8bit,
00120 OMX_COLOR_FormatRawBayer10bit,
00121 OMX_COLOR_FormatRawBayer8bitcompressed,
00122 OMX_COLOR_FormatL2,
00123 OMX_COLOR_FormatL4,
00124 OMX_COLOR_FormatL8,
00125 OMX_COLOR_FormatL16,
00126 OMX_COLOR_FormatL24,
00127 OMX_COLOR_FormatL32,
00128 OMX_COLOR_FormatYUV420PackedSemiPlanar,
00129 OMX_COLOR_FormatYUV422PackedSemiPlanar,
00130 OMX_COLOR_Format18BitBGR666,
00131 OMX_COLOR_Format24BitARGB6666,
00132 OMX_COLOR_Format24BitABGR6666,
00133 OMX_COLOR_FormatMax = 0x7FFFFFFF
00134 } OMX_COLOR_FORMATTYPE;
00135
00136
00142 typedef struct OMX_CONFIG_COLORCONVERSIONTYPE {
00143 OMX_U32 nSize;
00144 OMX_VERSIONTYPE nVersion;
00145 OMX_U32 nPortIndex;
00146 OMX_S32 xColorMatrix[3][3];
00147 OMX_S32 xColorOffset[4];
00148 }OMX_CONFIG_COLORCONVERSIONTYPE;
00149
00150
00156 typedef struct OMX_CONFIG_SCALEFACTORTYPE {
00157 OMX_U32 nSize;
00158 OMX_VERSIONTYPE nVersion;
00159 OMX_U32 nPortIndex;
00160 OMX_S32 xWidth;
00161 OMX_S32 xHeight;
00162 }OMX_CONFIG_SCALEFACTORTYPE;
00163
00164
00168 typedef enum OMX_IMAGEFILTERTYPE {
00169 OMX_ImageFilterNone,
00170 OMX_ImageFilterNoise,
00171 OMX_ImageFilterEmboss,
00172 OMX_ImageFilterNegative,
00173 OMX_ImageFilterSketch,
00174 OMX_ImageFilterOilPaint,
00175 OMX_ImageFilterHatch,
00176 OMX_ImageFilterGpen,
00177 OMX_ImageFilterAntialias,
00178 OMX_ImageFilterDeRing,
00179 OMX_ImageFilterSolarize,
00180 OMX_ImageFilterMax = 0x7FFFFFFF
00181 } OMX_IMAGEFILTERTYPE;
00182
00183
00193 typedef struct OMX_CONFIG_IMAGEFILTERTYPE {
00194 OMX_U32 nSize;
00195 OMX_VERSIONTYPE nVersion;
00196 OMX_U32 nPortIndex;
00197 OMX_IMAGEFILTERTYPE eImageFilter;
00198 } OMX_CONFIG_IMAGEFILTERTYPE;
00199
00200
00214 typedef struct OMX_CONFIG_COLORENHANCEMENTTYPE {
00215 OMX_U32 nSize;
00216 OMX_VERSIONTYPE nVersion;
00217 OMX_U32 nPortIndex;
00218 OMX_BOOL bColorEnhancement;
00219 OMX_U8 nCustomizedU;
00220 OMX_U8 nCustomizedV;
00221 } OMX_CONFIG_COLORENHANCEMENTTYPE;
00222
00223
00234 typedef struct OMX_CONFIG_COLORKEYTYPE {
00235 OMX_U32 nSize;
00236 OMX_VERSIONTYPE nVersion;
00237 OMX_U32 nPortIndex;
00238 OMX_U32 nARGBColor;
00239 OMX_U32 nARGBMask;
00240 } OMX_CONFIG_COLORKEYTYPE;
00241
00242
00256 typedef enum OMX_COLORBLENDTYPE {
00257 OMX_ColorBlendNone,
00258 OMX_ColorBlendAlphaConstant,
00259 OMX_ColorBlendAlphaPerPixel,
00260 OMX_ColorBlendAlternate,
00261 OMX_ColorBlendAnd,
00262 OMX_ColorBlendOr,
00263 OMX_ColorBlendInvert,
00264 OMX_ColorBlendMax = 0x7FFFFFFF
00265 } OMX_COLORBLENDTYPE;
00266
00267
00278 typedef struct OMX_CONFIG_COLORBLENDTYPE {
00279 OMX_U32 nSize;
00280 OMX_VERSIONTYPE nVersion;
00281 OMX_U32 nPortIndex;
00282 OMX_U32 nRGBAlphaConstant;
00283 OMX_COLORBLENDTYPE eColorBlend;
00284 } OMX_CONFIG_COLORBLENDTYPE;
00285
00286
00297 typedef struct OMX_FRAMESIZETYPE {
00298 OMX_U32 nSize;
00299 OMX_VERSIONTYPE nVersion;
00300 OMX_U32 nPortIndex;
00301 OMX_U32 nWidth;
00302 OMX_U32 nHeight;
00303 } OMX_FRAMESIZETYPE;
00304
00305
00315 typedef struct OMX_CONFIG_ROTATIONTYPE {
00316 OMX_U32 nSize;
00317 OMX_VERSIONTYPE nVersion;
00318 OMX_U32 nPortIndex;
00319 OMX_S32 nRotation;
00320 } OMX_CONFIG_ROTATIONTYPE;
00321
00322
00332 typedef enum OMX_MIRRORTYPE {
00333 OMX_MirrorNone = 0,
00334 OMX_MirrorVertical,
00335 OMX_MirrorHorizontal,
00336 OMX_MirrorBoth,
00337 OMX_MirrorMax = 0x7FFFFFFF
00338 } OMX_MIRRORTYPE;
00339
00340
00350 typedef struct OMX_CONFIG_MIRRORTYPE {
00351 OMX_U32 nSize;
00352 OMX_VERSIONTYPE nVersion;
00353 OMX_U32 nPortIndex;
00354 OMX_MIRRORTYPE eMirror;
00355 } OMX_CONFIG_MIRRORTYPE;
00356
00357
00368 typedef struct OMX_CONFIG_POINTTYPE {
00369 OMX_U32 nSize;
00370 OMX_VERSIONTYPE nVersion;
00371 OMX_U32 nPortIndex;
00372 OMX_S32 nX;
00373 OMX_S32 nY;
00374 } OMX_CONFIG_POINTTYPE;
00375
00376
00389 typedef struct OMX_CONFIG_RECTTYPE {
00390 OMX_U32 nSize;
00391 OMX_VERSIONTYPE nVersion;
00392 OMX_U32 nPortIndex;
00393 OMX_S32 nLeft;
00394 OMX_S32 nTop;
00395 OMX_U32 nWidth;
00396 OMX_U32 nHeight;
00397 } OMX_CONFIG_RECTTYPE;
00398
00399
00409 typedef struct OMX_PARAM_DEBLOCKINGTYPE {
00410 OMX_U32 nSize;
00411 OMX_VERSIONTYPE nVersion;
00412 OMX_U32 nPortIndex;
00413 OMX_BOOL bDeblocking;
00414 } OMX_PARAM_DEBLOCKINGTYPE;
00415
00416
00426 typedef struct OMX_CONFIG_FRAMESTABTYPE {
00427 OMX_U32 nSize;
00428 OMX_VERSIONTYPE nVersion;
00429 OMX_U32 nPortIndex;
00430 OMX_BOOL bStab;
00431 } OMX_CONFIG_FRAMESTABTYPE;
00432
00433
00441 typedef enum OMX_WHITEBALCONTROLTYPE {
00442 OMX_WhiteBalControlOff = 0,
00443 OMX_WhiteBalControlAuto,
00444 OMX_WhiteBalControlSunLight,
00445 OMX_WhiteBalControlCloudy,
00446 OMX_WhiteBalControlShade,
00447 OMX_WhiteBalControlTungsten,
00448 OMX_WhiteBalControlFluorescent,
00449 OMX_WhiteBalControlIncandescent,
00450 OMX_WhiteBalControlFlash,
00451 OMX_WhiteBalControlHorizon,
00452 OMX_WhiteBalControlMax = 0x7FFFFFFF
00453 } OMX_WHITEBALCONTROLTYPE;
00454
00455
00465 typedef struct OMX_CONFIG_WHITEBALCONTROLTYPE {
00466 OMX_U32 nSize;
00467 OMX_VERSIONTYPE nVersion;
00468 OMX_U32 nPortIndex;
00469 OMX_WHITEBALCONTROLTYPE eWhiteBalControl;
00470 } OMX_CONFIG_WHITEBALCONTROLTYPE;
00471
00472
00476 typedef enum OMX_EXPOSURECONTROLTYPE {
00477 OMX_ExposureControlOff = 0,
00478 OMX_ExposureControlAuto,
00479 OMX_ExposureControlNight,
00480 OMX_ExposureControlBackLight,
00481 OMX_ExposureControlSpotLight,
00482 OMX_ExposureControlSports,
00483 OMX_ExposureControlSnow,
00484 OMX_ExposureControlBeach,
00485 OMX_ExposureControlLargeAperture,
00486 OMX_ExposureControlSmallApperture,
00487 OMX_ExposureControlMax = 0x7FFFFFFF
00488 } OMX_EXPOSURECONTROLTYPE;
00489
00490
00500 typedef struct OMX_CONFIG_EXPOSURECONTROLTYPE {
00501 OMX_U32 nSize;
00502 OMX_VERSIONTYPE nVersion;
00503 OMX_U32 nPortIndex;
00504 OMX_EXPOSURECONTROLTYPE eExposureControl;
00505 } OMX_CONFIG_EXPOSURECONTROLTYPE;
00506
00507
00519 typedef struct OMX_PARAM_SENSORMODETYPE {
00520 OMX_U32 nSize;
00521 OMX_VERSIONTYPE nVersion;
00522 OMX_U32 nPortIndex;
00523 OMX_U32 nFrameRate;
00524 OMX_BOOL bOneShot;
00525 OMX_FRAMESIZETYPE sFrameSize;
00526 } OMX_PARAM_SENSORMODETYPE;
00527
00528
00538 typedef struct OMX_CONFIG_CONTRASTTYPE {
00539 OMX_U32 nSize;
00540 OMX_VERSIONTYPE nVersion;
00541 OMX_U32 nPortIndex;
00542 OMX_S32 nContrast;
00543 } OMX_CONFIG_CONTRASTTYPE;
00544
00545
00555 typedef struct OMX_CONFIG_BRIGHTNESSTYPE {
00556 OMX_U32 nSize;
00557 OMX_VERSIONTYPE nVersion;
00558 OMX_U32 nPortIndex;
00559 OMX_U32 nBrightness;
00560 } OMX_CONFIG_BRIGHTNESSTYPE;
00561
00562
00574 typedef struct OMX_CONFIG_BACKLIGHTTYPE {
00575 OMX_U32 nSize;
00576 OMX_VERSIONTYPE nVersion;
00577 OMX_U32 nPortIndex;
00578 OMX_U32 nBacklight;
00579 OMX_U32 nTimeout;
00580 } OMX_CONFIG_BACKLIGHTTYPE;
00581
00582
00592 typedef struct OMX_CONFIG_GAMMATYPE {
00593 OMX_U32 nSize;
00594 OMX_VERSIONTYPE nVersion;
00595 OMX_U32 nPortIndex;
00596 OMX_S32 nGamma;
00597 } OMX_CONFIG_GAMMATYPE;
00598
00599
00610 typedef struct OMX_CONFIG_SATURATIONTYPE {
00611 OMX_U32 nSize;
00612 OMX_VERSIONTYPE nVersion;
00613 OMX_U32 nPortIndex;
00614 OMX_S32 nSaturation;
00615 } OMX_CONFIG_SATURATIONTYPE;
00616
00617
00628 typedef struct OMX_CONFIG_LIGHTNESSTYPE {
00629 OMX_U32 nSize;
00630 OMX_VERSIONTYPE nVersion;
00631 OMX_U32 nPortIndex;
00632 OMX_S32 nLightness;
00633 } OMX_CONFIG_LIGHTNESSTYPE;
00634
00635
00649 typedef struct OMX_CONFIG_PLANEBLENDTYPE {
00650 OMX_U32 nSize;
00651 OMX_VERSIONTYPE nVersion;
00652 OMX_U32 nPortIndex;
00653 OMX_U32 nDepth;
00654 OMX_U32 nAlpha;
00655 } OMX_CONFIG_PLANEBLENDTYPE;
00656
00657
00671 typedef struct OMX_PARAM_INTERLEAVETYPE {
00672 OMX_U32 nSize;
00673 OMX_VERSIONTYPE nVersion;
00674 OMX_U32 nPortIndex;
00675 OMX_BOOL bEnable;
00676 OMX_U32 nInterleavePortIndex;
00677 } OMX_PARAM_INTERLEAVETYPE;
00678
00679
00683 typedef enum OMX_TRANSITIONEFFECTTYPE {
00684 OMX_EffectNone,
00685 OMX_EffectFadeFromBlack,
00686 OMX_EffectFadeToBlack,
00687 OMX_EffectUnspecifiedThroughConstantColor,
00688 OMX_EffectDissolve,
00689 OMX_EffectWipe,
00690 OMX_EffectUnspecifiedMixOfTwoScenes,
00691 OMX_EffectMax = 0x7FFFFFFF
00692 } OMX_TRANSITIONEFFECTTYPE;
00693
00694
00704 typedef struct OMX_CONFIG_TRANSITIONEFFECTTYPE {
00705 OMX_U32 nSize;
00706 OMX_VERSIONTYPE nVersion;
00707 OMX_U32 nPortIndex;
00708 OMX_TRANSITIONEFFECTTYPE eEffect;
00709 } OMX_CONFIG_TRANSITIONEFFECTTYPE;
00710
00711
00717 typedef enum OMX_DATAUNITTYPE {
00718 OMX_DataUnitCodedPicture,
00719 OMX_DataUnitVideoSegment,
00720 OMX_DataUnitSeveralSegments,
00721 OMX_DataUnitArbitraryStreamSection,
00722 OMX_DataUnitMax = 0x7FFFFFFF
00723 } OMX_DATAUNITTYPE;
00724
00725
00731 typedef enum OMX_DATAUNITENCAPSULATIONTYPE {
00732 OMX_DataEncapsulationElementaryStream,
00733 OMX_DataEncapsulationGenericPayload,
00734 OMX_DataEncapsulationRtpPayload,
00735 OMX_DataEncapsulationMax = 0x7FFFFFFF
00736 } OMX_DATAUNITENCAPSULATIONTYPE;
00737
00738
00742 typedef struct OMX_PARAM_DATAUNITTYPE {
00743 OMX_U32 nSize;
00744 OMX_VERSIONTYPE nVersion;
00745 OMX_U32 nPortIndex;
00746 OMX_DATAUNITTYPE eUnitType;
00747 OMX_DATAUNITENCAPSULATIONTYPE eEncapsulationType;
00748 } OMX_PARAM_DATAUNITTYPE;
00749
00750
00754 typedef enum OMX_DITHERTYPE {
00755 OMX_DitherNone,
00756 OMX_DitherOrdered,
00757 OMX_DitherErrorDiffusion,
00758 OMX_DitherOther,
00759 OMX_DitherMax = 0x7FFFFFFF
00760 } OMX_DITHERTYPE;
00761
00762
00766 typedef struct OMX_CONFIG_DITHERTYPE {
00767 OMX_U32 nSize;
00768 OMX_VERSIONTYPE nVersion;
00769 OMX_U32 nPortIndex;
00770 OMX_DITHERTYPE eDither;
00771 } OMX_CONFIG_DITHERTYPE;
00772
00773 typedef struct OMX_CONFIG_CAPTUREMODETYPE {
00774 OMX_U32 nSize;
00775 OMX_VERSIONTYPE nVersion;
00776 OMX_U32 nPortIndex;
00777 OMX_BOOL bContinuous;
00779 OMX_BOOL bFrameLimited;
00784 OMX_U32 nFrameLimit;
00786 } OMX_CONFIG_CAPTUREMODETYPE;
00787
00788 typedef enum OMX_METERINGTYPE {
00789
00790 OMX_MeteringModeAverage,
00791 OMX_MeteringModeSpot,
00792 OMX_MeteringModeMatrix,
00794 OMX_EVModeMax = 0x7ffffff
00795 } OMX_METERINGTYPE;
00796
00797 typedef struct OMX_CONFIG_EXPOSUREVALUETYPE {
00798 OMX_U32 nSize;
00799 OMX_VERSIONTYPE nVersion;
00800 OMX_U32 nPortIndex;
00801 OMX_METERINGTYPE eMetering;
00802 OMX_S32 xEVCompensation;
00803 OMX_U32 nApertureFNumber;
00804 OMX_BOOL bAutoAperture;
00805 OMX_U32 nShutterSpeedMsec;
00806 OMX_BOOL bAutoShutterSpeed;
00807 OMX_U32 nSensitivity;
00808 OMX_BOOL bAutoSensitivity;
00809 } OMX_CONFIG_EXPOSUREVALUETYPE;
00810
00828 typedef struct OMX_CONFIG_FOCUSREGIONTYPE {
00829 OMX_U32 nSize;
00830 OMX_VERSIONTYPE nVersion;
00831 OMX_U32 nPortIndex;
00832 OMX_BOOL bCenter;
00833 OMX_BOOL bLeft;
00834 OMX_BOOL bRight;
00835 OMX_BOOL bTop;
00836 OMX_BOOL bBottom;
00837 OMX_BOOL bTopLeft;
00838 OMX_BOOL bTopRight;
00839 OMX_BOOL bBottomLeft;
00840 OMX_BOOL bBottomRight;
00841 } OMX_CONFIG_FOCUSREGIONTYPE;
00842
00846 typedef enum OMX_FOCUSSTATUSTYPE {
00847 OMX_FocusStatusOff = 0,
00848 OMX_FocusStatusRequest,
00849 OMX_FocusStatusReached,
00850 OMX_FocusStatusUnableToReach,
00851 OMX_FocusStatusLost,
00852 OMX_FocusStatusMax = 0x7FFFFFFF
00853 } OMX_FOCUSSTATUSTYPE;
00854
00873 typedef struct OMX_PARAM_FOCUSSTATUSTYPE {
00874 OMX_U32 nSize;
00875 OMX_VERSIONTYPE nVersion;
00876 OMX_U32 nPortIndex;
00877 OMX_FOCUSSTATUSTYPE eFocusStatus;
00878 OMX_BOOL bCenterStatus;
00879 OMX_BOOL bLeftStatus;
00880 OMX_BOOL bRightStatus;
00881 OMX_BOOL bTopStatus;
00882 OMX_BOOL bBottomStatus;
00883 OMX_BOOL bTopLeftStatus;
00884 OMX_BOOL bTopRightStatus;
00885 OMX_BOOL bBottomLeftStatus;
00886 OMX_BOOL bBottomRightStatus;
00887 } OMX_PARAM_FOCUSSTATUSTYPE;
00888
00891 #ifdef __cplusplus
00892 }
00893 #endif
00894
00895 #endif
00896