diff options
-rw-r--r-- | api/current.xml | 11 | ||||
-rw-r--r-- | graphics/java/android/graphics/ImageFormat.java | 121 | ||||
-rw-r--r-- | libs/surfaceflinger/TextureManager.cpp | 2 | ||||
-rw-r--r-- | libs/ui/PixelFormat.cpp | 1 |
4 files changed, 83 insertions, 52 deletions
diff --git a/api/current.xml b/api/current.xml index 9e62637..f448b85 100644 --- a/api/current.xml +++ b/api/current.xml @@ -64843,6 +64843,17 @@ visibility="public" > </field> +<field name="YV12" + type="int" + transient="false" + volatile="false" + value="842094169" + static="true" + final="true" + deprecated="not deprecated" + visibility="public" +> +</field> </class> <class name="Interpolator" extends="java.lang.Object" diff --git a/graphics/java/android/graphics/ImageFormat.java b/graphics/java/android/graphics/ImageFormat.java index f126374..3f9f961 100644 --- a/graphics/java/android/graphics/ImageFormat.java +++ b/graphics/java/android/graphics/ImageFormat.java @@ -16,61 +16,84 @@ package android.graphics; -public class ImageFormat -{ - /* these constants are chosen to be binary compatible with - * their previous location in PixelFormat.java */ - - public static final int UNKNOWN = 0; +public class ImageFormat { + /* + * these constants are chosen to be binary compatible with their previous + * location in PixelFormat.java + */ - /** RGB format used for pictures encoded as RGB_565 - * see {@link android.hardware.Camera.Parameters#setPictureFormat(int)}. - */ - public static final int RGB_565 = 4; + public static final int UNKNOWN = 0; - /** - * YCbCr formats, used for video. These are not necessarily supported - * by the hardware. - */ - public static final int NV16 = 0x10; + /** + * RGB format used for pictures encoded as RGB_565 see + * {@link android.hardware.Camera.Parameters#setPictureFormat(int)}. + */ + public static final int RGB_565 = 4; - - /** YCrCb format used for images, which uses the NV21 encoding format. - * This is the default format for camera preview images, when not - * otherwise set with - * {@link android.hardware.Camera.Parameters#setPreviewFormat(int)}. - */ - public static final int NV21 = 0x11; + /** + * Planar 4:2:0 YCrCb format. This format assumes an horizontal stride of 16 + * pixels for all planes and an implicit vertical stride of the image + * height's next multiple of two. + * y_size = stride * ALIGN(height, 2) + * c_size = ALIGN(stride/2, 16) * height + * size = y_size + c_size * 2 + * cr_offset = y_size + * cb_offset = y_size + c_size + * + * Whether this format is supported by the camera hardware can be determined + * by + * {@link android.hardware.Camera.Parameters#getSupportedPreviewFormats()}. + */ + public static final int YV12 = 0x32315659; + /** + * YCbCr format, used for video. Whether this format is supported by the + * camera hardware can be determined by + * {@link android.hardware.Camera.Parameters#getSupportedPreviewFormats()}. + */ + public static final int NV16 = 0x10; - /** YCbCr format used for images, which uses YUYV (YUY2) encoding format. - * This is an alternative format for camera preview images. Whether this - * format is supported by the camera hardware can be determined by - * {@link android.hardware.Camera.Parameters#getSupportedPreviewFormats()}. - */ - public static final int YUY2 = 0x14; + /** + * YCrCb format used for images, which uses the NV21 encoding format. This + * is the default format for camera preview images, when not otherwise set + * with {@link android.hardware.Camera.Parameters#setPreviewFormat(int)}. + */ + public static final int NV21 = 0x11; - - /** - * Encoded formats. These are not necessarily supported by the hardware. - */ - public static final int JPEG = 0x100; + /** + * YCbCr format used for images, which uses YUYV (YUY2) encoding format. + * This is an alternative format for camera preview images. Whether this + * format is supported by the camera hardware can be determined by + * {@link android.hardware.Camera.Parameters#getSupportedPreviewFormats()}. + */ + public static final int YUY2 = 0x14; + /** + * Encoded formats. These are not necessarily supported by the hardware. + */ + public static final int JPEG = 0x100; - /** - * Use this function to retrieve the number of bits per pixel of - * an ImageFormat. - * @param format - * @return the number of bits per pixel of the given format or -1 if the - * format doesn't exist or is not supported. - */ - public static int getBitsPerPixel(int format) { - switch (format) { - case RGB_565: return 16; - case NV16: return 16; - case NV21: return 12; - case YUY2: return 16; - } - return -1; - } + /** + * Use this function to retrieve the number of bits per pixel of an + * ImageFormat. + * + * @param format + * @return the number of bits per pixel of the given format or -1 if the + * format doesn't exist or is not supported. + */ + public static int getBitsPerPixel(int format) { + switch (format) { + case RGB_565: + return 16; + case NV16: + return 16; + case YUY2: + return 16; + case YV12: + return 12; + case NV21: + return 12; + } + return -1; + } } diff --git a/libs/surfaceflinger/TextureManager.cpp b/libs/surfaceflinger/TextureManager.cpp index 6526032..3b326df 100644 --- a/libs/surfaceflinger/TextureManager.cpp +++ b/libs/surfaceflinger/TextureManager.cpp @@ -107,7 +107,6 @@ bool TextureManager::isSupportedYuvFormat(int format) { switch (format) { case HAL_PIXEL_FORMAT_YV12: - case HAL_PIXEL_FORMAT_YV16: return true; } return false; @@ -118,7 +117,6 @@ bool TextureManager::isYuvFormat(int format) switch (format) { // supported YUV formats case HAL_PIXEL_FORMAT_YV12: - case HAL_PIXEL_FORMAT_YV16: // Legacy/deprecated YUV formats case HAL_PIXEL_FORMAT_YCbCr_422_SP: case HAL_PIXEL_FORMAT_YCrCb_420_SP: diff --git a/libs/ui/PixelFormat.cpp b/libs/ui/PixelFormat.cpp index b205418..edf1aed 100644 --- a/libs/ui/PixelFormat.cpp +++ b/libs/ui/PixelFormat.cpp @@ -60,7 +60,6 @@ status_t getPixelFormatInfo(PixelFormat format, PixelFormatInfo* info) switch (format) { case HAL_PIXEL_FORMAT_YCbCr_422_SP: case HAL_PIXEL_FORMAT_YCbCr_422_I: - case HAL_PIXEL_FORMAT_YV16: info->bitsPerPixel = 16; goto done; case HAL_PIXEL_FORMAT_YCrCb_420_SP: |