diff options
-rw-r--r-- | exynos_omx/openmax/exynos_omx/component/video/dec/Exynos_OMX_VdecControl.c | 9 |
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 |