diff options
author | Mathias Agopian <mathias@google.com> | 2010-07-07 14:53:13 -0700 |
---|---|---|
committer | Mathias Agopian <mathias@google.com> | 2010-07-14 15:12:05 -0700 |
commit | 058d0390a44f68b67788021bae9ca1775812997b (patch) | |
tree | 23b97aa83da730d4057a68647f8fd09a37fe636f /graphics | |
parent | 36ff93aa1f489e6af6c2acce38beb0bffd6b8f8a (diff) | |
download | frameworks_base-058d0390a44f68b67788021bae9ca1775812997b.zip frameworks_base-058d0390a44f68b67788021bae9ca1775812997b.tar.gz frameworks_base-058d0390a44f68b67788021bae9ca1775812997b.tar.bz2 |
Remove the YV16 format for simplicity's sake.
Change-Id: Iee03d100933ba0c67b13d51e0435be3b4cd953cf
Diffstat (limited to 'graphics')
-rw-r--r-- | graphics/java/android/graphics/ImageFormat.java | 121 |
1 files changed, 72 insertions, 49 deletions
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; + } } |