class android.media.ImageUtils
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: android.media.ImageUtils
  super_class: java.lang.Object
{
  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.media.ImageUtils this
         0: .line 31
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // android.media.ImageUtils this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Landroid/media/ImageUtils;

  public static int getNumPlanesForFormat(int);
    descriptor: (I)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // int format
         0: .line 44
            iload 0 /* format */
            lookupswitch { // 20
                    1: 3
                    2: 3
                    3: 3
                    4: 3
                   16: 2
                   17: 1
                   20: 3
                   32: 3
                   34: 4
                   35: 1
                   36: 3
                   37: 3
                   38: 3
                  256: 3
                  257: 3
                 4098: 3
            538982489: 3
            540422489: 3
            842094169: 1
           1144402265: 3
              default: 5
          }
         1: .line 48
      StackMap locals:
      StackMap stack:
            iconst_3
            ireturn
         2: .line 50
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
         3: .line 66
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         4: .line 68
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 70
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
         6: .line 71
            ldc "Invalid format specified %d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 0 /* format */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         7: .line 70
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // int format
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0  format  I
    MethodParameters:
        Name  Flags
      format  

  public static void imageCopy(android.media.Image, android.media.Image);
    descriptor: (Landroid/media/Image;Landroid/media/Image;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=18, args_size=2
        start local 0 // android.media.Image src
        start local 1 // android.media.Image dst
         0: .line 93
            aload 0 /* src */
            ifnull 1
            aload 1 /* dst */
            ifnonnull 2
         1: .line 94
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Images should be non-null"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 96
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual android.media.Image.getFormat:()I
            aload 1 /* dst */
            invokevirtual android.media.Image.getFormat:()I
            if_icmpeq 4
         3: .line 97
            new java.lang.IllegalArgumentException
            dup
            ldc "Src and dst images should have the same format"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 99
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual android.media.Image.getFormat:()I
            bipush 34
            if_icmpeq 6
         5: .line 100
            aload 1 /* dst */
            invokevirtual android.media.Image.getFormat:()I
            bipush 34
            if_icmpne 7
         6: .line 101
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "PRIVATE format images are not copyable"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 103
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual android.media.Image.getFormat:()I
            bipush 36
            if_icmpne 11
         8: .line 104
            new java.lang.IllegalArgumentException
            dup
         9: .line 105
            ldc "Copy of RAW_OPAQUE format has not been implemented"
        10: .line 104
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 107
      StackMap locals:
      StackMap stack:
            aload 0 /* src */
            invokevirtual android.media.Image.getFormat:()I
            sipush 4098
            if_icmpne 15
        12: .line 108
            new java.lang.IllegalArgumentException
            dup
        13: .line 109
            ldc "Copy of RAW_DEPTH format has not been implemented"
        14: .line 108
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 111
      StackMap locals:
      StackMap stack:
            aload 1 /* dst */
            invokevirtual android.media.Image.getOwner:()Ljava/lang/Object;
            instanceof android.media.ImageWriter
            ifne 17
        16: .line 112
            new java.lang.IllegalArgumentException
            dup
            ldc "Destination image is not from ImageWriter. Only the images from ImageWriter are writable"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 115
      StackMap locals:
      StackMap stack:
            new android.util.Size
            dup
            aload 0 /* src */
            invokevirtual android.media.Image.getWidth:()I
            aload 0 /* src */
            invokevirtual android.media.Image.getHeight:()I
            invokespecial android.util.Size.<init>:(II)V
            astore 2 /* srcSize */
        start local 2 // android.util.Size srcSize
        18: .line 116
            new android.util.Size
            dup
            aload 1 /* dst */
            invokevirtual android.media.Image.getWidth:()I
            aload 1 /* dst */
            invokevirtual android.media.Image.getHeight:()I
            invokespecial android.util.Size.<init>:(II)V
            astore 3 /* dstSize */
        start local 3 // android.util.Size dstSize
        19: .line 117
            aload 2 /* srcSize */
            aload 3 /* dstSize */
            invokevirtual android.util.Size.equals:(Ljava/lang/Object;)Z
            ifne 23
        20: .line 118
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "source image size "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* srcSize */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is different"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 119
            ldc " with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "destination image size "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* dstSize */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 118
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 122
      StackMap locals: android.util.Size android.util.Size
      StackMap stack:
            aload 0 /* src */
            invokevirtual android.media.Image.getPlanes:()[Landroid/media/Image$Plane;
            astore 4 /* srcPlanes */
        start local 4 // android.media.Image$Plane[] srcPlanes
        24: .line 123
            aload 1 /* dst */
            invokevirtual android.media.Image.getPlanes:()[Landroid/media/Image$Plane;
            astore 5 /* dstPlanes */
        start local 5 // android.media.Image$Plane[] dstPlanes
        25: .line 124
            aconst_null
            astore 6 /* srcBuffer */
        start local 6 // java.nio.ByteBuffer srcBuffer
        26: .line 125
            aconst_null
            astore 7 /* dstBuffer */
        start local 7 // java.nio.ByteBuffer dstBuffer
        27: .line 126
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        28: goto 65
        29: .line 127
      StackMap locals: android.media.Image android.media.Image android.util.Size android.util.Size android.media.Image$Plane[] android.media.Image$Plane[] java.nio.ByteBuffer java.nio.ByteBuffer int
      StackMap stack:
            aload 4 /* srcPlanes */
            iload 8 /* i */
            aaload
            invokevirtual android.media.Image$Plane.getRowStride:()I
            istore 9 /* srcRowStride */
        start local 9 // int srcRowStride
        30: .line 128
            aload 5 /* dstPlanes */
            iload 8 /* i */
            aaload
            invokevirtual android.media.Image$Plane.getRowStride:()I
            istore 10 /* dstRowStride */
        start local 10 // int dstRowStride
        31: .line 129
            aload 4 /* srcPlanes */
            iload 8 /* i */
            aaload
            invokevirtual android.media.Image$Plane.getBuffer:()Ljava/nio/ByteBuffer;
            astore 6 /* srcBuffer */
        32: .line 130
            aload 5 /* dstPlanes */
            iload 8 /* i */
            aaload
            invokevirtual android.media.Image$Plane.getBuffer:()Ljava/nio/ByteBuffer;
            astore 7 /* dstBuffer */
        33: .line 131
            aload 6 /* srcBuffer */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
            ifeq 34
            aload 7 /* dstBuffer */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
            ifne 35
        34: .line 132
      StackMap locals: int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Source and destination ByteBuffers must be direct byteBuffer!"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        35: .line 135
      StackMap locals:
      StackMap stack:
            aload 4 /* srcPlanes */
            iload 8 /* i */
            aaload
            invokevirtual android.media.Image$Plane.getPixelStride:()I
            aload 5 /* dstPlanes */
            iload 8 /* i */
            aaload
            invokevirtual android.media.Image$Plane.getPixelStride:()I
            if_icmpeq 41
        36: .line 136
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Source plane image pixel stride "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        37: .line 137
            aload 4 /* srcPlanes */
            iload 8 /* i */
            aaload
            invokevirtual android.media.Image$Plane.getPixelStride:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        38: .line 138
            ldc " must be same as destination image pixel stride "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        39: .line 139
            aload 5 /* dstPlanes */
            iload 8 /* i */
            aaload
            invokevirtual android.media.Image$Plane.getPixelStride:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 136
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        41: .line 142
      StackMap locals:
      StackMap stack:
            aload 6 /* srcBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 11 /* srcPos */
        start local 11 // int srcPos
        42: .line 143
            aload 6 /* srcBuffer */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        43: .line 144
            aload 7 /* dstBuffer */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        44: .line 145
            iload 9 /* srcRowStride */
            iload 10 /* dstRowStride */
            if_icmpne 47
        45: .line 147
            aload 7 /* dstBuffer */
            aload 6 /* srcBuffer */
            invokevirtual java.nio.ByteBuffer.put:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
            pop
        46: .line 148
            goto 62
        47: .line 151
      StackMap locals: int
      StackMap stack:
            aload 6 /* srcBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 12 /* srcOffset */
        start local 12 // int srcOffset
        48: .line 152
            aload 7 /* dstBuffer */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 13 /* dstOffset */
        start local 13 // int dstOffset
        49: .line 153
            aload 0 /* src */
            iload 8 /* i */
            invokestatic android.media.ImageUtils.getEffectivePlaneSizeForImage:(Landroid/media/Image;I)Landroid/util/Size;
            astore 14 /* effectivePlaneSize */
        start local 14 // android.util.Size effectivePlaneSize
        50: .line 154
            aload 14 /* effectivePlaneSize */
            invokevirtual android.util.Size.getWidth:()I
            aload 4 /* srcPlanes */
            iload 8 /* i */
            aaload
            invokevirtual android.media.Image$Plane.getPixelStride:()I
            imul
            istore 15 /* srcByteCount */
        start local 15 // int srcByteCount
        51: .line 155
            iconst_0
            istore 16 /* row */
        start local 16 // int row
        52: goto 61
        53: .line 156
      StackMap locals: android.media.Image android.media.Image android.util.Size android.util.Size android.media.Image$Plane[] android.media.Image$Plane[] java.nio.ByteBuffer java.nio.ByteBuffer int int int int int int android.util.Size int int
      StackMap stack:
            iload 16 /* row */
            aload 14 /* effectivePlaneSize */
            invokevirtual android.util.Size.getHeight:()I
            iconst_1
            isub
            if_icmpne 57
        54: .line 160
            aload 6 /* srcBuffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iload 12 /* srcOffset */
            isub
            istore 17 /* remainingBytes */
        start local 17 // int remainingBytes
        55: .line 161
            iload 15 /* srcByteCount */
            iload 17 /* remainingBytes */
            if_icmple 57
        56: .line 162
            iload 17 /* remainingBytes */
            istore 15 /* srcByteCount */
        end local 17 // int remainingBytes
        57: .line 165
      StackMap locals:
      StackMap stack:
            aload 6 /* srcBuffer */
            iload 12 /* srcOffset */
            aload 7 /* dstBuffer */
            iload 13 /* dstOffset */
            iload 15 /* srcByteCount */
            invokestatic android.media.ImageUtils.directByteBufferCopy:(Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;II)V
        58: .line 166
            iload 12 /* srcOffset */
            iload 9 /* srcRowStride */
            iadd
            istore 12 /* srcOffset */
        59: .line 167
            iload 13 /* dstOffset */
            iload 10 /* dstRowStride */
            iadd
            istore 13 /* dstOffset */
        60: .line 155
            iinc 16 /* row */ 1
      StackMap locals:
      StackMap stack:
        61: iload 16 /* row */
            aload 14 /* effectivePlaneSize */
            invokevirtual android.util.Size.getHeight:()I
            if_icmplt 53
        end local 16 // int row
        end local 15 // int srcByteCount
        end local 14 // android.util.Size effectivePlaneSize
        end local 13 // int dstOffset
        end local 12 // int srcOffset
        62: .line 171
      StackMap locals: android.media.Image android.media.Image android.util.Size android.util.Size android.media.Image$Plane[] android.media.Image$Plane[] java.nio.ByteBuffer java.nio.ByteBuffer int int int int
      StackMap stack:
            aload 6 /* srcBuffer */
            iload 11 /* srcPos */
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        63: .line 172
            aload 7 /* dstBuffer */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        end local 11 // int srcPos
        end local 10 // int dstRowStride
        end local 9 // int srcRowStride
        64: .line 126
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        65: iload 8 /* i */
            aload 4 /* srcPlanes */
            arraylength
            if_icmplt 29
        end local 8 // int i
        66: .line 174
            return
        end local 7 // java.nio.ByteBuffer dstBuffer
        end local 6 // java.nio.ByteBuffer srcBuffer
        end local 5 // android.media.Image$Plane[] dstPlanes
        end local 4 // android.media.Image$Plane[] srcPlanes
        end local 3 // android.util.Size dstSize
        end local 2 // android.util.Size srcSize
        end local 1 // android.media.Image dst
        end local 0 // android.media.Image src
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   67     0                 src  Landroid/media/Image;
            0   67     1                 dst  Landroid/media/Image;
           18   67     2             srcSize  Landroid/util/Size;
           19   67     3             dstSize  Landroid/util/Size;
           24   67     4           srcPlanes  [Landroid/media/Image$Plane;
           25   67     5           dstPlanes  [Landroid/media/Image$Plane;
           26   67     6           srcBuffer  Ljava/nio/ByteBuffer;
           27   67     7           dstBuffer  Ljava/nio/ByteBuffer;
           28   66     8                   i  I
           30   64     9        srcRowStride  I
           31   64    10        dstRowStride  I
           42   64    11              srcPos  I
           48   62    12           srcOffset  I
           49   62    13           dstOffset  I
           50   62    14  effectivePlaneSize  Landroid/util/Size;
           51   62    15        srcByteCount  I
           52   62    16                 row  I
           55   57    17      remainingBytes  I
    MethodParameters:
      Name  Flags
      src   
      dst   

  public static int getEstimatedNativeAllocBytes(int, int, int, int);
    descriptor: (IIII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=4
        start local 0 // int width
        start local 1 // int height
        start local 2 // int format
        start local 3 // int numImages
         0: .line 191
            iload 2 /* format */
            lookupswitch { // 20
                    1: 13
                    2: 13
                    3: 11
                    4: 9
                   16: 9
                   17: 7
                   20: 9
                   32: 9
                   34: 7
                   35: 7
                   36: 9
                   37: 5
                   38: 7
                  256: 1
                  257: 1
                 4098: 9
            538982489: 3
            540422489: 9
            842094169: 7
           1144402265: 9
              default: 15
          }
         1: .line 195
      StackMap locals:
      StackMap stack:
            ldc 0.3
            dstore 4 /* estimatedBytePerPixel */
        start local 4 // double estimatedBytePerPixel
         2: .line 196
            goto 18
        end local 4 // double estimatedBytePerPixel
         3: .line 198
      StackMap locals:
      StackMap stack:
            dconst_1
            dstore 4 /* estimatedBytePerPixel */
        start local 4 // double estimatedBytePerPixel
         4: .line 199
            goto 18
        end local 4 // double estimatedBytePerPixel
         5: .line 201
      StackMap locals:
      StackMap stack:
            ldc 1.25
            dstore 4 /* estimatedBytePerPixel */
        start local 4 // double estimatedBytePerPixel
         6: .line 202
            goto 18
        end local 4 // double estimatedBytePerPixel
         7: .line 208
      StackMap locals:
      StackMap stack:
            ldc 1.5
            dstore 4 /* estimatedBytePerPixel */
        start local 4 // double estimatedBytePerPixel
         8: .line 209
            goto 18
        end local 4 // double estimatedBytePerPixel
         9: .line 218
      StackMap locals:
      StackMap stack:
            ldc 2.0
            dstore 4 /* estimatedBytePerPixel */
        start local 4 // double estimatedBytePerPixel
        10: .line 219
            goto 18
        end local 4 // double estimatedBytePerPixel
        11: .line 221
      StackMap locals:
      StackMap stack:
            ldc 3.0
            dstore 4 /* estimatedBytePerPixel */
        start local 4 // double estimatedBytePerPixel
        12: .line 222
            goto 18
        end local 4 // double estimatedBytePerPixel
        13: .line 225
      StackMap locals:
      StackMap stack:
            ldc 4.0
            dstore 4 /* estimatedBytePerPixel */
        start local 4 // double estimatedBytePerPixel
        14: .line 226
            goto 18
        end local 4 // double estimatedBytePerPixel
        15: .line 228
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
        16: .line 229
            ldc "Invalid format specified %d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 2 /* format */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        17: .line 228
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        start local 4 // double estimatedBytePerPixel
        18: .line 232
      StackMap locals: double
      StackMap stack:
            iload 0 /* width */
            iload 1 /* height */
            imul
            i2d
            dload 4 /* estimatedBytePerPixel */
            dmul
            iload 3 /* numImages */
            i2d
            dmul
            d2i
            ireturn
        end local 4 // double estimatedBytePerPixel
        end local 3 // int numImages
        end local 2 // int format
        end local 1 // int height
        end local 0 // int width
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   19     0                  width  I
            0   19     1                 height  I
            0   19     2                 format  I
            0   19     3              numImages  I
            2    3     4  estimatedBytePerPixel  D
            4    5     4  estimatedBytePerPixel  D
            6    7     4  estimatedBytePerPixel  D
            8    9     4  estimatedBytePerPixel  D
           10   11     4  estimatedBytePerPixel  D
           12   13     4  estimatedBytePerPixel  D
           14   15     4  estimatedBytePerPixel  D
           18   19     4  estimatedBytePerPixel  D
    MethodParameters:
           Name  Flags
      width      
      height     
      format     
      numImages  

  private static android.util.Size getEffectivePlaneSizeForImage(android.media.Image, int);
    descriptor: (Landroid/media/Image;I)Landroid/util/Size;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // android.media.Image image
        start local 1 // int planeIdx
         0: .line 236
            aload 0 /* image */
            invokevirtual android.media.Image.getFormat:()I
            lookupswitch { // 17
                    1: 7
                    2: 7
                    3: 7
                    4: 7
                   16: 4
                   17: 1
                   20: 7
                   32: 7
                   34: 8
                   35: 1
                   37: 7
                   38: 7
                  256: 7
                 4098: 7
            538982489: 7
            540422489: 7
            842094169: 1
              default: 9
          }
         1: .line 240
      StackMap locals:
      StackMap stack:
            iload 1 /* planeIdx */
            ifne 3
         2: .line 241
            new android.util.Size
            dup
            aload 0 /* image */
            invokevirtual android.media.Image.getWidth:()I
            aload 0 /* image */
            invokevirtual android.media.Image.getHeight:()I
            invokespecial android.util.Size.<init>:(II)V
            areturn
         3: .line 243
      StackMap locals:
      StackMap stack:
            new android.util.Size
            dup
            aload 0 /* image */
            invokevirtual android.media.Image.getWidth:()I
            iconst_2
            idiv
            aload 0 /* image */
            invokevirtual android.media.Image.getHeight:()I
            iconst_2
            idiv
            invokespecial android.util.Size.<init>:(II)V
            areturn
         4: .line 246
      StackMap locals:
      StackMap stack:
            iload 1 /* planeIdx */
            ifne 6
         5: .line 247
            new android.util.Size
            dup
            aload 0 /* image */
            invokevirtual android.media.Image.getWidth:()I
            aload 0 /* image */
            invokevirtual android.media.Image.getHeight:()I
            invokespecial android.util.Size.<init>:(II)V
            areturn
         6: .line 249
      StackMap locals:
      StackMap stack:
            new android.util.Size
            dup
            aload 0 /* image */
            invokevirtual android.media.Image.getWidth:()I
            aload 0 /* image */
            invokevirtual android.media.Image.getHeight:()I
            iconst_2
            idiv
            invokespecial android.util.Size.<init>:(II)V
            areturn
         7: .line 263
      StackMap locals:
      StackMap stack:
            new android.util.Size
            dup
            aload 0 /* image */
            invokevirtual android.media.Image.getWidth:()I
            aload 0 /* image */
            invokevirtual android.media.Image.getHeight:()I
            invokespecial android.util.Size.<init>:(II)V
            areturn
         8: .line 265
      StackMap locals:
      StackMap stack:
            new android.util.Size
            dup
            iconst_0
            iconst_0
            invokespecial android.util.Size.<init>:(II)V
            areturn
         9: .line 267
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
        10: .line 268
            ldc "Invalid image format %d"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* image */
            invokevirtual android.media.Image.getFormat:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        11: .line 267
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // int planeIdx
        end local 0 // android.media.Image image
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0     image  Landroid/media/Image;
            0   12     1  planeIdx  I
    MethodParameters:
          Name  Flags
      image     
      planeIdx  

  private static void directByteBufferCopy(java.nio.ByteBuffer, int, java.nio.ByteBuffer, int, int);
    descriptor: (Ljava/nio/ByteBuffer;ILjava/nio/ByteBuffer;II)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=5
         0: .line 274
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tMemory cannot be resolved\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    MethodParameters:
              Name  Flags
      srcBuffer     
      srcOffset     
      dstBuffer     
      dstOffset     
      srcByteCount  
}
SourceFile: "ImageUtils.java"
InnerClasses:
  public abstract Plane = android.media.Image$Plane of android.media.Image