From f08d84f218ded2e0479e8e112dc0d26af31d7908 Mon Sep 17 00:00:00 2001 From: Saurabh Shah Date: Fri, 27 Jul 2012 11:35:40 -0700 Subject: [PATCH] liboverlay: Update format translation. Update format translation from HAL to MDP. Add support for RGB_888, YCbCr_444_SP, YCrCb_444_SP formats. Change-Id: I6323cd07bfe74c7cc60bf2b59dd81e2ae8a2ce27 --- liboverlay/overlayUtils.cpp | 51 +++++++++++++++++++++++++------------ 1 file changed, 35 insertions(+), 16 deletions(-) diff --git a/liboverlay/overlayUtils.cpp b/liboverlay/overlayUtils.cpp index ce18174..161f05c 100644 --- a/liboverlay/overlayUtils.cpp +++ b/liboverlay/overlayUtils.cpp @@ -149,31 +149,50 @@ bool FrameBufferInfo::supportTrueMirroring() const { } //-------------------------------------------------------- - +//Refer to graphics.h, gralloc_priv.h, msm_mdp.h int getMdpFormat(int format) { switch (format) { + //From graphics.h case HAL_PIXEL_FORMAT_RGBA_8888 : return MDP_RGBA_8888; - case HAL_PIXEL_FORMAT_BGRA_8888: - return MDP_BGRA_8888; - case HAL_PIXEL_FORMAT_RGB_565: - return MDP_RGB_565; case HAL_PIXEL_FORMAT_RGBX_8888: return MDP_RGBX_8888; - case HAL_PIXEL_FORMAT_YCbCr_422_SP: - return MDP_Y_CBCR_H2V1; - case HAL_PIXEL_FORMAT_YCrCb_422_SP: - return MDP_Y_CRCB_H2V1; - case HAL_PIXEL_FORMAT_YCbCr_420_SP: - return MDP_Y_CBCR_H2V2; - case HAL_PIXEL_FORMAT_YCrCb_420_SP: - return MDP_Y_CRCB_H2V2; - case HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED: - return MDP_Y_CBCR_H2V2_TILE; + case HAL_PIXEL_FORMAT_RGB_888: + return MDP_RGB_888; + case HAL_PIXEL_FORMAT_RGB_565: + return MDP_RGB_565; + case HAL_PIXEL_FORMAT_BGRA_8888: + return MDP_BGRA_8888; case HAL_PIXEL_FORMAT_YV12: return MDP_Y_CR_CB_H2V2; + case HAL_PIXEL_FORMAT_YCbCr_422_SP: + return MDP_Y_CBCR_H2V1; + case HAL_PIXEL_FORMAT_YCrCb_420_SP: + return MDP_Y_CRCB_H2V2; + + //From gralloc_priv.h + case HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED: + return MDP_Y_CBCR_H2V2_TILE; + case HAL_PIXEL_FORMAT_YCbCr_420_SP: + return MDP_Y_CBCR_H2V2; + case HAL_PIXEL_FORMAT_YCrCb_422_SP: + return MDP_Y_CRCB_H2V1; + case HAL_PIXEL_FORMAT_YCbCr_444_SP: + return MDP_Y_CBCR_H1V1; + case HAL_PIXEL_FORMAT_YCrCb_444_SP: + return MDP_Y_CRCB_H1V1; + default: - ALOGE("Error getMdpFormat format=0x%x", format); + //Unsupported by MDP + //---graphics.h-------- + //HAL_PIXEL_FORMAT_RGBA_5551 + //HAL_PIXEL_FORMAT_RGBA_4444 + //HAL_PIXEL_FORMAT_YCbCr_422_I + //---gralloc_priv.h----- + //HAL_PIXEL_FORMAT_YCrCb_420_SP_ADRENO = 0x7FA30C01 + //HAL_PIXEL_FORMAT_R_8 = 0x10D + //HAL_PIXEL_FORMAT_RG_88 = 0x10E + ALOGE("%s: Unsupported format = 0x%x", __func__, format); return -1; } // not reached