summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLajos Molnar <lajos@google.com>2015-02-05 10:57:24 -0800
committerLajos Molnar <lajos@google.com>2015-02-05 10:59:30 -0800
commit4baab539d5854f3270e6eb5a3d12e5be0fd8bdef (patch)
treec880c4bd1270166b157e5fcb2132f834e16f9a1e
parent1112f2fc374699af6ea7c40dc5e57f0bfd77c338 (diff)
downloadexynos5-lollipop-mr1-dev.tar.gz
This is a workaround for bytebuffer mode, as decoder actually uses width and height as stride and slice height for the output buffer. Changing only at getParam as the internal value may be used elsewhere. Bug: 19179288 Change-Id: I2a85f02bf626971ae3fa31bafe5af9ac761d3ca8
-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