display: Add support for Venus color format for newer platforms
Change-Id: I4c9a327bd30d1321e1f8383ffc1ca978efc8e9b9
Conflicts:
liboverlay/overlayUtils.h
libqdutils/gpuformats.h
libqdutils/qcom_ui.cpp
diff --git a/libgralloc/alloc_controller.cpp b/libgralloc/alloc_controller.cpp
index 823c1ae..a6311f2 100644
--- a/libgralloc/alloc_controller.cpp
+++ b/libgralloc/alloc_controller.cpp
@@ -235,6 +235,11 @@
alignedh = height;
size = ALIGN(alignedw * alignedh * 2, 4096);
break;
+ case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS:
+ size = alignedw*alignedh +
+ (ALIGN(alignedw/2, 32) * (alignedh/2))*2;
+ size = ALIGN(size, 4096);
+ break;
default:
ALOGE("unrecognized pixel format: 0x%x", format);
return -EINVAL;
diff --git a/libgralloc/gralloc_priv.h b/libgralloc/gralloc_priv.h
index 59fbd30..4f6445d 100644
--- a/libgralloc/gralloc_priv.h
+++ b/libgralloc/gralloc_priv.h
@@ -96,6 +96,7 @@
enum {
/* OEM specific HAL formats */
HAL_PIXEL_FORMAT_NV12_ENCODEABLE = 0x102,
+ HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS = 0x7FA30C04,
HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED = 0x7FA30C03,
HAL_PIXEL_FORMAT_YCbCr_420_SP = 0x109,
HAL_PIXEL_FORMAT_YCrCb_420_SP_ADRENO = 0x7FA30C01,
diff --git a/liboverlay/overlayUtils.cpp b/liboverlay/overlayUtils.cpp
index d0f9457..49a1eaf 100644
--- a/liboverlay/overlayUtils.cpp
+++ b/liboverlay/overlayUtils.cpp
@@ -231,7 +231,8 @@
return MDP_Y_CBCR_H1V1;
case HAL_PIXEL_FORMAT_YCrCb_444_SP:
return MDP_Y_CRCB_H1V1;
-
+ case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS:
+ return MDP_Y_CBCR_H2V2_VENUS;
default:
//Unsupported by MDP
//---graphics.h--------
diff --git a/liboverlay/overlayUtils.h b/liboverlay/overlayUtils.h
index f9fcca8..975b7b1 100644
--- a/liboverlay/overlayUtils.h
+++ b/liboverlay/overlayUtils.h
@@ -44,6 +44,10 @@
#include <utils/Log.h>
#include "gralloc_priv.h" //for interlace
+#ifndef MDP_Y_CBCR_H2V2_VENUS
+#define MDP_Y_CBCR_H2V2_VENUS (MDP_IMGTYPE_LIMIT2 + 1)
+#endif
+
/*
*
* Collection of utilities functions/structs/enums etc...
@@ -487,6 +491,7 @@
case MDP_Y_CBCR_H2V2_TILE:
case MDP_Y_CR_CB_H2V2:
case MDP_Y_CR_CB_GH2V2:
+ case MDP_Y_CBCR_H2V2_VENUS:
return true;
default:
return false;
@@ -534,6 +539,8 @@
"MDP_YCRCB_H1V1",
"MDP_YCBCR_H1V1",
"MDP_BGR_565",
+ "MDP_BGR_888",
+ "MDP_Y_CBCR_H2V2_VENUS",
"MDP_IMGTYPE_LIMIT",
"MDP_RGB_BORDERFILL",
"MDP_FB_FORMAT",