summaryrefslogtreecommitdiff
path: root/gralloc/gr_utils.cpp
diff options
context:
space:
mode:
authorMathew Joseph Karimpanal <mathewjk@codeaurora.org>2018-08-14 16:40:34 +0530
committerGerrit - the friendly Code Review server <code-review@localhost>2018-08-18 10:57:17 -0700
commit7151718e8d460f500cfb08e769ef25a6eb8f068b (patch)
tree237520488d9ccf124ae7dfb057cecfbd81c29f6b /gralloc/gr_utils.cpp
parent07438bb6bf25ec33e8f33d8a979af0ca075974ca (diff)
gralloc: Select CPU readable YCbCr format
HAL_PIXEL_FORMAT_YCbCr_420_888 is strictly CPU readable. Select a suitable implementation defined CPU readable format for it. CRs-Fixed: 2282551 Change-Id: Id473d93a14156f8c08fac62ba0441cc6570f60a2
Diffstat (limited to 'gralloc/gr_utils.cpp')
-rw-r--r--gralloc/gr_utils.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/gralloc/gr_utils.cpp b/gralloc/gr_utils.cpp
index 1ecbce34..7c825bdc 100644
--- a/gralloc/gr_utils.cpp
+++ b/gralloc/gr_utils.cpp
@@ -1150,11 +1150,14 @@ int GetImplDefinedFormat(uint64_t usage, int format) {
// the usage bits, gralloc assigns a format.
if (format == HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED ||
format == HAL_PIXEL_FORMAT_YCbCr_420_888) {
- if (usage & GRALLOC_USAGE_PRIVATE_ALLOC_UBWC || usage & GRALLOC_USAGE_PRIVATE_ALLOC_UBWC_PI) {
+ if ((usage & GRALLOC_USAGE_PRIVATE_ALLOC_UBWC || usage & GRALLOC_USAGE_PRIVATE_ALLOC_UBWC_PI)
+ && format != HAL_PIXEL_FORMAT_YCbCr_420_888) {
gr_format = HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS_UBWC;
} else if (usage & BufferUsage::VIDEO_ENCODER) {
if (usage & GRALLOC_USAGE_PRIVATE_VIDEO_NV21_ENCODER) {
gr_format = HAL_PIXEL_FORMAT_NV21_ENCODEABLE; // NV21
+ } else if (format == HAL_PIXEL_FORMAT_YCbCr_420_888) {
+ gr_format = HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS;
} else {
gr_format = HAL_PIXEL_FORMAT_NV12_ENCODEABLE; // NV12
}