diff options
-rw-r--r-- | include/ui/PixelFormat.h | 7 | ||||
-rw-r--r-- | libs/gui/SurfaceTexture.cpp | 10 | ||||
-rw-r--r-- | libs/ui/PixelFormat.cpp | 18 |
3 files changed, 35 insertions, 0 deletions
diff --git a/include/ui/PixelFormat.h b/include/ui/PixelFormat.h index 9f3e267139..cfd6326b42 100644 --- a/include/ui/PixelFormat.h +++ b/include/ui/PixelFormat.h @@ -64,6 +64,13 @@ enum { PIXEL_FORMAT_RGBA_5551 = HAL_PIXEL_FORMAT_RGBA_5551, // 16-bit ARGB PIXEL_FORMAT_RGBA_4444 = HAL_PIXEL_FORMAT_RGBA_4444, // 16-bit ARGB PIXEL_FORMAT_A_8 = 8, // 8-bit A +#ifdef TARGET_BOARD_SNOWBALL + // Added Support for YUV42XMBN, + // Required for Copybit CC acceleration + PIXEL_FORMAT_YCBCR42XMBN = HAL_PIXEL_FORMAT_YCBCR42XMBN, + PIXEL_FORMAT_YCbCr_420_SP = HAL_PIXEL_FORMAT_YCbCr_420_SP, + PIXEL_FORMAT_YCbCr_420_P = HAL_PIXEL_FORMAT_YCbCr_420_P, +#endif }; typedef int32_t PixelFormat; diff --git a/libs/gui/SurfaceTexture.cpp b/libs/gui/SurfaceTexture.cpp index 8e006ae500..db3e6aca7c 100644 --- a/libs/gui/SurfaceTexture.cpp +++ b/libs/gui/SurfaceTexture.cpp @@ -503,8 +503,18 @@ bool SurfaceTexture::isExternalFormat(uint32_t format) case HAL_PIXEL_FORMAT_YV12: // Legacy/deprecated YUV formats case HAL_PIXEL_FORMAT_YCbCr_422_SP: +#ifdef TARGET_BOARD_SNOWBALL + case HAL_PIXEL_FORMAT_YCbCr_420_SP: +#else case HAL_PIXEL_FORMAT_YCrCb_420_SP: +#endif case HAL_PIXEL_FORMAT_YCbCr_422_I: +#ifdef TARGET_BOARD_SNOWBALL + case HAL_PIXEL_FORMAT_YCrCb_422_SP: + case HAL_PIXEL_FORMAT_YCrCb_422_P: + case HAL_PIXEL_FORMAT_YCrCb_420_SP: + case HAL_PIXEL_FORMAT_YCrCb_420_P: +#endif return true; } diff --git a/libs/ui/PixelFormat.cpp b/libs/ui/PixelFormat.cpp index 3ced41d164..4918b31561 100644 --- a/libs/ui/PixelFormat.cpp +++ b/libs/ui/PixelFormat.cpp @@ -100,11 +100,29 @@ status_t getPixelFormatInfo(PixelFormat format, PixelFormatInfo* info) // YUV format from the HAL are handled here switch (format) { case HAL_PIXEL_FORMAT_YCbCr_422_SP: +#ifdef TARGET_BOARD_SNOWBALL + case HAL_PIXEL_FORMAT_YCrCb_422_SP: + case HAL_PIXEL_FORMAT_YCbCr_422_P: +#endif case HAL_PIXEL_FORMAT_YCbCr_422_I: +#ifdef TARGET_BOARD_SNOWBALL + case HAL_PIXEL_FORMAT_CbYCrY_422_I: +#endif info->bitsPerPixel = 16; goto done; +#ifdef TARGET_BOARD_SNOWBALL + case HAL_PIXEL_FORMAT_YCbCr_420_SP: +#endif case HAL_PIXEL_FORMAT_YCrCb_420_SP: case HAL_PIXEL_FORMAT_YV12: +#ifdef TARGET_BOARD_SNOWBALL + case HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED: + case HAL_PIXEL_FORMAT_YCrCb_420_SP_TILED: + case HAL_PIXEL_FORMAT_YCbCr_420_P: + case HAL_PIXEL_FORMAT_YCbCr_420_I: + case HAL_PIXEL_FORMAT_CbYCrY_420_I: + case HAL_PIXEL_FORMAT_YCBCR42XMBN: +#endif info->bitsPerPixel = 12; done: info->format = format; |