diff options
author | Austin Hu <austin.hu@intel.com> | 2016-06-14 17:07:56 +0800 |
---|---|---|
committer | Nick Desaulniers <ndesaulniers@google.com> | 2016-06-17 10:20:09 -0700 |
commit | ca4b950d7e25063c8ffc3160b60b6e86a2ec5503 (patch) | |
tree | fe21266442c562b1dab3f4874001da6369f86175 | |
parent | 8d2f0025fc6c15c3fe0e4ecab89c54c34a63eefb (diff) | |
download | hwcomposer-ca4b950d7e25063c8ffc3160b60b6e86a2ec5503.tar.gz |
Fixed the video playback messy issues by hardware decoding by libva.nougat-dev
Bug: 29160724
Bug: IMINAN-49451
Originall the width calculation of NV12_VED/NV12_VEDT formats was hacked
in gralloc HAL, so moved this hacking into HWC HAL.
Change-Id: I94afcc1e16f42540ed5826423d4bb52c494b6b45
Signed-off-by: Austin Hu <austin.hu@intel.com>
-rw-r--r-- | moorefield_hdmi/ips/tangier/TngGrallocBuffer.cpp | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/moorefield_hdmi/ips/tangier/TngGrallocBuffer.cpp b/moorefield_hdmi/ips/tangier/TngGrallocBuffer.cpp index 47d36d4..5984ea5 100644 --- a/moorefield_hdmi/ips/tangier/TngGrallocBuffer.cpp +++ b/moorefield_hdmi/ips/tangier/TngGrallocBuffer.cpp @@ -15,6 +15,7 @@ */ #include <common/utils/HwcTrace.h> #include <ips/tangier/TngGrallocBuffer.h> +#include <khronos/openmax/OMX_IntelVideoExt.h> namespace android { namespace intel { @@ -47,7 +48,11 @@ void TngGrallocBuffer::initBuffer(uint32_t handle) } mFormat = grallocHandle->iFormat; - mWidth = grallocHandle->iWidth; + if (mFormat == OMX_INTEL_COLOR_FormatYUV420PackedSemiPlanar || + mFormat == OMX_INTEL_COLOR_FormatYUV420PackedSemiPlanar_Tiled) { + mWidth = grallocHandle->aiStride[0]; + } else + mWidth = grallocHandle->iWidth; mHeight = grallocHandle->iHeight; mUsage = grallocHandle->usage; mKey = grallocHandle->ui64Stamp; |