summaryrefslogtreecommitdiff
path: root/gralloc4/src
diff options
context:
space:
mode:
authorZhijun He <zhijunhe@google.com>2021-06-05 09:49:08 -0700
committerZhijun He <zhijunhe@google.com>2021-06-05 18:17:43 +0000
commitf03c2c9f5a09b56d4f26831ce11746ede00f7910 (patch)
tree2e21cbc3f07a347d76a218a7fcb53d4a6db49e4a /gralloc4/src
parentfe189f7ded1e4b612245cd36b685b0e242682a17 (diff)
downloadgchips-f03c2c9f5a09b56d4f26831ce11746ede00f7910.tar.gz
gralloc: map camera output yuv to NV21
Map camera YUV420_888 to NV21 when the consumer is GPU. It was previously mapped to NV12. Test: Build Bug: 190204149 Change-Id: I174bebb5b8012a11737c0396f031b73917f3cb23
Diffstat (limited to 'gralloc4/src')
-rw-r--r--gralloc4/src/core/mali_gralloc_formats.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/gralloc4/src/core/mali_gralloc_formats.cpp b/gralloc4/src/core/mali_gralloc_formats.cpp
index 38a35b5..9555727 100644
--- a/gralloc4/src/core/mali_gralloc_formats.cpp
+++ b/gralloc4/src/core/mali_gralloc_formats.cpp
@@ -1432,6 +1432,11 @@ uint32_t get_base_format(const uint64_t req_format,
{
base_format = HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M;
}
+ else if ((usage & GRALLOC_USAGE_HW_TEXTURE) && (usage & GRALLOC_USAGE_HW_CAMERA_WRITE))
+ {
+ // Camera flexible YUV format output maps to NV21M.
+ base_format = HAL_PIXEL_FORMAT_EXYNOS_YCrCb_420_SP_M;
+ }
else if (usage & (GRALLOC_USAGE_HW_RENDER | GRALLOC_USAGE_HW_TEXTURE))
{
base_format = HAL_PIXEL_FORMAT_EXYNOS_YCbCr_420_SP_M;