diff options
author | Linux Build Service Account <lnxbuild@localhost> | 2017-02-05 18:41:24 -0800 |
---|---|---|
committer | Gerrit - the friendly Code Review server <code-review@localhost> | 2017-02-05 18:41:24 -0800 |
commit | b89af0f1557dfed3b5216f373ae28f8b8cba622b (patch) | |
tree | a54556add3a7042f54b3b985cd92052d21827af2 /libgralloc | |
parent | 85f13b6dda2bc6863d775a7df03bc633475826f1 (diff) | |
parent | 61173ea422783cab1e49bfc56d0c5fc3795f3d57 (diff) | |
download | display-b89af0f1557dfed3b5216f373ae28f8b8cba622b.tar.gz |
Merge "sdm: Add support for new pixel formats in HAL"
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 fb22359b..805948b4 100644 --- a/libgralloc/alloc_controller.cpp +++ b/libgralloc/alloc_controller.cpp @@ -197,6 +197,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: @@ -256,6 +257,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: @@ -587,6 +589,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; @@ -807,6 +810,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 |