OpenMAXBellagio 0.9.3
OMX_Video.h
Go to the documentation of this file.
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