#ifdef USE_H264_PREPEND_SPS_PPS
case OMX_IndexParamPrependSPSPPSToIDR:
{
- EXYNOS_H264ENC_HANDLE *pH264Enc = NULL;
+ EXYNOS_H264ENC_HANDLE *pH264Enc = (EXYNOS_H264ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
- pH264Enc = (EXYNOS_H264ENC_HANDLE *)((EXYNOS_OMX_VIDEOENC_COMPONENT *)pExynosComponent->hComponentHandle)->hCodecHandle;
- pH264Enc->hMFCH264Handle.bPrependSpsPpsToIdr = OMX_TRUE;
+ ret = Exynos_OSAL_SetPrependSPSPPSToIDR(pComponentParameterStructure, &(pH264Enc->hMFCH264Handle.bPrependSpsPpsToIdr));
}
break;
#endif
return ret;
}
+OMX_ERRORTYPE Exynos_OSAL_SetPrependSPSPPSToIDR(
+ OMX_PTR pComponentParameterStructure,
+ OMX_PTR pbPrependSpsPpsToIdr)
+{
+ OMX_ERRORTYPE ret = OMX_ErrorNone;
+ PrependSPSPPSToIDRFramesParams *pANBParams = (PrependSPSPPSToIDRFramesParams *)pComponentParameterStructure;
+ ret = Exynos_OMX_Check_SizeVersion(pANBParams, sizeof(PrependSPSPPSToIDRFramesParams));
+ if (ret != OMX_ErrorNone) {
+ Exynos_OSAL_Log(EXYNOS_LOG_ERROR, "%s: Exynos_OMX_Check_SizeVersion(PrependSPSPPSToIDRFramesParams) is failed", __func__);
+ goto EXIT;
+ }
+
+ (*((OMX_BOOL *)pbPrependSpsPpsToIdr)) = pANBParams->bEnable;
+
+EXIT:
+ return ret;
+}
+
OMX_COLOR_FORMATTYPE Exynos_OSAL_Hal2OMXPixelFormat(
unsigned int hal_format)
{
OMX_ERRORTYPE Exynos_OSAL_CheckANB(OMX_IN EXYNOS_OMX_DATA *pBuffer,
OMX_OUT OMX_BOOL *bIsANBEnabled);
+OMX_ERRORTYPE Exynos_OSAL_SetPrependSPSPPSToIDR(OMX_PTR pComponentParameterStructure,
+ OMX_PTR pbPrependSpsPpsToIdr);
+
OMX_COLOR_FORMATTYPE Exynos_OSAL_Hal2OMXPixelFormat(unsigned int hal_format);
unsigned int Exynos_OSAL_OMX2HalPixelFormat(OMX_COLOR_FORMATTYPE omx_format);