aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-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 */