|
OpenMAXBellagio 0.9.3
|
00001 00029 #ifndef OMX_Video_h 00030 #define OMX_Video_h 00031 00038 #ifdef __cplusplus 00039 extern "C" { 00040 #endif /* __cplusplus */ 00041 00042 00049 #include <OMX_IVCommon.h> 00050 00051 00061 typedef enum OMX_VIDEO_CODINGTYPE { 00062 OMX_VIDEO_CodingUnused, 00063 OMX_VIDEO_CodingAutoDetect, 00064 OMX_VIDEO_CodingMPEG2, 00065 OMX_VIDEO_CodingH263, 00066 OMX_VIDEO_CodingMPEG4, 00067 OMX_VIDEO_CodingWMV, 00068 OMX_VIDEO_CodingRV, 00069 OMX_VIDEO_CodingAVC, 00070 OMX_VIDEO_CodingMJPEG, 00071 OMX_VIDEO_CodingKhronosExtensions = 0x6F000000, 00072 OMX_VIDEO_CodingVendorStartUnused = 0x7F000000, 00073 OMX_VIDEO_CodingMax = 0x7FFFFFFF 00074 } OMX_VIDEO_CODINGTYPE; 00075 00076 00124 typedef struct OMX_VIDEO_PORTDEFINITIONTYPE { 00125 OMX_STRING cMIMEType; 00126 OMX_NATIVE_DEVICETYPE pNativeRender; 00127 OMX_U32 nFrameWidth; 00128 OMX_U32 nFrameHeight; 00129 OMX_S32 nStride; 00130 OMX_U32 nSliceHeight; 00131 OMX_U32 nBitrate; 00132 OMX_U32 xFramerate; 00133 OMX_BOOL bFlagErrorConcealment; 00134 OMX_VIDEO_CODINGTYPE eCompressionFormat; 00135 OMX_COLOR_FORMATTYPE eColorFormat; 00136 OMX_NATIVE_WINDOWTYPE pNativeWindow; 00137 } OMX_VIDEO_PORTDEFINITIONTYPE; 00138 00155 typedef struct OMX_VIDEO_PARAM_PORTFORMATTYPE { 00156 OMX_U32 nSize; 00157 OMX_VERSIONTYPE nVersion; 00158 OMX_U32 nPortIndex; 00159 OMX_U32 nIndex; 00160 OMX_VIDEO_CODINGTYPE eCompressionFormat; 00161 OMX_COLOR_FORMATTYPE eColorFormat; 00162 OMX_U32 xFramerate; 00163 } OMX_VIDEO_PARAM_PORTFORMATTYPE; 00164 00165 00179 typedef struct OMX_VIDEO_PARAM_QUANTIZATIONTYPE { 00180 OMX_U32 nSize; 00181 OMX_VERSIONTYPE nVersion; 00182 OMX_U32 nPortIndex; 00183 OMX_U32 nQpI; 00184 OMX_U32 nQpP; 00185 OMX_U32 nQpB; 00186 } OMX_VIDEO_PARAM_QUANTIZATIONTYPE; 00187 00188 00202 typedef struct OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE { 00203 OMX_U32 nSize; 00204 OMX_VERSIONTYPE nVersion; 00205 OMX_U32 nPortIndex; 00206 OMX_BOOL bEnableVFU; 00207 OMX_U32 nFirstGOB; 00208 OMX_U32 nFirstMB; 00209 OMX_U32 nNumMBs; 00210 } OMX_VIDEO_PARAM_VIDEOFASTUPDATETYPE; 00211 00212 00216 typedef enum OMX_VIDEO_CONTROLRATETYPE { 00217 OMX_Video_ControlRateDisable, 00218 OMX_Video_ControlRateVariable, 00219 OMX_Video_ControlRateConstant, 00220 OMX_Video_ControlRateVariableSkipFrames, 00221 OMX_Video_ControlRateConstantSkipFrames, 00222 OMX_Video_ControlRateKhronosExtensions = 0x6F000000, 00223 OMX_Video_ControlRateVendorStartUnused = 0x7F000000, 00224 OMX_Video_ControlRateMax = 0x7FFFFFFF 00225 } OMX_VIDEO_CONTROLRATETYPE; 00226 00227 00238 typedef struct OMX_VIDEO_PARAM_BITRATETYPE { 00239 OMX_U32 nSize; 00240 OMX_VERSIONTYPE nVersion; 00241 OMX_U32 nPortIndex; 00242 OMX_VIDEO_CONTROLRATETYPE eControlRate; 00243 OMX_U32 nTargetBitrate; 00244 } OMX_VIDEO_PARAM_BITRATETYPE; 00245 00246 00250 typedef enum OMX_VIDEO_MOTIONVECTORTYPE { 00251 OMX_Video_MotionVectorPixel, 00252 OMX_Video_MotionVectorHalfPel, 00253 OMX_Video_MotionVectorQuarterPel, 00254 OMX_Video_MotionVectorEighthPel, 00255 OMX_Video_MotionVectorKhronosExtensions = 0x6F000000, 00256 OMX_Video_MotionVectorVendorStartUnused = 0x7F000000, 00257 OMX_Video_MotionVectorMax = 0x7FFFFFFF 00258 } OMX_VIDEO_MOTIONVECTORTYPE; 00259 00260 00275 typedef struct OMX_VIDEO_PARAM_MOTIONVECTORTYPE { 00276 OMX_U32 nSize; 00277 OMX_VERSIONTYPE nVersion; 00278 OMX_U32 nPortIndex; 00279 OMX_VIDEO_MOTIONVECTORTYPE eAccuracy; 00280 OMX_BOOL bUnrestrictedMVs; 00281 OMX_BOOL bFourMV; 00282 OMX_S32 sXSearchRange; 00283 OMX_S32 sYSearchRange; 00284 } OMX_VIDEO_PARAM_MOTIONVECTORTYPE; 00285 00286 00290 typedef enum OMX_VIDEO_INTRAREFRESHTYPE { 00291 OMX_VIDEO_IntraRefreshCyclic, 00292 OMX_VIDEO_IntraRefreshAdaptive, 00293 OMX_VIDEO_IntraRefreshBoth, 00294 OMX_VIDEO_IntraRefreshKhronosExtensions = 0x6F000000, 00295 OMX_VIDEO_IntraRefreshVendorStartUnused = 0x7F000000, 00296 OMX_VIDEO_IntraRefreshMax = 0x7FFFFFFF 00297 } OMX_VIDEO_INTRAREFRESHTYPE; 00298 00299 00315 typedef struct OMX_VIDEO_PARAM_INTRAREFRESHTYPE { 00316 OMX_U32 nSize; 00317 OMX_VERSIONTYPE nVersion; 00318 OMX_U32 nPortIndex; 00319 OMX_VIDEO_INTRAREFRESHTYPE eRefreshMode; 00320 OMX_U32 nAirMBs; 00321 OMX_U32 nAirRef; 00322 OMX_U32 nCirMBs; 00323 } OMX_VIDEO_PARAM_INTRAREFRESHTYPE; 00324 00325 00342 typedef struct OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE { 00343 OMX_U32 nSize; 00344 OMX_VERSIONTYPE nVersion; 00345 OMX_U32 nPortIndex; 00346 OMX_BOOL bEnableHEC; 00347 OMX_BOOL bEnableResync; 00348 OMX_U32 nResynchMarkerSpacing; 00349 OMX_BOOL bEnableDataPartitioning; 00350 OMX_BOOL bEnableRVLC; 00351 } OMX_VIDEO_PARAM_ERRORCORRECTIONTYPE; 00352 00353 00369 typedef struct OMX_VIDEO_PARAM_VBSMCTYPE { 00370 OMX_U32 nSize; 00371 OMX_VERSIONTYPE nVersion; 00372 OMX_U32 nPortIndex; 00373 OMX_BOOL b16x16; 00374 OMX_BOOL b16x8; 00375 OMX_BOOL b8x16; 00376 OMX_BOOL b8x8; 00377 OMX_BOOL b8x4; 00378 OMX_BOOL b4x8; 00379 OMX_BOOL b4x4; 00380 } OMX_VIDEO_PARAM_VBSMCTYPE; 00381 00382 00407 typedef enum OMX_VIDEO_H263PROFILETYPE { 00408 OMX_VIDEO_H263ProfileBaseline = 0x01, 00409 OMX_VIDEO_H263ProfileH320Coding = 0x02, 00410 OMX_VIDEO_H263ProfileBackwardCompatible = 0x04, 00411 OMX_VIDEO_H263ProfileISWV2 = 0x08, 00412 OMX_VIDEO_H263ProfileISWV3 = 0x10, 00413 OMX_VIDEO_H263ProfileHighCompression = 0x20, 00414 OMX_VIDEO_H263ProfileInternet = 0x40, 00415 OMX_VIDEO_H263ProfileInterlace = 0x80, 00416 OMX_VIDEO_H263ProfileHighLatency = 0x100, 00417 OMX_VIDEO_H263ProfileKhronosExtensions = 0x6F000000, 00418 OMX_VIDEO_H263ProfileVendorStartUnused = 0x7F000000, 00419 OMX_VIDEO_H263ProfileMax = 0x7FFFFFFF 00420 } OMX_VIDEO_H263PROFILETYPE; 00421 00422 00427 typedef enum OMX_VIDEO_H263LEVELTYPE { 00428 OMX_VIDEO_H263Level10 = 0x01, 00429 OMX_VIDEO_H263Level20 = 0x02, 00430 OMX_VIDEO_H263Level30 = 0x04, 00431 OMX_VIDEO_H263Level40 = 0x08, 00432 OMX_VIDEO_H263Level45 = 0x10, 00433 OMX_VIDEO_H263Level50 = 0x20, 00434 OMX_VIDEO_H263Level60 = 0x40, 00435 OMX_VIDEO_H263Level70 = 0x80, 00436 OMX_VIDEO_H263LevelKhronosExtensions = 0x6F000000, 00437 OMX_VIDEO_H263LevelVendorStartUnused = 0x7F000000, 00438 OMX_VIDEO_H263LevelMax = 0x7FFFFFFF 00439 } OMX_VIDEO_H263LEVELTYPE; 00440 00441 00452 typedef enum OMX_VIDEO_PICTURETYPE { 00453 OMX_VIDEO_PictureTypeI = 0x01, 00454 OMX_VIDEO_PictureTypeP = 0x02, 00455 OMX_VIDEO_PictureTypeB = 0x04, 00456 OMX_VIDEO_PictureTypeSI = 0x08, 00457 OMX_VIDEO_PictureTypeSP = 0x10, 00458 OMX_VIDEO_PictureTypeEI = 0x11, 00459 OMX_VIDEO_PictureTypeEP = 0x12, 00460 OMX_VIDEO_PictureTypeS = 0x14, 00461 OMX_VIDEO_PictureTypeKhronosExtensions = 0x6F000000, 00462 OMX_VIDEO_PictureTypeVendorStartUnused = 0x7F000000, 00463 OMX_VIDEO_PictureTypeMax = 0x7FFFFFFF 00464 } OMX_VIDEO_PICTURETYPE; 00465 00466 00493 typedef struct OMX_VIDEO_PARAM_H263TYPE { 00494 OMX_U32 nSize; 00495 OMX_VERSIONTYPE nVersion; 00496 OMX_U32 nPortIndex; 00497 OMX_U32 nPFrames; 00498 OMX_U32 nBFrames; 00499 OMX_VIDEO_H263PROFILETYPE eProfile; 00500 OMX_VIDEO_H263LEVELTYPE eLevel; 00501 OMX_BOOL bPLUSPTYPEAllowed; 00502 OMX_U32 nAllowedPictureTypes; 00503 OMX_BOOL bForceRoundingTypeToZero; 00504 OMX_U32 nPictureHeaderRepetition; 00505 OMX_U32 nGOBHeaderInterval; 00506 } OMX_VIDEO_PARAM_H263TYPE; 00507 00508 00513 typedef enum OMX_VIDEO_MPEG2PROFILETYPE { 00514 OMX_VIDEO_MPEG2ProfileSimple = 0, 00515 OMX_VIDEO_MPEG2ProfileMain, 00516 OMX_VIDEO_MPEG2Profile422, 00517 OMX_VIDEO_MPEG2ProfileSNR, 00518 OMX_VIDEO_MPEG2ProfileSpatial, 00519 OMX_VIDEO_MPEG2ProfileHigh, 00520 OMX_VIDEO_MPEG2ProfileKhronosExtensions = 0x6F000000, 00521 OMX_VIDEO_MPEG2ProfileVendorStartUnused = 0x7F000000, 00522 OMX_VIDEO_MPEG2ProfileMax = 0x7FFFFFFF 00523 } OMX_VIDEO_MPEG2PROFILETYPE; 00524 00525 00530 typedef enum OMX_VIDEO_MPEG2LEVELTYPE { 00531 OMX_VIDEO_MPEG2LevelLL = 0, 00532 OMX_VIDEO_MPEG2LevelML, 00533 OMX_VIDEO_MPEG2LevelH14, 00534 OMX_VIDEO_MPEG2LevelHL, 00535 OMX_VIDEO_MPEG2LevelKhronosExtensions = 0x6F000000, 00536 OMX_VIDEO_MPEG2LevelVendorStartUnused = 0x7F000000, 00537 OMX_VIDEO_MPEG2LevelMax = 0x7FFFFFFF 00538 } OMX_VIDEO_MPEG2LEVELTYPE; 00539 00540 00553 typedef struct OMX_VIDEO_PARAM_MPEG2TYPE { 00554 OMX_U32 nSize; 00555 OMX_VERSIONTYPE nVersion; 00556 OMX_U32 nPortIndex; 00557 OMX_U32 nPFrames; 00558 OMX_U32 nBFrames; 00559 OMX_VIDEO_MPEG2PROFILETYPE eProfile; 00560 OMX_VIDEO_MPEG2LEVELTYPE eLevel; 00561 } OMX_VIDEO_PARAM_MPEG2TYPE; 00562 00563 00585 typedef enum OMX_VIDEO_MPEG4PROFILETYPE { 00586 OMX_VIDEO_MPEG4ProfileSimple = 0x01, 00587 OMX_VIDEO_MPEG4ProfileSimpleScalable = 0x02, 00588 OMX_VIDEO_MPEG4ProfileCore = 0x04, 00589 OMX_VIDEO_MPEG4ProfileMain = 0x08, 00590 OMX_VIDEO_MPEG4ProfileNbit = 0x10, 00591 OMX_VIDEO_MPEG4ProfileScalableTexture = 0x20, 00592 OMX_VIDEO_MPEG4ProfileSimpleFace = 0x40, 00593 OMX_VIDEO_MPEG4ProfileSimpleFBA = 0x80, 00594 OMX_VIDEO_MPEG4ProfileBasicAnimated = 0x100, 00595 OMX_VIDEO_MPEG4ProfileHybrid = 0x200, 00596 OMX_VIDEO_MPEG4ProfileAdvancedRealTime = 0x400, 00597 OMX_VIDEO_MPEG4ProfileCoreScalable = 0x800, 00598 OMX_VIDEO_MPEG4ProfileAdvancedCoding = 0x1000, 00599 OMX_VIDEO_MPEG4ProfileAdvancedCore = 0x2000, 00600 OMX_VIDEO_MPEG4ProfileAdvancedScalable = 0x4000, 00601 OMX_VIDEO_MPEG4ProfileAdvancedSimple = 0x8000, 00602 OMX_VIDEO_MPEG4ProfileKhronosExtensions = 0x6F000000, 00603 OMX_VIDEO_MPEG4ProfileVendorStartUnused = 0x7F000000, 00604 OMX_VIDEO_MPEG4ProfileMax = 0x7FFFFFFF 00605 } OMX_VIDEO_MPEG4PROFILETYPE; 00606 00607 00612 typedef enum OMX_VIDEO_MPEG4LEVELTYPE { 00613 OMX_VIDEO_MPEG4Level0 = 0x01, 00614 OMX_VIDEO_MPEG4Level0b = 0x02, 00615 OMX_VIDEO_MPEG4Level1 = 0x04, 00616 OMX_VIDEO_MPEG4Level2 = 0x08, 00617 OMX_VIDEO_MPEG4Level3 = 0x10, 00618 OMX_VIDEO_MPEG4Level4 = 0x20, 00619 OMX_VIDEO_MPEG4Level4a = 0x40, 00620 OMX_VIDEO_MPEG4Level5 = 0x80, 00621 OMX_VIDEO_MPEG4LevelKhronosExtensions = 0x6F000000, 00622 OMX_VIDEO_MPEG4LevelVendorStartUnused = 0x7F000000, 00623 OMX_VIDEO_MPEG4LevelMax = 0x7FFFFFFF 00624 } OMX_VIDEO_MPEG4LEVELTYPE; 00625 00626 00655 typedef struct OMX_VIDEO_PARAM_MPEG4TYPE { 00656 OMX_U32 nSize; 00657 OMX_VERSIONTYPE nVersion; 00658 OMX_U32 nPortIndex; 00659 OMX_U32 nSliceHeaderSpacing; 00660 OMX_BOOL bSVH; 00661 OMX_BOOL bGov; 00662 OMX_U32 nPFrames; 00663 OMX_U32 nBFrames; 00664 OMX_U32 nIDCVLCThreshold; 00665 OMX_BOOL bACPred; 00666 OMX_U32 nMaxPacketSize; 00667 OMX_U32 nTimeIncRes; 00668 OMX_VIDEO_MPEG4PROFILETYPE eProfile; 00669 OMX_VIDEO_MPEG4LEVELTYPE eLevel; 00670 OMX_U32 nAllowedPictureTypes; 00671 OMX_U32 nHeaderExtension; 00672 OMX_BOOL bReversibleVLC; 00673 } OMX_VIDEO_PARAM_MPEG4TYPE; 00674 00675 00679 typedef enum OMX_VIDEO_WMVFORMATTYPE { 00680 OMX_VIDEO_WMVFormatUnused = 0x01, 00681 OMX_VIDEO_WMVFormat7 = 0x02, 00682 OMX_VIDEO_WMVFormat8 = 0x04, 00683 OMX_VIDEO_WMVFormat9 = 0x08, 00684 OMX_VIDEO_WMFFormatKhronosExtensions = 0x6F000000, 00685 OMX_VIDEO_WMFFormatVendorStartUnused = 0x7F000000, 00686 OMX_VIDEO_WMVFormatMax = 0x7FFFFFFF 00687 } OMX_VIDEO_WMVFORMATTYPE; 00688 00689 00699 typedef struct OMX_VIDEO_PARAM_WMVTYPE { 00700 OMX_U32 nSize; 00701 OMX_VERSIONTYPE nVersion; 00702 OMX_U32 nPortIndex; 00703 OMX_VIDEO_WMVFORMATTYPE eFormat; 00704 } OMX_VIDEO_PARAM_WMVTYPE; 00705 00706 00710 typedef enum OMX_VIDEO_RVFORMATTYPE { 00711 OMX_VIDEO_RVFormatUnused = 0, 00712 OMX_VIDEO_RVFormat8, 00713 OMX_VIDEO_RVFormat9, 00714 OMX_VIDEO_RVFormatG2, 00715 OMX_VIDEO_RVFormatKhronosExtensions = 0x6F000000, 00716 OMX_VIDEO_RVFormatVendorStartUnused = 0x7F000000, 00717 OMX_VIDEO_RVFormatMax = 0x7FFFFFFF 00718 } OMX_VIDEO_RVFORMATTYPE; 00719 00720 00744 typedef struct OMX_VIDEO_PARAM_RVTYPE { 00745 OMX_U32 nSize; 00746 OMX_VERSIONTYPE nVersion; 00747 OMX_U32 nPortIndex; 00748 OMX_VIDEO_RVFORMATTYPE eFormat; 00749 OMX_U16 nBitsPerPixel; 00750 OMX_U16 nPaddedWidth; 00751 OMX_U16 nPaddedHeight; 00752 OMX_U32 nFrameRate; 00753 OMX_U32 nBitstreamFlags; 00754 OMX_U32 nBitstreamVersion; 00755 OMX_U32 nMaxEncodeFrameSize; 00756 OMX_BOOL bEnablePostFilter; 00757 OMX_BOOL bEnableTemporalInterpolation; 00758 OMX_BOOL bEnableLatencyMode; 00759 } OMX_VIDEO_PARAM_RVTYPE; 00760 00761 00766 typedef enum OMX_VIDEO_AVCPROFILETYPE { 00767 OMX_VIDEO_AVCProfileBaseline = 0x01, 00768 OMX_VIDEO_AVCProfileMain = 0x02, 00769 OMX_VIDEO_AVCProfileExtended = 0x04, 00770 OMX_VIDEO_AVCProfileHigh = 0x08, 00771 OMX_VIDEO_AVCProfileHigh10 = 0x10, 00772 OMX_VIDEO_AVCProfileHigh422 = 0x20, 00773 OMX_VIDEO_AVCProfileHigh444 = 0x40, 00774 OMX_VIDEO_AVCProfileKhronosExtensions = 0x6F000000, 00775 OMX_VIDEO_AVCProfileVendorStartUnused = 0x7F000000, 00776 OMX_VIDEO_AVCProfileMax = 0x7FFFFFFF 00777 } OMX_VIDEO_AVCPROFILETYPE; 00778 00779 00784 typedef enum OMX_VIDEO_AVCLEVELTYPE { 00785 OMX_VIDEO_AVCLevel1 = 0x01, 00786 OMX_VIDEO_AVCLevel1b = 0x02, 00787 OMX_VIDEO_AVCLevel11 = 0x04, 00788 OMX_VIDEO_AVCLevel12 = 0x08, 00789 OMX_VIDEO_AVCLevel13 = 0x10, 00790 OMX_VIDEO_AVCLevel2 = 0x20, 00791 OMX_VIDEO_AVCLevel21 = 0x40, 00792 OMX_VIDEO_AVCLevel22 = 0x80, 00793 OMX_VIDEO_AVCLevel3 = 0x100, 00794 OMX_VIDEO_AVCLevel31 = 0x200, 00795 OMX_VIDEO_AVCLevel32 = 0x400, 00796 OMX_VIDEO_AVCLevel4 = 0x800, 00797 OMX_VIDEO_AVCLevel41 = 0x1000, 00798 OMX_VIDEO_AVCLevel42 = 0x2000, 00799 OMX_VIDEO_AVCLevel5 = 0x4000, 00800 OMX_VIDEO_AVCLevel51 = 0x8000, 00801 OMX_VIDEO_AVCLevelKhronosExtensions = 0x6F000000, 00802 OMX_VIDEO_AVCLevelVendorStartUnused = 0x7F000000, 00803 OMX_VIDEO_AVCLevelMax = 0x7FFFFFFF 00804 } OMX_VIDEO_AVCLEVELTYPE; 00805 00806 00814 typedef enum OMX_VIDEO_AVCLOOPFILTERTYPE { 00815 OMX_VIDEO_AVCLoopFilterEnable = 0, 00816 OMX_VIDEO_AVCLoopFilterDisable, 00817 OMX_VIDEO_AVCLoopFilterDisableSliceBoundary, 00818 OMX_VIDEO_AVCLoopFilterKhronosExtensions = 0x6F000000, 00819 OMX_VIDEO_AVCLoopFilterVendorStartUnused = 0x7F000000, 00820 OMX_VIDEO_AVCLoopFilterMax = 0x7FFFFFFF 00821 } OMX_VIDEO_AVCLOOPFILTERTYPE; 00822 00823 00877 typedef struct OMX_VIDEO_PARAM_AVCTYPE { 00878 OMX_U32 nSize; 00879 OMX_VERSIONTYPE nVersion; 00880 OMX_U32 nPortIndex; 00881 OMX_U32 nSliceHeaderSpacing; 00882 OMX_U32 nPFrames; 00883 OMX_U32 nBFrames; 00884 OMX_BOOL bUseHadamard; 00885 OMX_U32 nRefFrames; 00886 OMX_U32 nRefIdx10ActiveMinus1; 00887 OMX_U32 nRefIdx11ActiveMinus1; 00888 OMX_BOOL bEnableUEP; 00889 OMX_BOOL bEnableFMO; 00890 OMX_BOOL bEnableASO; 00891 OMX_BOOL bEnableRS; 00892 OMX_VIDEO_AVCPROFILETYPE eProfile; 00893 OMX_VIDEO_AVCLEVELTYPE eLevel; 00894 OMX_U32 nAllowedPictureTypes; 00895 OMX_BOOL bFrameMBsOnly; 00896 OMX_BOOL bMBAFF; 00897 OMX_BOOL bEntropyCodingCABAC; 00898 OMX_BOOL bWeightedPPrediction; 00899 OMX_U32 nWeightedBipredicitonMode; 00900 OMX_BOOL bconstIpred ; 00901 OMX_BOOL bDirect8x8Inference; 00902 OMX_BOOL bDirectSpatialTemporal; 00903 OMX_U32 nCabacInitIdc; 00904 OMX_VIDEO_AVCLOOPFILTERTYPE eLoopFilterMode; 00905 } OMX_VIDEO_PARAM_AVCTYPE; 00906 00907 typedef struct OMX_VIDEO_PARAM_PROFILELEVELTYPE { 00908 OMX_U32 nSize; 00909 OMX_VERSIONTYPE nVersion; 00910 OMX_U32 nPortIndex; 00911 OMX_U32 eProfile; 00913 OMX_U32 eLevel; 00915 OMX_U32 nProfileIndex; 00919 } OMX_VIDEO_PARAM_PROFILELEVELTYPE; 00920 00930 typedef struct OMX_VIDEO_CONFIG_BITRATETYPE { 00931 OMX_U32 nSize; 00932 OMX_VERSIONTYPE nVersion; 00933 OMX_U32 nPortIndex; 00934 OMX_U32 nEncodeBitrate; 00935 } OMX_VIDEO_CONFIG_BITRATETYPE; 00936 00946 typedef struct OMX_CONFIG_FRAMERATETYPE { 00947 OMX_U32 nSize; 00948 OMX_VERSIONTYPE nVersion; 00949 OMX_U32 nPortIndex; 00950 OMX_U32 xEncodeFramerate; /* Q16 format */ 00951 } OMX_CONFIG_FRAMERATETYPE; 00952 00953 typedef struct OMX_CONFIG_INTRAREFRESHVOPTYPE { 00954 OMX_U32 nSize; 00955 OMX_VERSIONTYPE nVersion; 00956 OMX_U32 nPortIndex; 00957 OMX_BOOL IntraRefreshVOP; 00958 } OMX_CONFIG_INTRAREFRESHVOPTYPE; 00959 00960 typedef struct OMX_CONFIG_MACROBLOCKERRORMAPTYPE { 00961 OMX_U32 nSize; 00962 OMX_VERSIONTYPE nVersion; 00963 OMX_U32 nPortIndex; 00964 OMX_U32 nErrMapSize; /* Size of the Error Map in bytes */ 00965 OMX_U8 ErrMap[1]; /* Error map hint */ 00966 } OMX_CONFIG_MACROBLOCKERRORMAPTYPE; 00967 00968 typedef struct OMX_CONFIG_MBERRORREPORTINGTYPE { 00969 OMX_U32 nSize; 00970 OMX_VERSIONTYPE nVersion; 00971 OMX_U32 nPortIndex; 00972 OMX_BOOL bEnabled; 00973 } OMX_CONFIG_MBERRORREPORTINGTYPE; 00974 00975 typedef struct OMX_PARAM_MACROBLOCKSTYPE { 00976 OMX_U32 nSize; 00977 OMX_VERSIONTYPE nVersion; 00978 OMX_U32 nPortIndex; 00979 OMX_U32 nMacroblocks; 00980 } OMX_PARAM_MACROBLOCKSTYPE; 00981 00989 typedef enum OMX_VIDEO_AVCSLICEMODETYPE { 00990 OMX_VIDEO_SLICEMODE_AVCDefault = 0, 00991 OMX_VIDEO_SLICEMODE_AVCMBSlice, 00992 OMX_VIDEO_SLICEMODE_AVCByteSlice, 00993 OMX_VIDEO_SLICEMODE_AVCKhronosExtensions = 0x6F000000, 00994 OMX_VIDEO_SLICEMODE_AVCVendorStartUnused = 0x7F000000, 00995 OMX_VIDEO_SLICEMODE_AVCLevelMax = 0x7FFFFFFF 00996 } OMX_VIDEO_AVCSLICEMODETYPE; 00997 01009 typedef struct OMX_VIDEO_PARAM_AVCSLICEFMO { 01010 OMX_U32 nSize; 01011 OMX_VERSIONTYPE nVersion; 01012 OMX_U32 nPortIndex; 01013 OMX_U8 nNumSliceGroups; 01014 OMX_U8 nSliceGroupMapType; 01015 OMX_VIDEO_AVCSLICEMODETYPE eSliceMode; 01016 } OMX_VIDEO_PARAM_AVCSLICEFMO; 01017 01028 typedef struct OMX_VIDEO_CONFIG_AVCINTRAPERIOD { 01029 OMX_U32 nSize; 01030 OMX_VERSIONTYPE nVersion; 01031 OMX_U32 nPortIndex; 01032 OMX_U32 nIDRPeriod; 01033 OMX_U32 nPFrames; 01034 } OMX_VIDEO_CONFIG_AVCINTRAPERIOD; 01035 01045 typedef struct OMX_VIDEO_CONFIG_NALSIZE { 01046 OMX_U32 nSize; 01047 OMX_VERSIONTYPE nVersion; 01048 OMX_U32 nPortIndex; 01049 OMX_U32 nNaluBytes; 01050 } OMX_VIDEO_CONFIG_NALSIZE; 01051 01054 #ifdef __cplusplus 01055 } 01056 #endif /* __cplusplus */ 01057 01058 #endif 01059 /* File EOF */ 01060