diff options
author | Mathias Agopian <mathias@google.com> | 2010-07-01 21:28:06 -0700 |
---|---|---|
committer | Android (Google) Code Review <android-gerrit@google.com> | 2010-07-01 21:28:06 -0700 |
commit | 1daacdc8d2d110d3edd077fcd2befa9884924e10 (patch) | |
tree | eb04813cbf145c41f5a9035b26e91151ea1ae390 | |
parent | 95d78bef32edd183fb8c16b7775bf0a069948420 (diff) | |
parent | 6915eb345b6640a43b9c1241f7ad8ffa0463874a (diff) | |
download | hardware_libhardware-1daacdc8d2d110d3edd077fcd2befa9884924e10.zip hardware_libhardware-1daacdc8d2d110d3edd077fcd2befa9884924e10.tar.gz hardware_libhardware-1daacdc8d2d110d3edd077fcd2befa9884924e10.tar.bz2 |
Merge "remove h/w specific YUV formats from the HAL" into gingerbread
-rw-r--r-- | include/hardware/copybit.h | 6 | ||||
-rw-r--r-- | include/hardware/hardware.h | 65 | ||||
-rw-r--r-- | include/hardware/overlay.h | 6 |
3 files changed, 44 insertions, 33 deletions
diff --git a/include/hardware/copybit.h b/include/hardware/copybit.h index 82d22da..b6302c3 100644 --- a/include/hardware/copybit.h +++ b/include/hardware/copybit.h @@ -46,10 +46,8 @@ enum { COPYBIT_FORMAT_BGRA_8888 = HAL_PIXEL_FORMAT_BGRA_8888, COPYBIT_FORMAT_RGBA_5551 = HAL_PIXEL_FORMAT_RGBA_5551, COPYBIT_FORMAT_RGBA_4444 = HAL_PIXEL_FORMAT_RGBA_4444, - COPYBIT_FORMAT_YCbCr_422_SP = HAL_PIXEL_FORMAT_YCbCr_422_SP, - COPYBIT_FORMAT_YCbCr_420_SP = HAL_PIXEL_FORMAT_YCbCr_420_SP, - COPYBIT_FORMAT_YCrCb_422_SP = HAL_PIXEL_FORMAT_YCrCb_422_SP, - COPYBIT_FORMAT_YCrCb_420_SP = HAL_PIXEL_FORMAT_YCrCb_420_SP, + COPYBIT_FORMAT_YCbCr_422_SP = 0x10, + COPYBIT_FORMAT_YCrCb_420_SP = 0x11, }; /* name for copybit_set_parameter */ diff --git a/include/hardware/hardware.h b/include/hardware/hardware.h index fcd87f8..9382fe4 100644 --- a/include/hardware/hardware.h +++ b/include/hardware/hardware.h @@ -130,34 +130,49 @@ enum { HAL_PIXEL_FORMAT_BGRA_8888 = 5, HAL_PIXEL_FORMAT_RGBA_5551 = 6, HAL_PIXEL_FORMAT_RGBA_4444 = 7, - /* 0x8 - 0xF range unavailable */ - HAL_PIXEL_FORMAT_YCbCr_422_SP = 0x10, // NV16 - HAL_PIXEL_FORMAT_YCrCb_420_SP = 0x11, // NV21 - HAL_PIXEL_FORMAT_YCbCr_422_P = 0x12, // IYUV - HAL_PIXEL_FORMAT_YCbCr_420_P = 0x13, // YUV9 - HAL_PIXEL_FORMAT_YCbCr_422_I = 0x14, // YUY2 - /* 0x15 reserved */ - HAL_PIXEL_FORMAT_CbYCrY_422_I = 0x16, // UYVY - /* 0x17 reserved */ - /* 0x18 - 0x1F range unavailable */ - HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED = 0x20, // NV12_adreno_tiled - HAL_PIXEL_FORMAT_YCbCr_420_SP = 0x21, // NV12 - HAL_PIXEL_FORMAT_YCrCb_422_SP = 0x22, // NV61 -}; -/* fourcc mapping for the YUV formats. see http://www.fourcc.org */ -enum { - HAL_PIXEL_FORMAT_NV16 = HAL_PIXEL_FORMAT_YCbCr_422_SP, - HAL_PIXEL_FORMAT_NV21 = HAL_PIXEL_FORMAT_YCrCb_420_SP, - HAL_PIXEL_FORMAT_IYUV = HAL_PIXEL_FORMAT_YCbCr_422_P, - HAL_PIXEL_FORMAT_YUV9 = HAL_PIXEL_FORMAT_YCbCr_420_P, - HAL_PIXEL_FORMAT_YUY2 = HAL_PIXEL_FORMAT_YCbCr_422_I, - HAL_PIXEL_FORMAT_UYVY = HAL_PIXEL_FORMAT_CbYCrY_422_I, - HAL_PIXEL_FORMAT_NV12_ADRENO_TILED = HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED, - HAL_PIXEL_FORMAT_NV12 = HAL_PIXEL_FORMAT_YCbCr_420_SP, - HAL_PIXEL_FORMAT_NV61 = HAL_PIXEL_FORMAT_YCrCb_422_SP + /* 0x8 - 0xFF range unavailable */ + + /* + * 0x100 - 0x1FF + * + * This range is reserved for HAL implementations. OEMs can use + * any value in this range to communicate formats between their HAL + * modules + * + */ + + /* + * Android YUV formats: + * + * These two formats are exposed outside of the HAL to software + * decoders and applications. + * EGLImageKHR must support them in conjunction with the + * OES_EGL_image_external extension. + * + * YV12 is a planar format comprised of a WxH Y plane followed + * by (W/2) x (H/2) Cr and Cb planes. + * + * YV16 is a planar format comprised of WxH Y, Cr and Cb planes. + * + * For both these formats, the Y plane appears first, followed by the Cr + * plane and then the Cb plane. + * + * Both formats *require* a 16 pixel alignment horizontally and vertically. + * + */ + HAL_PIXEL_FORMAT_YV12 = 0x32315659, // YCrCb 4:2:0 Planar + HAL_PIXEL_FORMAT_YV16 = 0x36315659, // YCrCb 4:2:2 Planar + + + /* Legacy formats (deprecated), used by ImageFormat.java */ + HAL_PIXEL_FORMAT_YCbCr_422_SP = 0x10, // NV16 + HAL_PIXEL_FORMAT_YCrCb_420_SP = 0x11, // NV21 + HAL_PIXEL_FORMAT_YCbCr_422_I = 0x14, // YUY2 + HAL_PIXEL_FORMAT_YCbCr_420_SP_TILED = 0x20, // NV12_adreno_tiled }; + /** * Transformation definitions */ diff --git a/include/hardware/overlay.h b/include/hardware/overlay.h index fdf3c1c..42fb014 100644 --- a/include/hardware/overlay.h +++ b/include/hardware/overlay.h @@ -45,10 +45,8 @@ enum { OVERLAY_FORMAT_RGBA_8888 = HAL_PIXEL_FORMAT_RGBA_8888, OVERLAY_FORMAT_RGB_565 = HAL_PIXEL_FORMAT_RGB_565, OVERLAY_FORMAT_BGRA_8888 = HAL_PIXEL_FORMAT_BGRA_8888, - OVERLAY_FORMAT_YCbCr_422_SP = HAL_PIXEL_FORMAT_YCbCr_422_SP, - OVERLAY_FORMAT_YCbCr_420_SP = HAL_PIXEL_FORMAT_YCbCr_420_SP, - OVERLAY_FORMAT_YCbYCr_422_I = HAL_PIXEL_FORMAT_YCbCr_422_I, - OVERLAY_FORMAT_CbYCrY_422_I = HAL_PIXEL_FORMAT_CbYCrY_422_I, + OVERLAY_FORMAT_YCbYCr_422_I = 0x14, + OVERLAY_FORMAT_CbYCrY_422_I = 0x16, OVERLAY_FORMAT_DEFAULT = 99 // The actual color format is determined // by the overlay }; |