aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBolun <bolun.liu@intel.com>2013-11-22 13:02:52 +0800
committerPatrick Tjin <pattjin@google.com>2014-07-21 22:03:42 -0700
commit7fe59118003a3c624651cf4512fd4251171b9e6a (patch)
treef04cac3a43bfa5d8250136fdb8f6d9f82e300e61
parent64e2d27bd6b5c91266349730c4fe00a9f07bee81 (diff)
downloadwrs_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.cpp7
-rw-r--r--core/inc/khronos/openmax/include/OMX_IntelIndexExt.h1
-rw-r--r--core/inc/khronos/openmax/include/OMX_IntelVideoExt.h8
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 */