From: Taehwan Kim Date: Fri, 28 Dec 2012 08:35:33 +0000 (+0000) Subject: h264dec: fixed the DRC handling problem X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=0a2897d894ac77ca21cab6b06a58d568d331a160;p=GitHub%2FLineageOS%2Fandroid_hardware_samsung_slsi_openmax.git h264dec: fixed the DRC handling problem happened re-setup about DPB in SHARE MODE, before generating the OMX_EventPortSettingsChanged event in case of DRC. solved to use exceptionFlag. Change-Id: I363eeb59e170ebaa999bd486e4a6a31333957fe8 Signed-off-by: Taehwan Kim --- diff --git a/component/video/dec/h264/Exynos_OMX_H264dec.c b/component/video/dec/h264/Exynos_OMX_H264dec.c index 9a2e724..371d0b5 100644 --- a/component/video/dec/h264/Exynos_OMX_H264dec.c +++ b/component/video/dec/h264/Exynos_OMX_H264dec.c @@ -1931,7 +1931,8 @@ OMX_ERRORTYPE Exynos_H264Dec_DstIn(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_ pDstInputData->buffer.multiPlaneBuffer.dataBuffer[1]); if ((pVideoDec->bReconfigDPB == OMX_TRUE) && - (pExynosOutputPort->bufferProcessType & BUFFER_SHARE)) { + (pExynosOutputPort->bufferProcessType & BUFFER_SHARE) && + (pExynosOutputPort->exceptionFlag == GENERAL_STATE)) { ret = H264CodecDstSetup(pOMXComponent); if (ret != OMX_ErrorNone) goto EXIT; @@ -2004,6 +2005,7 @@ OMX_ERRORTYPE Exynos_H264Dec_DstOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX ((displayStatus == VIDEO_FRAME_STATUS_CHANGE_RESOL) || (displayStatus == VIDEO_FRAME_STATUS_ENABLED_S3D))) { if (pVideoDec->bReconfigDPB != OMX_TRUE) { + pExynosOutputPort->exceptionFlag = NEED_PORT_FLUSH; pVideoDec->bReconfigDPB = OMX_TRUE; #ifdef USE_S3D_SUPPORT /* Check Whether frame packing information is available */