diff options
author | vincechiu <vincechiu@google.com> | 2018-09-12 10:19:12 +0800 |
---|---|---|
committer | vincechiu <vincechiu@google.com> | 2018-09-12 20:06:03 +0800 |
commit | ca890cb965fb73b217cf0f269880944e7572eff4 (patch) | |
tree | 0033b8aa6e831a9d88ac7e68132666f7b800f09b | |
parent | 2ff1cab9e4341f4bf9362dc0150b59dc40d8e69f (diff) | |
download | display-ca890cb965fb73b217cf0f269880944e7572eff4.tar.gz |
Gralloc: Modify ImplDefinedFormat to NV21
For CAMERA_OUTPUT, modify it from NV12 to NV21
if vendor.gralloc.ImplDefinedCameraOutput.nv21 is 1
Bug: 113831749
Bug: 113139477
Test: Run GCA
Change-Id: Ibe894049b571fafebc720b70af1e42f243e32148
-rw-r--r-- | gralloc/gr_allocator.cpp | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/gralloc/gr_allocator.cpp b/gralloc/gr_allocator.cpp index 912ada03..12245197 100644 --- a/gralloc/gr_allocator.cpp +++ b/gralloc/gr_allocator.cpp @@ -29,6 +29,7 @@ #include <log/log.h> #include <algorithm> +#include <cutils/properties.h> #include <vector> #include "gr_allocator.h" @@ -212,7 +213,12 @@ int Allocator::GetImplDefinedFormat(uint64_t usage, int format) { if (format == HAL_PIXEL_FORMAT_YCbCr_420_888) { gr_format = HAL_PIXEL_FORMAT_NV21_ZSL; // NV21 } else { - gr_format = HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS; // NV12 preview + char prop[PROPERTY_VALUE_MAX]; + property_get("vendor.gralloc.ImplDefinedCameraOutput.nv21", prop, "0"); + if(atoi(prop) > 0) + gr_format = HAL_PIXEL_FORMAT_YCrCb_420_SP_VENUS; // NV21 preview + else + gr_format = HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS; // NV12 preview } } else if (usage & BufferUsage::COMPOSER_OVERLAY) { // XXX: If we still haven't set a format, default to RGBA8888 |