exynos_omx: multi_thread: Support EOSBehavior.

Support EOSBehavior for testEOSBehaviorH263 & testEOSBehaviorH264.

Bug: 7961269

Change-Id: I13f93b2bfd01fb5c0678da3b0c9b9de7f4a863ee
Signed-off-by: SeungBeom Kim <sbcrux.kim@samsung.com>
diff --git a/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/dec/src/ExynosVideoDecoder.c b/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/dec/src/ExynosVideoDecoder.c
index 6259b0c..9dec8e1 100644
--- a/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/dec/src/ExynosVideoDecoder.c
+++ b/exynos_omx/codecs/exynos_codecs/video/exynos5/mfc_v4l2/dec/src/ExynosVideoDecoder.c
@@ -40,6 +40,7 @@
 
 #include "ExynosVideoApi.h"
 #include "ExynosVideoDec.h"
+#include "OMX_Core.h"
 
 /* #define LOG_NDEBUG 0 */
 #define LOG_TAG "ExynosVideoDecoder"
@@ -1441,6 +1442,12 @@
             buf.m.planes[i].bytesused = dataSize[i];
     }
 
+    if ((((OMX_BUFFERHEADERTYPE *)pPrivate)->nFlags & OMX_BUFFERFLAG_EOS) == OMX_BUFFERFLAG_EOS) {
+        buf.flags |= V4L2_BUF_FLAG_LAST_FRAME;
+        ALOGD("%s: OMX_BUFFERFLAG_EOS => LAST_FRAME: 0x%x", __func__,
+              !!(buf.flags & V4L2_BUF_FLAG_LAST_FRAME));
+    }
+
     if (exynos_v4l2_qbuf(pCtx->hDec, &buf) != 0) {
         ALOGE("%s: Failed to enqueue input buffer", __func__);
         pCtx->pInbuf[buf.index].bQueued = VIDEO_FALSE;