public final class android.media.MediaCodecInfo$CodecCapabilities
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.media.MediaCodecInfo$CodecCapabilities
super_class: java.lang.Object
{
private java.lang.String mMime;
descriptor: Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
private int mMaxSupportedInstances;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public android.media.MediaCodecInfo$CodecProfileLevel[] profileLevels;
descriptor: [Landroid/media/MediaCodecInfo$CodecProfileLevel;
flags: (0x0001) ACC_PUBLIC
public static final int COLOR_FormatMonochrome;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 1
public static final int COLOR_Format8bitRGB332;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2
public static final int COLOR_Format12bitRGB444;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 3
public static final int COLOR_Format16bitARGB4444;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 4
public static final int COLOR_Format16bitARGB1555;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 5
public static final int COLOR_Format16bitRGB565;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 6
public static final int COLOR_Format16bitBGR565;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 7
public static final int COLOR_Format18bitRGB666;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 8
public static final int COLOR_Format18bitARGB1665;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 9
public static final int COLOR_Format19bitARGB1666;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 10
public static final int COLOR_Format24bitRGB888;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 11
public static final int COLOR_Format24bitBGR888;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 12
public static final int COLOR_Format24bitARGB1887;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 13
public static final int COLOR_Format25bitARGB1888;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 14
public static final int COLOR_Format32bitBGRA8888;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 15
public static final int COLOR_Format32bitARGB8888;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 16
public static final int COLOR_FormatYUV411Planar;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 17
public static final int COLOR_FormatYUV411PackedPlanar;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 18
public static final int COLOR_FormatYUV420Planar;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 19
public static final int COLOR_FormatYUV420PackedPlanar;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 20
public static final int COLOR_FormatYUV420SemiPlanar;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 21
public static final int COLOR_FormatYUV422Planar;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 22
public static final int COLOR_FormatYUV422PackedPlanar;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 23
public static final int COLOR_FormatYUV422SemiPlanar;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 24
public static final int COLOR_FormatYCbYCr;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 25
public static final int COLOR_FormatYCrYCb;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 26
public static final int COLOR_FormatCbYCrY;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 27
public static final int COLOR_FormatCrYCbY;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 28
public static final int COLOR_FormatYUV444Interleaved;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 29
public static final int COLOR_FormatRawBayer8bit;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 30
public static final int COLOR_FormatRawBayer10bit;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 31
public static final int COLOR_FormatRawBayer8bitcompressed;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 32
public static final int COLOR_FormatL2;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 33
public static final int COLOR_FormatL4;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 34
public static final int COLOR_FormatL8;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 35
public static final int COLOR_FormatL16;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 36
public static final int COLOR_FormatL24;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 37
public static final int COLOR_FormatL32;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 38
public static final int COLOR_FormatYUV420PackedSemiPlanar;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 39
public static final int COLOR_FormatYUV422PackedSemiPlanar;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 40
public static final int COLOR_Format18BitBGR666;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 41
public static final int COLOR_Format24BitARGB6666;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 42
public static final int COLOR_Format24BitABGR6666;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 43
public static final int COLOR_TI_FormatYUV420PackedSemiPlanar;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2130706688
public static final int COLOR_FormatSurface;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2130708361
public static final int COLOR_Format32bitABGR8888;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2130747392
public static final int COLOR_FormatYUV420Flexible;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2135033992
public static final int COLOR_FormatYUV422Flexible;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2135042184
public static final int COLOR_FormatYUV444Flexible;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2135181448
public static final int COLOR_FormatRGBFlexible;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2134292616
public static final int COLOR_FormatRGBAFlexible;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2134288520
public static final int COLOR_QCOM_FormatYUV420SemiPlanar;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 2141391872
public int[] colorFormats;
descriptor: [I
flags: (0x0001) ACC_PUBLIC
private int mFlagsSupported;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mFlagsRequired;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mFlagsVerified;
descriptor: I
flags: (0x0002) ACC_PRIVATE
public static final java.lang.String FEATURE_AdaptivePlayback;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "adaptive-playback"
public static final java.lang.String FEATURE_SecurePlayback;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "secure-playback"
public static final java.lang.String FEATURE_TunneledPlayback;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "tunneled-playback"
public static final java.lang.String FEATURE_PartialFrame;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "partial-frame"
public static final java.lang.String FEATURE_IntraRefresh;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "intra-refresh"
private static final android.media.MediaCodecInfo$Feature[] decoderFeatures;
descriptor: [Landroid/media/MediaCodecInfo$Feature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final android.media.MediaCodecInfo$Feature[] encoderFeatures;
descriptor: [Landroid/media/MediaCodecInfo$Feature;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
int mError;
descriptor: I
flags: (0x0000)
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "CodecCapabilities"
private android.media.MediaCodecInfo$AudioCapabilities mAudioCaps;
descriptor: Landroid/media/MediaCodecInfo$AudioCapabilities;
flags: (0x0002) ACC_PRIVATE
private android.media.MediaCodecInfo$VideoCapabilities mVideoCaps;
descriptor: Landroid/media/MediaCodecInfo$VideoCapabilities;
flags: (0x0002) ACC_PRIVATE
private android.media.MediaCodecInfo$EncoderCapabilities mEncoderCaps;
descriptor: Landroid/media/MediaCodecInfo$EncoderCapabilities;
flags: (0x0002) ACC_PRIVATE
private android.media.MediaFormat mDefaultFormat;
descriptor: Landroid/media/MediaFormat;
flags: (0x0002) ACC_PRIVATE
private android.media.MediaFormat mCapabilitiesInfo;
descriptor: Landroid/media/MediaFormat;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=0, args_size=0
0: iconst_4
anewarray android.media.MediaCodecInfo$Feature
dup
iconst_0
1: new android.media.MediaCodecInfo$Feature
dup
ldc "adaptive-playback"
iconst_1
iconst_1
invokespecial android.media.MediaCodecInfo$Feature.<init>:(Ljava/lang/String;IZ)V
aastore
dup
iconst_1
2: new android.media.MediaCodecInfo$Feature
dup
ldc "secure-playback"
iconst_2
iconst_0
invokespecial android.media.MediaCodecInfo$Feature.<init>:(Ljava/lang/String;IZ)V
aastore
dup
iconst_2
3: new android.media.MediaCodecInfo$Feature
dup
ldc "tunneled-playback"
iconst_4
iconst_0
invokespecial android.media.MediaCodecInfo$Feature.<init>:(Ljava/lang/String;IZ)V
aastore
dup
iconst_3
4: new android.media.MediaCodecInfo$Feature
dup
ldc "partial-frame"
bipush 8
iconst_0
invokespecial android.media.MediaCodecInfo$Feature.<init>:(Ljava/lang/String;IZ)V
aastore
5: putstatic android.media.MediaCodecInfo$CodecCapabilities.decoderFeatures:[Landroid/media/MediaCodecInfo$Feature;
6: iconst_1
anewarray android.media.MediaCodecInfo$Feature
dup
iconst_0
7: new android.media.MediaCodecInfo$Feature
dup
ldc "intra-refresh"
iconst_1
iconst_0
invokespecial android.media.MediaCodecInfo$Feature.<init>:(Ljava/lang/String;IZ)V
aastore
8: putstatic android.media.MediaCodecInfo$CodecCapabilities.encoderFeatures:[Landroid/media/MediaCodecInfo$Feature;
9: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
public final boolean isFeatureSupported(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mFlagsSupported:I
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.checkFeature:(Ljava/lang/String;I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public final boolean isFeatureRequired(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mFlagsRequired:I
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.checkFeature:(Ljava/lang/String;I)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
0 1 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public java.lang.String[] validFeatures();
descriptor: ()[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.getValidFeatures:()[Landroid/media/MediaCodecInfo$Feature;
astore 1
start local 1 1: aload 1
arraylength
anewarray java.lang.String
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: android.media.MediaCodecInfo$Feature[] java.lang.String[] int
StackMap stack:
aload 2
iload 3
aload 1
iload 3
aaload
getfield android.media.MediaCodecInfo$Feature.mName:Ljava/lang/String;
aastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 2
arraylength
if_icmplt 4
end local 3 7: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
1 8 1 features [Landroid/media/MediaCodecInfo$Feature;
2 8 2 res [Ljava/lang/String;
3 7 3 i I
private android.media.MediaCodecInfo$Feature[] getValidFeatures();
descriptor: ()[Landroid/media/MediaCodecInfo$Feature;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.isEncoder:()Z
ifne 2
1: getstatic android.media.MediaCodecInfo$CodecCapabilities.decoderFeatures:[Landroid/media/MediaCodecInfo$Feature;
areturn
2: StackMap locals:
StackMap stack:
getstatic android.media.MediaCodecInfo$CodecCapabilities.encoderFeatures:[Landroid/media/MediaCodecInfo$Feature;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
private boolean checkFeature(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.getValidFeatures:()[Landroid/media/MediaCodecInfo$Feature;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 6
StackMap locals: android.media.MediaCodecInfo$CodecCapabilities java.lang.String int top int int android.media.MediaCodecInfo$Feature[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 3
getfield android.media.MediaCodecInfo$Feature.mName:Ljava/lang/String;
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
3: iload 2
aload 3
getfield android.media.MediaCodecInfo$Feature.mValue:I
iand
ifeq 4
iconst_1
ireturn
StackMap locals: android.media.MediaCodecInfo$CodecCapabilities java.lang.String int android.media.MediaCodecInfo$Feature int int android.media.MediaCodecInfo$Feature[]
StackMap stack:
4: iconst_0
ireturn
end local 3 5: StackMap locals: android.media.MediaCodecInfo$CodecCapabilities java.lang.String int top int int android.media.MediaCodecInfo$Feature[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
6: iload 4
iload 5
if_icmplt 1
7: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
0 8 1 name Ljava/lang/String;
0 8 2 flags I
2 5 3 feat Landroid/media/MediaCodecInfo$Feature;
MethodParameters:
Name Flags
name
flags
public boolean isRegular();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.getValidFeatures:()[Landroid/media/MediaCodecInfo$Feature;
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: android.media.MediaCodecInfo$CodecCapabilities top int int android.media.MediaCodecInfo$Feature[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
getfield android.media.MediaCodecInfo$Feature.mDefault:Z
ifne 4
aload 0
aload 1
getfield android.media.MediaCodecInfo$Feature.mName:Ljava/lang/String;
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.isFeatureRequired:(Ljava/lang/String;)Z
ifeq 4
3: iconst_0
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 1
6: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
2 4 1 feat Landroid/media/MediaCodecInfo$Feature;
public final boolean isFormatSupported(android.media.MediaFormat);
descriptor: (Landroid/media/MediaFormat;)Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=12, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual android.media.MediaFormat.getMap:()Ljava/util/Map;
astore 2
start local 2 1: aload 2
ldc "mime"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
astore 3
start local 3 2: aload 3
ifnull 4
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
aload 3
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifne 4
3: iconst_0
ireturn
4: StackMap locals: java.util.Map java.lang.String
StackMap stack:
aload 0
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.getValidFeatures:()[Landroid/media/MediaCodecInfo$Feature;
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 13
StackMap locals: android.media.MediaCodecInfo$CodecCapabilities android.media.MediaFormat java.util.Map java.lang.String top int int android.media.MediaCodecInfo$Feature[]
StackMap stack:
5: aload 7
iload 5
aaload
astore 4
start local 4 6: aload 2
new java.lang.StringBuilder
dup
ldc "feature-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
getfield android.media.MediaCodecInfo$Feature.mName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 8
start local 8 7: aload 8
ifnonnull 9
8: goto 12
9: StackMap locals: android.media.MediaCodecInfo$CodecCapabilities android.media.MediaFormat java.util.Map java.lang.String android.media.MediaCodecInfo$Feature int int android.media.MediaCodecInfo$Feature[] java.lang.Integer
StackMap stack:
aload 8
invokevirtual java.lang.Integer.intValue:()I
iconst_1
if_icmpne 10
aload 0
aload 4
getfield android.media.MediaCodecInfo$Feature.mName:Ljava/lang/String;
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.isFeatureSupported:(Ljava/lang/String;)Z
ifeq 11
10: StackMap locals:
StackMap stack:
aload 8
invokevirtual java.lang.Integer.intValue:()I
ifne 12
aload 0
aload 4
getfield android.media.MediaCodecInfo$Feature.mName:Ljava/lang/String;
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.isFeatureRequired:(Ljava/lang/String;)Z
ifeq 12
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 8 end local 4 12: StackMap locals: android.media.MediaCodecInfo$CodecCapabilities android.media.MediaFormat java.util.Map java.lang.String top int int android.media.MediaCodecInfo$Feature[]
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
13: iload 5
iload 6
if_icmplt 5
14: aload 2
ldc "profile"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 4
start local 4 15: aload 2
ldc "level"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 5
start local 5 16: aload 4
ifnull 33
17: aload 0
aload 4
invokevirtual java.lang.Integer.intValue:()I
aload 5
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.supportsProfileLevel:(ILjava/lang/Integer;)Z
ifne 19
18: iconst_0
ireturn
19: StackMap locals: android.media.MediaCodecInfo$CodecCapabilities android.media.MediaFormat java.util.Map java.lang.String java.lang.Integer java.lang.Integer
StackMap stack:
aconst_null
astore 6
start local 6 20: iconst_0
istore 7
start local 7 21: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.profileLevels:[Landroid/media/MediaCodecInfo$CodecProfileLevel;
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 26
StackMap locals: android.media.MediaCodecInfo$CodecCapabilities android.media.MediaFormat java.util.Map java.lang.String java.lang.Integer java.lang.Integer android.media.MediaCodecInfo$CodecCapabilities int top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
22: aload 11
iload 9
aaload
astore 8
start local 8 23: aload 8
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
aload 4
invokevirtual java.lang.Integer.intValue:()I
if_icmpne 25
aload 8
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
iload 7
if_icmple 25
24: aload 8
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
istore 7
end local 8 25: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
26: iload 9
iload 10
if_icmplt 22
27: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
aload 4
invokevirtual java.lang.Integer.intValue:()I
iload 7
invokestatic android.media.MediaCodecInfo$CodecCapabilities.createFromProfileLevel:(Ljava/lang/String;II)Landroid/media/MediaCodecInfo$CodecCapabilities;
astore 6
28: new java.util.HashMap
dup
aload 2
invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
astore 8
start local 8 29: aload 8
ldc "profile"
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
30: new android.media.MediaFormat
dup
aload 8
invokespecial android.media.MediaFormat.<init>:(Ljava/util/Map;)V
astore 9
start local 9 31: aload 6
ifnull 33
aload 6
aload 9
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.isFormatSupported:(Landroid/media/MediaFormat;)Z
ifne 33
32: iconst_0
ireturn
end local 9 end local 8 end local 7 end local 6 33: StackMap locals: android.media.MediaCodecInfo$CodecCapabilities android.media.MediaFormat java.util.Map java.lang.String java.lang.Integer java.lang.Integer
StackMap stack:
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mAudioCaps:Landroid/media/MediaCodecInfo$AudioCapabilities;
ifnull 35
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mAudioCaps:Landroid/media/MediaCodecInfo$AudioCapabilities;
aload 1
invokevirtual android.media.MediaCodecInfo$AudioCapabilities.supportsFormat:(Landroid/media/MediaFormat;)Z
ifne 35
34: iconst_0
ireturn
35: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mVideoCaps:Landroid/media/MediaCodecInfo$VideoCapabilities;
ifnull 37
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mVideoCaps:Landroid/media/MediaCodecInfo$VideoCapabilities;
aload 1
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.supportsFormat:(Landroid/media/MediaFormat;)Z
ifne 37
36: iconst_0
ireturn
37: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mEncoderCaps:Landroid/media/MediaCodecInfo$EncoderCapabilities;
ifnull 39
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mEncoderCaps:Landroid/media/MediaCodecInfo$EncoderCapabilities;
aload 1
invokevirtual android.media.MediaCodecInfo$EncoderCapabilities.supportsFormat:(Landroid/media/MediaFormat;)Z
ifne 39
38: iconst_0
ireturn
39: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
0 40 1 format Landroid/media/MediaFormat;
1 40 2 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
2 40 3 mime Ljava/lang/String;
6 12 4 feat Landroid/media/MediaCodecInfo$Feature;
7 12 8 yesNo Ljava/lang/Integer;
15 40 4 profile Ljava/lang/Integer;
16 40 5 level Ljava/lang/Integer;
20 33 6 levelCaps Landroid/media/MediaCodecInfo$CodecCapabilities;
21 33 7 maxLevel I
23 25 8 pl Landroid/media/MediaCodecInfo$CodecProfileLevel;
29 33 8 mapWithoutProfile Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
31 33 9 formatWithoutProfile Landroid/media/MediaFormat;
MethodParameters:
Name Flags
format
private static boolean supportsBitrate(android.util.Range<java.lang.Integer>, android.media.MediaFormat);
descriptor: (Landroid/util/Range;Landroid/media/MediaFormat;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual android.media.MediaFormat.getMap:()Ljava/util/Map;
astore 2
start local 2 1: aload 2
ldc "max-bitrate"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 3
start local 3 2: aload 2
ldc "bitrate"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 4
start local 4 3: aload 4
ifnonnull 6
4: aload 3
astore 4
5: goto 8
StackMap locals: java.util.Map java.lang.Integer java.lang.Integer
StackMap stack:
6: aload 3
ifnull 8
7: aload 4
invokevirtual java.lang.Integer.intValue:()I
aload 3
invokevirtual java.lang.Integer.intValue:()I
invokestatic java.lang.Math.max:(II)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 4
8: StackMap locals:
StackMap stack:
aload 4
ifnull 10
aload 4
invokevirtual java.lang.Integer.intValue:()I
ifle 10
9: aload 0
aload 4
invokevirtual android.util.Range.contains:(Ljava/lang/Comparable;)Z
ireturn
10: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 bitrateRange Landroid/util/Range<Ljava/lang/Integer;>;
0 11 1 format Landroid/media/MediaFormat;
1 11 2 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
2 11 3 maxBitrate Ljava/lang/Integer;
3 11 4 bitrate Ljava/lang/Integer;
Signature: (Landroid/util/Range<Ljava/lang/Integer;>;Landroid/media/MediaFormat;)Z
MethodParameters:
Name Flags
bitrateRange
format
private boolean supportsProfileLevel(int, java.lang.Integer);
descriptor: (ILjava/lang/Integer;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.profileLevels:[Landroid/media/MediaCodecInfo$CodecProfileLevel;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 29
StackMap locals: android.media.MediaCodecInfo$CodecCapabilities int java.lang.Integer top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 3
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
iload 1
if_icmpeq 4
3: goto 28
4: StackMap locals: android.media.MediaCodecInfo$CodecCapabilities int java.lang.Integer android.media.MediaCodecInfo$CodecProfileLevel int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
aload 2
ifnull 5
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
ldc "audio/mp4a-latm"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 6
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
6: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
ldc "video/3gpp"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 10
7: aload 3
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
aload 2
invokevirtual java.lang.Integer.intValue:()I
if_icmpeq 10
aload 3
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
bipush 16
if_icmpne 10
8: aload 2
invokevirtual java.lang.Integer.intValue:()I
iconst_1
if_icmple 10
9: goto 28
10: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
ldc "video/mp4v-es"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 14
11: aload 3
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
aload 2
invokevirtual java.lang.Integer.intValue:()I
if_icmpeq 14
aload 3
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
iconst_4
if_icmpne 14
12: aload 2
invokevirtual java.lang.Integer.intValue:()I
iconst_1
if_icmple 14
13: goto 28
14: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
ldc "video/hevc"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 23
15: aload 3
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
ldc 44739242
iand
ifeq 16
iconst_1
goto 17
StackMap locals:
StackMap stack:
16: iconst_0
17: StackMap locals:
StackMap stack: int
istore 7
start local 7 18: aload 2
invokevirtual java.lang.Integer.intValue:()I
ldc 44739242
iand
ifeq 19
iconst_1
goto 20
StackMap locals: int
StackMap stack:
19: iconst_0
StackMap locals:
StackMap stack: int
20: istore 8
start local 8 21: iload 8
ifeq 23
iload 7
ifne 23
22: goto 28
end local 8 end local 7 23: StackMap locals:
StackMap stack:
aload 3
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
aload 2
invokevirtual java.lang.Integer.intValue:()I
if_icmplt 28
24: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
iload 1
aload 3
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
invokestatic android.media.MediaCodecInfo$CodecCapabilities.createFromProfileLevel:(Ljava/lang/String;II)Landroid/media/MediaCodecInfo$CodecCapabilities;
ifnull 27
25: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
iload 1
aload 2
invokevirtual java.lang.Integer.intValue:()I
invokestatic android.media.MediaCodecInfo$CodecCapabilities.createFromProfileLevel:(Ljava/lang/String;II)Landroid/media/MediaCodecInfo$CodecCapabilities;
ifnull 26
iconst_1
ireturn
StackMap locals:
StackMap stack:
26: iconst_0
ireturn
27: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 28: StackMap locals: android.media.MediaCodecInfo$CodecCapabilities int java.lang.Integer top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
29: iload 4
iload 5
if_icmplt 1
30: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
0 31 1 profile I
0 31 2 level Ljava/lang/Integer;
2 28 3 pl Landroid/media/MediaCodecInfo$CodecProfileLevel;
18 23 7 supportsHighTier Z
21 23 8 checkingHighTier Z
MethodParameters:
Name Flags
profile
level
public android.media.MediaFormat getDefaultFormat();
descriptor: ()Landroid/media/MediaFormat;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mDefaultFormat:Landroid/media/MediaFormat;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
public java.lang.String getMimeType();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
public int getMaxSupportedInstances();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMaxSupportedInstances:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
private boolean isAudio();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mAudioCaps:Landroid/media/MediaCodecInfo$AudioCapabilities;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
public android.media.MediaCodecInfo$AudioCapabilities getAudioCapabilities();
descriptor: ()Landroid/media/MediaCodecInfo$AudioCapabilities;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mAudioCaps:Landroid/media/MediaCodecInfo$AudioCapabilities;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
private boolean isEncoder();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mEncoderCaps:Landroid/media/MediaCodecInfo$EncoderCapabilities;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
public android.media.MediaCodecInfo$EncoderCapabilities getEncoderCapabilities();
descriptor: ()Landroid/media/MediaCodecInfo$EncoderCapabilities;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mEncoderCaps:Landroid/media/MediaCodecInfo$EncoderCapabilities;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
private boolean isVideo();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mVideoCaps:Landroid/media/MediaCodecInfo$VideoCapabilities;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
public android.media.MediaCodecInfo$VideoCapabilities getVideoCapabilities();
descriptor: ()Landroid/media/MediaCodecInfo$VideoCapabilities;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mVideoCaps:Landroid/media/MediaCodecInfo$VideoCapabilities;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
public android.media.MediaCodecInfo$CodecCapabilities dup();
descriptor: ()Landroid/media/MediaCodecInfo$CodecCapabilities;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: new android.media.MediaCodecInfo$CodecCapabilities
dup
invokespecial android.media.MediaCodecInfo$CodecCapabilities.<init>:()V
astore 1
start local 1 1: aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.profileLevels:[Landroid/media/MediaCodecInfo$CodecProfileLevel;
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.profileLevels:[Landroid/media/MediaCodecInfo$CodecProfileLevel;
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast android.media.MediaCodecInfo$CodecProfileLevel[]
putfield android.media.MediaCodecInfo$CodecCapabilities.profileLevels:[Landroid/media/MediaCodecInfo$CodecProfileLevel;
2: aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.colorFormats:[I
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.colorFormats:[I
arraylength
invokestatic java.util.Arrays.copyOf:([II)[I
putfield android.media.MediaCodecInfo$CodecCapabilities.colorFormats:[I
3: aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
putfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
4: aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMaxSupportedInstances:I
putfield android.media.MediaCodecInfo$CodecCapabilities.mMaxSupportedInstances:I
5: aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mFlagsRequired:I
putfield android.media.MediaCodecInfo$CodecCapabilities.mFlagsRequired:I
6: aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mFlagsSupported:I
putfield android.media.MediaCodecInfo$CodecCapabilities.mFlagsSupported:I
7: aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mFlagsVerified:I
putfield android.media.MediaCodecInfo$CodecCapabilities.mFlagsVerified:I
8: aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mAudioCaps:Landroid/media/MediaCodecInfo$AudioCapabilities;
putfield android.media.MediaCodecInfo$CodecCapabilities.mAudioCaps:Landroid/media/MediaCodecInfo$AudioCapabilities;
9: aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mVideoCaps:Landroid/media/MediaCodecInfo$VideoCapabilities;
putfield android.media.MediaCodecInfo$CodecCapabilities.mVideoCaps:Landroid/media/MediaCodecInfo$VideoCapabilities;
10: aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mEncoderCaps:Landroid/media/MediaCodecInfo$EncoderCapabilities;
putfield android.media.MediaCodecInfo$CodecCapabilities.mEncoderCaps:Landroid/media/MediaCodecInfo$EncoderCapabilities;
11: aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mDefaultFormat:Landroid/media/MediaFormat;
putfield android.media.MediaCodecInfo$CodecCapabilities.mDefaultFormat:Landroid/media/MediaFormat;
12: aload 1
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mCapabilitiesInfo:Landroid/media/MediaFormat;
putfield android.media.MediaCodecInfo$CodecCapabilities.mCapabilitiesInfo:Landroid/media/MediaFormat;
13: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
1 14 1 caps Landroid/media/MediaCodecInfo$CodecCapabilities;
public static android.media.MediaCodecInfo$CodecCapabilities createFromProfileLevel(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)Landroid/media/MediaCodecInfo$CodecCapabilities;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=6, args_size=3
start local 0 start local 1 start local 2 0: new android.media.MediaCodecInfo$CodecProfileLevel
dup
invokespecial android.media.MediaCodecInfo$CodecProfileLevel.<init>:()V
astore 3
start local 3 1: aload 3
iload 1
putfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
2: aload 3
iload 2
putfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
3: new android.media.MediaFormat
dup
invokespecial android.media.MediaFormat.<init>:()V
astore 4
start local 4 4: aload 4
ldc "mime"
aload 0
invokevirtual android.media.MediaFormat.setString:(Ljava/lang/String;Ljava/lang/String;)V
5: new android.media.MediaCodecInfo$CodecCapabilities
dup
6: iconst_1
anewarray android.media.MediaCodecInfo$CodecProfileLevel
dup
iconst_0
aload 3
aastore
iconst_0
newarray 10
iconst_1
7: iconst_0
aload 4
new android.media.MediaFormat
dup
invokespecial android.media.MediaFormat.<init>:()V
8: invokespecial android.media.MediaCodecInfo$CodecCapabilities.<init>:([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZILandroid/media/MediaFormat;Landroid/media/MediaFormat;)V
astore 5
start local 5 9: aload 5
getfield android.media.MediaCodecInfo$CodecCapabilities.mError:I
ifeq 11
10: aconst_null
areturn
11: StackMap locals: android.media.MediaCodecInfo$CodecProfileLevel android.media.MediaFormat android.media.MediaCodecInfo$CodecCapabilities
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 mime Ljava/lang/String;
0 12 1 profile I
0 12 2 level I
1 12 3 pl Landroid/media/MediaCodecInfo$CodecProfileLevel;
4 12 4 defaultFormat Landroid/media/MediaFormat;
9 12 5 ret Landroid/media/MediaCodecInfo$CodecCapabilities;
MethodParameters:
Name Flags
mime
profile
level
void <init>(android.media.MediaCodecInfo$CodecProfileLevel[], int[], boolean, int, java.util.Map<java.lang.String, java.lang.Object>, java.util.Map<java.lang.String, java.lang.Object>);
descriptor: ([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZILjava/util/Map;Ljava/util/Map;)V
flags: (0x0000)
Code:
stack=9, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
iload 3
iload 4
1: new android.media.MediaFormat
dup
aload 5
invokespecial android.media.MediaFormat.<init>:(Ljava/util/Map;)V
2: new android.media.MediaFormat
dup
aload 6
invokespecial android.media.MediaFormat.<init>:(Ljava/util/Map;)V
invokespecial android.media.MediaCodecInfo$CodecCapabilities.<init>:([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZILandroid/media/MediaFormat;Landroid/media/MediaFormat;)V
3: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
0 4 1 profLevs [Landroid/media/MediaCodecInfo$CodecProfileLevel;
0 4 2 colFmts [I
0 4 3 encoder Z
0 4 4 flags I
0 4 5 defaultFormatMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
0 4 6 capabilitiesMap Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
Signature: ([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZILjava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)V
MethodParameters:
Name Flags
profLevs
colFmts
encoder
flags
defaultFormatMap
capabilitiesMap
void <init>(android.media.MediaCodecInfo$CodecProfileLevel[], int[], boolean, int, android.media.MediaFormat, android.media.MediaFormat);
descriptor: ([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZILandroid/media/MediaFormat;Landroid/media/MediaFormat;)V
flags: (0x0000)
Code:
stack=4, locals=16, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 6
invokevirtual android.media.MediaFormat.getMap:()Ljava/util/Map;
astore 7
start local 7 2: aload 0
aload 2
putfield android.media.MediaCodecInfo$CodecCapabilities.colorFormats:[I
3: aload 0
iload 4
putfield android.media.MediaCodecInfo$CodecCapabilities.mFlagsVerified:I
4: aload 0
aload 5
putfield android.media.MediaCodecInfo$CodecCapabilities.mDefaultFormat:Landroid/media/MediaFormat;
5: aload 0
aload 6
putfield android.media.MediaCodecInfo$CodecCapabilities.mCapabilitiesInfo:Landroid/media/MediaFormat;
6: aload 0
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mDefaultFormat:Landroid/media/MediaFormat;
ldc "mime"
invokevirtual android.media.MediaFormat.getString:(Ljava/lang/String;)Ljava/lang/String;
putfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
7: aload 1
arraylength
ifne 12
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
ldc "video/x-vnd.on2.vp9"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 12
8: new android.media.MediaCodecInfo$CodecProfileLevel
dup
invokespecial android.media.MediaCodecInfo$CodecProfileLevel.<init>:()V
astore 8
start local 8 9: aload 8
iconst_1
putfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
10: aload 8
aload 6
invokestatic android.media.MediaCodecInfo$VideoCapabilities.equivalentVP9Level:(Landroid/media/MediaFormat;)I
putfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
11: iconst_1
anewarray android.media.MediaCodecInfo$CodecProfileLevel
dup
iconst_0
aload 8
aastore
astore 1
end local 8 12: StackMap locals: android.media.MediaCodecInfo$CodecCapabilities android.media.MediaCodecInfo$CodecProfileLevel[] int[] int int android.media.MediaFormat android.media.MediaFormat java.util.Map
StackMap stack:
aload 0
aload 1
putfield android.media.MediaCodecInfo$CodecCapabilities.profileLevels:[Landroid/media/MediaCodecInfo$CodecProfileLevel;
13: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc "audio/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 17
14: aload 0
aload 6
aload 0
invokestatic android.media.MediaCodecInfo$AudioCapabilities.create:(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)Landroid/media/MediaCodecInfo$AudioCapabilities;
putfield android.media.MediaCodecInfo$CodecCapabilities.mAudioCaps:Landroid/media/MediaCodecInfo$AudioCapabilities;
15: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mAudioCaps:Landroid/media/MediaCodecInfo$AudioCapabilities;
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mDefaultFormat:Landroid/media/MediaFormat;
invokevirtual android.media.MediaCodecInfo$AudioCapabilities.getDefaultFormat:(Landroid/media/MediaFormat;)V
16: goto 20
StackMap locals:
StackMap stack:
17: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
ldc "video/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 19
18: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMime:Ljava/lang/String;
ldc "image/vnd.android.heic"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 20
19: StackMap locals:
StackMap stack:
aload 0
aload 6
aload 0
invokestatic android.media.MediaCodecInfo$VideoCapabilities.create:(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)Landroid/media/MediaCodecInfo$VideoCapabilities;
putfield android.media.MediaCodecInfo$CodecCapabilities.mVideoCaps:Landroid/media/MediaCodecInfo$VideoCapabilities;
20: StackMap locals:
StackMap stack:
iload 3
ifeq 23
21: aload 0
aload 6
aload 0
invokestatic android.media.MediaCodecInfo$EncoderCapabilities.create:(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)Landroid/media/MediaCodecInfo$EncoderCapabilities;
putfield android.media.MediaCodecInfo$CodecCapabilities.mEncoderCaps:Landroid/media/MediaCodecInfo$EncoderCapabilities;
22: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mEncoderCaps:Landroid/media/MediaCodecInfo$EncoderCapabilities;
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mDefaultFormat:Landroid/media/MediaFormat;
invokevirtual android.media.MediaCodecInfo$EncoderCapabilities.getDefaultFormat:(Landroid/media/MediaFormat;)V
23: StackMap locals:
StackMap stack:
invokestatic android.media.MediaCodecList.getGlobalSettings:()Ljava/util/Map;
astore 8
start local 8 24: aload 0
25: aload 8
ldc "max-concurrent-instances"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
bipush 32
26: invokestatic android.media.Utils.parseIntSafely:(Ljava/lang/Object;I)I
putfield android.media.MediaCodecInfo$CodecCapabilities.mMaxSupportedInstances:I
27: aload 7
ldc "max-concurrent-instances"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mMaxSupportedInstances:I
28: invokestatic android.media.Utils.parseIntSafely:(Ljava/lang/Object;I)I
istore 9
start local 9 29: aload 0
30: iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
sipush 256
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
iload 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.util.Range.clamp:(Ljava/lang/Comparable;)Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
31: putfield android.media.MediaCodecInfo$CodecCapabilities.mMaxSupportedInstances:I
32: aload 0
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.getValidFeatures:()[Landroid/media/MediaCodecInfo$Feature;
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 43
StackMap locals: android.media.MediaCodecInfo$CodecCapabilities android.media.MediaCodecInfo$CodecProfileLevel[] int[] int int android.media.MediaFormat android.media.MediaFormat java.util.Map java.util.Map int top int int android.media.MediaCodecInfo$Feature[]
StackMap stack:
33: aload 13
iload 11
aaload
astore 10
start local 10 34: new java.lang.StringBuilder
dup
ldc "feature-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
getfield android.media.MediaCodecInfo$Feature.mName:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
start local 14 35: aload 7
aload 14
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 15
start local 15 36: aload 15
ifnonnull 38
37: goto 42
38: StackMap locals: android.media.MediaCodecInfo$CodecCapabilities android.media.MediaCodecInfo$CodecProfileLevel[] int[] int int android.media.MediaFormat android.media.MediaFormat java.util.Map java.util.Map int android.media.MediaCodecInfo$Feature int int android.media.MediaCodecInfo$Feature[] java.lang.String java.lang.Integer
StackMap stack:
aload 15
invokevirtual java.lang.Integer.intValue:()I
ifle 40
39: aload 0
dup
getfield android.media.MediaCodecInfo$CodecCapabilities.mFlagsRequired:I
aload 10
getfield android.media.MediaCodecInfo$Feature.mValue:I
ior
putfield android.media.MediaCodecInfo$CodecCapabilities.mFlagsRequired:I
40: StackMap locals:
StackMap stack:
aload 0
dup
getfield android.media.MediaCodecInfo$CodecCapabilities.mFlagsSupported:I
aload 10
getfield android.media.MediaCodecInfo$Feature.mValue:I
ior
putfield android.media.MediaCodecInfo$CodecCapabilities.mFlagsSupported:I
41: aload 0
getfield android.media.MediaCodecInfo$CodecCapabilities.mDefaultFormat:Landroid/media/MediaFormat;
aload 14
iconst_1
invokevirtual android.media.MediaFormat.setInteger:(Ljava/lang/String;I)V
end local 15 end local 14 end local 10 42: StackMap locals: android.media.MediaCodecInfo$CodecCapabilities android.media.MediaCodecInfo$CodecProfileLevel[] int[] int int android.media.MediaFormat android.media.MediaFormat java.util.Map java.util.Map int top int int android.media.MediaCodecInfo$Feature[]
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
43: iload 11
iload 12
if_icmplt 33
44: return
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 45 0 this Landroid/media/MediaCodecInfo$CodecCapabilities;
0 45 1 profLevs [Landroid/media/MediaCodecInfo$CodecProfileLevel;
0 45 2 colFmts [I
0 45 3 encoder Z
0 45 4 flags I
0 45 5 defaultFormat Landroid/media/MediaFormat;
0 45 6 info Landroid/media/MediaFormat;
2 45 7 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
9 12 8 profLev Landroid/media/MediaCodecInfo$CodecProfileLevel;
24 45 8 global Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
29 45 9 maxInstances I
34 42 10 feat Landroid/media/MediaCodecInfo$Feature;
35 42 14 key Ljava/lang/String;
36 42 15 yesNo Ljava/lang/Integer;
MethodParameters:
Name Flags
profLevs
colFmts
encoder
flags
defaultFormat
info
}
SourceFile: "MediaCodecInfo.java"
NestHost: android.media.MediaCodecInfo
InnerClasses:
public final AudioCapabilities = android.media.MediaCodecInfo$AudioCapabilities of android.media.MediaCodecInfo
public final CodecCapabilities = android.media.MediaCodecInfo$CodecCapabilities of android.media.MediaCodecInfo
public final CodecProfileLevel = android.media.MediaCodecInfo$CodecProfileLevel of android.media.MediaCodecInfo
public final EncoderCapabilities = android.media.MediaCodecInfo$EncoderCapabilities of android.media.MediaCodecInfo
private Feature = android.media.MediaCodecInfo$Feature of android.media.MediaCodecInfo
public final VideoCapabilities = android.media.MediaCodecInfo$VideoCapabilities of android.media.MediaCodecInfo