diff options
author | Rahul Sharma <sharah@codeaurora.org> | 2017-01-05 09:15:40 +0530 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-01-27 09:00:06 -0800 |
commit | 61173ea422783cab1e49bfc56d0c5fc3795f3d57 (patch) | |
tree | 4a68f6f56d29d12a5318fc3e9b4dca32bdcbf352 /libgralloc | |
parent | 8e0581e3da8122d570828f0e54f86e3c0e335c1f (diff) | |
download | display-61173ea422783cab1e49bfc56d0c5fc3795f3d57.tar.gz |
sdm: Add support for new pixel formats in HAL
Add support for BGR_888 and CBYCRY_422_I in display HAL. The
new formats will be used by QCarCam Application.
CRs-Fixed: 1116491
Change-Id: I5ccca57a3ca2d27c4e064b0c5abd68c77c7afadd
Diffstat (limited to 'libgralloc')
-rw-r--r-- | libgralloc/alloc_controller.cpp | 13 | ||||
-rw-r--r-- | libgralloc/gralloc_priv.h | 2 |
2 files changed, 15 insertions, 0 deletions
diff --git a/libgralloc/alloc_controller.cpp b/libgralloc/alloc_controller.cpp index 583767a7..cb57e9c2 100644 --- a/libgralloc/alloc_controller.cpp +++ b/libgralloc/alloc_controller.cpp @@ -217,6 +217,7 @@ bool isUncompressedRgbFormat(int format) case HAL_PIXEL_FORMAT_R_8: case HAL_PIXEL_FORMAT_RG_88: case HAL_PIXEL_FORMAT_BGRX_8888: + case HAL_PIXEL_FORMAT_BGR_888: case HAL_PIXEL_FORMAT_RGBA_1010102: case HAL_PIXEL_FORMAT_ARGB_2101010: case HAL_PIXEL_FORMAT_RGBX_1010102: @@ -276,6 +277,7 @@ void AdrenoMemInfo::getAlignedWidthAndHeight(int width, int height, int format, case HAL_PIXEL_FORMAT_YCbCr_422_I: case HAL_PIXEL_FORMAT_YCrCb_422_I: case HAL_PIXEL_FORMAT_YCbCr_420_P010: + case HAL_PIXEL_FORMAT_CbYCrY_422_I: aligned_w = ALIGN(width, 16); break; case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS: @@ -639,6 +641,7 @@ unsigned int getSize(int format, int width, int height, int usage, case HAL_PIXEL_FORMAT_YCrCb_422_SP: case HAL_PIXEL_FORMAT_YCbCr_422_I: case HAL_PIXEL_FORMAT_YCrCb_422_I: + case HAL_PIXEL_FORMAT_CbYCrY_422_I: if(width & 1) { ALOGE("width is odd for the YUV422_SP format"); return 0; @@ -873,6 +876,16 @@ int getYUVPlaneInfo(private_handle_t* hnd, struct android_ycbcr* ycbcr) ycbcr->cstride = cstride; ycbcr->chroma_step = 1; break; + case HAL_PIXEL_FORMAT_CbYCrY_422_I: + ystride = width * 2; + cstride = 0; + ycbcr->y = (void*)hnd->base; + ycbcr->cr = NULL; + ycbcr->cb = NULL; + ycbcr->ystride = ystride; + ycbcr->cstride = 0; + ycbcr->chroma_step = 0; + break; //Unsupported formats case HAL_PIXEL_FORMAT_YCbCr_422_I: case HAL_PIXEL_FORMAT_YCrCb_422_I: diff --git a/libgralloc/gralloc_priv.h b/libgralloc/gralloc_priv.h index 738b63ff..5797546a 100644 --- a/libgralloc/gralloc_priv.h +++ b/libgralloc/gralloc_priv.h @@ -118,6 +118,8 @@ #define HAL_PIXEL_FORMAT_BGRX_1010102 0x11C #define HAL_PIXEL_FORMAT_XBGR_2101010 0x11D #define HAL_PIXEL_FORMAT_YCbCr_420_P010 0x11F +#define HAL_PIXEL_FORMAT_CbYCrY_422_I 0x120 +#define HAL_PIXEL_FORMAT_BGR_888 0x121 #define HAL_PIXEL_FORMAT_INTERLACE 0x180 |