} EXYNOS_OMX_VIDEO_PARAM_ROTATION_INFO;
/* for AVC */
-typedef enum EXYNOS_OMX_VIDEO_AVCPROFILETYPE {
- OMX_VIDEO_AVCProfileConstrainedBaseline = 0x7F000001,
- OMX_VIDEO_AVCProfileConstrainedHigh = 0x7F000002,
-} EXYNOS_OMX_VIDEO_AVCPROFILETYPE;
-
typedef enum _EXYNOS_OMX_HIERARCHICAL_CODING_TYPE
{
EXYNOS_OMX_Hierarchical_B,
} EXYNOS_OMX_HIERARCHICAL_CODING_TYPE;
-#if defined(USE_VP8_SUPPORT) || defined(USE_VP9_SUPPORT)
-/** VP8 temporal layer patterns */
-typedef enum OMX_VIDEO_ANDROID_VPXTEMPORALLAYERPATTERNTYPE {
- OMX_VIDEO_VPXTemporalLayerPatternNone = 0,
- OMX_VIDEO_VPXTemporalLayerPatternWebRTC = 1,
- OMX_VIDEO_VPXTemporalLayerPatternMax = 0x7FFFFFFF
-} OMX_VIDEO_ANDROID_VPXTEMPORALLAYERPATTERNTYPE;
-#endif
-
- /* VP8 Codec */
-#ifdef USE_VP8_SUPPORT
-/** Maximum number of VP8 temporal layers */
-#define OMX_VIDEO_ANDROID_MAXVP8TEMPORALLAYERS 3
-
-/** VP8 profiles */
-typedef enum OMX_VIDEO_VP8PROFILETYPE {
- OMX_VIDEO_VP8ProfileMain = 0x01,
- OMX_VIDEO_VP8ProfileUnknown = 0x6EFFFFFF,
- OMX_VIDEO_VP8ProfileMax = 0x7FFFFFFF
-} OMX_VIDEO_VP8PROFILETYPE;
-
-/** VP8 levels */
-typedef enum OMX_VIDEO_VP8LEVELTYPE {
- OMX_VIDEO_VP8Level_Version0 = 0x01,
- OMX_VIDEO_VP8Level_Version1 = 0x02,
- OMX_VIDEO_VP8Level_Version2 = 0x04,
- OMX_VIDEO_VP8Level_Version3 = 0x08,
- OMX_VIDEO_VP8LevelUnknown = 0x6EFFFFFF,
- OMX_VIDEO_VP8LevelMax = 0x7FFFFFFF
-} OMX_VIDEO_VP8LEVELTYPE;
-
-/** VP8 Param */
-typedef struct OMX_VIDEO_PARAM_VP8TYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VIDEO_VP8PROFILETYPE eProfile;
- OMX_VIDEO_VP8LEVELTYPE eLevel;
- OMX_U32 nDCTPartitions;
- OMX_BOOL bErrorResilientMode;
-} OMX_VIDEO_PARAM_VP8TYPE;
-
-/** Structure for configuring VP8 reference frames */
-typedef struct OMX_VIDEO_VP8REFERENCEFRAMETYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bPreviousFrameRefresh;
- OMX_BOOL bGoldenFrameRefresh;
- OMX_BOOL bAlternateFrameRefresh;
- OMX_BOOL bUsePreviousFrame;
- OMX_BOOL bUseGoldenFrame;
- OMX_BOOL bUseAlternateFrame;
-} OMX_VIDEO_VP8REFERENCEFRAMETYPE;
-
-/** Structure for querying VP8 reference frame type */
-typedef struct OMX_VIDEO_VP8REFERENCEFRAMEINFOTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bIsIntraFrame;
- OMX_BOOL bIsGoldenOrAlternateFrame;
-} OMX_VIDEO_VP8REFERENCEFRAMEINFOTYPE;
-
-/**
- * Android specific VP8 encoder params
- *
- * STRUCT MEMBERS:
- * nSize : Size of the structure in bytes
- * nVersion : OMX specification version information
- * nPortIndex : Port that this structure applies to
- * nKeyFrameInterval : Key frame interval in frames
- * eTemporalPattern : Type of temporal layer pattern
- * nTemporalLayerCount : Number of temporal coding layers
- * nTemporalLayerBitrateRatio : Bitrate ratio allocation between temporal
- * streams in percentage
- * nMinQuantizer : Minimum (best quality) quantizer
- * nMaxQuantizer : Maximum (worst quality) quantizer
- */
-typedef struct OMX_VIDEO_PARAM_ANDROID_VP8ENCODERTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_U32 nKeyFrameInterval;
- OMX_VIDEO_ANDROID_VPXTEMPORALLAYERPATTERNTYPE eTemporalPattern;
- OMX_U32 nTemporalLayerCount;
- OMX_U32 nTemporalLayerBitrateRatio[OMX_VIDEO_ANDROID_MAXVP8TEMPORALLAYERS];
- OMX_U32 nMinQuantizer;
- OMX_U32 nMaxQuantizer;
-} OMX_VIDEO_PARAM_ANDROID_VP8ENCODERTYPE;
-#endif // USE_VP8_SUPPORT
-
- /* HEVC codec */
-#ifdef USE_HEVC_SUPPORT
-/** HEVC Profile enum type */
-typedef enum OMX_VIDEO_HEVCPROFILETYPE {
- OMX_VIDEO_HEVCProfileUnknown = 0x0,
- OMX_VIDEO_HEVCProfileMain = 0x01, /**< Main profile */
- OMX_VIDEO_HEVCProfileMain10 = 0x02, /**< Main 10 profile */
- OMX_VIDEO_HEVCProfileMainStillPicture = 0x04, /**< Main Still Picture */
- OMX_VIDEO_HEVCProfileKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
- OMX_VIDEO_HEVCProfileVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
- OMX_VIDEO_HEVCProfileMax = 0x7FFFFFFF
-} OMX_VIDEO_HEVCPROFILETYPE;
-
-/** HEVC Level enum type */
-typedef enum OMX_VIDEO_HEVCLEVELTYPE {
- OMX_VIDEO_HEVCLevelUnknown = 0x00000000,
- OMX_VIDEO_HEVCMainTierLevel1 = 0x00000001, /**< Level 1 */
- OMX_VIDEO_HEVCHighTierLevel1 = 0x00000002,
- OMX_VIDEO_HEVCMainTierLevel2 = 0x00000004, /**< Level 2 */
- OMX_VIDEO_HEVCHighTierLevel2 = 0x00000008,
- OMX_VIDEO_HEVCMainTierLevel21 = 0x00000010, /**< Level 2.1 */
- OMX_VIDEO_HEVCHighTierLevel21 = 0x00000020,
- OMX_VIDEO_HEVCMainTierLevel3 = 0x00000040, /**< Level 3 */
- OMX_VIDEO_HEVCHighTierLevel3 = 0x00000080,
- OMX_VIDEO_HEVCMainTierLevel31 = 0x00000100, /**< Level 3.1 */
- OMX_VIDEO_HEVCHighTierLevel31 = 0x00000200,
- OMX_VIDEO_HEVCMainTierLevel4 = 0x00000400, /**< Level 4 */
- OMX_VIDEO_HEVCHighTierLevel4 = 0x00000800,
- OMX_VIDEO_HEVCMainTierLevel41 = 0x00001000, /**< Level 4.1 */
- OMX_VIDEO_HEVCHighTierLevel41 = 0x00002000,
- OMX_VIDEO_HEVCMainTierLevel5 = 0x00004000, /**< Level 5 */
- OMX_VIDEO_HEVCHighTierLevel5 = 0x00008000,
- OMX_VIDEO_HEVCMainTierLevel51 = 0x00010000, /**< Level 5.1 */
- OMX_VIDEO_HEVCHighTierLevel51 = 0x00020000,
- OMX_VIDEO_HEVCMainTierLevel52 = 0x00040000, /**< Level 5.2 */
- OMX_VIDEO_HEVCHighTierLevel52 = 0x00080000,
- OMX_VIDEO_HEVCMainTierLevel6 = 0x00100000, /**< Level 6 */
- OMX_VIDEO_HEVCHighTierLevel6 = 0x00200000,
- OMX_VIDEO_HEVCMainTierLevel61 = 0x00400000, /**< Level 6.1 */
- OMX_VIDEO_HEVCHighTierLevel61 = 0x00800000,
- OMX_VIDEO_HEVCMainTierLevel62 = 0x01000000, /**< Level 6.2 */
- OMX_VIDEO_HEVCHighTierLevel62 = 0x02000000,
- OMX_VIDEO_HEVCLevelKhronosExtensions = 0x6F000000, /**< Reserved region for introducing Khronos Standard Extensions */
- OMX_VIDEO_HEVCLevelVendorStartUnused = 0x7F000000, /**< Reserved region for introducing Vendor Extensions */
- OMX_VIDEO_HEVCHighMAX = 0x7FFFFFFF
-} OMX_VIDEO_HEVCLEVELTYPE;
-
-/** Structure for controlling HEVC video encoding and decoding */
-typedef struct OMX_VIDEO_PARAM_HEVCTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_VIDEO_HEVCPROFILETYPE eProfile;
- OMX_VIDEO_HEVCLEVELTYPE eLevel;
-} OMX_VIDEO_PARAM_HEVCTYPE;
-
-#endif // USE_HEVC_SUPPORT
-
-/** Structure to define if dependent slice segments should be used */
-typedef struct OMX_VIDEO_SLICESEGMENTSTYPE {
- OMX_U32 nSize;
- OMX_VERSIONTYPE nVersion;
- OMX_U32 nPortIndex;
- OMX_BOOL bDepedentSegments;
- OMX_BOOL bEnableLoopFilterAcrossSlices;
-} OMX_VIDEO_SLICESEGMENTSTYPE;
/* VP9 Codec */
#ifdef USE_VP9_SUPPORT