summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAustin Hu <austin.hu@intel.com>2016-06-14 17:07:56 +0800
committerNick Desaulniers <ndesaulniers@google.com>2016-06-17 10:20:09 -0700
commitca4b950d7e25063c8ffc3160b60b6e86a2ec5503 (patch)
treefe21266442c562b1dab3f4874001da6369f86175
parent8d2f0025fc6c15c3fe0e4ecab89c54c34a63eefb (diff)
downloadhwcomposer-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.cpp7
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;