summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_VdecControl.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_VdecControl.c b/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_VdecControl.c
index 80c3b63..7d4b56b 100644
--- a/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_VdecControl.c
+++ b/exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_VdecControl.c
@@ -1123,6 +1123,15 @@ OMX_ERRORTYPE Exynos_OMX_VideoDecodeGetParameter(
(OMX_COLOR_FORMATTYPE)Exynos_OSAL_OMX2HalPixelFormat(portDefinition->format.video.eColorFormat);
Exynos_OSAL_Log(EXYNOS_LOG_TRACE, "portDefinition->format.video.eColorFormat:0x%x", portDefinition->format.video.eColorFormat);
}
+
+ // WORKAROUND provided by Google engineer
+ if (portIndex == OUTPUT_PORT_INDEX &&
+ (pExynosPort->bufferProcessType & BUFFER_COPY) == BUFFER_COPY) {
+ // Decoder actually uses width and height as stride and slice height for buffer copy.
+ // Changing only at getParam as the internal value may be used elsewhere
+ portDefinition->format.video.nStride = portDefinition->format.video.nFrameWidth;
+ portDefinition->format.video.nSliceHeight = portDefinition->format.video.nFrameHeight;
+ }
}
break;
#endif