diff options
author | Bolun <bolun.liu@intel.com> | 2013-11-22 13:02:52 +0800 |
---|---|---|
committer | Patrick Tjin <pattjin@google.com> | 2014-07-21 22:03:42 -0700 |
commit | 7fe59118003a3c624651cf4512fd4251171b9e6a (patch) | |
tree | f04cac3a43bfa5d8250136fdb8f6d9f82e300e61 | |
parent | 64e2d27bd6b5c91266349730c4fe00a9f07bee81 (diff) | |
download | wrs_omxil_core-7fe59118003a3c624651cf4512fd4251171b9e6a.tar.gz |
Add a new data structure and OMX Index for setting k frame for VP8 encode.
BZ: 153768
Add a new data structure and OMX Index for setting k frame for VP8 encode.
Put the vpp index to the end.
Change-Id: I018a29259b86365e9968c3d4c87f19936d3bea03
Orig-Change-Id: I2d3936a5614113ebd680c4caa928df90b08d69cb
Signed-off-by: Bolun <bolun.liu@intel.com>
-rw-r--r-- | base/src/componentbase.cpp | 7 | ||||
-rw-r--r-- | core/inc/khronos/openmax/include/OMX_IntelIndexExt.h | 1 | ||||
-rw-r--r-- | core/inc/khronos/openmax/include/OMX_IntelVideoExt.h | 8 |
3 files changed, 15 insertions, 1 deletions
diff --git a/base/src/componentbase.cpp b/base/src/componentbase.cpp index 5968ad1..55836d1 100644 --- a/base/src/componentbase.cpp +++ b/base/src/componentbase.cpp @@ -768,11 +768,16 @@ OMX_ERRORTYPE ComponentBase::CBaseGetExtensionIndex( } #endif - if (!strcmp(cParameterName, "OMX.Intel.index.enableErrorReport")) { + if (!strcmp(cParameterName, "OMX.Intel.index.enableErrorReport")) { *pIndexType = static_cast<OMX_INDEXTYPE>(OMX_IndexExtEnableErrorReport); return OMX_ErrorNone; } + if (!strcmp(cParameterName, "OMX.Intel.index.vp8ForceKFrame")) { + *pIndexType = static_cast<OMX_INDEXTYPE>(OMX_IndexExtVP8ForceKFrame); + return OMX_ErrorNone; + } + return OMX_ErrorUnsupportedIndex; } diff --git a/core/inc/khronos/openmax/include/OMX_IntelIndexExt.h b/core/inc/khronos/openmax/include/OMX_IntelIndexExt.h index 1831bf4..d210bc8 100644 --- a/core/inc/khronos/openmax/include/OMX_IntelIndexExt.h +++ b/core/inc/khronos/openmax/include/OMX_IntelIndexExt.h @@ -65,6 +65,7 @@ typedef enum OMX_INTELINDEXEXTTYPE { OMX_IndexExtPrependSPSPPS, /* Error report by WebRTC */ OMX_IndexExtEnableErrorReport, /**<reference: EnableErrorReport for decoder */ + OMX_IndexExtVP8ForceKFrame, // Index for VPP must always be put at the end #ifdef TARGET_HAS_VPP OMX_IndexExtVppBufferNum, /**<reference: vpp buffer number*/ diff --git a/core/inc/khronos/openmax/include/OMX_IntelVideoExt.h b/core/inc/khronos/openmax/include/OMX_IntelVideoExt.h index 43683a7..b134b22 100644 --- a/core/inc/khronos/openmax/include/OMX_IntelVideoExt.h +++ b/core/inc/khronos/openmax/include/OMX_IntelVideoExt.h @@ -178,6 +178,14 @@ typedef struct OMX_VIDEO_ERROR_BUFFER { OMX_VIDEO_ERROR_INFO errorArray[MAX_ERR_NUM]; }; +// Force K frame for VP8 encode +typedef struct OMX_VIDEO_CONFIG_INTEL_VP8_FORCE_KFRAME { + OMX_U32 nSize; + OMX_VERSIONTYPE nVersion; + OMX_U32 nPortIndex; + OMX_BOOL bForceKFrame; +} OMX_VIDEO_CONFIG_INTEL_VP8_FORCE_KFRAME; + #ifdef __cplusplus } #endif /* __cplusplus */ |