From: Taehwan Kim Date: Wed, 16 Jan 2013 08:08:29 +0000 (+0000) Subject: wmvdec: modified NEED_TIMESTAMP_REORDER handling X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=fe0939d0c955ad070144b8a3216313af8693d4ee;p=GitHub%2FLineageOS%2Fandroid_hardware_samsung_slsi_openmax.git wmvdec: modified NEED_TIMESTAMP_REORDER handling if there is a skipping frame before the EOS frame, used the already saved index about timestamp. so, couldn't notice the EOS flag. this patch fixes the above problem. Change-Id: Ib2d7329f4e3c3f4f46fa5bc92bcbd3371af7a09e Signed-off-by: Taehwan Kim --- diff --git a/component/video/dec/vc1/Exynos_OMX_Wmvdec.c b/component/video/dec/vc1/Exynos_OMX_Wmvdec.c index 4a22d93..4a4b5e9 100644 --- a/component/video/dec/vc1/Exynos_OMX_Wmvdec.c +++ b/component/video/dec/vc1/Exynos_OMX_Wmvdec.c @@ -1908,7 +1908,9 @@ OMX_ERRORTYPE Exynos_WmvDec_DstOut(OMX_COMPONENTTYPE *pOMXComponent, EXYNOS_OMX_ /* For timestamp correction. if mfc support frametype detect */ Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "disp_pic_frame_type: %d", pVideoBuffer->frameType); #ifdef NEED_TIMESTAMP_REORDER - if ((pVideoBuffer->frameType == VIDEO_FRAME_I)) { + if ((pVideoBuffer->frameType == VIDEO_FRAME_I) || + ((pVideoBuffer->frameType == VIDEO_FRAME_OTHERS) && + ((pExynosComponent->nFlags[indexTimestamp] & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS))) { pDstOutputData->timeStamp = pExynosComponent->timeStamp[indexTimestamp]; pDstOutputData->nFlags = pExynosComponent->nFlags[indexTimestamp]; pWmvDec->hMFCWmvHandle.outputIndexTimestamp = indexTimestamp;