gralloc1: Handle ZSL scenario
Per camera team, if both producer and consumer camera flags are
set, the format should be ZSL.
CRs-Fixed: 2023560
Change-Id: Iecc168047acf36b267068cb8d2e764a7b891f430
diff --git a/libgralloc1/gr_allocator.cpp b/libgralloc1/gr_allocator.cpp
index 577819c..9a46115 100644
--- a/libgralloc1/gr_allocator.cpp
+++ b/libgralloc1/gr_allocator.cpp
@@ -455,7 +455,12 @@
} else if (cons_usage & GRALLOC1_CONSUMER_USAGE_VIDEO_ENCODER) {
gr_format = HAL_PIXEL_FORMAT_NV12_ENCODEABLE; // NV12
} else if (cons_usage & GRALLOC1_CONSUMER_USAGE_CAMERA) {
- gr_format = HAL_PIXEL_FORMAT_YCrCb_420_SP; // NV21
+ if (prod_usage & GRALLOC1_PRODUCER_USAGE_CAMERA) {
+ // Assumed ZSL if both producer and consumer camera flags set
+ gr_format = HAL_PIXEL_FORMAT_NV21_ZSL; // NV21
+ } else {
+ gr_format = HAL_PIXEL_FORMAT_YCrCb_420_SP; // NV21
+ }
} else if (prod_usage & GRALLOC1_PRODUCER_USAGE_CAMERA) {
if (format == HAL_PIXEL_FORMAT_YCbCr_420_888) {
gr_format = HAL_PIXEL_FORMAT_NV21_ZSL; // NV21