Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c502cbf7 authored by Vignesh Venkatasubramanian's avatar Vignesh Venkatasubramanian Committed by Android (Google) Code Review
Browse files

Merge "Add VP9 Encoder Parameters"

parents d0472fc0 c193aee9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -75,6 +75,8 @@ typedef enum OMX_INDEXEXTTYPE {
    OMX_IndexConfigVideoVp8ReferenceFrame,          /**< reference: OMX_VIDEO_VP8REFERENCEFRAMETYPE */
    OMX_IndexConfigVideoVp8ReferenceFrameType,      /**< reference: OMX_VIDEO_VP8REFERENCEFRAMEINFOTYPE */
    OMX_IndexParamVideoAndroidVp8Encoder,           /**< reference: OMX_VIDEO_PARAM_ANDROID_VP8ENCODERTYPE */
    OMX_IndexParamVideoVp9,                         /**< reference: OMX_VIDEO_PARAM_VP9TYPE */
    OMX_IndexParamVideoAndroidVp9Encoder,           /**< reference: OMX_VIDEO_PARAM_ANDROID_VP9ENCODERTYPE */
    OMX_IndexParamVideoHevc,                        /**< reference: OMX_VIDEO_PARAM_HEVCTYPE */
    OMX_IndexParamSliceSegments,                    /**< reference: OMX_VIDEO_SLICESEGMENTSTYPE */
    OMX_IndexConfigAndroidIntraRefresh,             /**< reference: OMX_VIDEO_CONFIG_ANDROID_INTRAREFRESHTYPE */
+51 −31
Original line number Diff line number Diff line
@@ -75,36 +75,6 @@ typedef enum OMX_VIDEO_VP8LEVELTYPE {
    OMX_VIDEO_VP8LevelMax = 0x7FFFFFFF
} OMX_VIDEO_VP8LEVELTYPE;

/** VP9 profiles */
typedef enum OMX_VIDEO_VP9PROFILETYPE {
    OMX_VIDEO_VP9Profile0 = 0x0,
    OMX_VIDEO_VP9Profile1 = 0x1,
    OMX_VIDEO_VP9Profile2 = 0x2,
    OMX_VIDEO_VP9Profile3 = 0x3,
    OMX_VIDEO_VP9ProfileUnknown = 0x6EFFFFFF,
    OMX_VIDEO_VP9ProfileMax = 0x7FFFFFFF
} OMX_VIDEO_VP9PROFILETYPE;

/** VP9 levels */
typedef enum OMX_VIDEO_VP9LEVELTYPE {
    OMX_VIDEO_VP9Level1  = 0x0,
    OMX_VIDEO_VP9Level11 = 0x1,
    OMX_VIDEO_VP9Level2  = 0x2,
    OMX_VIDEO_VP9Level21 = 0x4,
    OMX_VIDEO_VP9Level3  = 0x8,
    OMX_VIDEO_VP9Level31 = 0x10,
    OMX_VIDEO_VP9Level4  = 0x20,
    OMX_VIDEO_VP9Level41 = 0x40,
    OMX_VIDEO_VP9Level5  = 0x80,
    OMX_VIDEO_VP9Level51 = 0x100,
    OMX_VIDEO_VP9Level52 = 0x200,
    OMX_VIDEO_VP9Level6  = 0x400,
    OMX_VIDEO_VP9Level61 = 0x800,
    OMX_VIDEO_VP9Level62 = 0x1000,
    OMX_VIDEO_VP9LevelUnknown = 0x6EFFFFFF,
    OMX_VIDEO_VP9LevelMax = 0x7FFFFFFF
} OMX_VIDEO_VP9LEVELTYPE;

/** VP8 Param */
typedef struct OMX_VIDEO_PARAM_VP8TYPE {
    OMX_U32 nSize;
@@ -149,7 +119,7 @@ typedef enum OMX_VIDEO_ANDROID_VPXTEMPORALLAYERPATTERNTYPE {
} OMX_VIDEO_ANDROID_VPXTEMPORALLAYERPATTERNTYPE;

/**
 * Android specific VP8 encoder params
 * Android specific VP8/VP9 encoder params
 *
 * STRUCT MEMBERS:
 *  nSize                      : Size of the structure in bytes
@@ -175,6 +145,56 @@ typedef struct OMX_VIDEO_PARAM_ANDROID_VP8ENCODERTYPE {
    OMX_U32 nMaxQuantizer;
} OMX_VIDEO_PARAM_ANDROID_VP8ENCODERTYPE;

/** VP9 profiles */
typedef enum OMX_VIDEO_VP9PROFILETYPE {
    OMX_VIDEO_VP9Profile0 = 0x0,
    OMX_VIDEO_VP9Profile1 = 0x1,
    OMX_VIDEO_VP9Profile2 = 0x2,
    OMX_VIDEO_VP9Profile3 = 0x3,
    OMX_VIDEO_VP9ProfileUnknown = 0x6EFFFFFF,
    OMX_VIDEO_VP9ProfileMax = 0x7FFFFFFF
} OMX_VIDEO_VP9PROFILETYPE;

/** VP9 levels */
typedef enum OMX_VIDEO_VP9LEVELTYPE {
    OMX_VIDEO_VP9Level1  = 0x0,
    OMX_VIDEO_VP9Level11 = 0x1,
    OMX_VIDEO_VP9Level2  = 0x2,
    OMX_VIDEO_VP9Level21 = 0x4,
    OMX_VIDEO_VP9Level3  = 0x8,
    OMX_VIDEO_VP9Level31 = 0x10,
    OMX_VIDEO_VP9Level4  = 0x20,
    OMX_VIDEO_VP9Level41 = 0x40,
    OMX_VIDEO_VP9Level5  = 0x80,
    OMX_VIDEO_VP9Level51 = 0x100,
    OMX_VIDEO_VP9Level52 = 0x200,
    OMX_VIDEO_VP9Level6  = 0x400,
    OMX_VIDEO_VP9Level61 = 0x800,
    OMX_VIDEO_VP9Level62 = 0x1000,
    OMX_VIDEO_VP9LevelUnknown = 0x6EFFFFFF,
    OMX_VIDEO_VP9LevelMax = 0x7FFFFFFF
} OMX_VIDEO_VP9LEVELTYPE;

/**
* VP9 Parameters.
*   Encoder specific parameters (decoders should ignore these fields):
*     - bErrorResilientMode
*     - nTileRows
*     - nTileColumns
*     - bEnableFrameParallelDecoding
*/
typedef struct OMX_VIDEO_PARAM_VP9TYPE {
    OMX_U32 nSize;
    OMX_VERSIONTYPE nVersion;
    OMX_U32 nPortIndex;
    OMX_VIDEO_VP9PROFILETYPE eProfile;
    OMX_VIDEO_VP9LEVELTYPE eLevel;
    OMX_BOOL bErrorResilientMode;
    OMX_U32 nTileRows;
    OMX_U32 nTileColumns;
    OMX_BOOL bEnableFrameParallelDecoding;
} OMX_VIDEO_PARAM_VP9TYPE;

/** HEVC Profile enum type */
typedef enum OMX_VIDEO_HEVCPROFILETYPE {
    OMX_VIDEO_HEVCProfileUnknown = 0x0,