gralloc: Set correct private gralloc format for video buffers

For IMPLEMENTATION_DEFINED pixel format, if the usage flag is
HW_VIDEO_ENCODER, the private gralloc format should be
HAL_PIXEL_FORMAT_NV12_ENCODEABLE.

Change-Id: I61e8aabe124179e8bebda5d50ad1d8681060b99a
This commit is contained in:
Shuzhen Wang
2013-04-21 14:23:05 -07:00
parent b28da24954
commit a11b6ba75c

View File

@@ -166,7 +166,7 @@ int gpu_context_t::alloc_impl(int w, int h, int format, int usage,
//the usage bits, gralloc assigns a format. //the usage bits, gralloc assigns a format.
if(format == HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED) { if(format == HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED) {
if(usage & GRALLOC_USAGE_HW_VIDEO_ENCODER) if(usage & GRALLOC_USAGE_HW_VIDEO_ENCODER)
grallocFormat = HAL_PIXEL_FORMAT_YCbCr_420_SP; //NV12 grallocFormat = HAL_PIXEL_FORMAT_NV12_ENCODEABLE; //NV12
else if(usage & GRALLOC_USAGE_HW_CAMERA_READ) else if(usage & GRALLOC_USAGE_HW_CAMERA_READ)
grallocFormat = HAL_PIXEL_FORMAT_YCrCb_420_SP; //NV21 grallocFormat = HAL_PIXEL_FORMAT_YCrCb_420_SP; //NV21
else if(usage & GRALLOC_USAGE_HW_CAMERA_WRITE) else if(usage & GRALLOC_USAGE_HW_CAMERA_WRITE)