/**@class android.media.MediaCodecInfo.CodecCapabilities
@extends java.lang.Object

 Encapsulates the capabilities of a given codec component.
 For example, what profile/level combinations it supports and what colorspaces
 it is capable of providing the decoded data in, as well as some
 codec-type specific capability flags.
 <p>You can get an instance for a given {@link android.media.MediaCodecInfo} object with
 {@link android.media.MediaCodecInfo#getCapabilitiesForType getCapabilitiesForType()}, passing a MIME type.
*/
var CodecCapabilities = {

/***/
profileLevels : "null",
/**@deprecated Use {@link #COLOR_Format24bitBGR888}. */
COLOR_FormatMonochrome : "1",
/**@deprecated Use {@link #COLOR_Format24bitBGR888}. */
COLOR_Format8bitRGB332 : "2",
/**@deprecated Use {@link #COLOR_Format24bitBGR888}. */
COLOR_Format12bitRGB444 : "3",
/**@deprecated Use {@link #COLOR_Format32bitABGR8888}. */
COLOR_Format16bitARGB4444 : "4",
/**@deprecated Use {@link #COLOR_Format32bitABGR8888}. */
COLOR_Format16bitARGB1555 : "5",
/** 16 bits per pixel RGB color format, with 5-bit red & blue and 6-bit green component.
 <p>
 Using 16-bit little-endian representation, colors stored as Red 15:11, Green 10:5, Blue 4:0.
 <pre>
            byte                   byte
  <--------- i --------> | <------ i + 1 ------>
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
 |     BLUE     |      GREEN      |     RED      |
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  0           4  5     7   0     2  3           7
 bit
 </pre>

 This format corresponds to {@link android.graphics.PixelFormat#RGB_565} and
 {@link android.graphics.ImageFormat#RGB_565}.
*/
COLOR_Format16bitRGB565 : "6",
/**@deprecated Use {@link #COLOR_Format16bitRGB565}. */
COLOR_Format16bitBGR565 : "7",
/**@deprecated Use {@link #COLOR_Format24bitBGR888}. */
COLOR_Format18bitRGB666 : "8",
/**@deprecated Use {@link #COLOR_Format32bitABGR8888}. */
COLOR_Format18bitARGB1665 : "9",
/**@deprecated Use {@link #COLOR_Format32bitABGR8888}. */
COLOR_Format19bitARGB1666 : "10",
/**@deprecated Use {@link #COLOR_Format24bitBGR888} or {@link #COLOR_FormatRGBFlexible}. */
COLOR_Format24bitRGB888 : "11",
/** 24 bits per pixel RGB color format, with 8-bit red, green & blue components.
 <p>
 Using 24-bit little-endian representation, colors stored as Red 7:0, Green 15:8, Blue 23:16.
 <pre>
         byte              byte             byte
  <------ i -----> | <---- i+1 ----> | <---- i+2 ----->
 +-----------------+-----------------+-----------------+
 |       RED       |      GREEN      |       BLUE      |
 +-----------------+-----------------+-----------------+
 </pre>

 This format corresponds to {@link android.graphics.PixelFormat#RGB_888}, and can also be
 represented as a flexible format by {@link #COLOR_FormatRGBFlexible}.
*/
COLOR_Format24bitBGR888 : "12",
/**@deprecated Use {@link #COLOR_Format32bitABGR8888}. */
COLOR_Format24bitARGB1887 : "13",
/**@deprecated Use {@link #COLOR_Format32bitABGR8888}. */
COLOR_Format25bitARGB1888 : "14",
/** @deprecated Use {@link #COLOR_Format32bitABGR8888} Or {@link #COLOR_FormatRGBAFlexible}.
*/
COLOR_Format32bitBGRA8888 : "15",
/** @deprecated Use {@link #COLOR_Format32bitABGR8888} Or {@link #COLOR_FormatRGBAFlexible}.
*/
COLOR_Format32bitARGB8888 : "16",
/**@deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
COLOR_FormatYUV411Planar : "17",
/**@deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
COLOR_FormatYUV411PackedPlanar : "18",
/**@deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
COLOR_FormatYUV420Planar : "19",
/**@deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
COLOR_FormatYUV420PackedPlanar : "20",
/**@deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
COLOR_FormatYUV420SemiPlanar : "21",
/**@deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
COLOR_FormatYUV422Planar : "22",
/**@deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
COLOR_FormatYUV422PackedPlanar : "23",
/**@deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
COLOR_FormatYUV422SemiPlanar : "24",
/**@deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
COLOR_FormatYCbYCr : "25",
/**@deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
COLOR_FormatYCrYCb : "26",
/**@deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
COLOR_FormatCbYCrY : "27",
/**@deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
COLOR_FormatCrYCbY : "28",
/**@deprecated Use {@link #COLOR_FormatYUV444Flexible}. */
COLOR_FormatYUV444Interleaved : "29",
/** SMIA 8-bit Bayer format.
 Each byte represents the top 8-bits of a 10-bit signal.
*/
COLOR_FormatRawBayer8bit : "30",
/** SMIA 10-bit Bayer format.
*/
COLOR_FormatRawBayer10bit : "31",
/** SMIA 8-bit compressed Bayer format.
 Each byte represents a sample from the 10-bit signal that is compressed into 8-bits
 using DPCM/PCM compression, as defined by the SMIA Functional Specification.
*/
COLOR_FormatRawBayer8bitcompressed : "32",
/**@deprecated Use {@link #COLOR_FormatL8}. */
COLOR_FormatL2 : "33",
/**@deprecated Use {@link #COLOR_FormatL8}. */
COLOR_FormatL4 : "34",
/** 8 bits per pixel Y color format.
 <p>
 Each byte contains a single pixel.
 This format corresponds to {@link android.graphics.PixelFormat#L_8}.
*/
COLOR_FormatL8 : "35",
/** 16 bits per pixel, little-endian Y color format.
 <p>
 <pre>
            byte                   byte
  <--------- i --------> | <------ i + 1 ------>
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
 |                       Y                       |
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  0                    7   0                    7
 bit
 </pre>
*/
COLOR_FormatL16 : "36",
/**@deprecated Use {@link #COLOR_FormatL16}. */
COLOR_FormatL24 : "37",
/** 32 bits per pixel, little-endian Y color format.
 <p>
 <pre>
         byte              byte             byte              byte
  <------ i -----> | <---- i+1 ----> | <---- i+2 ----> | <---- i+3 ----->
 +-----------------+-----------------+-----------------+-----------------+
 |                                   Y                                   |
 +-----------------+-----------------+-----------------+-----------------+
  0               7 0               7 0               7 0               7
 bit
 </pre>

 @deprecated Use {@link #COLOR_FormatL16}.
*/
COLOR_FormatL32 : "38",
/**@deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
COLOR_FormatYUV420PackedSemiPlanar : "39",
/**@deprecated Use {@link #COLOR_FormatYUV422Flexible}. */
COLOR_FormatYUV422PackedSemiPlanar : "40",
/**@deprecated Use {@link #COLOR_Format24bitBGR888}. */
COLOR_Format18BitBGR666 : "41",
/**@deprecated Use {@link #COLOR_Format32bitABGR8888}. */
COLOR_Format24BitARGB6666 : "42",
/**@deprecated Use {@link #COLOR_Format32bitABGR8888}. */
COLOR_Format24BitABGR6666 : "43",
/**@deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
COLOR_TI_FormatYUV420PackedSemiPlanar : "2130706688",
/***/
COLOR_FormatSurface : "2130708361",
/** 32 bits per pixel RGBA color format, with 8-bit red, green, blue, and alpha components.
 <p>
 Using 32-bit little-endian representation, colors stored as Red 7:0, Green 15:8,
 Blue 23:16, and Alpha 31:24.
 <pre>
         byte              byte             byte              byte
  <------ i -----> | <---- i+1 ----> | <---- i+2 ----> | <---- i+3 ----->
 +-----------------+-----------------+-----------------+-----------------+
 |       RED       |      GREEN      |       BLUE      |      ALPHA      |
 +-----------------+-----------------+-----------------+-----------------+
 </pre>

 This corresponds to {@link android.graphics.PixelFormat#RGBA_8888}.
*/
COLOR_Format32bitABGR8888 : "2130747392",
/** Flexible 12 bits per pixel, subsampled YUV color format with 8-bit chroma and luma
 components.
 <p>
 Chroma planes are subsampled by 2 both horizontally and vertically.
 Use this format with {@link android.media.Image}.
 This format corresponds to {@link android.graphics.ImageFormat#YUV_420_888},
 and can represent the {@link #COLOR_FormatYUV411Planar},
 {@link #COLOR_FormatYUV411PackedPlanar}, {@link #COLOR_FormatYUV420Planar},
 {@link #COLOR_FormatYUV420PackedPlanar}, {@link #COLOR_FormatYUV420SemiPlanar}
 and {@link #COLOR_FormatYUV420PackedSemiPlanar} formats.

 @see Image#getFormat
*/
COLOR_FormatYUV420Flexible : "2135033992",
/** Flexible 16 bits per pixel, subsampled YUV color format with 8-bit chroma and luma
 components.
 <p>
 Chroma planes are horizontally subsampled by 2. Use this format with {@link android.media.Image}.
 This format corresponds to {@link android.graphics.ImageFormat#YUV_422_888},
 and can represent the {@link #COLOR_FormatYCbYCr}, {@link #COLOR_FormatYCrYCb},
 {@link #COLOR_FormatCbYCrY}, {@link #COLOR_FormatCrYCbY},
 {@link #COLOR_FormatYUV422Planar}, {@link #COLOR_FormatYUV422PackedPlanar},
 {@link #COLOR_FormatYUV422SemiPlanar} and {@link #COLOR_FormatYUV422PackedSemiPlanar}
 formats.

 @see Image#getFormat
*/
COLOR_FormatYUV422Flexible : "2135042184",
/** Flexible 24 bits per pixel YUV color format with 8-bit chroma and luma
 components.
 <p>
 Chroma planes are not subsampled. Use this format with {@link android.media.Image}.
 This format corresponds to {@link android.graphics.ImageFormat#YUV_444_888},
 and can represent the {@link #COLOR_FormatYUV444Interleaved} format.
 @see Image#getFormat
*/
COLOR_FormatYUV444Flexible : "2135181448",
/** Flexible 24 bits per pixel RGB color format with 8-bit red, green and blue
 components.
 <p>
 Use this format with {@link android.media.Image}. This format corresponds to
 {@link android.graphics.ImageFormat#FLEX_RGB_888}, and can represent
 {@link #COLOR_Format24bitBGR888} and {@link #COLOR_Format24bitRGB888} formats.
 @see Image#getFormat()
*/
COLOR_FormatRGBFlexible : "2134292616",
/** Flexible 32 bits per pixel RGBA color format with 8-bit red, green, blue, and alpha
 components.
 <p>
 Use this format with {@link android.media.Image}. This format corresponds to
 {@link android.graphics.ImageFormat#FLEX_RGBA_8888}, and can represent
 {@link #COLOR_Format32bitBGRA8888}, {@link #COLOR_Format32bitABGR8888} and
 {@link #COLOR_Format32bitARGB8888} formats.

 @see Image#getFormat()
*/
COLOR_FormatRGBAFlexible : "2134288520",
/**@deprecated Use {@link #COLOR_FormatYUV420Flexible}. */
COLOR_QCOM_FormatYUV420SemiPlanar : "2141391872",
/** The color format for the media. This is one of the color constants defined in this class.
*/
colorFormats : "null",
/** <b>video decoder only</b>: codec supports seamless resolution changes.
*/
FEATURE_AdaptivePlayback : "adaptive-playback",
/** <b>video decoder only</b>: codec supports secure decryption.
*/
FEATURE_SecurePlayback : "secure-playback",
/** <b>video or audio decoder only</b>: codec supports tunneled playback.
*/
FEATURE_TunneledPlayback : "tunneled-playback",
/** If true, the timestamp of each output buffer is derived from the timestamp of the input
 buffer that produced the output. If false, the timestamp of each output buffer is
 derived from the timestamp of the first input buffer.
*/
FEATURE_DynamicTimestamp : "dynamic-timestamp",
/** <b>decoder only</b>If true, the codec supports partial (including multiple) access units
 per input buffer.
*/
FEATURE_FrameParsing : "frame-parsing",
/** If true, the codec supports multiple access units (for decoding, or to output for
 encoders). If false, the codec only supports single access units. Producing multiple
 access units for output is an optional feature.
*/
FEATURE_MultipleFrames : "multiple-frames",
/** <b>video decoder only</b>: codec supports queuing partial frames.
*/
FEATURE_PartialFrame : "partial-frame",
/** <b>video encoder only</b>: codec supports intra refresh.
*/
FEATURE_IntraRefresh : "intra-refresh",
/**Query codec feature capabilities.
 <p>
 These features are supported to be used by the codec.  These
 include optional features that can be turned on, as well as
 features that are always on.
*/
isFeatureSupported : function(  ) {},

/**Query codec feature requirements.
 <p>
 These features are required to be used by the codec, and as such,
 they are always turned on.
*/
isFeatureRequired : function(  ) {},

/**
@hide 
*/
validFeatures : function(  ) {},

/**
@hide 
*/
isRegular : function(  ) {},

/**Query whether codec supports a given {@link android.media.MediaFormat}.

 <p class=note>
 <strong>Note:</strong> On {@link android.os.Build.VERSION_CODES#LOLLIPOP},
 {@code format} must not contain a {@linkplain android.media.MediaFormat#KEY_FRAME_RATE
 frame rate}. Use
 <code class=prettyprint>format.setString(MediaFormat.KEY_FRAME_RATE, null)</code>
 to clear any existing frame rate setting in the format.
 <p>

 The following table summarizes the format keys considered by this method.

 <table style="width: 0%">
  <thead>
   <tr>
    <th rowspan=3>OS Version(s)</th>
    <td colspan=3>{@code MediaFormat} keys considered for</th>
   </tr><tr>
    <th>Audio Codecs</th>
    <th>Video Codecs</th>
    <th>Encoders</th>
   </tr>
  </thead>
  <tbody>
   <tr>
    <td>{@link android.os.Build.VERSION_CODES#LOLLIPOP}</th>
    <td rowspan=3>{@link android.media.MediaFormat#KEY_MIME}<sup>*</sup>,<br>
        {@link android.media.MediaFormat#KEY_SAMPLE_RATE},<br>
        {@link android.media.MediaFormat#KEY_CHANNEL_COUNT},</td>
    <td>{@link android.media.MediaFormat#KEY_MIME}<sup>*</sup>,<br>
        {@link android.media.MediaCodecInfo.CodecCapabilities#FEATURE_AdaptivePlayback}<sup>D</sup>,<br>
        {@link android.media.MediaCodecInfo.CodecCapabilities#FEATURE_SecurePlayback}<sup>D</sup>,<br>
        {@link android.media.MediaCodecInfo.CodecCapabilities#FEATURE_TunneledPlayback}<sup>D</sup>,<br>
        {@link android.media.MediaFormat#KEY_WIDTH},<br>
        {@link android.media.MediaFormat#KEY_HEIGHT},<br>
        <strong>no</strong> {@code KEY_FRAME_RATE}</td>
    <td rowspan=4>{@link android.media.MediaFormat#KEY_BITRATE_MODE},<br>
        {@link android.media.MediaFormat#KEY_PROFILE}
        (and/or {@link android.media.MediaFormat#KEY_AAC_PROFILE}<sup>~</sup>),<br>
        <!-- {link MediaFormat#KEY_QUALITY},<br> -->
        {@link android.media.MediaFormat#KEY_COMPLEXITY}
        (and/or {@link android.media.MediaFormat#KEY_FLAC_COMPRESSION_LEVEL}<sup>~</sup>)</td>
   </tr><tr>
    <td>{@link android.os.Build.VERSION_CODES#LOLLIPOP_MR1}</th>
    <td rowspan=2>as above, plus<br>
        {@link android.media.MediaFormat#KEY_FRAME_RATE}</td>
   </tr><tr>
    <td>{@link android.os.Build.VERSION_CODES#M}</th>
   </tr><tr>
    <td>{@link android.os.Build.VERSION_CODES#N}</th>
    <td>as above, plus<br>
        {@link android.media.MediaFormat#KEY_PROFILE},<br>
        <!-- {link MediaFormat#KEY_MAX_BIT_RATE},<br> -->
        {@link android.media.MediaFormat#KEY_BIT_RATE}</td>
    <td>as above, plus<br>
        {@link android.media.MediaFormat#KEY_PROFILE},<br>
        {@link android.media.MediaFormat#KEY_LEVEL}<sup>+</sup>,<br>
        <!-- {link MediaFormat#KEY_MAX_BIT_RATE},<br> -->
        {@link android.media.MediaFormat#KEY_BIT_RATE},<br>
        {@link android.media.MediaCodecInfo.CodecCapabilities#FEATURE_IntraRefresh}<sup>E</sup></td>
   </tr>
   <tr>
    <td colspan=4>
     <p class=note><strong>Notes:</strong><br>
      *: must be specified; otherwise, method returns {@code false}.<br>
      +: method does not verify that the format parameters are supported
      by the specified level.<br>
      D: decoders only<br>
      E: encoders only<br>
      ~: if both keys are provided values must match
    </td>
   </tr>
  </tbody>
 </table>
@param {Object {MediaFormat}} format media format with optional feature directives.
@throws IllegalArgumentException if format is not a valid media format.
@return {Boolean} whether the codec capabilities support the given format
         and feature requests.
*/
isFormatSupported : function(  ) {},

/**Returns a MediaFormat object with default values for configurations that have
 defaults.
*/
getDefaultFormat : function(  ) {},

/**Returns the mime type for which this codec-capability object was created.
*/
getMimeType : function(  ) {},

/**Returns the max number of the supported concurrent codec instances.
 <p>
 This is a hint for an upper bound. Applications should not expect to successfully
 operate more instances than the returned value, but the actual number of
 concurrently operable instances may be less as it depends on the available
 resources at time of use.
*/
getMaxSupportedInstances : function(  ) {},

/**Returns the audio capabilities or {@code null} if this is not an audio codec.
*/
getAudioCapabilities : function(  ) {},

/**Returns the encoding capabilities or {@code null} if this is not an encoder.
*/
getEncoderCapabilities : function(  ) {},

/**Returns the video capabilities or {@code null} if this is not a video codec.
*/
getVideoCapabilities : function(  ) {},

/**
@hide 
*/
dup : function(  ) {},

/**Retrieve the codec capabilities for a certain {@code mime type}, {@code
 profile} and {@code level}.  If the type, or profile-level combination
 is not understood by the framework, it returns null.
 <p class=note> In {@link android.os.Build.VERSION_CODES#M}, calling this
 method without calling any method of the {@link android.media.MediaCodecList} class beforehand
 results in a {@link NullPointerException}.</p>
*/
createFromProfileLevel : function(  ) {},


};