diff options
author | Lajos Molnar <lajos@google.com> | 2015-02-05 10:57:24 -0800 |
---|---|---|
committer | The Android Automerger <android-build@google.com> | 2015-02-05 15:03:32 -0800 |
commit | bd42692f6f55b3008bec86c23bbfcec5aecd6681 (patch) | |
tree | c880c4bd1270166b157e5fcb2132f834e16f9a1e | |
parent | 9270c535ff88963a719e80325e88359a26acb47b (diff) | |
download | exynos5-lollipop-mr1-fi-release.tar.gz |
exynos: vdec: report width/height as stride/slice-height for BUFFER_COPYandroid-cts-5.1_r9android-cts-5.1_r8android-cts-5.1_r7android-cts-5.1_r6android-cts-5.1_r5android-cts-5.1_r4android-cts-5.1_r3android-cts-5.1_r28android-cts-5.1_r27android-cts-5.1_r26android-cts-5.1_r25android-cts-5.1_r24android-cts-5.1_r23android-cts-5.1_r22android-cts-5.1_r21android-cts-5.1_r20android-cts-5.1_r2android-cts-5.1_r19android-cts-5.1_r18android-cts-5.1_r17android-cts-5.1_r16android-cts-5.1_r15android-cts-5.1_r14android-cts-5.1_r13android-cts-5.1_r10android-cts-5.1_r1android-5.1.1_r9android-5.1.1_r8android-5.1.1_r7android-5.1.1_r6android-5.1.1_r4android-5.1.1_r38android-5.1.1_r37android-5.1.1_r36android-5.1.1_r35android-5.1.1_r34android-5.1.1_r33android-5.1.1_r30android-5.1.1_r3android-5.1.1_r29android-5.1.1_r26android-5.1.1_r25android-5.1.1_r24android-5.1.1_r23android-5.1.1_r20android-5.1.1_r2android-5.1.1_r19android-5.1.1_r18android-5.1.1_r16android-5.1.1_r15android-5.1.1_r14android-5.1.1_r13android-5.1.1_r10android-5.1.1_r1android-5.1.0_r5android-5.1.0_r4android-5.1.0_r3android-5.1.0_r1lollipop-mr1-releaselollipop-mr1-fi-releaselollipop-mr1-cts-release
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.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 |