summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/ui/PixelFormat.h7
-rw-r--r--libs/gui/SurfaceTexture.cpp10
-rw-r--r--libs/ui/PixelFormat.cpp18
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;