alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Android example source code file (ImageFormat.java)

This example Android source code file (ImageFormat.java) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Android by Example" TM.

Java - Android tags/keywords

imageformat, jpeg, nv16, nv21, rgb_565, unknown, yuy2

The ImageFormat.java Android example source code

/*
 * Copyright (C) 2010 The Android Open Source Project
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *      http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

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;

    /** RGB format used for pictures encoded as RGB_565   
     *  see {@link android.hardware.Camera.Parameters#setPictureFormat(int)}.
     */
    public static final int RGB_565 = 4;

    /**
     * YCbCr formats, used for video. These are not necessarily supported
     * by the hardware.
     */
    public static final int NV16 = 0x10;

    
    /** 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;


    /** 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;
    }
}

Other Android examples (source code examples)

Here is a short list of links related to this Android ImageFormat.java source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.