From 45a9451495fade9c39239569f55c1de6aa0866ab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tapani=20P=C3=A4lli?= Date: Fri, 14 Dec 2012 10:43:39 +0200 Subject: gralloc: add NV12 format enum and fb allocation support for it MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Change-Id: If1c92810a17c60c29239f5384d6e971b015dd174 Signed-off-by: Tapani Pälli --- gralloc_drm_kms.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) (limited to 'gralloc_drm_kms.c') diff --git a/gralloc_drm_kms.c b/gralloc_drm_kms.c index d9b1096..3310807 100644 --- a/gralloc_drm_kms.c +++ b/gralloc_drm_kms.c @@ -59,6 +59,8 @@ static unsigned int drm_format_from_hal(int hal_format) return DRM_FORMAT_RGB565; case HAL_PIXEL_FORMAT_YV12: return DRM_FORMAT_YUV420; + case HAL_PIXEL_FORMAT_DRM_NV12: + return DRM_FORMAT_NV12; default: return 0; } @@ -95,6 +97,16 @@ static int resolve_drm_format(struct gralloc_drm_bo_t *bo, pitches[2] * bo->handle->height/2; handles[1] = handles[2] = handles[0]; + break; + + case HAL_PIXEL_FORMAT_DRM_NV12: + + // U and V are interleaved in 2nd plane + pitches[1] = pitches[0]; + offsets[1] = offsets[0] + + pitches[0] * bo->handle->height; + handles[1] = handles[0]; + break; } return format; } -- cgit v1.1