MediaCodecInfo.CodecCapabilities
  public
  static
  final
  
  class
  MediaCodecInfo.CodecCapabilities
  
    extends Object
  
  
  
  
  
  
| java.lang.Object | |
| ↳ | android.media.MediaCodecInfo.CodecCapabilities | 
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.
You can get an instance for a given MediaCodecInfo object with
 getCapabilitiesForType(), passing a MIME type.
Summary
| Constants | |
|---|---|
| int | COLOR_Format12bitRGB444
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format16bitARGB1555
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format16bitARGB4444
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format16bitBGR565
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format16bitRGB56516 bits per pixel RGB color format, with 5-bit red & blue and 6-bit green component. | 
| int | COLOR_Format18BitBGR666
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format18bitARGB1665
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format18bitRGB666
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format19bitARGB1666
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format24BitABGR6666
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format24BitARGB6666
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format24bitARGB1887
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format24bitBGR88824 bits per pixel RGB color format, with 8-bit red, green & blue components. | 
| int | COLOR_Format24bitRGB888
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format25bitARGB1888
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format32bitABGR210101032 bits per pixel RGBA color format, with 10-bit red, green, blue, and 2-bit alpha components. | 
| int | COLOR_Format32bitABGR888832 bits per pixel RGBA color format, with 8-bit red, green, blue, and alpha components. | 
| int | COLOR_Format32bitARGB8888
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format32bitBGRA8888
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_Format64bitABGRFloat64 bits per pixel RGBA color format, with 16-bit signed floating point red, green, blue, and alpha components. | 
| int | COLOR_Format8bitRGB332
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatCbYCrY
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatCrYCbY
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatL1616 bits per pixel, little-endian Y color format. | 
| int | COLOR_FormatL2
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatL24
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatL32
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatL4
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatL88 bits per pixel Y color format. | 
| int | COLOR_FormatMonochrome
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatRGBAFlexibleFlexible 32 bits per pixel RGBA color format with 8-bit red, green, blue, and alpha components. | 
| int | COLOR_FormatRGBFlexibleFlexible 24 bits per pixel RGB color format with 8-bit red, green and blue components. | 
| int | COLOR_FormatRawBayer10bitSMIA 10-bit Bayer format. | 
| int | COLOR_FormatRawBayer8bitSMIA 8-bit Bayer format. | 
| int | COLOR_FormatRawBayer8bitcompressedSMIA 8-bit compressed Bayer format. | 
| int | COLOR_FormatSurface
 | 
| int | COLOR_FormatYCbYCr
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatYCrYCb
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatYUV411PackedPlanar
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatYUV411Planar
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatYUV420FlexibleFlexible 12 bits per pixel, subsampled YUV color format with 8-bit chroma and luma components. | 
| int | COLOR_FormatYUV420PackedPlanar
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatYUV420PackedSemiPlanar
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatYUV420Planar
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatYUV420SemiPlanar
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatYUV422FlexibleFlexible 16 bits per pixel, subsampled YUV color format with 8-bit chroma and luma components. | 
| int | COLOR_FormatYUV422PackedPlanar
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatYUV422PackedSemiPlanar
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatYUV422Planar
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatYUV422SemiPlanar
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatYUV444FlexibleFlexible 24 bits per pixel YUV color format with 8-bit chroma and luma components. | 
| int | COLOR_FormatYUV444Interleaved
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_FormatYUVP010P010 is 10-bit-per component 4:2:0 YCbCr semiplanar format. | 
| int | COLOR_FormatYUVP210P210 is 10-bit-per component 4:2:2 YCbCr semiplanar format. | 
| int | COLOR_QCOM_FormatYUV420SemiPlanar
      This constant was deprecated
      in API level 23.
    Use  | 
| int | COLOR_TI_FormatYUV420PackedSemiPlanar
      This constant was deprecated
      in API level 23.
    Use  | 
| String | FEATURE_AdaptivePlaybackvideo decoder only: codec supports seamless resolution changes. | 
| String | FEATURE_DetachedSurfacevideo decoder only: codec supports detaching the output surface when in Surface mode. | 
| String | FEATURE_DynamicColorAspectsvideo decoder only: codec supports dynamically changing color aspects. | 
| String | FEATURE_DynamicTimestampIf true, the timestamp of each output buffer is derived from the timestamp of the input buffer that produced the output. | 
| String | FEATURE_EncodingStatisticsvideo encoder only: codec supports exporting encoding statistics. | 
| String | FEATURE_FrameParsingdecoder onlyIf true, the codec supports partial (including multiple) access units per input buffer. | 
| String | FEATURE_HdrEditingvideo encoder only: codec supports HDR editing. | 
| String | FEATURE_HlgEditingvideo encoder only: codec supports HLG editing. | 
| String | FEATURE_IntraRefreshvideo encoder only: codec supports intra refresh. | 
| String | FEATURE_LowLatencydecoder only: codec supports low latency decoding. | 
| String | FEATURE_MultipleFramesIf true, the codec supports multiple access units (for decoding, or to output for encoders). | 
| String | FEATURE_PartialFramevideo decoder only: codec supports queuing partial frames. | 
| String | FEATURE_QpBoundsvideo encoder only: codec supports quantization parameter bounds. | 
| String | FEATURE_Roivideo encoder only: codec supports region of interest encoding. | 
| String | FEATURE_SecurePlaybackvideo decoder only: codec supports secure decryption. | 
| String | FEATURE_TunneledPlaybackvideo or audio decoder only: codec supports tunneled playback. | 
| Fields | |
|---|---|
| 
    public
    
    
    int[] | colorFormatsThe color format for the media. | 
| 
    public
    
    
    CodecProfileLevel[] | profileLevels
 | 
| Public constructors | |
|---|---|
| 
      CodecCapabilities()
       | |
| Public methods | |
|---|---|
| 
        
        
        static
        
        
        MediaCodecInfo.CodecCapabilities | 
      createFromProfileLevel(String mime, int profile, int level)
      Retrieve the codec capabilities for a certain  | 
| 
        
        
        
        
        
        MediaCodecInfo.AudioCapabilities | 
      getAudioCapabilities()
      Returns the audio capabilities or  | 
| 
        
        
        
        
        
        MediaFormat | 
      getDefaultFormat()
      Returns a MediaFormat object with default values for configurations that have defaults. | 
| 
        
        
        
        
        
        MediaCodecInfo.EncoderCapabilities | 
      getEncoderCapabilities()
      Returns the encoding capabilities or  | 
| 
        
        
        
        
        
        int | 
      getMaxSupportedInstances()
      Returns the max number of the supported concurrent codec instances. | 
| 
        
        
        
        
        
        String | 
      getMimeType()
      Returns the mime type for which this codec-capability object was created. | 
| 
        
        
        
        
        
        MediaCodecInfo.VideoCapabilities | 
      getVideoCapabilities()
      Returns the video capabilities or  | 
| 
        
        
        
        
        
        boolean | 
      isFeatureRequired(String name)
      Query codec feature requirements. | 
| 
        
        
        
        
        
        boolean | 
      isFeatureSupported(String name)
      Query codec feature capabilities. | 
| 
        
        
        
        
        
        boolean | 
      isFormatSupported(MediaFormat format)
      Query whether codec supports a given  | 
| Inherited methods | |
|---|---|
Constants
COLOR_Format12bitRGB444
public static final int COLOR_Format12bitRGB444
      This constant was deprecated
      in API level 23.
    Use COLOR_Format24bitBGR888.
  
Constant Value: 3 (0x00000003)
COLOR_Format16bitARGB1555
public static final int COLOR_Format16bitARGB1555
      This constant was deprecated
      in API level 23.
    Use COLOR_Format32bitABGR8888.
  
Constant Value: 5 (0x00000005)
COLOR_Format16bitARGB4444
public static final int COLOR_Format16bitARGB4444
      This constant was deprecated
      in API level 23.
    Use COLOR_Format32bitABGR8888.
  
Constant Value: 4 (0x00000004)
COLOR_Format16bitBGR565
public static final int COLOR_Format16bitBGR565
      This constant was deprecated
      in API level 23.
    Use COLOR_Format16bitRGB565.
  
Constant Value: 7 (0x00000007)
COLOR_Format16bitRGB565
public static final int COLOR_Format16bitRGB565
16 bits per pixel RGB color format, with 5-bit red & blue and 6-bit green component.
Using 16-bit little-endian representation, colors stored as Red 15:11, Green 10:5, Blue 4:0.
            byte                   byte
  <--------- i --------> | <------ i + 1 ------>
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
 |     BLUE     |      GREEN      |     RED      |
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  0           4  5     7   0     2  3           7
 bit
 PixelFormat.RGB_565 and
 ImageFormat.RGB_565.
    
      Constant Value: 6 (0x00000006)
COLOR_Format18BitBGR666
public static final int COLOR_Format18BitBGR666
      This constant was deprecated
      in API level 23.
    Use COLOR_Format24bitBGR888.
  
Constant Value: 41 (0x00000029)
COLOR_Format18bitARGB1665
public static final int COLOR_Format18bitARGB1665
      This constant was deprecated
      in API level 23.
    Use COLOR_Format32bitABGR8888.
  
Constant Value: 9 (0x00000009)
COLOR_Format18bitRGB666
public static final int COLOR_Format18bitRGB666
      This constant was deprecated
      in API level 23.
    Use COLOR_Format24bitBGR888.
  
Constant Value: 8 (0x00000008)
COLOR_Format19bitARGB1666
public static final int COLOR_Format19bitARGB1666
      This constant was deprecated
      in API level 23.
    Use COLOR_Format32bitABGR8888.
  
Constant Value: 10 (0x0000000a)
COLOR_Format24BitABGR6666
public static final int COLOR_Format24BitABGR6666
      This constant was deprecated
      in API level 23.
    Use COLOR_Format32bitABGR8888.
  
Constant Value: 43 (0x0000002b)
COLOR_Format24BitARGB6666
public static final int COLOR_Format24BitARGB6666
      This constant was deprecated
      in API level 23.
    Use COLOR_Format32bitABGR8888.
  
Constant Value: 42 (0x0000002a)
COLOR_Format24bitARGB1887
public static final int COLOR_Format24bitARGB1887
      This constant was deprecated
      in API level 23.
    Use COLOR_Format32bitABGR8888.
  
Constant Value: 13 (0x0000000d)
COLOR_Format24bitBGR888
public static final int COLOR_Format24bitBGR888
24 bits per pixel RGB color format, with 8-bit red, green & blue components.
Using 24-bit little-endian representation, colors stored as Red 7:0, Green 15:8, Blue 23:16.
         byte              byte             byte
  <------ i -----> | <---- i+1 ----> | <---- i+2 ----->
 +-----------------+-----------------+-----------------+
 |       RED       |      GREEN      |       BLUE      |
 +-----------------+-----------------+-----------------+
 PixelFormat.RGB_888, and can also be
 represented as a flexible format by COLOR_FormatRGBFlexible.
    
      Constant Value: 12 (0x0000000c)
COLOR_Format24bitRGB888
public static final int COLOR_Format24bitRGB888
      This constant was deprecated
      in API level 23.
    Use COLOR_Format24bitBGR888 or COLOR_FormatRGBFlexible.
  
Constant Value: 11 (0x0000000b)
COLOR_Format25bitARGB1888
public static final int COLOR_Format25bitARGB1888
      This constant was deprecated
      in API level 23.
    Use COLOR_Format32bitABGR8888.
  
Constant Value: 14 (0x0000000e)
COLOR_Format32bitABGR2101010
public static final int COLOR_Format32bitABGR2101010
32 bits per pixel RGBA color format, with 10-bit red, green, blue, and 2-bit alpha components.
Using 32-bit little-endian representation, colors stored as Red 9:0, Green 19:10, Blue 29:20, and Alpha 31:30.
         byte              byte             byte              byte
  <------ i -----> | <---- i+1 ----> | <---- i+2 ----> | <---- i+3 ----->
 +-----------------+---+-------------+-------+---------+-----------+-----+
 |       RED           |      GREEN          |       BLUE          |ALPHA|
 +-----------------+---+-------------+-------+---------+-----------+-----+
  0               7 0 1 2           7 0     3 4       7 0         5 6   7
 PixelFormat.RGBA_1010102.
    
      Constant Value: 2130750114 (0x7f00aaa2)
COLOR_Format32bitABGR8888
public static final int COLOR_Format32bitABGR8888
32 bits per pixel RGBA color format, with 8-bit red, green, blue, and alpha components.
Using 32-bit little-endian representation, colors stored as Red 7:0, Green 15:8, Blue 23:16, and Alpha 31:24.
         byte              byte             byte              byte
  <------ i -----> | <---- i+1 ----> | <---- i+2 ----> | <---- i+3 ----->
 +-----------------+-----------------+-----------------+-----------------+
 |       RED       |      GREEN      |       BLUE      |      ALPHA      |
 +-----------------+-----------------+-----------------+-----------------+
 PixelFormat.RGBA_8888.
    
      Constant Value: 2130747392 (0x7f00a000)
COLOR_Format32bitARGB8888
public static final int COLOR_Format32bitARGB8888
      This constant was deprecated
      in API level 23.
    Use COLOR_Format32bitABGR8888 Or COLOR_FormatRGBAFlexible.
  
Constant Value: 16 (0x00000010)
COLOR_Format32bitBGRA8888
public static final int COLOR_Format32bitBGRA8888
      This constant was deprecated
      in API level 23.
    Use COLOR_Format32bitABGR8888 Or COLOR_FormatRGBAFlexible.
  
Constant Value: 15 (0x0000000f)
COLOR_Format64bitABGRFloat
public static final int COLOR_Format64bitABGRFloat
64 bits per pixel RGBA color format, with 16-bit signed floating point red, green, blue, and alpha components.
         byte              byte             byte              byte
  <-- i -->|<- i+1 ->|<- i+2 ->|<- i+3 ->|<- i+4 ->|<- i+5 ->|<- i+6 ->|<- i+7 ->
 +---------+---------+-------------------+---------+---------+---------+---------+
 |        RED        |       GREEN       |       BLUE        |       ALPHA       |
 +---------+---------+-------------------+---------+---------+---------+---------+
  0       7 0       7 0       7 0       7 0       7 0       7 0       7 0       7
 PixelFormat.RGBA_F16.
    
      Constant Value: 2130710294 (0x7f000f16)
COLOR_Format8bitRGB332
public static final int COLOR_Format8bitRGB332
      This constant was deprecated
      in API level 23.
    Use COLOR_Format24bitBGR888.
  
Constant Value: 2 (0x00000002)
COLOR_FormatCbYCrY
public static final int COLOR_FormatCbYCrY
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV422Flexible.
  
Constant Value: 27 (0x0000001b)
COLOR_FormatCrYCbY
public static final int COLOR_FormatCrYCbY
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV422Flexible.
  
Constant Value: 28 (0x0000001c)
COLOR_FormatL16
public static final int COLOR_FormatL16
16 bits per pixel, little-endian Y color format.
            byte                   byte
  <--------- i --------> | <------ i + 1 ------>
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
 |                       Y                       |
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  0                    7   0                    7
 bit
 Constant Value: 36 (0x00000024)
COLOR_FormatL2
public static final int COLOR_FormatL2
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatL8.
  
Constant Value: 33 (0x00000021)
COLOR_FormatL24
public static final int COLOR_FormatL24
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatL16.
  
Constant Value: 37 (0x00000025)
COLOR_FormatL32
public static final int COLOR_FormatL32
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatL16.
  
32 bits per pixel, little-endian Y color format.
         byte              byte             byte              byte
  <------ i -----> | <---- i+1 ----> | <---- i+2 ----> | <---- i+3 ----->
 +-----------------+-----------------+-----------------+-----------------+
 |                                   Y                                   |
 +-----------------+-----------------+-----------------+-----------------+
  0               7 0               7 0               7 0               7
 bit
 Constant Value: 38 (0x00000026)
COLOR_FormatL4
public static final int COLOR_FormatL4
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatL8.
  
Constant Value: 34 (0x00000022)
COLOR_FormatL8
public static final int COLOR_FormatL8
8 bits per pixel Y color format.
 Each byte contains a single pixel.
 This format corresponds to PixelFormat.L_8.
Constant Value: 35 (0x00000023)
COLOR_FormatMonochrome
public static final int COLOR_FormatMonochrome
      This constant was deprecated
      in API level 23.
    Use COLOR_Format24bitBGR888.
  
Constant Value: 1 (0x00000001)
COLOR_FormatRGBAFlexible
public static final int COLOR_FormatRGBAFlexible
Flexible 32 bits per pixel RGBA color format with 8-bit red, green, blue, and alpha components.
 Use this format with Image. This format corresponds to
 ImageFormat.FLEX_RGBA_8888, and can represent
 COLOR_Format32bitBGRA8888, COLOR_Format32bitABGR8888 and
 COLOR_Format32bitARGB8888 formats.
See also:
Constant Value: 2134288520 (0x7f36a888)
COLOR_FormatRGBFlexible
public static final int COLOR_FormatRGBFlexible
Flexible 24 bits per pixel RGB color format with 8-bit red, green and blue components.
 Use this format with Image. This format corresponds to
 ImageFormat.FLEX_RGB_888, and can represent
 COLOR_Format24bitBGR888 and COLOR_Format24bitRGB888 formats.
See also:
Constant Value: 2134292616 (0x7f36b888)
COLOR_FormatRawBayer10bit
public static final int COLOR_FormatRawBayer10bit
SMIA 10-bit Bayer format.
Constant Value: 31 (0x0000001f)
COLOR_FormatRawBayer8bit
public static final int COLOR_FormatRawBayer8bit
SMIA 8-bit Bayer format. Each byte represents the top 8-bits of a 10-bit signal.
Constant Value: 30 (0x0000001e)
COLOR_FormatRawBayer8bitcompressed
public static final int COLOR_FormatRawBayer8bitcompressed
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.
Constant Value: 32 (0x00000020)
COLOR_FormatSurface
public static final int COLOR_FormatSurface
Constant Value: 2130708361 (0x7f000789)
COLOR_FormatYCbYCr
public static final int COLOR_FormatYCbYCr
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV422Flexible.
  
Constant Value: 25 (0x00000019)
COLOR_FormatYCrYCb
public static final int COLOR_FormatYCrYCb
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV422Flexible.
  
Constant Value: 26 (0x0000001a)
COLOR_FormatYUV411PackedPlanar
public static final int COLOR_FormatYUV411PackedPlanar
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV420Flexible.
  
Constant Value: 18 (0x00000012)
COLOR_FormatYUV411Planar
public static final int COLOR_FormatYUV411Planar
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV420Flexible.
  
Constant Value: 17 (0x00000011)
COLOR_FormatYUV420Flexible
public static final int COLOR_FormatYUV420Flexible
Flexible 12 bits per pixel, subsampled YUV color format with 8-bit chroma and luma components.
 Chroma planes are subsampled by 2 both horizontally and vertically.
 Use this format with Image.
 This format corresponds to ImageFormat.YUV_420_888,
 and can represent the COLOR_FormatYUV411Planar,
 COLOR_FormatYUV411PackedPlanar, COLOR_FormatYUV420Planar,
 COLOR_FormatYUV420PackedPlanar, COLOR_FormatYUV420SemiPlanar
 and COLOR_FormatYUV420PackedSemiPlanar formats.
See also:
Constant Value: 2135033992 (0x7f420888)
COLOR_FormatYUV420PackedPlanar
public static final int COLOR_FormatYUV420PackedPlanar
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV420Flexible.
  
Constant Value: 20 (0x00000014)
COLOR_FormatYUV420PackedSemiPlanar
public static final int COLOR_FormatYUV420PackedSemiPlanar
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV420Flexible.
  
Constant Value: 39 (0x00000027)
COLOR_FormatYUV420Planar
public static final int COLOR_FormatYUV420Planar
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV420Flexible.
  
Constant Value: 19 (0x00000013)
COLOR_FormatYUV420SemiPlanar
public static final int COLOR_FormatYUV420SemiPlanar
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV420Flexible.
  
Constant Value: 21 (0x00000015)
COLOR_FormatYUV422Flexible
public static final int COLOR_FormatYUV422Flexible
Flexible 16 bits per pixel, subsampled YUV color format with 8-bit chroma and luma components.
 Chroma planes are horizontally subsampled by 2. Use this format with Image.
 This format corresponds to ImageFormat.YUV_422_888,
 and can represent the COLOR_FormatYCbYCr, COLOR_FormatYCrYCb,
 COLOR_FormatCbYCrY, COLOR_FormatCrYCbY,
 COLOR_FormatYUV422Planar, COLOR_FormatYUV422PackedPlanar,
 COLOR_FormatYUV422SemiPlanar and COLOR_FormatYUV422PackedSemiPlanar
 formats.
See also:
Constant Value: 2135042184 (0x7f422888)
COLOR_FormatYUV422PackedPlanar
public static final int COLOR_FormatYUV422PackedPlanar
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV422Flexible.
  
Constant Value: 23 (0x00000017)
COLOR_FormatYUV422PackedSemiPlanar
public static final int COLOR_FormatYUV422PackedSemiPlanar
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV422Flexible.
  
Constant Value: 40 (0x00000028)
COLOR_FormatYUV422Planar
public static final int COLOR_FormatYUV422Planar
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV422Flexible.
  
Constant Value: 22 (0x00000016)
COLOR_FormatYUV422SemiPlanar
public static final int COLOR_FormatYUV422SemiPlanar
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV422Flexible.
  
Constant Value: 24 (0x00000018)
COLOR_FormatYUV444Flexible
public static final int COLOR_FormatYUV444Flexible
Flexible 24 bits per pixel YUV color format with 8-bit chroma and luma components.
 Chroma planes are not subsampled. Use this format with Image.
 This format corresponds to ImageFormat.YUV_444_888,
 and can represent the COLOR_FormatYUV444Interleaved format.
See also:
Constant Value: 2135181448 (0x7f444888)
COLOR_FormatYUV444Interleaved
public static final int COLOR_FormatYUV444Interleaved
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV444Flexible.
  
Constant Value: 29 (0x0000001d)
COLOR_FormatYUVP010
public static final int COLOR_FormatYUVP010
P010 is 10-bit-per component 4:2:0 YCbCr semiplanar format.
This format uses 24 allocated bits per pixel with 15 bits of data per pixel. Chroma planes are subsampled by 2 both horizontally and vertically. Each chroma and luma component has 16 allocated bits in little-endian configuration with 10 MSB of actual data.
            byte                   byte
  <--------- i --------> | <------ i + 1 ------>
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
 |     UNUSED      |      Y/Cb/Cr                |
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  0               5 6   7 0                    7
 bit
 Image. This format corresponds
 to ImageFormat.YCBCR_P010.
 
    
      Constant Value: 54 (0x00000036)
COLOR_FormatYUVP210
public static final int COLOR_FormatYUVP210
P210 is 10-bit-per component 4:2:2 YCbCr semiplanar format.
This format uses 32 allocated bits per pixel with 20 bits of data per pixel. Chroma planes are subsampled by 2 both horizontally. Each chroma and luma component has 16 allocated bits in little-endian configuration with 10 MSB of actual data.
            byte                   byte
  <--------- i --------> | <------ i + 1 ------>
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
 |     UNUSED      |      Y/Cb/Cr                |
 +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
  0               5 6   7 0                    7
 bit
 Image. This format corresponds
 to ImageFormat.YCBCR_P210.
 
    
      Constant Value: 60 (0x0000003c)
COLOR_QCOM_FormatYUV420SemiPlanar
public static final int COLOR_QCOM_FormatYUV420SemiPlanar
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV420Flexible.
  
Constant Value: 2141391872 (0x7fa30c00)
COLOR_TI_FormatYUV420PackedSemiPlanar
public static final int COLOR_TI_FormatYUV420PackedSemiPlanar
      This constant was deprecated
      in API level 23.
    Use COLOR_FormatYUV420Flexible.
  
Constant Value: 2130706688 (0x7f000100)
FEATURE_AdaptivePlayback
public static final String FEATURE_AdaptivePlayback
video decoder only: codec supports seamless resolution changes.
Constant Value: "adaptive-playback"
FEATURE_DetachedSurface
public static final String FEATURE_DetachedSurface
video decoder only: codec supports detaching the output surface when in Surface mode.
If true, the codec can be configured in Surface mode without an actual surface (in detached surface mode).
Constant Value: "detached-surface"
FEATURE_DynamicColorAspects
public static final String FEATURE_DynamicColorAspects
video decoder only: codec supports dynamically changing color aspects.
 If true, the codec can propagate color aspect changes during
 decoding. This is only meaningful at session boundaries, e.g.
 upon processing Picture Parameter Sets prior to a new IDR.
 The color aspects may come from the bitstream, or may be
 provided using MediaCodec.setParameters calls.
 
If the codec supports both 8-bit and 10-bit profiles, this feature means that the codec can dynamically switch between 8 and 10-bit profiles, but this is restricted to Surface mode only.
If the device supports HDR transfer functions, switching between SDR and HDR transfer is also supported. Together with the previous clause this means that switching between SDR and HDR sessions are supported in Surface mode, as SDR is typically encoded at 8-bit and HDR at 10-bit.
Constant Value: "dynamic-color-aspects"
FEATURE_DynamicTimestamp
public static final String FEATURE_DynamicTimestamp
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.
Constant Value: "dynamic-timestamp"
FEATURE_EncodingStatistics
public static final String FEATURE_EncodingStatistics
video encoder only: codec supports exporting encoding statistics.
 Encoders with this feature can provide the App clients with the encoding statistics
 information about the frame.
 The scope of encoding statistics is controlled by
 MediaFormat.KEY_VIDEO_ENCODING_STATISTICS_LEVEL.
Constant Value: "encoding-statistics"
FEATURE_FrameParsing
public static final String FEATURE_FrameParsing
decoder onlyIf true, the codec supports partial (including multiple) access units per input buffer.
Constant Value: "frame-parsing"
FEATURE_HdrEditing
public static final String FEATURE_HdrEditing
video encoder only: codec supports HDR editing.
HDR editing support means that the codec accepts 10-bit HDR input surface, and it is capable of generating any HDR metadata required from both YUV and RGB input when the metadata is not present. This feature is only meaningful when using an HDR capable profile (and 10-bit HDR input).
This feature implies that the codec is capable of encoding at least one HDR format, and that it supports RGBA_1010102 as well as P010, and optionally RGBA_FP16 input formats, and that the encoder can generate HDR metadata for all supported HDR input formats.
Constant Value: "hdr-editing"
FEATURE_HlgEditing
public static final String FEATURE_HlgEditing
video encoder only: codec supports HLG editing.
HLG editing support means that the codec accepts 10-bit HDR input surface in both YUV and RGB pixel format. This feature is only meaningful when using a 10-bit (HLG) profile and 10-bit input.
This feature implies that the codec is capable of encoding 10-bit format, and that it supports RGBA_1010102 as well as P010, and optionally RGBA_FP16 input formats.
 The difference between this feature and ERROR(/FEATURE_HdrEditing) is that HLG does not require the
 generation of HDR metadata and does not use an explicit HDR
 profile.
Constant Value: "hlg-editing"
FEATURE_IntraRefresh
public static final String FEATURE_IntraRefresh
video encoder only: codec supports intra refresh.
Constant Value: "intra-refresh"
FEATURE_LowLatency
public static final String FEATURE_LowLatency
decoder only: codec supports low latency decoding. If supported, clients can enable the low latency mode for the decoder. When the mode is enabled, the decoder doesn't hold input and output data more than required by the codec standards.
Constant Value: "low-latency"
FEATURE_MultipleFrames
public static final String FEATURE_MultipleFrames
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.
Constant Value: "multiple-frames"
FEATURE_PartialFrame
public static final String FEATURE_PartialFrame
video decoder only: codec supports queuing partial frames.
Constant Value: "partial-frame"
FEATURE_QpBounds
public static final String FEATURE_QpBounds
video encoder only: codec supports quantization parameter bounds.
Constant Value: "qp-bounds"
FEATURE_Roi
public static final String FEATURE_Roi
video encoder only: codec supports region of interest encoding.
RoI encoding support means the codec accepts information that specifies the relative importance of different portions of each video frame. This allows the encoder to separate a video frame into critical and non-critical regions, and use more bits (better quality) to represent the critical regions and de-prioritize non-critical regions. In other words, the encoder chooses a negative qp bias for the critical portions and a zero or positive qp bias for the non-critical portions.
At a basic level, if the encoder decides to encode each frame with a uniform quantization value 'qpFrame' and a 'qpBias' is chosen/suggested for an LCU of the frame, then the actual qp of the LCU will be 'qpFrame + qpBias', although this value can be clamped basing on the min-max configured qp bounds for the current encoding session.
In a shot, if a group of LCUs pan out quickly they can be marked as non-critical thereby enabling the encoder to reserve fewer bits during their encoding. Contrarily, LCUs that remain in shot for a prolonged duration can be encoded at better quality in one frame thereby setting-up an excellent long-term reference for all future frames.
Note that by offsetting the quantization of each LCU, the overall bit allocation will differ from the originally estimated bit allocation, and the encoder will adjust the frame quantization for subsequent frames to meet the bitrate target. An effective selection of critical regions can set-up a golden reference and this can compensate for the bit burden that was introduced due to encoding RoI's at better quality. On the other hand, an ineffective choice of critical regions might increase the quality of certain parts of the image but this can hamper quality in subsequent frames.
Constant Value: "region-of-interest"
FEATURE_SecurePlayback
public static final String FEATURE_SecurePlayback
video decoder only: codec supports secure decryption.
Constant Value: "secure-playback"
FEATURE_TunneledPlayback
public static final String FEATURE_TunneledPlayback
video or audio decoder only: codec supports tunneled playback.
Constant Value: "tunneled-playback"
Fields
colorFormats
public int[] colorFormats
The color format for the media. This is one of the color constants defined in this class.
Public constructors
Public methods
createFromProfileLevel
public static MediaCodecInfo.CodecCapabilities createFromProfileLevel (String mime, int profile, int level)
Retrieve the codec capabilities for a certain mime type, profile and level.  If the type, or profile-level combination
 is not understood by the framework, it returns null.
 
 In Build.VERSION_CODES.M, calling this
 method without calling any method of the MediaCodecList class beforehand
 results in a NullPointerException.
| Parameters | |
|---|---|
| mime | String | 
| profile | int | 
| level | int | 
| Returns | |
|---|---|
| MediaCodecInfo.CodecCapabilities | |
getAudioCapabilities
public MediaCodecInfo.AudioCapabilities getAudioCapabilities ()
Returns the audio capabilities or null if this is not an audio codec.
| Returns | |
|---|---|
| MediaCodecInfo.AudioCapabilities | |
getDefaultFormat
public MediaFormat getDefaultFormat ()
Returns a MediaFormat object with default values for configurations that have defaults.
| Returns | |
|---|---|
| MediaFormat | |
getEncoderCapabilities
public MediaCodecInfo.EncoderCapabilities getEncoderCapabilities ()
Returns the encoding capabilities or null if this is not an encoder.
| Returns | |
|---|---|
| MediaCodecInfo.EncoderCapabilities | |
getMaxSupportedInstances
public int getMaxSupportedInstances ()
Returns the max number of the supported concurrent codec instances.
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.
| Returns | |
|---|---|
| int | |
getMimeType
public String getMimeType ()
Returns the mime type for which this codec-capability object was created.
| Returns | |
|---|---|
| String | |
getVideoCapabilities
public MediaCodecInfo.VideoCapabilities getVideoCapabilities ()
Returns the video capabilities or null if this is not a video codec.
| Returns | |
|---|---|
| MediaCodecInfo.VideoCapabilities | |
isFeatureRequired
public boolean isFeatureRequired (String name)
Query codec feature requirements.
These features are required to be used by the codec, and as such, they are always turned on.
| Parameters | |
|---|---|
| name | String | 
| Returns | |
|---|---|
| boolean | |
isFeatureSupported
public boolean isFeatureSupported (String name)
Query codec feature capabilities.
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.
| Parameters | |
|---|---|
| name | String | 
| Returns | |
|---|---|
| boolean | |
isFormatSupported
public boolean isFormatSupported (MediaFormat format)
Query whether codec supports a given MediaFormat.
 
 Note: On Build.VERSION_CODES.LOLLIPOP,
 format must not contain a frame rate. Use
 format.setString(MediaFormat.KEY_FRAME_RATE, null)
 to clear any existing frame rate setting in the format.
 
The following table summarizes the format keys considered by this method. This is especially important to consider when targeting a higher SDK version than the minimum SDK version, as this method will disregard some keys on devices below the target SDK version.
| Parameters | |
|---|---|
| format | MediaFormat: media format with optional feature directives. | 
| Returns | |
|---|---|
| boolean | whether the codec capabilities support the given format and feature requests. | 
| Throws | |
|---|---|
| IllegalArgumentException | if format is not a valid media format. | 
