# Print output for @column tags ?> MediaCodecInfo.CodecCapabilities - Android SDK | Android Developers

Most visited

Recently visited

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 MediaCodecInfo#getCapabilitiesForType, passing a MIME type.

Summary

Constants

int COLOR_Format12bitRGB444

This constant is deprecated. Use COLOR_Format24bitBGR888.

int COLOR_Format16bitARGB1555

This constant is deprecated. Use COLOR_Format32bitABGR8888.

int COLOR_Format16bitARGB4444

This constant is deprecated. Use COLOR_Format32bitABGR8888.

int COLOR_Format16bitBGR565

This constant is deprecated. Use COLOR_Format16bitRGB565.

int COLOR_Format16bitRGB565

16 bits per pixel RGB color format, with 5-bit red & blue and 6-bit green component.

int COLOR_Format18BitBGR666

This constant is deprecated. Use COLOR_Format24bitBGR888.

int COLOR_Format18bitARGB1665

This constant is deprecated. Use COLOR_Format32bitABGR8888.

int COLOR_Format18bitRGB666

This constant is deprecated. Use COLOR_Format24bitBGR888.

int COLOR_Format19bitARGB1666

This constant is deprecated. Use COLOR_Format32bitABGR8888.

int COLOR_Format24BitABGR6666

This constant is deprecated. Use COLOR_Format32bitABGR8888.

int COLOR_Format24BitARGB6666

This constant is deprecated. Use COLOR_Format32bitABGR8888.

int COLOR_Format24bitARGB1887

This constant is deprecated. Use COLOR_Format32bitABGR8888.

int COLOR_Format24bitBGR888

24 bits per pixel RGB color format, with 8-bit red, green & blue components.

int COLOR_Format24bitRGB888

This constant is deprecated. Use COLOR_Format24bitBGR888 or COLOR_FormatRGBFlexible.

int COLOR_Format25bitARGB1888

This constant is deprecated. Use COLOR_Format32bitABGR8888.

int COLOR_Format32bitABGR8888

32 bits per pixel RGBA color format, with 8-bit red, green, blue, and alpha components.

int COLOR_Format32bitARGB8888

This constant is deprecated. Use COLOR_Format32bitABGR8888 Or COLOR_FormatRGBAFlexible.

int COLOR_Format32bitBGRA8888

This constant is deprecated. Use COLOR_Format32bitABGR8888 Or COLOR_FormatRGBAFlexible.

int COLOR_Format8bitRGB332

This constant is deprecated. Use COLOR_Format24bitBGR888.

int COLOR_FormatCbYCrY

This constant is deprecated. Use COLOR_FormatYUV422Flexible.

int COLOR_FormatCrYCbY

This constant is deprecated. Use COLOR_FormatYUV422Flexible.

int COLOR_FormatL16

16 bits per pixel, little-endian Y color format.

int COLOR_FormatL2

This constant is deprecated. Use COLOR_FormatL8.

int COLOR_FormatL24

This constant is deprecated. Use COLOR_FormatL16.

int COLOR_FormatL32

This constant is deprecated. Use COLOR_FormatL16.

int COLOR_FormatL4

This constant is deprecated. Use COLOR_FormatL8.

int COLOR_FormatL8

8 bits per pixel Y color format.

int COLOR_FormatMonochrome

This constant is deprecated. Use COLOR_Format24bitBGR888.

int COLOR_FormatRGBAFlexible

Flexible 32 bits per pixel RGBA color format with 8-bit red, green, blue, and alpha components.

int COLOR_FormatRGBFlexible

Flexible 24 bits per pixel RGB color format with 8-bit red, green and blue components.

int COLOR_FormatRawBayer10bit

SMIA 10-bit Bayer format.

int COLOR_FormatRawBayer8bit

SMIA 8-bit Bayer format.

int COLOR_FormatRawBayer8bitcompressed

SMIA 8-bit compressed Bayer format.

int COLOR_FormatSurface

int COLOR_FormatYCbYCr

This constant is deprecated. Use COLOR_FormatYUV422Flexible.

int COLOR_FormatYCrYCb

This constant is deprecated. Use COLOR_FormatYUV422Flexible.

int COLOR_FormatYUV411PackedPlanar

This constant is deprecated. Use COLOR_FormatYUV420Flexible.

int COLOR_FormatYUV411Planar

This constant is deprecated. Use COLOR_FormatYUV420Flexible.

int COLOR_FormatYUV420Flexible

Flexible 12 bits per pixel, subsampled YUV color format with 8-bit chroma and luma components.

int COLOR_FormatYUV420PackedPlanar

This constant is deprecated. Use COLOR_FormatYUV420Flexible.

int COLOR_FormatYUV420PackedSemiPlanar

This constant is deprecated. Use COLOR_FormatYUV420Flexible.

int COLOR_FormatYUV420Planar

This constant is deprecated. Use COLOR_FormatYUV420Flexible.

int COLOR_FormatYUV420SemiPlanar

This constant is deprecated. Use COLOR_FormatYUV420Flexible.

int COLOR_FormatYUV422Flexible

Flexible 16 bits per pixel, subsampled YUV color format with 8-bit chroma and luma components.

int COLOR_FormatYUV422PackedPlanar

This constant is deprecated. Use COLOR_FormatYUV422Flexible.

int COLOR_FormatYUV422PackedSemiPlanar

This constant is deprecated. Use COLOR_FormatYUV422Flexible.

int COLOR_FormatYUV422Planar

This constant is deprecated. Use COLOR_FormatYUV422Flexible.

int COLOR_FormatYUV422SemiPlanar

This constant is deprecated. Use COLOR_FormatYUV422Flexible.

int COLOR_FormatYUV444Flexible

Flexible 24 bits per pixel YUV color format with 8-bit chroma and luma components.

int COLOR_FormatYUV444Interleaved

This constant is deprecated. Use COLOR_FormatYUV444Flexible.

int COLOR_QCOM_FormatYUV420SemiPlanar

This constant is deprecated. Use COLOR_FormatYUV420Flexible.

int COLOR_TI_FormatYUV420PackedSemiPlanar

This constant is deprecated. Use COLOR_FormatYUV420Flexible.

String FEATURE_AdaptivePlayback

video decoder only: codec supports seamless resolution changes.

String FEATURE_DynamicTimestamp

If true, the timestamp of each output buffer is derived from the timestamp of the input buffer that produced the output.

String FEATURE_FrameParsing

decoder onlyIf true, the codec supports partial (including multiple) access units per input buffer.

String FEATURE_IntraRefresh

video encoder only: codec supports intra refresh.

String FEATURE_LowLatency

decoder only: codec supports low latency decoding.

String FEATURE_MultipleFrames

If true, the codec supports multiple access units (for decoding, or to output for encoders).

String FEATURE_PartialFrame

video decoder only: codec supports queuing partial frames.

String FEATURE_SecurePlayback

video decoder only: codec supports secure decryption.

String FEATURE_TunneledPlayback

video or audio decoder only: codec supports tunneled playback.

Fields

public int[] colorFormats

The 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 mime type, profile and level.

MediaCodecInfo.AudioCapabilities getAudioCapabilities()

Returns the audio capabilities or null if this is not an audio codec.

MediaFormat getDefaultFormat()

Returns a MediaFormat object with default values for configurations that have defaults.

MediaCodecInfo.EncoderCapabilities getEncoderCapabilities()

Returns the encoding capabilities or null if this is not an encoder.

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 null if this is not a video codec.

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 MediaFormat.

Inherited methods

Constants

COLOR_Format12bitRGB444

public static final int COLOR_Format12bitRGB444

This constant is deprecated.
Use COLOR_Format24bitBGR888.

Constant Value: 3 (0x00000003)

COLOR_Format16bitARGB1555

public static final int COLOR_Format16bitARGB1555

This constant is deprecated.
Use COLOR_Format32bitABGR8888.

Constant Value: 5 (0x00000005)

COLOR_Format16bitARGB4444

public static final int COLOR_Format16bitARGB4444

This constant is deprecated.
Use COLOR_Format32bitABGR8888.

Constant Value: 4 (0x00000004)

COLOR_Format16bitBGR565

public static final int COLOR_Format16bitBGR565

This constant is deprecated.
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
 
This format corresponds to PixelFormat.RGB_565 and ImageFormat.RGB_565.

Constant Value: 6 (0x00000006)

COLOR_Format18BitBGR666

public static final int COLOR_Format18BitBGR666

This constant is deprecated.
Use COLOR_Format24bitBGR888.

Constant Value: 41 (0x00000029)

COLOR_Format18bitARGB1665

public static final int COLOR_Format18bitARGB1665

This constant is deprecated.
Use COLOR_Format32bitABGR8888.

Constant Value: 9 (0x00000009)

COLOR_Format18bitRGB666

public static final int COLOR_Format18bitRGB666

This constant is deprecated.
Use COLOR_Format24bitBGR888.

Constant Value: 8 (0x00000008)

COLOR_Format19bitARGB1666

public static final int COLOR_Format19bitARGB1666

This constant is deprecated.
Use COLOR_Format32bitABGR8888.

Constant Value: 10 (0x0000000a)

COLOR_Format24BitABGR6666

public static final int COLOR_Format24BitABGR6666

This constant is deprecated.
Use COLOR_Format32bitABGR8888.

Constant Value: 43 (0x0000002b)

COLOR_Format24BitARGB6666

public static final int COLOR_Format24BitARGB6666

This constant is deprecated.
Use COLOR_Format32bitABGR8888.

Constant Value: 42 (0x0000002a)

COLOR_Format24bitARGB1887

public static final int COLOR_Format24bitARGB1887

This constant is deprecated.
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      |
 +-----------------+-----------------+-----------------+
 
This format corresponds to 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 is deprecated.
Use COLOR_Format24bitBGR888 or COLOR_FormatRGBFlexible.

Constant Value: 11 (0x0000000b)

COLOR_Format25bitARGB1888

public static final int COLOR_Format25bitARGB1888

This constant is deprecated.
Use COLOR_Format32bitABGR8888.

Constant Value: 14 (0x0000000e)

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      |
 +-----------------+-----------------+-----------------+-----------------+
 
This corresponds to PixelFormat.RGBA_8888.

Constant Value: 2130747392 (0x7f00a000)

COLOR_Format32bitARGB8888

public static final int COLOR_Format32bitARGB8888

This constant is deprecated.
Use COLOR_Format32bitABGR8888 Or COLOR_FormatRGBAFlexible.

Constant Value: 16 (0x00000010)

COLOR_Format32bitBGRA8888

public static final int COLOR_Format32bitBGRA8888

This constant is deprecated.
Use COLOR_Format32bitABGR8888 Or COLOR_FormatRGBAFlexible.

Constant Value: 15 (0x0000000f)

COLOR_Format8bitRGB332

public static final int COLOR_Format8bitRGB332

This constant is deprecated.
Use COLOR_Format24bitBGR888.

Constant Value: 2 (0x00000002)

COLOR_FormatCbYCrY

public static final int COLOR_FormatCbYCrY

This constant is deprecated.
Use COLOR_FormatYUV422Flexible.

Constant Value: 27 (0x0000001b)

COLOR_FormatCrYCbY

public static final int COLOR_FormatCrYCbY

This constant is deprecated.
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 is deprecated.
Use COLOR_FormatL8.

Constant Value: 33 (0x00000021)

COLOR_FormatL24

public static final int COLOR_FormatL24

This constant is deprecated.
Use COLOR_FormatL16.

Constant Value: 37 (0x00000025)

COLOR_FormatL32

public static final int COLOR_FormatL32

This constant is deprecated.
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 is deprecated.
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 is deprecated.
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 is deprecated.
Use COLOR_FormatYUV422Flexible.

Constant Value: 25 (0x00000019)

COLOR_FormatYCrYCb

public static final int COLOR_FormatYCrYCb

This constant is deprecated.
Use COLOR_FormatYUV422Flexible.

Constant Value: 26 (0x0000001a)

COLOR_FormatYUV411PackedPlanar

public static final int COLOR_FormatYUV411PackedPlanar

This constant is deprecated.
Use COLOR_FormatYUV420Flexible.

Constant Value: 18 (0x00000012)

COLOR_FormatYUV411Planar

public static final int COLOR_FormatYUV411Planar

This constant is deprecated.
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 is deprecated.
Use COLOR_FormatYUV420Flexible.

Constant Value: 20 (0x00000014)

COLOR_FormatYUV420PackedSemiPlanar

public static final int COLOR_FormatYUV420PackedSemiPlanar

This constant is deprecated.
Use COLOR_FormatYUV420Flexible.

Constant Value: 39 (0x00000027)

COLOR_FormatYUV420Planar

public static final int COLOR_FormatYUV420Planar

This constant is deprecated.
Use COLOR_FormatYUV420Flexible.

Constant Value: 19 (0x00000013)

COLOR_FormatYUV420SemiPlanar

public static final int COLOR_FormatYUV420SemiPlanar

This constant is deprecated.
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 is deprecated.
Use COLOR_FormatYUV422Flexible.

Constant Value: 23 (0x00000017)

COLOR_FormatYUV422PackedSemiPlanar

public static final int COLOR_FormatYUV422PackedSemiPlanar

This constant is deprecated.
Use COLOR_FormatYUV422Flexible.

Constant Value: 40 (0x00000028)

COLOR_FormatYUV422Planar

public static final int COLOR_FormatYUV422Planar

This constant is deprecated.
Use COLOR_FormatYUV422Flexible.

Constant Value: 22 (0x00000016)

COLOR_FormatYUV422SemiPlanar

public static final int COLOR_FormatYUV422SemiPlanar

This constant is deprecated.
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 is deprecated.
Use COLOR_FormatYUV444Flexible.

Constant Value: 29 (0x0000001d)

COLOR_QCOM_FormatYUV420SemiPlanar

public static final int COLOR_QCOM_FormatYUV420SemiPlanar

This constant is deprecated.
Use COLOR_FormatYUV420Flexible.

Constant Value: 2141391872 (0x7fa30c00)

COLOR_TI_FormatYUV420PackedSemiPlanar

public static final int COLOR_TI_FormatYUV420PackedSemiPlanar

This constant is deprecated.
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_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_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_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_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.

profileLevels

public CodecProfileLevel[] profileLevels

Public constructors

CodecCapabilities

public CodecCapabilities ()

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 MediaFormat#KEY_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.
OS Version(s) MediaFormat keys considered for
Audio Codecs Video Codecs Encoders
Build.VERSION_CODES.LOLLIPOP MediaFormat#KEY_MIME*,
MediaFormat#KEY_SAMPLE_RATE,
MediaFormat#KEY_CHANNEL_COUNT,
MediaFormat#KEY_MIME*,
CodecCapabilities#FEATURE_AdaptivePlaybackD,
CodecCapabilities#FEATURE_SecurePlaybackD,
CodecCapabilities#FEATURE_TunneledPlaybackD,
MediaFormat#KEY_WIDTH,
MediaFormat#KEY_HEIGHT,
no KEY_FRAME_RATE
as to the left, plus
MediaFormat#KEY_BITRATE_MODE,
MediaFormat#KEY_PROFILE (and/or MediaFormat#KEY_AAC_PROFILE~),
MediaFormat#KEY_COMPLEXITY (and/or MediaFormat#KEY_FLAC_COMPRESSION_LEVEL~)
Build.VERSION_CODES.LOLLIPOP_MR1 as above, plus
MediaFormat#KEY_FRAME_RATE
Build.VERSION_CODES.M
Build.VERSION_CODES.N as above, plus
MediaFormat#KEY_PROFILE,
MediaFormat#KEY_BIT_RATE
as above, plus
MediaFormat#KEY_PROFILE,
MediaFormat#KEY_LEVEL+,
MediaFormat#KEY_BIT_RATE,
CodecCapabilities#FEATURE_IntraRefreshE
Build.VERSION_CODES.N_MR1
Build.VERSION_CODES.O as above, plus
CodecCapabilities#FEATURE_PartialFrameD
Build.VERSION_CODES.O_MR1
Build.VERSION_CODES.P
Build.VERSION_CODES.Q as above, plus
CodecCapabilities#FEATURE_FrameParsingD,
CodecCapabilities#FEATURE_MultipleFrames,
CodecCapabilities#FEATURE_DynamicTimestamp
Build.VERSION_CODES.R as above, plus
CodecCapabilities#FEATURE_LowLatencyD

Notes:
*: must be specified; otherwise, method returns false.
+: method does not verify that the format parameters are supported by the specified level.
D: decoders only
E: encoders only
~: if both keys are provided values must match

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.