public class android.media.MediaCodec$MediaImage extends android.media.Image
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: android.media.MediaCodec$MediaImage
super_class: android.media.Image
{
private final boolean mIsReadOnly;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mWidth;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mHeight;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mFormat;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long mTimestamp;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private final android.media.Image$Plane[] mPlanes;
descriptor: [Landroid/media/Image$Plane;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.ByteBuffer mBuffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.ByteBuffer mInfo;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mXOffset;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int mYOffset;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final int TYPE_YUV;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private final int mTransform;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 0
private final int mScalingMode;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
ConstantValue: 0
public int getFormat();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaCodec$MediaImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.MediaCodec$MediaImage.mFormat:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaCodec$MediaImage;
public int getHeight();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaCodec$MediaImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.MediaCodec$MediaImage.mHeight:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaCodec$MediaImage;
public int getWidth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaCodec$MediaImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.MediaCodec$MediaImage.mWidth:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaCodec$MediaImage;
public int getTransform();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaCodec$MediaImage.throwISEIfImageIsInvalid:()V
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaCodec$MediaImage;
public int getScalingMode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaCodec$MediaImage.throwISEIfImageIsInvalid:()V
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaCodec$MediaImage;
public long getTimestamp();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaCodec$MediaImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.MediaCodec$MediaImage.mTimestamp:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaCodec$MediaImage;
public android.media.Image$Plane[] getPlanes();
descriptor: ()[Landroid/media/Image$Plane;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual android.media.MediaCodec$MediaImage.throwISEIfImageIsInvalid:()V
1: aload 0
getfield android.media.MediaCodec$MediaImage.mPlanes:[Landroid/media/Image$Plane;
aload 0
getfield android.media.MediaCodec$MediaImage.mPlanes:[Landroid/media/Image$Plane;
arraylength
invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
checkcast android.media.Image$Plane[]
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Landroid/media/MediaCodec$MediaImage;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tjava.nio.NioUtils cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Landroid/media/MediaCodec$MediaImage;
public void setCropRect(android.graphics.Rect);
descriptor: (Landroid/graphics/Rect;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield android.media.MediaCodec$MediaImage.mIsReadOnly:Z
ifeq 2
1: new java.nio.ReadOnlyBufferException
dup
invokespecial java.nio.ReadOnlyBufferException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokespecial android.media.Image.setCropRect:(Landroid/graphics/Rect;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Landroid/media/MediaCodec$MediaImage;
0 4 1 cropRect Landroid/graphics/Rect;
MethodParameters:
Name Flags
cropRect
public void <init>(java.nio.ByteBuffer, java.nio.ByteBuffer, boolean, long, int, int, android.graphics.Rect);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;ZJIILandroid/graphics/Rect;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=19, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 6 start local 7 start local 8 0: aload 0
invokespecial android.media.Image.<init>:()V
1: aload 0
iconst_0
putfield android.media.MediaCodec$MediaImage.mTransform:I
2: aload 0
iconst_0
putfield android.media.MediaCodec$MediaImage.mScalingMode:I
3: aload 0
bipush 35
putfield android.media.MediaCodec$MediaImage.mFormat:I
4: aload 0
lload 4
putfield android.media.MediaCodec$MediaImage.mTimestamp:J
5: aload 0
iconst_1
putfield android.media.MediaCodec$MediaImage.mIsImageValid:Z
6: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
putfield android.media.MediaCodec$MediaImage.mIsReadOnly:Z
7: aload 0
aload 1
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
putfield android.media.MediaCodec$MediaImage.mBuffer:Ljava/nio/ByteBuffer;
8: aload 0
iload 6
putfield android.media.MediaCodec$MediaImage.mXOffset:I
9: aload 0
iload 7
putfield android.media.MediaCodec$MediaImage.mYOffset:I
10: aload 0
aload 2
putfield android.media.MediaCodec$MediaImage.mInfo:Ljava/nio/ByteBuffer;
11: aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
bipush 104
if_icmpne 61
12: aload 2
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 9
start local 9 13: iload 9
iconst_1
if_icmpeq 15
14: new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "unsupported type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals: android.media.MediaCodec$MediaImage java.nio.ByteBuffer java.nio.ByteBuffer int long int int android.graphics.Rect int
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 10
start local 10 16: iload 10
iconst_3
if_icmpeq 18
17: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "unexpected number of planes: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
18: StackMap locals: int
StackMap stack:
aload 0
aload 2
invokevirtual java.nio.ByteBuffer.getInt:()I
putfield android.media.MediaCodec$MediaImage.mWidth:I
19: aload 0
aload 2
invokevirtual java.nio.ByteBuffer.getInt:()I
putfield android.media.MediaCodec$MediaImage.mHeight:I
20: aload 0
getfield android.media.MediaCodec$MediaImage.mWidth:I
iconst_1
if_icmplt 21
aload 0
getfield android.media.MediaCodec$MediaImage.mHeight:I
iconst_1
if_icmpge 24
21: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
22: new java.lang.StringBuilder
dup
ldc "unsupported size: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield android.media.MediaCodec$MediaImage.mWidth:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield android.media.MediaCodec$MediaImage.mHeight:I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
23: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
24: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 11
start local 11 25: iload 11
bipush 8
if_icmpeq 27
26: new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "unsupported bit depth: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
27: StackMap locals: int
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 12
start local 12 28: iload 12
bipush 8
if_icmpeq 32
29: new java.lang.UnsupportedOperationException
dup
30: new java.lang.StringBuilder
dup
ldc "unsupported allocated bit depth: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 12
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
31: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
32: StackMap locals: int
StackMap stack:
aload 0
iload 10
anewarray android.media.MediaCodec$MediaImage$MediaPlane
putfield android.media.MediaCodec$MediaImage.mPlanes:[Landroid/media/Image$Plane;
33: iconst_0
istore 13
start local 13 34: goto 59
35: StackMap locals: int
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 14
start local 14 36: aload 2
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 15
start local 15 37: aload 2
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 16
start local 16 38: aload 2
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 17
start local 17 39: aload 2
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 18
start local 18 40: iload 17
iload 18
if_icmpne 43
iload 17
iload 13
ifne 41
iconst_1
goto 42
StackMap locals: android.media.MediaCodec$MediaImage java.nio.ByteBuffer java.nio.ByteBuffer int long int int android.graphics.Rect int int int int int int int int int int
StackMap stack: int
41: iconst_2
StackMap locals: android.media.MediaCodec$MediaImage java.nio.ByteBuffer java.nio.ByteBuffer int long int int android.graphics.Rect int int int int int int int int int int
StackMap stack: int int
42: if_icmpeq 46
43: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "unexpected subsampling: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
44: iload 17
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "x"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 18
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " on plane "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
45: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
46: StackMap locals:
StackMap stack:
iload 15
iconst_1
if_icmplt 47
iload 16
iconst_1
if_icmpge 50
47: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "unexpected strides: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
48: iload 15
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " pixel, "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 16
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " row on plane "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
49: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
50: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
pop
51: aload 1
aload 0
getfield android.media.MediaCodec$MediaImage.mBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.position:()I
iload 14
iadd
52: iload 6
iload 17
idiv
iload 15
imul
iadd
iload 7
iload 18
idiv
iload 16
imul
iadd
53: invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
54: aload 1
aload 1
invokevirtual java.nio.ByteBuffer.position:()I
iload 11
bipush 8
invokestatic android.media.Utils.divUp:(II)I
iadd
55: aload 0
getfield android.media.MediaCodec$MediaImage.mHeight:I
iload 18
idiv
iconst_1
isub
iload 16
imul
iadd
aload 0
getfield android.media.MediaCodec$MediaImage.mWidth:I
iload 17
idiv
iconst_1
isub
iload 15
imul
iadd
56: invokevirtual java.nio.ByteBuffer.limit:(I)Ljava/nio/Buffer;
pop
57: aload 0
getfield android.media.MediaCodec$MediaImage.mPlanes:[Landroid/media/Image$Plane;
iload 13
new android.media.MediaCodec$MediaImage$MediaPlane
dup
aload 0
aload 1
invokevirtual java.nio.ByteBuffer.slice:()Ljava/nio/ByteBuffer;
iload 16
iload 15
invokespecial android.media.MediaCodec$MediaImage$MediaPlane.<init>:(Landroid/media/MediaCodec$MediaImage;Ljava/nio/ByteBuffer;II)V
aastore
end local 18 end local 17 end local 16 end local 15 end local 14 58: iinc 13 1
StackMap locals: android.media.MediaCodec$MediaImage java.nio.ByteBuffer java.nio.ByteBuffer int long int int android.graphics.Rect int int int int int
StackMap stack:
59: iload 13
iload 10
if_icmplt 35
end local 13 end local 12 end local 11 end local 10 end local 9 60: goto 64
61: StackMap locals: android.media.MediaCodec$MediaImage java.nio.ByteBuffer java.nio.ByteBuffer int long int int android.graphics.Rect
StackMap stack:
new java.lang.UnsupportedOperationException
dup
62: new java.lang.StringBuilder
dup
ldc "unsupported info length: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.nio.ByteBuffer.remaining:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
63: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
64: StackMap locals:
StackMap stack:
aload 8
ifnonnull 66
65: new android.graphics.Rect
dup
iconst_0
iconst_0
aload 0
getfield android.media.MediaCodec$MediaImage.mWidth:I
aload 0
getfield android.media.MediaCodec$MediaImage.mHeight:I
invokespecial android.graphics.Rect.<init>:(IIII)V
astore 8
66: StackMap locals:
StackMap stack:
aload 8
iload 6
ineg
iload 7
ineg
invokevirtual android.graphics.Rect.offset:(II)V
67: aload 0
aload 8
invokespecial android.media.Image.setCropRect:(Landroid/graphics/Rect;)V
68: return
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 69 0 this Landroid/media/MediaCodec$MediaImage;
0 69 1 buffer Ljava/nio/ByteBuffer;
0 69 2 info Ljava/nio/ByteBuffer;
0 69 3 readOnly Z
0 69 4 timestamp J
0 69 6 xOffset I
0 69 7 yOffset I
0 69 8 cropRect Landroid/graphics/Rect;
13 60 9 type I
16 60 10 numPlanes I
25 60 11 bitDepth I
28 60 12 bitDepthAllocated I
34 60 13 ix I
36 58 14 planeOffset I
37 58 15 colInc I
38 58 16 rowInc I
39 58 17 horiz I
40 58 18 vert I
MethodParameters:
Name Flags
buffer
info
readOnly
timestamp
xOffset
yOffset
cropRect
}
SourceFile: "MediaCodec.java"
NestHost: android.media.MediaCodec
InnerClasses:
public abstract Plane = android.media.Image$Plane of android.media.Image
public MediaImage = android.media.MediaCodec$MediaImage of android.media.MediaCodec
private MediaPlane = android.media.MediaCodec$MediaImage$MediaPlane of android.media.MediaCodec$MediaImage