public final class android.media.MediaCodecInfo$VideoCapabilities
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: android.media.MediaCodecInfo$VideoCapabilities
super_class: java.lang.Object
{
private static final java.lang.String TAG;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "VideoCapabilities"
private android.media.MediaCodecInfo$CodecCapabilities mParent;
descriptor: Landroid/media/MediaCodecInfo$CodecCapabilities;
flags: (0x0002) ACC_PRIVATE
private android.util.Range<java.lang.Integer> mBitrateRange;
descriptor: Landroid/util/Range;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/Range<Ljava/lang/Integer;>;
private android.util.Range<java.lang.Integer> mHeightRange;
descriptor: Landroid/util/Range;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/Range<Ljava/lang/Integer;>;
private android.util.Range<java.lang.Integer> mWidthRange;
descriptor: Landroid/util/Range;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/Range<Ljava/lang/Integer;>;
private android.util.Range<java.lang.Integer> mBlockCountRange;
descriptor: Landroid/util/Range;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/Range<Ljava/lang/Integer;>;
private android.util.Range<java.lang.Integer> mHorizontalBlockRange;
descriptor: Landroid/util/Range;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/Range<Ljava/lang/Integer;>;
private android.util.Range<java.lang.Integer> mVerticalBlockRange;
descriptor: Landroid/util/Range;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/Range<Ljava/lang/Integer;>;
private android.util.Range<android.util.Rational> mAspectRatioRange;
descriptor: Landroid/util/Range;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/Range<Landroid/util/Rational;>;
private android.util.Range<android.util.Rational> mBlockAspectRatioRange;
descriptor: Landroid/util/Range;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/Range<Landroid/util/Rational;>;
private android.util.Range<java.lang.Long> mBlocksPerSecondRange;
descriptor: Landroid/util/Range;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/Range<Ljava/lang/Long;>;
private java.util.Map<android.util.Size, android.util.Range<java.lang.Long>> mMeasuredFrameRates;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Landroid/util/Size;Landroid/util/Range<Ljava/lang/Long;>;>;
private android.util.Range<java.lang.Integer> mFrameRateRange;
descriptor: Landroid/util/Range;
flags: (0x0002) ACC_PRIVATE
Signature: Landroid/util/Range<Ljava/lang/Integer;>;
private int mBlockWidth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mBlockHeight;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mWidthAlignment;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mHeightAlignment;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int mSmallerDimensionUpperLimit;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean mAllowMbOverride;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
public android.util.Range<java.lang.Integer> getBitrateRange();
descriptor: ()Landroid/util/Range;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBitrateRange:Landroid/util/Range;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
Signature: ()Landroid/util/Range<Ljava/lang/Integer;>;
public android.util.Range<java.lang.Integer> getSupportedWidths();
descriptor: ()Landroid/util/Range;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
Signature: ()Landroid/util/Range<Ljava/lang/Integer;>;
public android.util.Range<java.lang.Integer> getSupportedHeights();
descriptor: ()Landroid/util/Range;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
Signature: ()Landroid/util/Range<Ljava/lang/Integer;>;
public int getWidthAlignment();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthAlignment:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
public int getHeightAlignment();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightAlignment:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
public int getSmallerDimensionUpperLimit();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mSmallerDimensionUpperLimit:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
public android.util.Range<java.lang.Integer> getSupportedFrameRates();
descriptor: ()Landroid/util/Range;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
Signature: ()Landroid/util/Range<Ljava/lang/Integer;>;
public android.util.Range<java.lang.Integer> getSupportedWidthsFor(int);
descriptor: (I)Landroid/util/Range;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
astore 2
start local 2 1: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.util.Range.contains:(Ljava/lang/Comparable;)Z
ifeq 3
2: iload 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightAlignment:I
irem
ifeq 4
3: StackMap locals: android.util.Range
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "unsupported height"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
invokestatic android.media.Utils.divUp:(II)I
istore 3
start local 3 5: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iload 3
invokestatic android.media.Utils.divUp:(II)I
6: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast android.util.Rational
invokevirtual android.util.Rational.doubleValue:()D
7: iload 3
i2d
8: dmul
invokestatic java.lang.Math.ceil:(D)D
d2i
9: invokestatic java.lang.Math.max:(II)I
istore 4
start local 4 10: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iload 3
idiv
11: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast android.util.Rational
invokevirtual android.util.Rational.doubleValue:()D
12: iload 3
i2d
13: dmul
d2i
14: invokestatic java.lang.Math.min:(II)I
istore 5
start local 5 15: aload 2
16: iload 4
iconst_1
isub
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
imul
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthAlignment:I
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
17: iload 5
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
imul
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
18: invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
astore 2
19: iload 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mSmallerDimensionUpperLimit:I
if_icmple 21
20: aload 2
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mSmallerDimensionUpperLimit:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
astore 2
21: StackMap locals: int int int
StackMap stack:
aload 2
22: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mAspectRatioRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast android.util.Rational
invokevirtual android.util.Rational.doubleValue:()D
23: iload 1
i2d
24: dmul
invokestatic java.lang.Math.ceil:(D)D
d2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
25: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mAspectRatioRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast android.util.Rational
invokevirtual android.util.Rational.doubleValue:()D
iload 1
i2d
dmul
d2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
26: invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
astore 2
27: aload 2
28: areturn
end local 5 end local 4 end local 3 end local 2 29: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities int
StackMap stack: java.lang.IllegalArgumentException
pop
30: ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "could not get supported widths for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
31: new java.lang.IllegalArgumentException
dup
ldc "unsupported height"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 32 1 height I
1 29 2 range Landroid/util/Range<Ljava/lang/Integer;>;
5 29 3 heightInBlocks I
10 29 4 minWidthInBlocks I
15 29 5 maxWidthInBlocks I
Exception table:
from to target type
0 28 29 Class java.lang.IllegalArgumentException
Signature: (I)Landroid/util/Range<Ljava/lang/Integer;>;
MethodParameters:
Name Flags
height
public android.util.Range<java.lang.Integer> getSupportedHeightsFor(int);
descriptor: (I)Landroid/util/Range;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
astore 2
start local 2 1: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.util.Range.contains:(Ljava/lang/Comparable;)Z
ifeq 3
2: iload 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthAlignment:I
irem
ifeq 4
3: StackMap locals: android.util.Range
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "unsupported width"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
invokestatic android.media.Utils.divUp:(II)I
istore 3
start local 3 5: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iload 3
invokestatic android.media.Utils.divUp:(II)I
6: iload 3
i2d
7: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast android.util.Rational
invokevirtual android.util.Rational.doubleValue:()D
8: ddiv
invokestatic java.lang.Math.ceil:(D)D
d2i
9: invokestatic java.lang.Math.max:(II)I
istore 4
start local 4 10: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iload 3
idiv
11: iload 3
i2d
12: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast android.util.Rational
invokevirtual android.util.Rational.doubleValue:()D
13: ddiv
d2i
14: invokestatic java.lang.Math.min:(II)I
istore 5
start local 5 15: aload 2
16: iload 4
iconst_1
isub
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
imul
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightAlignment:I
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
17: iload 5
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
imul
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
18: invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
astore 2
19: iload 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mSmallerDimensionUpperLimit:I
if_icmple 21
20: aload 2
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mSmallerDimensionUpperLimit:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
astore 2
21: StackMap locals: int int int
StackMap stack:
aload 2
22: iload 1
i2d
23: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mAspectRatioRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast android.util.Rational
invokevirtual android.util.Rational.doubleValue:()D
24: ddiv
invokestatic java.lang.Math.ceil:(D)D
d2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
25: iload 1
i2d
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mAspectRatioRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast android.util.Rational
invokevirtual android.util.Rational.doubleValue:()D
ddiv
d2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
26: invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
astore 2
27: aload 2
28: areturn
end local 5 end local 4 end local 3 end local 2 29: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities int
StackMap stack: java.lang.IllegalArgumentException
pop
30: ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "could not get supported heights for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.v:(Ljava/lang/String;Ljava/lang/String;)I
pop
31: new java.lang.IllegalArgumentException
dup
ldc "unsupported width"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 32 1 width I
1 29 2 range Landroid/util/Range<Ljava/lang/Integer;>;
5 29 3 widthInBlocks I
10 29 4 minHeightInBlocks I
15 29 5 maxHeightInBlocks I
Exception table:
from to target type
0 28 29 Class java.lang.IllegalArgumentException
Signature: (I)Landroid/util/Range<Ljava/lang/Integer;>;
MethodParameters:
Name Flags
width
public android.util.Range<java.lang.Double> getSupportedFrameRatesFor(int, int);
descriptor: (II)Landroid/util/Range;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aconst_null
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.supports:(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Number;)Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "unsupported size"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
iload 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
invokestatic android.media.Utils.divUp:(II)I
iload 2
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
invokestatic android.media.Utils.divUp:(II)I
imul
3: istore 3
start local 3 4: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
l2d
iload 3
i2d
ddiv
5: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2d
6: invokestatic java.lang.Math.max:(DD)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
7: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
l2d
iload 3
i2d
ddiv
8: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2d
9: invokestatic java.lang.Math.min:(DD)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
10: invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 11 1 width I
0 11 2 height I
4 11 3 blockCount I
Signature: (II)Landroid/util/Range<Ljava/lang/Double;>;
MethodParameters:
Name Flags
width
height
private int getBlockCount(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
invokestatic android.media.Utils.divUp:(II)I
iload 2
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
invokestatic android.media.Utils.divUp:(II)I
imul
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 1 1 width I
0 1 2 height I
MethodParameters:
Name Flags
width
height
private android.util.Size findClosestSize(int, int);
descriptor: (II)Landroid/util/Size;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.getBlockCount:(II)I
istore 3
start local 3 1: aconst_null
astore 4
start local 4 2: ldc 2147483647
istore 5
start local 5 3: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mMeasuredFrameRates:Ljava/util/Map;
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 11
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities int int int android.util.Size int top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast android.util.Size
astore 6
start local 6 5: iload 3
6: aload 0
aload 6
invokevirtual android.util.Size.getWidth:()I
aload 6
invokevirtual android.util.Size.getHeight:()I
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.getBlockCount:(II)I
7: isub
invokestatic java.lang.Math.abs:(I)I
istore 8
start local 8 8: iload 8
iload 5
if_icmpge 11
9: iload 8
istore 5
10: aload 6
astore 4
end local 8 end local 6 11: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
12: aload 4
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 13 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 13 1 width I
0 13 2 height I
1 13 3 targetBlockCount I
2 13 4 closestSize Landroid/util/Size;
3 13 5 minDiff I
5 11 6 size Landroid/util/Size;
8 11 8 diff I
MethodParameters:
Name Flags
width
height
private android.util.Range<java.lang.Double> estimateFrameRatesFor(int, int);
descriptor: (II)Landroid/util/Range;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
iload 2
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.findClosestSize:(II)Landroid/util/Size;
astore 3
start local 3 1: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mMeasuredFrameRates:Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast android.util.Range
astore 4
start local 4 2: aload 0
aload 3
invokevirtual android.util.Size.getWidth:()I
aload 3
invokevirtual android.util.Size.getHeight:()I
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.getBlockCount:(II)I
i2d
3: aload 0
iload 1
iload 2
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.getBlockCount:(II)I
iconst_1
invokestatic java.lang.Math.max:(II)I
i2d
4: ddiv
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
astore 5
start local 5 5: aload 4
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
l2d
aload 5
invokevirtual java.lang.Double.doubleValue:()D
dmul
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aload 4
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
l2d
aload 5
invokevirtual java.lang.Double.doubleValue:()D
dmul
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
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 6 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 6 1 width I
0 6 2 height I
1 6 3 size Landroid/util/Size;
2 6 4 range Landroid/util/Range<Ljava/lang/Long;>;
5 6 5 ratio Ljava/lang/Double;
Signature: (II)Landroid/util/Range<Ljava/lang/Double;>;
MethodParameters:
Name Flags
width
height
public android.util.Range<java.lang.Double> getAchievableFrameRatesFor(int, int);
descriptor: (II)Landroid/util/Range;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aconst_null
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.supports:(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Number;)Z
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "unsupported size"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mMeasuredFrameRates:Ljava/util/Map;
ifnull 3
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mMeasuredFrameRates:Ljava/util/Map;
invokeinterface java.util.Map.size:()I
ifgt 5
3: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
ldc "Codec did not publish any measurement data."
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
4: aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 0
iload 1
iload 2
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.estimateFrameRatesFor:(II)Landroid/util/Range;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 6 1 width I
0 6 2 height I
Signature: (II)Landroid/util/Range<Ljava/lang/Double;>;
MethodParameters:
Name Flags
width
height
public boolean areSizeAndRateSupported(int, int, double);
descriptor: (IID)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
dload 3
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.supports:(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Number;)Z
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 1 1 width I
0 1 2 height I
0 1 3 frameRate D
MethodParameters:
Name Flags
width
height
frameRate
public boolean isSizeSupported(int, int);
descriptor: (II)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 2
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aconst_null
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.supports:(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Number;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 1 1 width I
0 1 2 height I
MethodParameters:
Name Flags
width
height
private boolean supports(java.lang.Integer, java.lang.Integer, java.lang.Number);
descriptor: (Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Number;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iconst_1
istore 4
start local 4 1: iload 4
ifeq 7
aload 1
ifnull 7
2: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
aload 1
invokevirtual android.util.Range.contains:(Ljava/lang/Comparable;)Z
ifeq 5
3: aload 1
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthAlignment:I
irem
ifne 5
4: iconst_1
goto 6
StackMap locals: int
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: istore 4
7: StackMap locals:
StackMap stack:
iload 4
ifeq 13
aload 2
ifnull 13
8: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
aload 2
invokevirtual android.util.Range.contains:(Ljava/lang/Comparable;)Z
ifeq 11
9: aload 2
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightAlignment:I
irem
ifne 11
10: iconst_1
goto 12
StackMap locals:
StackMap stack:
11: iconst_0
StackMap locals:
StackMap stack: int
12: istore 4
13: StackMap locals:
StackMap stack:
iload 4
ifeq 15
aload 3
ifnull 15
14: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
aload 3
invokevirtual java.lang.Number.doubleValue:()D
invokestatic android.media.Utils.intRangeFor:(D)Landroid/util/Range;
invokevirtual android.util.Range.contains:(Landroid/util/Range;)Z
istore 4
15: StackMap locals:
StackMap stack:
iload 4
ifeq 36
aload 2
ifnull 36
aload 1
ifnull 36
16: aload 2
invokevirtual java.lang.Integer.intValue:()I
aload 1
invokevirtual java.lang.Integer.intValue:()I
invokestatic java.lang.Math.min:(II)I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mSmallerDimensionUpperLimit:I
if_icmpgt 17
iconst_1
goto 18
StackMap locals:
StackMap stack:
17: iconst_0
StackMap locals:
StackMap stack: int
18: istore 4
19: aload 1
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
invokestatic android.media.Utils.divUp:(II)I
istore 5
start local 5 20: aload 2
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
invokestatic android.media.Utils.divUp:(II)I
istore 6
start local 6 21: iload 5
iload 6
imul
istore 7
start local 7 22: iload 4
ifeq 29
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.util.Range.contains:(Ljava/lang/Comparable;)Z
ifeq 29
23: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
24: new android.util.Rational
dup
iload 5
iload 6
invokespecial android.util.Rational.<init>:(II)V
25: invokevirtual android.util.Range.contains:(Ljava/lang/Comparable;)Z
26: ifeq 29
27: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mAspectRatioRange:Landroid/util/Range;
new android.util.Rational
dup
aload 1
invokevirtual java.lang.Integer.intValue:()I
aload 2
invokevirtual java.lang.Integer.intValue:()I
invokespecial android.util.Rational.<init>:(II)V
invokevirtual android.util.Range.contains:(Ljava/lang/Comparable;)Z
ifeq 29
28: iconst_1
goto 30
StackMap locals: int int int
StackMap stack:
29: iconst_0
StackMap locals:
StackMap stack: int
30: istore 4
31: iload 4
ifeq 36
aload 3
ifnull 36
32: iload 7
i2d
aload 3
invokevirtual java.lang.Number.doubleValue:()D
dmul
dstore 8
start local 8 33: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
34: dload 8
invokestatic android.media.Utils.longRangeFor:(D)Landroid/util/Range;
35: invokevirtual android.util.Range.contains:(Landroid/util/Range;)Z
istore 4
end local 8 end local 7 end local 6 end local 5 36: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 37 1 width Ljava/lang/Integer;
0 37 2 height Ljava/lang/Integer;
0 37 3 rate Ljava/lang/Number;
1 37 4 ok Z
20 36 5 widthInBlocks I
21 36 6 heightInBlocks I
22 36 7 blockCount I
33 36 8 blocksPerSec D
MethodParameters:
Name Flags
width
height
rate
public boolean supportsFormat(android.media.MediaFormat);
descriptor: (Landroid/media/MediaFormat;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, 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 "width"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 3
start local 3 2: aload 2
ldc "height"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 4
start local 4 3: aload 2
ldc "frame-rate"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Number
astore 5
start local 5 4: aload 0
aload 3
aload 4
aload 5
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.supports:(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Number;)Z
ifne 6
5: iconst_0
ireturn
6: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities android.media.MediaFormat java.util.Map java.lang.Integer java.lang.Integer java.lang.Number
StackMap stack:
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBitrateRange:Landroid/util/Range;
aload 1
invokestatic android.media.MediaCodecInfo$CodecCapabilities.supportsBitrate:(Landroid/util/Range;Landroid/media/MediaFormat;)Z
ifne 8
7: iconst_0
ireturn
8: 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 9 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 9 1 format Landroid/media/MediaFormat;
1 9 2 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
2 9 3 width Ljava/lang/Integer;
3 9 4 height Ljava/lang/Integer;
4 9 5 rate Ljava/lang/Number;
MethodParameters:
Name Flags
format
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
public static android.media.MediaCodecInfo$VideoCapabilities create(android.media.MediaFormat, android.media.MediaCodecInfo$CodecCapabilities);
descriptor: (Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)Landroid/media/MediaCodecInfo$VideoCapabilities;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new android.media.MediaCodecInfo$VideoCapabilities
dup
invokespecial android.media.MediaCodecInfo$VideoCapabilities.<init>:()V
astore 2
start local 2 1: aload 2
aload 0
aload 1
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.init:(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)V
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 info Landroid/media/MediaFormat;
0 3 1 parent Landroid/media/MediaCodecInfo$CodecCapabilities;
1 3 2 caps Landroid/media/MediaCodecInfo$VideoCapabilities;
MethodParameters:
Name Flags
info
parent
private void init(android.media.MediaFormat, android.media.MediaCodecInfo$CodecCapabilities);
descriptor: (Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
putfield android.media.MediaCodecInfo$VideoCapabilities.mParent:Landroid/media/MediaCodecInfo$CodecCapabilities;
1: aload 0
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.initWithPlatformLimits:()V
2: aload 0
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.applyLevelLimits:()V
3: aload 0
aload 1
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.parseFromInfo:(Landroid/media/MediaFormat;)V
4: aload 0
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.updateLimits:()V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 6 1 info Landroid/media/MediaFormat;
0 6 2 parent Landroid/media/MediaCodecInfo$CodecCapabilities;
MethodParameters:
Name Flags
info
parent
public android.util.Size getBlockSize();
descriptor: ()Landroid/util/Size;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new android.util.Size
dup
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
invokespecial android.util.Size.<init>:(II)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
public android.util.Range<java.lang.Integer> getBlockCountRange();
descriptor: ()Landroid/util/Range;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
Signature: ()Landroid/util/Range<Ljava/lang/Integer;>;
public android.util.Range<java.lang.Long> getBlocksPerSecondRange();
descriptor: ()Landroid/util/Range;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
Signature: ()Landroid/util/Range<Ljava/lang/Long;>;
public android.util.Range<android.util.Rational> getAspectRatioRange(boolean);
descriptor: (Z)Landroid/util/Range;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifeq 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
goto 2
StackMap locals:
StackMap stack:
1: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mAspectRatioRange:Landroid/util/Range;
StackMap locals:
StackMap stack: android.util.Range
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 3 1 blocks Z
Signature: (Z)Landroid/util/Range<Landroid/util/Rational;>;
MethodParameters:
Name Flags
blocks
private void initWithPlatformLimits();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic android.media.MediaCodecInfo.BITRATE_RANGE:Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBitrateRange:Landroid/util/Range;
1: aload 0
getstatic android.media.MediaCodecInfo.SIZE_RANGE:Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
2: aload 0
getstatic android.media.MediaCodecInfo.SIZE_RANGE:Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
3: aload 0
getstatic android.media.MediaCodecInfo.FRAME_RATE_RANGE:Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
4: aload 0
getstatic android.media.MediaCodecInfo.SIZE_RANGE:Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
5: aload 0
getstatic android.media.MediaCodecInfo.SIZE_RANGE:Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
6: aload 0
getstatic android.media.MediaCodecInfo.POSITIVE_INTEGERS:Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
7: aload 0
getstatic android.media.MediaCodecInfo.POSITIVE_LONGS:Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
8: aload 0
getstatic android.media.MediaCodecInfo.POSITIVE_RATIONALS:Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
9: aload 0
getstatic android.media.MediaCodecInfo.POSITIVE_RATIONALS:Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mAspectRatioRange:Landroid/util/Range;
10: aload 0
iconst_2
putfield android.media.MediaCodecInfo$VideoCapabilities.mWidthAlignment:I
11: aload 0
iconst_2
putfield android.media.MediaCodecInfo$VideoCapabilities.mHeightAlignment:I
12: aload 0
iconst_2
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
13: aload 0
iconst_2
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
14: aload 0
getstatic android.media.MediaCodecInfo.SIZE_RANGE:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
putfield android.media.MediaCodecInfo$VideoCapabilities.mSmallerDimensionUpperLimit:I
15: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
private java.util.Map<android.util.Size, android.util.Range<java.lang.Long>> getMeasuredFrameRates(java.util.Map<java.lang.String, java.lang.Object>);
descriptor: (Ljava/util/Map;)Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 2
start local 2 1: aload 1
invokeinterface java.util.Map.keySet:()Ljava/util/Set;
astore 3
start local 3 2: aload 3
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 5
goto 18
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities java.util.Map java.util.Map java.util.Set top java.util.Iterator
StackMap stack:
3: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 4: aload 4
ldc "measured-frame-rate-"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 6
5: goto 18
6: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities java.util.Map java.util.Map java.util.Set java.lang.String java.util.Iterator
StackMap stack:
aload 4
ldc "measured-frame-rate-"
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
pop
7: aload 4
ldc "-"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 6
start local 6 8: aload 6
arraylength
iconst_5
if_icmpeq 10
9: goto 18
10: StackMap locals: java.lang.String[]
StackMap stack:
aload 6
iconst_3
aaload
astore 7
start local 7 11: aload 7
aconst_null
invokestatic android.media.Utils.parseSize:(Ljava/lang/Object;Landroid/util/Size;)Landroid/util/Size;
astore 8
start local 8 12: aload 8
ifnull 18
aload 8
invokevirtual android.util.Size.getWidth:()I
aload 8
invokevirtual android.util.Size.getHeight:()I
imul
ifgt 14
13: goto 18
14: StackMap locals: java.lang.String android.util.Size
StackMap stack:
aload 1
aload 4
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aconst_null
invokestatic android.media.Utils.parseLongRange:(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
astore 9
start local 9 15: aload 9
ifnull 18
aload 9
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lconst_0
lcmp
iflt 18
aload 9
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lconst_0
lcmp
ifge 17
16: goto 18
17: StackMap locals: android.util.Range
StackMap stack:
aload 2
aload 8
aload 9
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 9 end local 8 end local 7 end local 6 end local 4 18: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities java.util.Map java.util.Map java.util.Set top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
19: aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 20 1 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
1 20 2 ret Ljava/util/Map<Landroid/util/Size;Landroid/util/Range<Ljava/lang/Long;>;>;
2 20 3 keys Ljava/util/Set<Ljava/lang/String;>;
4 18 4 key Ljava/lang/String;
8 18 6 temp [Ljava/lang/String;
11 18 7 sizeStr Ljava/lang/String;
12 18 8 size Landroid/util/Size;
15 18 9 range Landroid/util/Range<Ljava/lang/Long;>;
Signature: (Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;)Ljava/util/Map<Landroid/util/Size;Landroid/util/Range<Ljava/lang/Long;>;>;
MethodParameters:
Name Flags
map
private static android.util.Pair<android.util.Range<java.lang.Integer>, android.util.Range<java.lang.Integer>> parseWidthHeightRanges();
descriptor: (Ljava/lang/Object;)Landroid/util/Pair;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokestatic android.media.Utils.parseSizeRange:(Ljava/lang/Object;)Landroid/util/Pair;
astore 1
start local 1 1: aload 1
ifnull 8
2: aload 1
getfield android.util.Pair.first:Ljava/lang/Object;
checkcast android.util.Size
invokevirtual android.util.Size.getWidth:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
getfield android.util.Pair.second:Ljava/lang/Object;
checkcast android.util.Size
invokevirtual android.util.Size.getWidth:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
3: aload 1
getfield android.util.Pair.first:Ljava/lang/Object;
checkcast android.util.Size
invokevirtual android.util.Size.getHeight:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 1
getfield android.util.Pair.second:Ljava/lang/Object;
checkcast android.util.Size
invokevirtual android.util.Size.getHeight:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
4: invokestatic android.util.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Landroid/util/Pair;
5: areturn
6: StackMap locals: java.lang.Object android.util.Pair
StackMap stack: java.lang.IllegalArgumentException
pop
7: ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "could not parse size range '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "'"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 o Ljava/lang/Object;
1 9 1 range Landroid/util/Pair<Landroid/util/Size;Landroid/util/Size;>;
Exception table:
from to target type
2 5 6 Class java.lang.IllegalArgumentException
Signature: (Ljava/lang/Object;)Landroid/util/Pair<Landroid/util/Range<Ljava/lang/Integer;>;Landroid/util/Range<Ljava/lang/Integer;>;>;
MethodParameters:
Name Flags
o
public static int equivalentVP9Level(android.media.MediaFormat);
descriptor: (Landroid/media/MediaFormat;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=13, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaFormat.getMap:()Ljava/util/Map;
astore 1
start local 1 1: aload 1
ldc "block-size"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
new android.util.Size
dup
bipush 8
bipush 8
invokespecial android.util.Size.<init>:(II)V
invokestatic android.media.Utils.parseSize:(Ljava/lang/Object;Landroid/util/Size;)Landroid/util/Size;
astore 2
start local 2 2: aload 2
invokevirtual android.util.Size.getWidth:()I
aload 2
invokevirtual android.util.Size.getHeight:()I
imul
istore 3
start local 3 3: aload 1
ldc "block-count-range"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aconst_null
invokestatic android.media.Utils.parseIntRange:(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
astore 4
start local 4 4: aload 4
ifnonnull 5
iconst_0
goto 6
StackMap locals: android.media.MediaFormat java.util.Map android.util.Size int android.util.Range
StackMap stack:
5: iload 3
aload 4
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
imul
StackMap locals:
StackMap stack: int
6: istore 5
start local 5 7: aload 1
ldc "blocks-per-second-range"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aconst_null
invokestatic android.media.Utils.parseLongRange:(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
8: astore 6
start local 6 9: aload 6
ifnonnull 10
lconst_0
goto 11
StackMap locals: int android.util.Range
StackMap stack:
10: iload 3
i2l
aload 6
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lmul
StackMap locals:
StackMap stack: long
11: lstore 7
start local 7 12: aload 1
ldc "size-range"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic android.media.MediaCodecInfo$VideoCapabilities.parseWidthHeightRanges:(Ljava/lang/Object;)Landroid/util/Pair;
13: astore 9
start local 9 14: aload 9
ifnonnull 15
iconst_0
goto 17
15: StackMap locals: long android.util.Pair
StackMap stack:
aload 9
getfield android.util.Pair.first:Ljava/lang/Object;
checkcast android.util.Range
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 9
getfield android.util.Pair.second:Ljava/lang/Object;
checkcast android.util.Range
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
16: invokestatic java.lang.Math.max:(II)I
StackMap locals:
StackMap stack: int
17: istore 10
start local 10 18: aload 1
ldc "bitrate-range"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aconst_null
invokestatic android.media.Utils.parseIntRange:(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
astore 11
start local 11 19: aload 11
ifnonnull 20
iconst_0
goto 21
StackMap locals: int android.util.Range
StackMap stack:
20: aload 11
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
sipush 1000
invokestatic android.media.Utils.divUp:(II)I
StackMap locals:
StackMap stack: int
21: istore 12
start local 12 22: lload 7
ldc 829440
lcmp
ifgt 24
iload 5
ldc 36864
if_icmpgt 24
iload 12
sipush 200
if_icmpgt 24
iload 10
sipush 512
if_icmpgt 24
23: iconst_1
ireturn
24: StackMap locals: int
StackMap stack:
lload 7
ldc 2764800
lcmp
ifgt 26
iload 5
ldc 73728
if_icmpgt 26
iload 12
sipush 800
if_icmpgt 26
iload 10
sipush 768
if_icmpgt 26
25: iconst_2
ireturn
26: StackMap locals:
StackMap stack:
lload 7
ldc 4608000
lcmp
ifgt 28
iload 5
ldc 122880
if_icmpgt 28
iload 12
sipush 1800
if_icmpgt 28
iload 10
sipush 960
if_icmpgt 28
27: iconst_4
ireturn
28: StackMap locals:
StackMap stack:
lload 7
ldc 9216000
lcmp
ifgt 30
iload 5
ldc 245760
if_icmpgt 30
iload 12
sipush 3600
if_icmpgt 30
iload 10
sipush 1344
if_icmpgt 30
29: bipush 8
ireturn
30: StackMap locals:
StackMap stack:
lload 7
ldc 20736000
lcmp
ifgt 32
iload 5
ldc 552960
if_icmpgt 32
iload 12
sipush 7200
if_icmpgt 32
iload 10
sipush 2048
if_icmpgt 32
31: bipush 16
ireturn
32: StackMap locals:
StackMap stack:
lload 7
ldc 36864000
lcmp
ifgt 34
iload 5
ldc 983040
if_icmpgt 34
iload 12
sipush 12000
if_icmpgt 34
iload 10
sipush 2752
if_icmpgt 34
33: bipush 32
ireturn
34: StackMap locals:
StackMap stack:
lload 7
ldc 83558400
lcmp
ifgt 36
iload 5
ldc 2228224
if_icmpgt 36
iload 12
sipush 18000
if_icmpgt 36
iload 10
sipush 4160
if_icmpgt 36
35: bipush 64
ireturn
36: StackMap locals:
StackMap stack:
lload 7
ldc 160432128
lcmp
ifgt 38
iload 5
ldc 2228224
if_icmpgt 38
iload 12
sipush 30000
if_icmpgt 38
iload 10
sipush 4160
if_icmpgt 38
37: sipush 128
ireturn
38: StackMap locals:
StackMap stack:
lload 7
ldc 311951360
lcmp
ifgt 40
iload 5
ldc 8912896
if_icmpgt 40
iload 12
ldc 60000
if_icmpgt 40
iload 10
sipush 8384
if_icmpgt 40
39: sipush 256
ireturn
40: StackMap locals:
StackMap stack:
lload 7
ldc 588251136
lcmp
ifgt 42
iload 5
ldc 8912896
if_icmpgt 42
iload 12
ldc 120000
if_icmpgt 42
iload 10
sipush 8384
if_icmpgt 42
41: sipush 512
ireturn
42: StackMap locals:
StackMap stack:
lload 7
ldc 1176502272
lcmp
ifgt 44
iload 5
ldc 8912896
if_icmpgt 44
iload 12
ldc 180000
if_icmpgt 44
iload 10
sipush 8384
if_icmpgt 44
43: sipush 1024
ireturn
44: StackMap locals:
StackMap stack:
lload 7
ldc 1176502272
lcmp
ifgt 46
iload 5
ldc 35651584
if_icmpgt 46
iload 12
ldc 180000
if_icmpgt 46
iload 10
sipush 16832
if_icmpgt 46
45: sipush 2048
ireturn
46: StackMap locals:
StackMap stack:
lload 7
ldc 2353004544
lcmp
ifgt 48
iload 5
ldc 35651584
if_icmpgt 48
iload 12
ldc 240000
if_icmpgt 48
iload 10
sipush 16832
if_icmpgt 48
47: sipush 4096
ireturn
48: StackMap locals:
StackMap stack:
lload 7
ldc 4706009088
lcmp
ifgt 50
iload 5
ldc 35651584
if_icmpgt 50
iload 12
ldc 480000
if_icmpgt 50
iload 10
sipush 16832
if_icmpgt 50
49: sipush 8192
ireturn
50: StackMap locals:
StackMap stack:
sipush 8192
ireturn
end local 12 end local 11 end local 10 end local 9 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 51 0 info Landroid/media/MediaFormat;
1 51 1 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
2 51 2 blockSize Landroid/util/Size;
3 51 3 BS I
4 51 4 counts Landroid/util/Range<Ljava/lang/Integer;>;
7 51 5 FS I
9 51 6 blockRates Landroid/util/Range<Ljava/lang/Long;>;
12 51 7 SR J
14 51 9 dimensionRanges Landroid/util/Pair<Landroid/util/Range<Ljava/lang/Integer;>;Landroid/util/Range<Ljava/lang/Integer;>;>;
18 51 10 D I
19 51 11 bitRates Landroid/util/Range<Ljava/lang/Integer;>;
22 51 12 BR I
MethodParameters:
Name Flags
info
private void parseFromInfo(android.media.MediaFormat);
descriptor: (Landroid/media/MediaFormat;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=14, 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: new android.util.Size
dup
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
invokespecial android.util.Size.<init>:(II)V
astore 3
start local 3 2: new android.util.Size
dup
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthAlignment:I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightAlignment:I
invokespecial android.util.Size.<init>:(II)V
astore 4
start local 4 3: aconst_null
astore 5
start local 5 4: aconst_null
astore 6
start local 6 5: aconst_null
astore 7
start local 7 6: aconst_null
astore 8
start local 8 7: aconst_null
astore 9
start local 9 8: aconst_null
astore 10
start local 10 9: aconst_null
astore 11
start local 11 10: aconst_null
astore 12
start local 12 11: aload 2
ldc "block-size"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 3
invokestatic android.media.Utils.parseSize:(Ljava/lang/Object;Landroid/util/Size;)Landroid/util/Size;
astore 3
12: aload 2
ldc "alignment"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aload 4
invokestatic android.media.Utils.parseSize:(Ljava/lang/Object;Landroid/util/Size;)Landroid/util/Size;
astore 4
13: aload 2
ldc "block-count-range"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aconst_null
invokestatic android.media.Utils.parseIntRange:(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
astore 5
14: aload 2
ldc "blocks-per-second-range"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aconst_null
invokestatic android.media.Utils.parseLongRange:(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
15: astore 10
16: aload 0
aload 0
aload 2
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.getMeasuredFrameRates:(Ljava/util/Map;)Ljava/util/Map;
putfield android.media.MediaCodecInfo$VideoCapabilities.mMeasuredFrameRates:Ljava/util/Map;
17: aload 2
ldc "size-range"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic android.media.MediaCodecInfo$VideoCapabilities.parseWidthHeightRanges:(Ljava/lang/Object;)Landroid/util/Pair;
18: astore 13
start local 13 19: aload 13
ifnull 22
20: aload 13
getfield android.util.Pair.first:Ljava/lang/Object;
checkcast android.util.Range
astore 6
21: aload 13
getfield android.util.Pair.second:Ljava/lang/Object;
checkcast android.util.Range
astore 7
22: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities android.media.MediaFormat java.util.Map android.util.Size android.util.Size android.util.Range android.util.Range android.util.Range android.util.Range android.util.Range android.util.Range android.util.Range android.util.Range android.util.Pair
StackMap stack:
aload 2
ldc "feature-can-swap-width-height"
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 34
23: aload 6
ifnull 29
24: aload 0
25: aload 6
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 7
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic java.lang.Math.min:(II)I
26: putfield android.media.MediaCodecInfo$VideoCapabilities.mSmallerDimensionUpperLimit:I
27: aload 6
aload 7
invokevirtual android.util.Range.extend:(Landroid/util/Range;)Landroid/util/Range;
dup
astore 7
astore 6
28: goto 34
29: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
ldc "feature can-swap-width-height is best used with size-range"
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
30: aload 0
31: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic java.lang.Math.min:(II)I
32: putfield android.media.MediaCodecInfo$VideoCapabilities.mSmallerDimensionUpperLimit:I
33: aload 0
aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
invokevirtual android.util.Range.extend:(Landroid/util/Range;)Landroid/util/Range;
dup_x1
putfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
34: StackMap locals:
StackMap stack:
aload 2
ldc "block-aspect-ratio-range"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aconst_null
35: invokestatic android.media.Utils.parseRationalRange:(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
astore 11
36: aload 2
ldc "pixel-aspect-ratio-range"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aconst_null
37: invokestatic android.media.Utils.parseRationalRange:(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
astore 12
38: aload 2
ldc "frame-rate-range"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aconst_null
invokestatic android.media.Utils.parseIntRange:(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
astore 8
39: aload 8
ifnull 47
40: aload 8
getstatic android.media.MediaCodecInfo.FRAME_RATE_RANGE:Landroid/util/Range;
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
astore 8
41: goto 47
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
42: pop
43: ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "frame rate range ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
44: ldc ") is out of limits: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic android.media.MediaCodecInfo.FRAME_RATE_RANGE:Landroid/util/Range;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
45: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
46: aconst_null
astore 8
47: StackMap locals:
StackMap stack:
aload 2
ldc "bitrate-range"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
aconst_null
invokestatic android.media.Utils.parseIntRange:(Ljava/lang/Object;Landroid/util/Range;)Landroid/util/Range;
astore 9
48: aload 9
ifnull 56
49: aload 9
getstatic android.media.MediaCodecInfo.BITRATE_RANGE:Landroid/util/Range;
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
astore 9
50: goto 56
StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
51: pop
52: ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "bitrate range ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 9
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
53: ldc ") is out of limits: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic android.media.MediaCodecInfo.BITRATE_RANGE:Landroid/util/Range;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
54: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
55: aconst_null
astore 9
56: StackMap locals:
StackMap stack:
aload 3
invokevirtual android.util.Size.getWidth:()I
ldc "block-size width must be power of two"
57: invokestatic android.media.MediaCodecInfo.checkPowerOfTwo:(ILjava/lang/String;)I
pop
58: aload 3
invokevirtual android.util.Size.getHeight:()I
ldc "block-size height must be power of two"
59: invokestatic android.media.MediaCodecInfo.checkPowerOfTwo:(ILjava/lang/String;)I
pop
60: aload 4
invokevirtual android.util.Size.getWidth:()I
ldc "alignment width must be power of two"
61: invokestatic android.media.MediaCodecInfo.checkPowerOfTwo:(ILjava/lang/String;)I
pop
62: aload 4
invokevirtual android.util.Size.getHeight:()I
ldc "alignment height must be power of two"
63: invokestatic android.media.MediaCodecInfo.checkPowerOfTwo:(ILjava/lang/String;)I
pop
64: aload 0
65: ldc 2147483647
ldc 2147483647
ldc 2147483647
66: ldc 9223372036854775807
aload 3
invokevirtual android.util.Size.getWidth:()I
aload 3
invokevirtual android.util.Size.getHeight:()I
67: aload 4
invokevirtual android.util.Size.getWidth:()I
aload 4
invokevirtual android.util.Size.getHeight:()I
68: invokevirtual android.media.MediaCodecInfo$VideoCapabilities.applyMacroBlockLimits:(IIIJIIII)V
69: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mParent:Landroid/media/MediaCodecInfo$CodecCapabilities;
getfield android.media.MediaCodecInfo$CodecCapabilities.mError:I
iconst_2
iand
ifne 70
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mAllowMbOverride:Z
ifeq 103
70: StackMap locals:
StackMap stack:
aload 6
ifnull 72
71: aload 0
getstatic android.media.MediaCodecInfo.SIZE_RANGE:Landroid/util/Range;
aload 6
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
72: StackMap locals:
StackMap stack:
aload 7
ifnull 74
73: aload 0
getstatic android.media.MediaCodecInfo.SIZE_RANGE:Landroid/util/Range;
aload 7
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
74: StackMap locals:
StackMap stack:
aload 5
ifnull 80
75: aload 0
getstatic android.media.MediaCodecInfo.POSITIVE_INTEGERS:Landroid/util/Range;
76: aload 5
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
imul
77: aload 3
invokevirtual android.util.Size.getWidth:()I
idiv
aload 3
invokevirtual android.util.Size.getHeight:()I
idiv
78: invokestatic android.media.Utils.factorRange:(Landroid/util/Range;I)Landroid/util/Range;
79: invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
80: StackMap locals:
StackMap stack:
aload 10
ifnull 86
81: aload 0
getstatic android.media.MediaCodecInfo.POSITIVE_LONGS:Landroid/util/Range;
82: aload 10
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
imul
83: aload 3
invokevirtual android.util.Size.getWidth:()I
idiv
aload 3
invokevirtual android.util.Size.getHeight:()I
idiv
i2l
84: invokestatic android.media.Utils.factorRange:(Landroid/util/Range;J)Landroid/util/Range;
85: invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
86: StackMap locals:
StackMap stack:
aload 12
ifnull 93
87: aload 0
getstatic android.media.MediaCodecInfo.POSITIVE_RATIONALS:Landroid/util/Range;
88: aload 12
89: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
aload 3
invokevirtual android.util.Size.getHeight:()I
idiv
90: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
aload 3
invokevirtual android.util.Size.getWidth:()I
idiv
91: invokestatic android.media.Utils.scaleRange:(Landroid/util/Range;II)Landroid/util/Range;
92: invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
93: StackMap locals:
StackMap stack:
aload 11
ifnull 95
94: aload 0
getstatic android.media.MediaCodecInfo.POSITIVE_RATIONALS:Landroid/util/Range;
aload 11
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mAspectRatioRange:Landroid/util/Range;
95: StackMap locals:
StackMap stack:
aload 8
ifnull 97
96: aload 0
getstatic android.media.MediaCodecInfo.FRAME_RATE_RANGE:Landroid/util/Range;
aload 8
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
97: StackMap locals:
StackMap stack:
aload 9
ifnull 132
98: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mParent:Landroid/media/MediaCodecInfo$CodecCapabilities;
getfield android.media.MediaCodecInfo$CodecCapabilities.mError:I
iconst_2
iand
ifeq 101
99: aload 0
getstatic android.media.MediaCodecInfo.BITRATE_RANGE:Landroid/util/Range;
aload 9
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBitrateRange:Landroid/util/Range;
100: goto 132
101: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBitrateRange:Landroid/util/Range;
aload 9
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBitrateRange:Landroid/util/Range;
102: goto 132
103: StackMap locals:
StackMap stack:
aload 6
ifnull 105
104: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
aload 6
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
105: StackMap locals:
StackMap stack:
aload 7
ifnull 107
106: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
aload 7
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
107: StackMap locals:
StackMap stack:
aload 5
ifnull 113
108: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
109: aload 5
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
imul
110: aload 3
invokevirtual android.util.Size.getWidth:()I
idiv
aload 3
invokevirtual android.util.Size.getHeight:()I
idiv
111: invokestatic android.media.Utils.factorRange:(Landroid/util/Range;I)Landroid/util/Range;
112: invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
113: StackMap locals:
StackMap stack:
aload 10
ifnull 119
114: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
115: aload 10
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
imul
116: aload 3
invokevirtual android.util.Size.getWidth:()I
idiv
aload 3
invokevirtual android.util.Size.getHeight:()I
idiv
i2l
117: invokestatic android.media.Utils.factorRange:(Landroid/util/Range;J)Landroid/util/Range;
118: invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
119: StackMap locals:
StackMap stack:
aload 12
ifnull 126
120: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
121: aload 12
122: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
aload 3
invokevirtual android.util.Size.getHeight:()I
idiv
123: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
aload 3
invokevirtual android.util.Size.getWidth:()I
idiv
124: invokestatic android.media.Utils.scaleRange:(Landroid/util/Range;II)Landroid/util/Range;
125: invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
126: StackMap locals:
StackMap stack:
aload 11
ifnull 128
127: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mAspectRatioRange:Landroid/util/Range;
aload 11
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mAspectRatioRange:Landroid/util/Range;
128: StackMap locals:
StackMap stack:
aload 8
ifnull 130
129: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
aload 8
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
130: StackMap locals:
StackMap stack:
aload 9
ifnull 132
131: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBitrateRange:Landroid/util/Range;
aload 9
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBitrateRange:Landroid/util/Range;
132: StackMap locals:
StackMap stack:
aload 0
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.updateLimits:()V
133: return
end local 13 end local 12 end local 11 end local 10 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 134 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 134 1 info Landroid/media/MediaFormat;
1 134 2 map Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
2 134 3 blockSize Landroid/util/Size;
3 134 4 alignment Landroid/util/Size;
4 134 5 counts Landroid/util/Range<Ljava/lang/Integer;>;
5 134 6 widths Landroid/util/Range<Ljava/lang/Integer;>;
6 134 7 heights Landroid/util/Range<Ljava/lang/Integer;>;
7 134 8 frameRates Landroid/util/Range<Ljava/lang/Integer;>;
8 134 9 bitRates Landroid/util/Range<Ljava/lang/Integer;>;
9 134 10 blockRates Landroid/util/Range<Ljava/lang/Long;>;
10 134 11 ratios Landroid/util/Range<Landroid/util/Rational;>;
11 134 12 blockRatios Landroid/util/Range<Landroid/util/Rational;>;
19 134 13 sizeRanges Landroid/util/Pair<Landroid/util/Range<Ljava/lang/Integer;>;Landroid/util/Range<Ljava/lang/Integer;>;>;
Exception table:
from to target type
40 41 42 Class java.lang.IllegalArgumentException
49 50 51 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
info
private void applyBlockLimits(int, int, android.util.Range<java.lang.Integer>, android.util.Range<java.lang.Long>, android.util.Range<android.util.Rational>);
descriptor: (IILandroid/util/Range;Landroid/util/Range;Landroid/util/Range;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 1
ldc "blockWidth must be a power of two"
invokestatic android.media.MediaCodecInfo.checkPowerOfTwo:(ILjava/lang/String;)I
pop
1: iload 2
ldc "blockHeight must be a power of two"
invokestatic android.media.MediaCodecInfo.checkPowerOfTwo:(ILjava/lang/String;)I
pop
2: iload 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
invokestatic java.lang.Math.max:(II)I
istore 6
start local 6 3: iload 2
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
invokestatic java.lang.Math.max:(II)I
istore 7
start local 7 4: iload 6
iload 7
imul
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
idiv
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
idiv
5: istore 8
start local 8 6: iload 8
iconst_1
if_icmpeq 22
7: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
iload 8
invokestatic android.media.Utils.factorRange:(Landroid/util/Range;I)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
8: aload 0
9: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
iload 8
i2l
10: invokestatic android.media.Utils.factorRange:(Landroid/util/Range;J)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
11: aload 0
12: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
13: iload 7
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
idiv
14: iload 6
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
idiv
15: invokestatic android.media.Utils.scaleRange:(Landroid/util/Range;II)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
16: aload 0
17: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
iload 6
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
idiv
18: invokestatic android.media.Utils.factorRange:(Landroid/util/Range;I)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
19: aload 0
20: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
iload 7
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
idiv
21: invokestatic android.media.Utils.factorRange:(Landroid/util/Range;I)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
22: StackMap locals: int int int
StackMap stack:
iload 6
iload 7
imul
iload 1
idiv
iload 2
idiv
istore 8
23: iload 8
iconst_1
if_icmpeq 29
24: aload 3
iload 8
invokestatic android.media.Utils.factorRange:(Landroid/util/Range;I)Landroid/util/Range;
astore 3
25: aload 4
iload 8
i2l
invokestatic android.media.Utils.factorRange:(Landroid/util/Range;J)Landroid/util/Range;
astore 4
26: aload 5
iload 7
iload 2
idiv
27: iload 6
iload 1
idiv
28: invokestatic android.media.Utils.scaleRange:(Landroid/util/Range;II)Landroid/util/Range;
astore 5
29: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
aload 3
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
30: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
aload 4
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
31: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
aload 5
invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
32: aload 0
iload 6
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
33: aload 0
iload 7
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
34: return
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 35 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 35 1 blockWidth I
0 35 2 blockHeight I
0 35 3 counts Landroid/util/Range<Ljava/lang/Integer;>;
0 35 4 rates Landroid/util/Range<Ljava/lang/Long;>;
0 35 5 ratios Landroid/util/Range<Landroid/util/Rational;>;
3 35 6 newBlockWidth I
4 35 7 newBlockHeight I
6 35 8 factor I
Signature: (IILandroid/util/Range<Ljava/lang/Integer;>;Landroid/util/Range<Ljava/lang/Long;>;Landroid/util/Range<Landroid/util/Rational;>;)V
MethodParameters:
Name Flags
blockWidth
blockHeight
counts
rates
ratios
private void applyAlignment(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ldc "widthAlignment must be a power of two"
invokestatic android.media.MediaCodecInfo.checkPowerOfTwo:(ILjava/lang/String;)I
pop
1: iload 2
ldc "heightAlignment must be a power of two"
invokestatic android.media.MediaCodecInfo.checkPowerOfTwo:(ILjava/lang/String;)I
pop
2: iload 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
if_icmpgt 3
iload 2
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
if_icmple 8
3: StackMap locals:
StackMap stack:
aload 0
4: iload 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
invokestatic java.lang.Math.max:(II)I
5: iload 2
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
invokestatic java.lang.Math.max:(II)I
6: getstatic android.media.MediaCodecInfo.POSITIVE_INTEGERS:Landroid/util/Range;
getstatic android.media.MediaCodecInfo.POSITIVE_LONGS:Landroid/util/Range;
getstatic android.media.MediaCodecInfo.POSITIVE_RATIONALS:Landroid/util/Range;
7: invokevirtual android.media.MediaCodecInfo$VideoCapabilities.applyBlockLimits:(IILandroid/util/Range;Landroid/util/Range;Landroid/util/Range;)V
8: StackMap locals:
StackMap stack:
aload 0
iload 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthAlignment:I
invokestatic java.lang.Math.max:(II)I
putfield android.media.MediaCodecInfo$VideoCapabilities.mWidthAlignment:I
9: aload 0
iload 2
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightAlignment:I
invokestatic java.lang.Math.max:(II)I
putfield android.media.MediaCodecInfo$VideoCapabilities.mHeightAlignment:I
10: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthAlignment:I
invokestatic android.media.Utils.alignRange:(Landroid/util/Range;I)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
11: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightAlignment:I
invokestatic android.media.Utils.alignRange:(Landroid/util/Range;I)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 13 1 widthAlignment I
0 13 2 heightAlignment I
MethodParameters:
Name Flags
widthAlignment
heightAlignment
private void updateLimits();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
1: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
invokestatic android.media.Utils.factorRange:(Landroid/util/Range;I)Landroid/util/Range;
2: invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
3: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
4: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
idiv
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
5: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
idiv
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
6: invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
7: invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
8: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
9: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
invokestatic android.media.Utils.factorRange:(Landroid/util/Range;I)Landroid/util/Range;
10: invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
11: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
12: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
idiv
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
13: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
idiv
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
14: invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
15: invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
16: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
17: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
18: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
19: imul
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
20: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
21: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
22: imul
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
23: invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
24: invokevirtual android.util.Range.intersect:(Landroid/util/Range;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
25: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
26: new android.util.Rational
dup
27: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
28: invokespecial android.util.Rational.<init>:(II)V
29: new android.util.Rational
dup
30: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
31: invokespecial android.util.Rational.<init>:(II)V
32: invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
33: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
34: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iconst_1
isub
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
imul
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthAlignment:I
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
35: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
imul
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
36: invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
37: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
38: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iconst_1
isub
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
imul
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightAlignment:I
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
39: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
imul
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
40: invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
41: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mAspectRatioRange:Landroid/util/Range;
42: new android.util.Rational
dup
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokespecial android.util.Rational.<init>:(II)V
43: new android.util.Rational
dup
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokespecial android.util.Rational.<init>:(II)V
44: invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mAspectRatioRange:Landroid/util/Range;
45: aload 0
46: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mSmallerDimensionUpperLimit:I
47: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mWidthRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHeightRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
invokestatic java.lang.Math.min:(II)I
48: invokestatic java.lang.Math.min:(II)I
putfield android.media.MediaCodecInfo$VideoCapabilities.mSmallerDimensionUpperLimit:I
49: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
50: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2l
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2l
lmul
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
51: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2l
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2l
lmul
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
52: invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
53: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
54: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
55: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2l
56: ldiv
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
57: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlocksPerSecondRange:Landroid/util/Range;
invokevirtual android.util.Range.getUpper:()Ljava/lang/Comparable;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
l2d
58: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockCountRange:Landroid/util/Range;
invokevirtual android.util.Range.getLower:()Ljava/lang/Comparable;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
i2d
59: ddiv
d2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
60: invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
61: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 62 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
private void applyMacroBlockLimits(int, int, int, long, int, int, int, int);
descriptor: (IIIJIIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=10, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 6 start local 7 start local 8 start local 9 0: aload 0
1: iconst_1
iconst_1
2: iload 1
iload 2
3: iload 3
lload 4
4: iload 6
iload 7
iload 8
iload 9
5: invokevirtual android.media.MediaCodecInfo$VideoCapabilities.applyMacroBlockLimits:(IIIIIJIIII)V
6: return
end local 9 end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 7 1 maxHorizontalBlocks I
0 7 2 maxVerticalBlocks I
0 7 3 maxBlocks I
0 7 4 maxBlocksPerSecond J
0 7 6 blockWidth I
0 7 7 blockHeight I
0 7 8 widthAlignment I
0 7 9 heightAlignment I
MethodParameters:
Name Flags
maxHorizontalBlocks
maxVerticalBlocks
maxBlocks
maxBlocksPerSecond
blockWidth
blockHeight
widthAlignment
heightAlignment
private void applyMacroBlockLimits(int, int, int, int, int, long, int, int, int, int);
descriptor: (IIIIIJIIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=10, locals=12, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 8 start local 9 start local 10 start local 11 0: aload 0
iload 10
iload 11
invokevirtual android.media.MediaCodecInfo$VideoCapabilities.applyAlignment:(II)V
1: aload 0
2: iload 8
iload 9
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
3: lconst_1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
lload 6
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
4: new android.util.Rational
dup
iconst_1
iload 4
invokespecial android.util.Rational.<init>:(II)V
5: new android.util.Rational
dup
iload 3
iconst_1
invokespecial android.util.Rational.<init>:(II)V
6: invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
7: invokevirtual android.media.MediaCodecInfo$VideoCapabilities.applyBlockLimits:(IILandroid/util/Range;Landroid/util/Range;Landroid/util/Range;)V
8: aload 0
9: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
10: iload 1
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
iload 8
idiv
invokestatic android.media.Utils.divUp:(II)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
11: iload 3
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockWidth:I
iload 8
idiv
idiv
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
12: invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
13: putfield android.media.MediaCodecInfo$VideoCapabilities.mHorizontalBlockRange:Landroid/util/Range;
14: aload 0
15: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
16: iload 2
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
iload 9
idiv
invokestatic android.media.Utils.divUp:(II)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
17: iload 4
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mBlockHeight:I
iload 9
idiv
idiv
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
18: invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
19: putfield android.media.MediaCodecInfo$VideoCapabilities.mVerticalBlockRange:Landroid/util/Range;
20: return
end local 11 end local 10 end local 9 end local 8 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 21 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
0 21 1 minHorizontalBlocks I
0 21 2 minVerticalBlocks I
0 21 3 maxHorizontalBlocks I
0 21 4 maxVerticalBlocks I
0 21 5 maxBlocks I
0 21 6 maxBlocksPerSecond J
0 21 8 blockWidth I
0 21 9 blockHeight I
0 21 10 widthAlignment I
0 21 11 heightAlignment I
MethodParameters:
Name Flags
minHorizontalBlocks
minVerticalBlocks
maxHorizontalBlocks
maxVerticalBlocks
maxBlocks
maxBlocksPerSecond
blockWidth
blockHeight
widthAlignment
heightAlignment
private void applyLevelLimits();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=27, args_size=1
start local 0 0: lconst_0
lstore 1
start local 1 1: iconst_0
istore 3
start local 3 2: iconst_0
istore 4
start local 4 3: iconst_0
istore 5
start local 5 4: iconst_4
istore 6
start local 6 5: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mParent:Landroid/media/MediaCodecInfo$CodecCapabilities;
getfield android.media.MediaCodecInfo$CodecCapabilities.profileLevels:[Landroid/media/MediaCodecInfo$CodecProfileLevel;
astore 7
start local 7 6: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mParent:Landroid/media/MediaCodecInfo$CodecCapabilities;
invokevirtual android.media.MediaCodecInfo$CodecCapabilities.getMimeType:()Ljava/lang/String;
astore 8
start local 8 7: aload 8
ldc "video/avc"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 71
8: bipush 99
istore 3
9: ldc 1485
lstore 1
10: ldc 64000
istore 4
11: sipush 396
istore 5
12: aload 7
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 62
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
13: aload 12
iload 10
aaload
astore 9
start local 9 14: iconst_0
istore 13
start local 13 15: iconst_0
istore 14
start local 14 16: iconst_0
istore 15
start local 15 17: iconst_0
istore 16
start local 16 18: iconst_1
istore 17
start local 17 19: aload 9
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
lookupswitch { // 17
1: 20
2: 21
4: 22
8: 23
16: 24
32: 25
64: 26
128: 27
256: 28
512: 29
1024: 30
2048: 31
4096: 32
8192: 33
16384: 34
32768: 35
65536: 36
default: 37
}
20: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String android.media.MediaCodecInfo$CodecProfileLevel int int android.media.MediaCodecInfo$CodecProfileLevel[] int int int int int
StackMap stack:
sipush 1485
istore 13
bipush 99
istore 14
bipush 64
istore 15
sipush 396
istore 16
goto 41
21: StackMap locals:
StackMap stack:
sipush 1485
istore 13
bipush 99
istore 14
sipush 128
istore 15
sipush 396
istore 16
goto 41
22: StackMap locals:
StackMap stack:
sipush 3000
istore 13
sipush 396
istore 14
sipush 192
istore 15
sipush 900
istore 16
goto 41
23: StackMap locals:
StackMap stack:
sipush 6000
istore 13
sipush 396
istore 14
sipush 384
istore 15
sipush 2376
istore 16
goto 41
24: StackMap locals:
StackMap stack:
sipush 11880
istore 13
sipush 396
istore 14
sipush 768
istore 15
sipush 2376
istore 16
goto 41
25: StackMap locals:
StackMap stack:
sipush 11880
istore 13
sipush 396
istore 14
sipush 2000
istore 15
sipush 2376
istore 16
goto 41
26: StackMap locals:
StackMap stack:
sipush 19800
istore 13
sipush 792
istore 14
sipush 4000
istore 15
sipush 4752
istore 16
goto 41
27: StackMap locals:
StackMap stack:
sipush 20250
istore 13
sipush 1620
istore 14
sipush 4000
istore 15
sipush 8100
istore 16
goto 41
28: StackMap locals:
StackMap stack:
ldc 40500
istore 13
sipush 1620
istore 14
sipush 10000
istore 15
sipush 8100
istore 16
goto 41
29: StackMap locals:
StackMap stack:
ldc 108000
istore 13
sipush 3600
istore 14
sipush 14000
istore 15
sipush 18000
istore 16
goto 41
30: StackMap locals:
StackMap stack:
ldc 216000
istore 13
sipush 5120
istore 14
sipush 20000
istore 15
sipush 20480
istore 16
goto 41
31: StackMap locals:
StackMap stack:
ldc 245760
istore 13
sipush 8192
istore 14
sipush 20000
istore 15
ldc 32768
istore 16
goto 41
32: StackMap locals:
StackMap stack:
ldc 245760
istore 13
sipush 8192
istore 14
ldc 50000
istore 15
ldc 32768
istore 16
goto 41
33: StackMap locals:
StackMap stack:
ldc 522240
istore 13
sipush 8704
istore 14
ldc 50000
istore 15
ldc 34816
istore 16
goto 41
34: StackMap locals:
StackMap stack:
ldc 589824
istore 13
sipush 22080
istore 14
ldc 135000
istore 15
ldc 110400
istore 16
goto 41
35: StackMap locals:
StackMap stack:
ldc 983040
istore 13
ldc 36864
istore 14
ldc 240000
istore 15
ldc 184320
istore 16
goto 41
36: StackMap locals:
StackMap stack:
ldc 2073600
istore 13
ldc 36864
istore 14
ldc 240000
istore 15
ldc 184320
istore 16
goto 41
37: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized level "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
38: aload 9
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
39: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
40: iload 6
iconst_1
ior
istore 6
41: StackMap locals:
StackMap stack:
aload 9
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
lookupswitch { // 9
1: 49
2: 49
4: 44
8: 42
16: 43
32: 44
64: 44
65536: 49
524288: 42
default: 50
}
42: StackMap locals:
StackMap stack:
iload 15
sipush 1250
imul
istore 15
goto 55
43: StackMap locals:
StackMap stack:
iload 15
sipush 3000
imul
istore 15
goto 55
44: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unsupported profile "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
45: aload 9
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
46: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
47: iload 6
iconst_2
ior
istore 6
48: iconst_0
istore 17
49: StackMap locals:
StackMap stack:
iload 15
sipush 1000
imul
istore 15
goto 55
50: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized profile "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
51: aload 9
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
52: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
53: iload 6
iconst_1
ior
istore 6
54: iload 15
sipush 1000
imul
istore 15
55: StackMap locals:
StackMap stack:
iload 17
ifeq 57
56: iload 6
bipush -5
iand
istore 6
57: StackMap locals:
StackMap stack:
iload 13
i2l
lload 1
invokestatic java.lang.Math.max:(JJ)J
lstore 1
58: iload 14
iload 3
invokestatic java.lang.Math.max:(II)I
istore 3
59: iload 15
iload 4
invokestatic java.lang.Math.max:(II)I
istore 4
60: iload 5
iload 16
invokestatic java.lang.Math.max:(II)I
istore 5
end local 17 end local 16 end local 15 end local 14 end local 13 end local 9 61: iinc 10 1
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
62: iload 10
iload 11
if_icmplt 13
63: iload 3
bipush 8
imul
i2d
invokestatic java.lang.Math.sqrt:(D)D
d2i
istore 9
start local 9 64: aload 0
65: iload 9
iload 9
66: iload 3
lload 1
67: bipush 16
bipush 16
68: iconst_1
iconst_1
69: invokevirtual android.media.MediaCodecInfo$VideoCapabilities.applyMacroBlockLimits:(IIIJIIII)V
end local 9 70: goto 437
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String
StackMap stack:
71: aload 8
ldc "video/mpeg2"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 135
72: bipush 11
istore 9
start local 9 73: bipush 9
istore 10
start local 10 74: bipush 15
istore 11
start local 11 75: bipush 99
istore 3
76: ldc 1485
lstore 1
77: ldc 64000
istore 4
78: aload 7
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 127
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String int int int top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
79: aload 15
iload 13
aaload
astore 12
start local 12 80: iconst_0
istore 16
start local 16 81: iconst_0
istore 17
start local 17 82: iconst_0
istore 18
start local 18 83: iconst_0
istore 19
start local 19 84: iconst_0
istore 20
start local 20 85: iconst_0
istore 21
start local 21 86: iconst_1
istore 22
start local 22 87: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
tableswitch { // 0 - 5
0: 88
1: 96
2: 108
3: 108
4: 108
5: 108
default: 114
}
88: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String int int int android.media.MediaCodecInfo$CodecProfileLevel int int android.media.MediaCodecInfo$CodecProfileLevel[] int int int int int int int
StackMap stack:
aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
tableswitch { // 1 - 1
1: 89
default: 90
}
89: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 45
istore 20
bipush 36
istore 21
ldc 40500
istore 16
sipush 1620
istore 17
sipush 15000
istore 18
goto 118
90: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized profile/level "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
91: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
92: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
93: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
94: iload 6
iconst_1
ior
istore 6
95: goto 118
96: StackMap locals:
StackMap stack:
aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
tableswitch { // 0 - 4
0: 97
1: 98
2: 99
3: 100
4: 101
default: 102
}
97: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 22
istore 20
bipush 18
istore 21
sipush 11880
istore 16
sipush 396
istore 17
sipush 4000
istore 18
goto 118
98: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 45
istore 20
bipush 36
istore 21
ldc 40500
istore 16
sipush 1620
istore 17
sipush 15000
istore 18
goto 118
99: StackMap locals:
StackMap stack:
bipush 60
istore 19
bipush 90
istore 20
bipush 68
istore 21
ldc 183600
istore 16
sipush 6120
istore 17
ldc 60000
istore 18
goto 118
100: StackMap locals:
StackMap stack:
bipush 60
istore 19
bipush 120
istore 20
bipush 68
istore 21
ldc 244800
istore 16
sipush 8160
istore 17
ldc 80000
istore 18
goto 118
101: StackMap locals:
StackMap stack:
bipush 60
istore 19
bipush 120
istore 20
bipush 68
istore 21
ldc 489600
istore 16
sipush 8160
istore 17
ldc 80000
istore 18
goto 118
102: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized profile/level "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
103: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
104: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
105: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
106: iload 6
iconst_1
ior
istore 6
107: goto 118
108: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unsupported profile "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
109: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
110: invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
111: iload 6
iconst_2
ior
istore 6
112: iconst_0
istore 22
113: goto 118
114: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized profile "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
115: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
116: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
117: iload 6
iconst_1
ior
istore 6
118: StackMap locals:
StackMap stack:
iload 22
ifeq 120
119: iload 6
bipush -5
iand
istore 6
120: StackMap locals:
StackMap stack:
iload 16
i2l
lload 1
invokestatic java.lang.Math.max:(JJ)J
lstore 1
121: iload 17
iload 3
invokestatic java.lang.Math.max:(II)I
istore 3
122: iload 18
sipush 1000
imul
iload 4
invokestatic java.lang.Math.max:(II)I
istore 4
123: iload 20
iload 9
invokestatic java.lang.Math.max:(II)I
istore 9
124: iload 21
iload 10
invokestatic java.lang.Math.max:(II)I
istore 10
125: iload 19
iload 11
invokestatic java.lang.Math.max:(II)I
istore 11
end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 12 126: iinc 13 1
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String int int int top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
127: iload 13
iload 14
if_icmplt 79
128: aload 0
iload 9
iload 10
129: iload 3
lload 1
130: bipush 16
bipush 16
131: iconst_1
iconst_1
132: invokevirtual android.media.MediaCodecInfo$VideoCapabilities.applyMacroBlockLimits:(IIIJIIII)V
133: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
bipush 12
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 11
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
end local 11 end local 10 end local 9 134: goto 437
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String
StackMap stack:
135: aload 8
ldc "video/mp4v-es"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 216
136: bipush 11
istore 9
start local 9 137: bipush 9
istore 10
start local 10 138: bipush 15
istore 11
start local 11 139: bipush 99
istore 3
140: ldc 1485
lstore 1
141: ldc 64000
istore 4
142: aload 7
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 208
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String int int int top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
143: aload 15
iload 13
aaload
astore 12
start local 12 144: iconst_0
istore 16
start local 16 145: iconst_0
istore 17
start local 17 146: iconst_0
istore 18
start local 18 147: iconst_0
istore 19
start local 19 148: iconst_0
istore 20
start local 20 149: iconst_0
istore 21
start local 21 150: iconst_0
istore 22
start local 22 151: iconst_1
istore 23
start local 23 152: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
lookupswitch { // 16
1: 153
2: 183
4: 183
8: 183
16: 183
32: 183
64: 183
128: 183
256: 183
512: 183
1024: 183
2048: 183
4096: 183
8192: 183
16384: 183
32768: 170
default: 189
}
153: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String int int int android.media.MediaCodecInfo$CodecProfileLevel int int android.media.MediaCodecInfo$CodecProfileLevel[] int int int int int int int int
StackMap stack:
aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
lookupswitch { // 8
1: 154
2: 157
4: 156
8: 159
16: 160
64: 161
128: 162
256: 163
default: 164
}
154: StackMap locals:
StackMap stack:
iconst_1
istore 22
155: bipush 15
istore 19
bipush 11
istore 20
bipush 9
istore 21
sipush 1485
istore 16
bipush 99
istore 17
bipush 64
istore 18
goto 193
156: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 11
istore 20
bipush 9
istore 21
sipush 1485
istore 16
bipush 99
istore 17
bipush 64
istore 18
goto 193
157: StackMap locals:
StackMap stack:
iconst_1
istore 22
158: bipush 15
istore 19
bipush 11
istore 20
bipush 9
istore 21
sipush 1485
istore 16
bipush 99
istore 17
sipush 128
istore 18
goto 193
159: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 22
istore 20
bipush 18
istore 21
sipush 5940
istore 16
sipush 396
istore 17
sipush 128
istore 18
goto 193
160: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 22
istore 20
bipush 18
istore 21
sipush 11880
istore 16
sipush 396
istore 17
sipush 384
istore 18
goto 193
161: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 40
istore 20
bipush 30
istore 21
ldc 36000
istore 16
sipush 1200
istore 17
sipush 4000
istore 18
goto 193
162: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 45
istore 20
bipush 36
istore 21
ldc 40500
istore 16
sipush 1620
istore 17
sipush 8000
istore 18
goto 193
163: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 80
istore 20
bipush 45
istore 21
ldc 108000
istore 16
sipush 3600
istore 17
sipush 12000
istore 18
goto 193
164: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized profile/level "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
165: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
166: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
167: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
168: iload 6
iconst_1
ior
istore 6
169: goto 193
170: StackMap locals:
StackMap stack:
aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
lookupswitch { // 7
1: 171
4: 171
8: 172
16: 173
24: 174
32: 175
128: 176
default: 177
}
171: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 11
istore 20
bipush 9
istore 21
sipush 2970
istore 16
bipush 99
istore 17
sipush 128
istore 18
goto 193
172: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 22
istore 20
bipush 18
istore 21
sipush 5940
istore 16
sipush 396
istore 17
sipush 384
istore 18
goto 193
173: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 22
istore 20
bipush 18
istore 21
sipush 11880
istore 16
sipush 396
istore 17
sipush 768
istore 18
goto 193
174: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 22
istore 20
bipush 18
istore 21
sipush 11880
istore 16
sipush 396
istore 17
sipush 1500
istore 18
goto 193
175: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 44
istore 20
bipush 36
istore 21
sipush 23760
istore 16
sipush 792
istore 17
sipush 3000
istore 18
goto 193
176: StackMap locals:
StackMap stack:
bipush 30
istore 19
bipush 45
istore 20
bipush 36
istore 21
ldc 48600
istore 16
sipush 1620
istore 17
sipush 8000
istore 18
goto 193
177: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized profile/level "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
178: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
179: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
180: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
181: iload 6
iconst_1
ior
istore 6
182: goto 193
183: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unsupported profile "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
184: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
185: invokestatic android.util.Log.i:(Ljava/lang/String;Ljava/lang/String;)I
pop
186: iload 6
iconst_2
ior
istore 6
187: iconst_0
istore 23
188: goto 193
189: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized profile "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
190: aload 12
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
191: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
192: iload 6
iconst_1
ior
istore 6
193: StackMap locals:
StackMap stack:
iload 23
ifeq 195
194: iload 6
bipush -5
iand
istore 6
195: StackMap locals:
StackMap stack:
iload 16
i2l
lload 1
invokestatic java.lang.Math.max:(JJ)J
lstore 1
196: iload 17
iload 3
invokestatic java.lang.Math.max:(II)I
istore 3
197: iload 18
sipush 1000
imul
iload 4
invokestatic java.lang.Math.max:(II)I
istore 4
198: iload 22
ifeq 203
199: iload 20
iload 9
invokestatic java.lang.Math.max:(II)I
istore 9
200: iload 21
iload 10
invokestatic java.lang.Math.max:(II)I
istore 10
201: iload 19
iload 11
invokestatic java.lang.Math.max:(II)I
istore 11
202: goto 207
203: StackMap locals:
StackMap stack:
iload 17
iconst_2
imul
i2d
invokestatic java.lang.Math.sqrt:(D)D
d2i
istore 24
start local 24 204: iload 24
iload 9
invokestatic java.lang.Math.max:(II)I
istore 9
205: iload 24
iload 10
invokestatic java.lang.Math.max:(II)I
istore 10
206: iload 19
bipush 60
invokestatic java.lang.Math.max:(II)I
iload 11
invokestatic java.lang.Math.max:(II)I
istore 11
end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 12 207: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String int int int top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
208: iload 13
iload 14
if_icmplt 143
209: aload 0
iload 9
iload 10
210: iload 3
lload 1
211: bipush 16
bipush 16
212: iconst_1
iconst_1
213: invokevirtual android.media.MediaCodecInfo$VideoCapabilities.applyMacroBlockLimits:(IIIJIIII)V
214: aload 0
aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
bipush 12
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 11
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual android.util.Range.intersect:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
end local 11 end local 10 end local 9 215: goto 437
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String
StackMap stack:
216: aload 8
ldc "video/3gpp"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 299
217: bipush 11
istore 9
start local 9 218: bipush 9
istore 10
start local 10 219: bipush 15
istore 11
start local 11 220: iload 9
istore 12
start local 12 221: iload 10
istore 13
start local 13 222: bipush 16
istore 14
start local 14 223: bipush 99
istore 3
224: ldc 1485
lstore 1
225: ldc 64000
istore 4
226: aload 7
dup
astore 18
arraylength
istore 17
iconst_0
istore 16
goto 285
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String int int int int int int top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
227: aload 18
iload 16
aaload
astore 15
start local 15 228: iconst_0
istore 19
start local 19 229: iconst_0
istore 20
start local 20 230: iconst_0
istore 21
start local 21 231: iconst_0
istore 22
start local 22 232: iconst_0
istore 23
start local 23 233: iload 12
istore 24
start local 24 234: iload 13
istore 25
start local 25 235: iconst_0
istore 26
start local 26 236: aload 15
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
lookupswitch { // 8
1: 237
2: 239
4: 241
8: 243
16: 245
32: 255
64: 257
128: 259
default: 261
}
237: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String int int int int int int android.media.MediaCodecInfo$CodecProfileLevel int int android.media.MediaCodecInfo$CodecProfileLevel[] int int int int int int int int
StackMap stack:
iconst_1
istore 26
238: bipush 15
istore 21
bipush 11
istore 22
bipush 9
istore 23
iconst_1
istore 20
iload 22
iload 23
imul
iload 21
imul
istore 19
goto 265
239: StackMap locals:
StackMap stack:
iconst_1
istore 26
240: bipush 30
istore 21
bipush 22
istore 22
bipush 18
istore 23
iconst_2
istore 20
iload 22
iload 23
imul
bipush 15
imul
istore 19
goto 265
241: StackMap locals:
StackMap stack:
iconst_1
istore 26
242: bipush 30
istore 21
bipush 22
istore 22
bipush 18
istore 23
bipush 6
istore 20
iload 22
iload 23
imul
iload 21
imul
istore 19
goto 265
243: StackMap locals:
StackMap stack:
iconst_1
istore 26
244: bipush 30
istore 21
bipush 22
istore 22
bipush 18
istore 23
bipush 32
istore 20
iload 22
iload 23
imul
iload 21
imul
istore 19
goto 265
245: StackMap locals:
StackMap stack:
aload 15
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
iconst_1
if_icmpeq 250
246: aload 15
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
247: iconst_4
248: if_icmpeq 250
249: iconst_0
goto 251
StackMap locals:
StackMap stack:
250: iconst_1
StackMap locals:
StackMap stack: int
251: istore 26
252: iload 26
ifne 254
253: iconst_1
istore 24
iconst_1
istore 25
iconst_4
istore 14
254: StackMap locals:
StackMap stack:
bipush 15
istore 21
bipush 11
istore 22
bipush 9
istore 23
iconst_2
istore 20
iload 22
iload 23
imul
iload 21
imul
istore 19
goto 265
255: StackMap locals:
StackMap stack:
iconst_1
istore 24
iconst_1
istore 25
iconst_4
istore 14
256: bipush 60
istore 21
bipush 22
istore 22
bipush 18
istore 23
bipush 64
istore 20
iload 22
iload 23
imul
bipush 50
imul
istore 19
goto 265
257: StackMap locals:
StackMap stack:
iconst_1
istore 24
iconst_1
istore 25
iconst_4
istore 14
258: bipush 60
istore 21
bipush 45
istore 22
bipush 18
istore 23
sipush 128
istore 20
iload 22
iload 23
imul
bipush 50
imul
istore 19
goto 265
259: StackMap locals:
StackMap stack:
iconst_1
istore 24
iconst_1
istore 25
iconst_4
istore 14
260: bipush 60
istore 21
bipush 45
istore 22
bipush 36
istore 23
sipush 256
istore 20
iload 22
iload 23
imul
bipush 50
imul
istore 19
goto 265
261: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized profile/level "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 15
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
262: ldc "/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 15
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
263: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
264: iload 6
iconst_1
ior
istore 6
265: StackMap locals:
StackMap stack:
aload 15
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
lookupswitch { // 9
1: 266
2: 266
4: 266
8: 266
16: 266
32: 266
64: 266
128: 266
256: 266
default: 267
}
266: StackMap locals:
StackMap stack:
goto 271
267: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized profile "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
268: aload 15
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
269: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
270: iload 6
iconst_1
ior
istore 6
271: StackMap locals:
StackMap stack:
iload 26
ifeq 274
272: bipush 11
istore 24
bipush 9
istore 25
273: goto 275
274: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield android.media.MediaCodecInfo$VideoCapabilities.mAllowMbOverride:Z
275: StackMap locals:
StackMap stack:
iload 6
bipush -5
iand
istore 6
276: iload 19
i2l
lload 1
invokestatic java.lang.Math.max:(JJ)J
lstore 1
277: iload 22
iload 23
imul
iload 3
invokestatic java.lang.Math.max:(II)I
istore 3
278: iload 20
ldc 64000
imul
iload 4
invokestatic java.lang.Math.max:(II)I
istore 4
279: iload 22
iload 9
invokestatic java.lang.Math.max:(II)I
istore 9
280: iload 23
iload 10
invokestatic java.lang.Math.max:(II)I
istore 10
281: iload 21
iload 11
invokestatic java.lang.Math.max:(II)I
istore 11
282: iload 24
iload 12
invokestatic java.lang.Math.min:(II)I
istore 12
283: iload 25
iload 13
invokestatic java.lang.Math.min:(II)I
istore 13
end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 15 284: iinc 16 1
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String int int int int int int top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
285: iload 16
iload 17
if_icmplt 227
286: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mAllowMbOverride:Z
ifne 290
287: aload 0
288: new android.util.Rational
dup
bipush 11
bipush 9
invokespecial android.util.Rational.<init>:(II)V
new android.util.Rational
dup
bipush 11
bipush 9
invokespecial android.util.Rational.<init>:(II)V
invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
289: putfield android.media.MediaCodecInfo$VideoCapabilities.mBlockAspectRatioRange:Landroid/util/Range;
290: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String int int int int int int
StackMap stack:
aload 0
291: iload 12
iload 13
292: iload 9
iload 10
293: iload 3
lload 1
294: bipush 16
bipush 16
295: iload 14
iload 14
296: invokevirtual android.media.MediaCodecInfo$VideoCapabilities.applyMacroBlockLimits:(IIIIIJIIII)V
297: aload 0
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 11
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mFrameRateRange:Landroid/util/Range;
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 298: goto 437
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String
StackMap stack:
299: aload 8
ldc "video/x-vnd.on2.vp8"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 325
300: ldc 2147483647
istore 3
301: ldc 2147483647
lstore 1
302: ldc 100000000
istore 4
303: aload 7
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 319
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
304: aload 12
iload 10
aaload
astore 9
start local 9 305: aload 9
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
tableswitch { // 1 - 8
1: 306
2: 306
3: 307
4: 306
5: 307
6: 307
7: 307
8: 306
default: 307
}
306: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String android.media.MediaCodecInfo$CodecProfileLevel int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
goto 311
307: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized level "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
308: aload 9
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
309: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
310: iload 6
iconst_1
ior
istore 6
311: StackMap locals:
StackMap stack:
aload 9
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
tableswitch { // 1 - 1
1: 312
default: 313
}
312: StackMap locals:
StackMap stack:
goto 317
313: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized profile "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
314: aload 9
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
315: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
316: iload 6
iconst_1
ior
istore 6
317: StackMap locals:
StackMap stack:
iload 6
bipush -5
iand
istore 6
end local 9 318: iinc 10 1
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
319: iload 10
iload 11
if_icmplt 304
320: aload 0
sipush 32767
sipush 32767
321: iload 3
lload 1
bipush 16
bipush 16
322: iconst_1
iconst_1
323: invokevirtual android.media.MediaCodecInfo$VideoCapabilities.applyMacroBlockLimits:(IIIJIIII)V
324: goto 437
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String
StackMap stack:
325: aload 8
ldc "video/x-vnd.on2.vp9"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 378
326: ldc 829440
lstore 1
327: ldc 36864
istore 3
328: ldc 200000
istore 4
329: sipush 512
istore 9
start local 9 330: aload 7
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 367
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String int top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
331: aload 13
iload 11
aaload
astore 10
start local 10 332: lconst_0
lstore 14
start local 14 333: iconst_0
istore 16
start local 16 334: iconst_0
istore 17
start local 17 335: iconst_0
istore 18
start local 18 336: aload 10
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
lookupswitch { // 14
1: 337
2: 338
4: 339
8: 340
16: 341
32: 342
64: 343
128: 344
256: 345
512: 346
1024: 347
2048: 348
4096: 349
8192: 350
default: 351
}
337: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String int android.media.MediaCodecInfo$CodecProfileLevel int int android.media.MediaCodecInfo$CodecProfileLevel[] long int int int
StackMap stack:
ldc 829440
lstore 14
ldc 36864
istore 16
sipush 200
istore 17
sipush 512
istore 18
goto 355
338: StackMap locals:
StackMap stack:
ldc 2764800
lstore 14
ldc 73728
istore 16
sipush 800
istore 17
sipush 768
istore 18
goto 355
339: StackMap locals:
StackMap stack:
ldc 4608000
lstore 14
ldc 122880
istore 16
sipush 1800
istore 17
sipush 960
istore 18
goto 355
340: StackMap locals:
StackMap stack:
ldc 9216000
lstore 14
ldc 245760
istore 16
sipush 3600
istore 17
sipush 1344
istore 18
goto 355
341: StackMap locals:
StackMap stack:
ldc 20736000
lstore 14
ldc 552960
istore 16
sipush 7200
istore 17
sipush 2048
istore 18
goto 355
342: StackMap locals:
StackMap stack:
ldc 36864000
lstore 14
ldc 983040
istore 16
sipush 12000
istore 17
sipush 2752
istore 18
goto 355
343: StackMap locals:
StackMap stack:
ldc 83558400
lstore 14
ldc 2228224
istore 16
sipush 18000
istore 17
sipush 4160
istore 18
goto 355
344: StackMap locals:
StackMap stack:
ldc 160432128
lstore 14
ldc 2228224
istore 16
sipush 30000
istore 17
sipush 4160
istore 18
goto 355
345: StackMap locals:
StackMap stack:
ldc 311951360
lstore 14
ldc 8912896
istore 16
ldc 60000
istore 17
sipush 8384
istore 18
goto 355
346: StackMap locals:
StackMap stack:
ldc 588251136
lstore 14
ldc 8912896
istore 16
ldc 120000
istore 17
sipush 8384
istore 18
goto 355
347: StackMap locals:
StackMap stack:
ldc 1176502272
lstore 14
ldc 8912896
istore 16
ldc 180000
istore 17
sipush 8384
istore 18
goto 355
348: StackMap locals:
StackMap stack:
ldc 1176502272
lstore 14
ldc 35651584
istore 16
ldc 180000
istore 17
sipush 16832
istore 18
goto 355
349: StackMap locals:
StackMap stack:
ldc 2353004544
lstore 14
ldc 35651584
istore 16
ldc 240000
istore 17
sipush 16832
istore 18
goto 355
350: StackMap locals:
StackMap stack:
ldc 4706009088
lstore 14
ldc 35651584
istore 16
ldc 480000
istore 17
sipush 16832
istore 18
goto 355
351: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized level "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
352: aload 10
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
353: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
354: iload 6
iconst_1
ior
istore 6
355: StackMap locals:
StackMap stack:
aload 10
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
lookupswitch { // 6
1: 356
2: 356
4: 356
8: 356
4096: 356
8192: 356
default: 357
}
356: StackMap locals:
StackMap stack:
goto 361
357: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized profile "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
358: aload 10
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
359: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
360: iload 6
iconst_1
ior
istore 6
361: StackMap locals:
StackMap stack:
iload 6
bipush -5
iand
istore 6
362: lload 14
lload 1
invokestatic java.lang.Math.max:(JJ)J
lstore 1
363: iload 16
iload 3
invokestatic java.lang.Math.max:(II)I
istore 3
364: iload 17
sipush 1000
imul
iload 4
invokestatic java.lang.Math.max:(II)I
istore 4
365: iload 18
iload 9
invokestatic java.lang.Math.max:(II)I
istore 9
end local 18 end local 17 end local 16 end local 14 end local 10 366: iinc 11 1
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String int top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
367: iload 11
iload 12
if_icmplt 331
368: iload 9
bipush 8
invokestatic android.media.Utils.divUp:(II)I
istore 10
start local 10 369: iload 3
bipush 64
invokestatic android.media.Utils.divUp:(II)I
istore 3
370: lload 1
ldc 64
invokestatic android.media.Utils.divUp:(JJ)J
lstore 1
371: aload 0
372: iload 10
iload 10
373: iload 3
lload 1
374: bipush 8
bipush 8
375: iconst_1
iconst_1
376: invokevirtual android.media.MediaCodecInfo$VideoCapabilities.applyMacroBlockLimits:(IIIJIIII)V
end local 10 end local 9 377: goto 437
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String
StackMap stack:
378: aload 8
ldc "video/hevc"
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 434
379: sipush 576
istore 3
380: iload 3
bipush 15
imul
i2l
lstore 1
381: ldc 128000
istore 4
382: aload 7
dup
astore 12
arraylength
istore 11
iconst_0
istore 10
goto 425
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
383: aload 12
iload 10
aaload
astore 9
start local 9 384: dconst_0
dstore 13
start local 13 385: iconst_0
istore 15
start local 15 386: iconst_0
istore 16
start local 16 387: aload 9
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
lookupswitch { // 26
1: 388
2: 388
4: 389
8: 389
16: 390
32: 390
64: 391
128: 391
256: 392
512: 392
1024: 393
2048: 394
4096: 395
8192: 396
16384: 397
32768: 398
65536: 399
131072: 400
262144: 401
524288: 402
1048576: 403
2097152: 404
4194304: 405
8388608: 406
16777216: 407
33554432: 408
default: 409
}
388: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String android.media.MediaCodecInfo$CodecProfileLevel int int android.media.MediaCodecInfo$CodecProfileLevel[] double int int
StackMap stack:
ldc 15.0
dstore 13
ldc 36864
istore 15
sipush 128
istore 16
goto 413
389: StackMap locals:
StackMap stack:
ldc 30.0
dstore 13
ldc 122880
istore 15
sipush 1500
istore 16
goto 413
390: StackMap locals:
StackMap stack:
ldc 30.0
dstore 13
ldc 245760
istore 15
sipush 3000
istore 16
goto 413
391: StackMap locals:
StackMap stack:
ldc 30.0
dstore 13
ldc 552960
istore 15
sipush 6000
istore 16
goto 413
392: StackMap locals:
StackMap stack:
ldc 33.75
dstore 13
ldc 983040
istore 15
sipush 10000
istore 16
goto 413
393: StackMap locals:
StackMap stack:
ldc 30.0
dstore 13
ldc 2228224
istore 15
sipush 12000
istore 16
goto 413
394: StackMap locals:
StackMap stack:
ldc 30.0
dstore 13
ldc 2228224
istore 15
sipush 30000
istore 16
goto 413
395: StackMap locals:
StackMap stack:
ldc 60.0
dstore 13
ldc 2228224
istore 15
sipush 20000
istore 16
goto 413
396: StackMap locals:
StackMap stack:
ldc 60.0
dstore 13
ldc 2228224
istore 15
ldc 50000
istore 16
goto 413
397: StackMap locals:
StackMap stack:
ldc 30.0
dstore 13
ldc 8912896
istore 15
sipush 25000
istore 16
goto 413
398: StackMap locals:
StackMap stack:
ldc 30.0
dstore 13
ldc 8912896
istore 15
ldc 100000
istore 16
goto 413
399: StackMap locals:
StackMap stack:
ldc 60.0
dstore 13
ldc 8912896
istore 15
ldc 40000
istore 16
goto 413
400: StackMap locals:
StackMap stack:
ldc 60.0
dstore 13
ldc 8912896
istore 15
ldc 160000
istore 16
goto 413
401: StackMap locals:
StackMap stack:
ldc 120.0
dstore 13
ldc 8912896
istore 15
ldc 60000
istore 16
goto 413
402: StackMap locals:
StackMap stack:
ldc 120.0
dstore 13
ldc 8912896
istore 15
ldc 240000
istore 16
goto 413
403: StackMap locals:
StackMap stack:
ldc 30.0
dstore 13
ldc 35651584
istore 15
ldc 60000
istore 16
goto 413
404: StackMap locals:
StackMap stack:
ldc 30.0
dstore 13
ldc 35651584
istore 15
ldc 240000
istore 16
goto 413
405: StackMap locals:
StackMap stack:
ldc 60.0
dstore 13
ldc 35651584
istore 15
ldc 120000
istore 16
goto 413
406: StackMap locals:
StackMap stack:
ldc 60.0
dstore 13
ldc 35651584
istore 15
ldc 480000
istore 16
goto 413
407: StackMap locals:
StackMap stack:
ldc 120.0
dstore 13
ldc 35651584
istore 15
ldc 240000
istore 16
goto 413
408: StackMap locals:
StackMap stack:
ldc 120.0
dstore 13
ldc 35651584
istore 15
ldc 800000
istore 16
goto 413
409: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized level "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
410: aload 9
getfield android.media.MediaCodecInfo$CodecProfileLevel.level:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
411: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
412: iload 6
iconst_1
ior
istore 6
413: StackMap locals:
StackMap stack:
aload 9
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
lookupswitch { // 3
1: 414
2: 414
4096: 414
default: 415
}
414: StackMap locals:
StackMap stack:
goto 419
415: StackMap locals:
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unrecognized profile "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
416: aload 9
getfield android.media.MediaCodecInfo$CodecProfileLevel.profile:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " for "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
417: invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
418: iload 6
iconst_1
ior
istore 6
419: StackMap locals:
StackMap stack:
iload 15
bipush 6
ishr
istore 15
420: iload 6
bipush -5
iand
istore 6
421: dload 13
iload 15
i2d
dmul
d2i
i2l
lload 1
invokestatic java.lang.Math.max:(JJ)J
lstore 1
422: iload 15
iload 3
invokestatic java.lang.Math.max:(II)I
istore 3
423: iload 16
sipush 1000
imul
iload 4
invokestatic java.lang.Math.max:(II)I
istore 4
end local 16 end local 15 end local 13 end local 9 424: iinc 10 1
StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String top int int android.media.MediaCodecInfo$CodecProfileLevel[]
StackMap stack:
425: iload 10
iload 11
if_icmplt 383
426: iload 3
bipush 8
imul
i2d
invokestatic java.lang.Math.sqrt:(D)D
d2i
istore 9
start local 9 427: aload 0
428: iload 9
iload 9
429: iload 3
lload 1
430: bipush 8
bipush 8
431: iconst_1
iconst_1
432: invokevirtual android.media.MediaCodecInfo$VideoCapabilities.applyMacroBlockLimits:(IIIJIIII)V
end local 9 433: goto 437
434: StackMap locals: android.media.MediaCodecInfo$VideoCapabilities long int int int int android.media.MediaCodecInfo$CodecProfileLevel[] java.lang.String
StackMap stack:
ldc "VideoCapabilities"
new java.lang.StringBuilder
dup
ldc "Unsupported mime "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 8
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
pop
435: ldc 64000
istore 4
436: iload 6
iconst_2
ior
istore 6
437: StackMap locals:
StackMap stack:
aload 0
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokestatic android.util.Range.create:(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
putfield android.media.MediaCodecInfo$VideoCapabilities.mBitrateRange:Landroid/util/Range;
438: aload 0
getfield android.media.MediaCodecInfo$VideoCapabilities.mParent:Landroid/media/MediaCodecInfo$CodecCapabilities;
dup
getfield android.media.MediaCodecInfo$CodecCapabilities.mError:I
iload 6
ior
putfield android.media.MediaCodecInfo$CodecCapabilities.mError:I
439: return
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 440 0 this Landroid/media/MediaCodecInfo$VideoCapabilities;
1 440 1 maxBlocksPerSecond J
2 440 3 maxBlocks I
3 440 4 maxBps I
4 440 5 maxDPBBlocks I
5 440 6 errors I
6 440 7 profileLevels [Landroid/media/MediaCodecInfo$CodecProfileLevel;
7 440 8 mime Ljava/lang/String;
14 61 9 profileLevel Landroid/media/MediaCodecInfo$CodecProfileLevel;
15 61 13 MBPS I
16 61 14 FS I
17 61 15 BR I
18 61 16 DPB I
19 61 17 supported Z
64 70 9 maxLengthInBlocks I
73 134 9 maxWidth I
74 134 10 maxHeight I
75 134 11 maxRate I
80 126 12 profileLevel Landroid/media/MediaCodecInfo$CodecProfileLevel;
81 126 16 MBPS I
82 126 17 FS I
83 126 18 BR I
84 126 19 FR I
85 126 20 W I
86 126 21 H I
87 126 22 supported Z
137 215 9 maxWidth I
138 215 10 maxHeight I
139 215 11 maxRate I
144 207 12 profileLevel Landroid/media/MediaCodecInfo$CodecProfileLevel;
145 207 16 MBPS I
146 207 17 FS I
147 207 18 BR I
148 207 19 FR I
149 207 20 W I
150 207 21 H I
151 207 22 strict Z
152 207 23 supported Z
204 207 24 maxDim I
218 298 9 maxWidth I
219 298 10 maxHeight I
220 298 11 maxRate I
221 298 12 minWidth I
222 298 13 minHeight I
223 298 14 minAlignment I
228 284 15 profileLevel Landroid/media/MediaCodecInfo$CodecProfileLevel;
229 284 19 MBPS I
230 284 20 BR I
231 284 21 FR I
232 284 22 W I
233 284 23 H I
234 284 24 minW I
235 284 25 minH I
236 284 26 strict Z
305 318 9 profileLevel Landroid/media/MediaCodecInfo$CodecProfileLevel;
330 377 9 maxDim I
332 366 10 profileLevel Landroid/media/MediaCodecInfo$CodecProfileLevel;
333 366 14 SR J
334 366 16 FS I
335 366 17 BR I
336 366 18 D I
369 377 10 maxLengthInBlocks I
384 424 9 profileLevel Landroid/media/MediaCodecInfo$CodecProfileLevel;
385 424 13 FR D
386 424 15 FS I
387 424 16 BR I
427 433 9 maxLengthInBlocks I
}
SourceFile: "MediaCodecInfo.java"
NestHost: android.media.MediaCodecInfo
InnerClasses:
public final CodecCapabilities = android.media.MediaCodecInfo$CodecCapabilities of android.media.MediaCodecInfo
public final CodecProfileLevel = android.media.MediaCodecInfo$CodecProfileLevel of android.media.MediaCodecInfo
public final VideoCapabilities = android.media.MediaCodecInfo$VideoCapabilities of android.media.MediaCodecInfo