summaryrefslogtreecommitdiff
path: root/gralloc/gr_utils.cpp
diff options
context:
space:
mode:
authorLuK1337 <priv.luk@gmail.com>2019-09-23 21:41:37 +0200
committeralk3pInjection <webmaster@raspii.tech>2022-09-05 22:00:03 +0800
commitf61326a1392b82e7f94f0cfe428903a38a33fba6 (patch)
tree461b375c388059f51555c67b752b0777a3e44873 /gralloc/gr_utils.cpp
parenta4d9cf0a3514f936abbeb9c5fc407dcdb9ff96e8 (diff)
gralloc: Allow devices to opt-in for YCrCb camera preview
* Some stock camera HAL implementations output video stream in YCrCb instead of YCbCr. Change-Id: I562847dfd9bcf796052f6fd7263e2affbd601384
Diffstat (limited to 'gralloc/gr_utils.cpp')
-rw-r--r--gralloc/gr_utils.cpp4
1 files changed, 4 insertions, 0 deletions
diff --git a/gralloc/gr_utils.cpp b/gralloc/gr_utils.cpp
index 98e60e2c..ceb5e69f 100644
--- a/gralloc/gr_utils.cpp
+++ b/gralloc/gr_utils.cpp
@@ -1335,7 +1335,11 @@ int GetImplDefinedFormat(uint64_t usage, int format) {
if (format == HAL_PIXEL_FORMAT_YCbCr_420_888) {
gr_format = HAL_PIXEL_FORMAT_NV21_ZSL; // NV21
} else {
+#ifdef USE_YCRCB_CAMERA_PREVIEW
+ gr_format = HAL_PIXEL_FORMAT_YCrCb_420_SP; // NV21 preview
+#else
gr_format = HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS; // NV12 preview
+#endif
}
} else if (usage & BufferUsage::COMPOSER_OVERLAY) {
// XXX: If we still haven't set a format, default to RGBA8888