Merge "display: Add support for interleaved YUY2 and YUYV format."
This commit is contained in:
committed by
Gerrit - the friendly Code Review server
commit
d55992da01
@@ -129,6 +129,8 @@ static int get_format(int format) {
|
|||||||
case HAL_PIXEL_FORMAT_RGB_888: return MDP_RGB_888;
|
case HAL_PIXEL_FORMAT_RGB_888: return MDP_RGB_888;
|
||||||
case HAL_PIXEL_FORMAT_RGBA_8888: return MDP_RGBA_8888;
|
case HAL_PIXEL_FORMAT_RGBA_8888: return MDP_RGBA_8888;
|
||||||
case HAL_PIXEL_FORMAT_BGRA_8888: return MDP_BGRA_8888;
|
case HAL_PIXEL_FORMAT_BGRA_8888: return MDP_BGRA_8888;
|
||||||
|
case HAL_PIXEL_FORMAT_YCrCb_422_I: return MDP_YCRYCB_H2V1;
|
||||||
|
case HAL_PIXEL_FORMAT_YCbCr_422_I: return MDP_YCBYCR_H2V1;
|
||||||
case HAL_PIXEL_FORMAT_YCrCb_422_SP: return MDP_Y_CRCB_H2V1;
|
case HAL_PIXEL_FORMAT_YCrCb_422_SP: return MDP_Y_CRCB_H2V1;
|
||||||
case HAL_PIXEL_FORMAT_YCrCb_420_SP: return MDP_Y_CRCB_H2V2;
|
case HAL_PIXEL_FORMAT_YCrCb_420_SP: return MDP_Y_CRCB_H2V2;
|
||||||
case HAL_PIXEL_FORMAT_YCbCr_422_SP: return MDP_Y_CBCR_H2V1;
|
case HAL_PIXEL_FORMAT_YCbCr_422_SP: return MDP_Y_CBCR_H2V1;
|
||||||
|
|||||||
@@ -152,6 +152,8 @@ int AdrenoMemInfo::getStride(int width, int format)
|
|||||||
case HAL_PIXEL_FORMAT_YV12:
|
case HAL_PIXEL_FORMAT_YV12:
|
||||||
case HAL_PIXEL_FORMAT_YCbCr_422_SP:
|
case HAL_PIXEL_FORMAT_YCbCr_422_SP:
|
||||||
case HAL_PIXEL_FORMAT_YCrCb_422_SP:
|
case HAL_PIXEL_FORMAT_YCrCb_422_SP:
|
||||||
|
case HAL_PIXEL_FORMAT_YCbCr_422_I:
|
||||||
|
case HAL_PIXEL_FORMAT_YCrCb_422_I:
|
||||||
stride = ALIGN(width, 16);
|
stride = ALIGN(width, 16);
|
||||||
break;
|
break;
|
||||||
case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS:
|
case HAL_PIXEL_FORMAT_YCbCr_420_SP_VENUS:
|
||||||
@@ -324,6 +326,8 @@ size_t getBufferSizeAndDimensions(int width, int height, int format,
|
|||||||
break;
|
break;
|
||||||
case HAL_PIXEL_FORMAT_YCbCr_422_SP:
|
case HAL_PIXEL_FORMAT_YCbCr_422_SP:
|
||||||
case HAL_PIXEL_FORMAT_YCrCb_422_SP:
|
case HAL_PIXEL_FORMAT_YCrCb_422_SP:
|
||||||
|
case HAL_PIXEL_FORMAT_YCbCr_422_I:
|
||||||
|
case HAL_PIXEL_FORMAT_YCrCb_422_I:
|
||||||
if(width & 1) {
|
if(width & 1) {
|
||||||
ALOGE("width is odd for the YUV422_SP format");
|
ALOGE("width is odd for the YUV422_SP format");
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|||||||
@@ -100,6 +100,7 @@ enum {
|
|||||||
HAL_PIXEL_FORMAT_RG_88 = 0x10E,
|
HAL_PIXEL_FORMAT_RG_88 = 0x10E,
|
||||||
HAL_PIXEL_FORMAT_YCbCr_444_SP = 0x10F,
|
HAL_PIXEL_FORMAT_YCbCr_444_SP = 0x10F,
|
||||||
HAL_PIXEL_FORMAT_YCrCb_444_SP = 0x110,
|
HAL_PIXEL_FORMAT_YCrCb_444_SP = 0x110,
|
||||||
|
HAL_PIXEL_FORMAT_YCrCb_422_I = 0x111,
|
||||||
HAL_PIXEL_FORMAT_INTERLACE = 0x180,
|
HAL_PIXEL_FORMAT_INTERLACE = 0x180,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -400,6 +400,10 @@ void HwcDebug::getHalPixelFormatStr(int format, char pixFormatStr[])
|
|||||||
case HAL_PIXEL_FORMAT_YCbCr_422_I:
|
case HAL_PIXEL_FORMAT_YCbCr_422_I:
|
||||||
strcpy(pixFormatStr, "YCbCr_422_I_YUY2");
|
strcpy(pixFormatStr, "YCbCr_422_I_YUY2");
|
||||||
break;
|
break;
|
||||||
|
case HAL_PIXEL_FORMAT_YCrCb_422_I:
|
||||||
|
strlcpy(pixFormatStr, "YCrCb_422_I_YVYU",
|
||||||
|
sizeof("YCrCb_422_I_YVYU"));
|
||||||
|
break;
|
||||||
case HAL_PIXEL_FORMAT_NV12_ENCODEABLE:
|
case HAL_PIXEL_FORMAT_NV12_ENCODEABLE:
|
||||||
strcpy(pixFormatStr, "NV12_ENCODEABLE");
|
strcpy(pixFormatStr, "NV12_ENCODEABLE");
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -114,6 +114,10 @@ int getMdpFormat(int format) {
|
|||||||
return MDP_Y_CBCR_H2V2;
|
return MDP_Y_CBCR_H2V2;
|
||||||
case HAL_PIXEL_FORMAT_YCrCb_422_SP:
|
case HAL_PIXEL_FORMAT_YCrCb_422_SP:
|
||||||
return MDP_Y_CRCB_H2V1;
|
return MDP_Y_CRCB_H2V1;
|
||||||
|
case HAL_PIXEL_FORMAT_YCbCr_422_I:
|
||||||
|
return MDP_YCBYCR_H2V1;
|
||||||
|
case HAL_PIXEL_FORMAT_YCrCb_422_I:
|
||||||
|
return MDP_YCRYCB_H2V1;
|
||||||
case HAL_PIXEL_FORMAT_YCbCr_444_SP:
|
case HAL_PIXEL_FORMAT_YCbCr_444_SP:
|
||||||
return MDP_Y_CBCR_H1V1;
|
return MDP_Y_CBCR_H1V1;
|
||||||
case HAL_PIXEL_FORMAT_YCrCb_444_SP:
|
case HAL_PIXEL_FORMAT_YCrCb_444_SP:
|
||||||
@@ -128,7 +132,6 @@ int getMdpFormat(int format) {
|
|||||||
//---graphics.h--------
|
//---graphics.h--------
|
||||||
//HAL_PIXEL_FORMAT_RGBA_5551
|
//HAL_PIXEL_FORMAT_RGBA_5551
|
||||||
//HAL_PIXEL_FORMAT_RGBA_4444
|
//HAL_PIXEL_FORMAT_RGBA_4444
|
||||||
//HAL_PIXEL_FORMAT_YCbCr_422_I
|
|
||||||
//---gralloc_priv.h-----
|
//---gralloc_priv.h-----
|
||||||
//HAL_PIXEL_FORMAT_YCrCb_420_SP_ADRENO = 0x7FA30C01
|
//HAL_PIXEL_FORMAT_YCrCb_420_SP_ADRENO = 0x7FA30C01
|
||||||
//HAL_PIXEL_FORMAT_R_8 = 0x10D
|
//HAL_PIXEL_FORMAT_R_8 = 0x10D
|
||||||
@@ -169,7 +172,11 @@ int getHALFormat(int mdpFormat) {
|
|||||||
return HAL_PIXEL_FORMAT_YCbCr_420_SP;
|
return HAL_PIXEL_FORMAT_YCbCr_420_SP;
|
||||||
case MDP_Y_CRCB_H2V1:
|
case MDP_Y_CRCB_H2V1:
|
||||||
return HAL_PIXEL_FORMAT_YCrCb_422_SP;
|
return HAL_PIXEL_FORMAT_YCrCb_422_SP;
|
||||||
case MDP_Y_CBCR_H1V1:
|
case MDP_YCBYCR_H2V1:
|
||||||
|
return HAL_PIXEL_FORMAT_YCbCr_422_I;
|
||||||
|
case MDP_YCRYCB_H2V1:
|
||||||
|
return HAL_PIXEL_FORMAT_YCrCb_422_I;
|
||||||
|
case MDP_Y_CBCR_H1V1:
|
||||||
return HAL_PIXEL_FORMAT_YCbCr_444_SP;
|
return HAL_PIXEL_FORMAT_YCbCr_444_SP;
|
||||||
case MDP_Y_CRCB_H1V1:
|
case MDP_Y_CRCB_H1V1:
|
||||||
return HAL_PIXEL_FORMAT_YCrCb_444_SP;
|
return HAL_PIXEL_FORMAT_YCrCb_444_SP;
|
||||||
|
|||||||
@@ -488,6 +488,8 @@ inline bool isYuv(uint32_t format) {
|
|||||||
case MDP_Y_CR_CB_H2V2:
|
case MDP_Y_CR_CB_H2V2:
|
||||||
case MDP_Y_CR_CB_GH2V2:
|
case MDP_Y_CR_CB_GH2V2:
|
||||||
case MDP_Y_CBCR_H2V2_VENUS:
|
case MDP_Y_CBCR_H2V2_VENUS:
|
||||||
|
case MDP_YCBYCR_H2V1:
|
||||||
|
case MDP_YCRYCB_H2V1:
|
||||||
return true;
|
return true;
|
||||||
default:
|
default:
|
||||||
return false;
|
return false;
|
||||||
@@ -518,6 +520,7 @@ inline const char* getFormatString(int format){
|
|||||||
formats[MDP_ARGB_8888] = STR(MDP_ARGB_8888);
|
formats[MDP_ARGB_8888] = STR(MDP_ARGB_8888);
|
||||||
formats[MDP_RGB_888] = STR(MDP_RGB_888);
|
formats[MDP_RGB_888] = STR(MDP_RGB_888);
|
||||||
formats[MDP_Y_CRCB_H2V2] = STR(MDP_Y_CRCB_H2V2);
|
formats[MDP_Y_CRCB_H2V2] = STR(MDP_Y_CRCB_H2V2);
|
||||||
|
formats[MDP_YCBYCR_H2V1] = STR(MDP_YCBYCR_H2V1);
|
||||||
formats[MDP_YCRYCB_H2V1] = STR(MDP_YCRYCB_H2V1);
|
formats[MDP_YCRYCB_H2V1] = STR(MDP_YCRYCB_H2V1);
|
||||||
formats[MDP_CBYCRY_H2V1] = STR(MDP_CBYCRY_H2V1);
|
formats[MDP_CBYCRY_H2V1] = STR(MDP_CBYCRY_H2V1);
|
||||||
formats[MDP_Y_CRCB_H2V1] = STR(MDP_Y_CRCB_H2V1);
|
formats[MDP_Y_CRCB_H2V1] = STR(MDP_Y_CRCB_H2V1);
|
||||||
|
|||||||
Reference in New Issue
Block a user