diff options
author | Mathew Joseph Karimpanal <mathewjk@codeaurora.org> | 2018-08-14 16:40:34 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2018-08-18 10:57:17 -0700 |
commit | 7151718e8d460f500cfb08e769ef25a6eb8f068b (patch) | |
tree | 237520488d9ccf124ae7dfb057cecfbd81c29f6b /gralloc/gr_utils.cpp | |
parent | 07438bb6bf25ec33e8f33d8a979af0ca075974ca (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.cpp | 5 |
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 } |