public final class android.hardware.camera2.DngCreator implements java.lang.AutoCloseable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: android.hardware.camera2.DngCreator
  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: "DngCreator"

  public static final int MAX_THUMBNAIL_DIMENSION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 256

  private static final java.lang.String GPS_LAT_REF_NORTH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "N"

  private static final java.lang.String GPS_LAT_REF_SOUTH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "S"

  private static final java.lang.String GPS_LONG_REF_EAST;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "E"

  private static final java.lang.String GPS_LONG_REF_WEST;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "W"

  private static final java.lang.String GPS_DATE_FORMAT_STR;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "yyyy:MM:dd"

  private static final java.lang.String TIFF_DATETIME_FORMAT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "yyyy:MM:dd HH:mm:ss"

  private static final java.text.DateFormat sExifGPSDateStamp;
    descriptor: Ljava/text/DateFormat;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.Calendar mGPSTimeStampCalendar;
    descriptor: Ljava/util/Calendar;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private static final int DEFAULT_PIXEL_STRIDE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private static final int BYTES_PER_RGB_PIX;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int TAG_ORIENTATION_UNKNOWN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  private long mNativeContext;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 476
            new java.text.SimpleDateFormat
            dup
            ldc "yyyy:MM:dd"
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
         1: .line 475
            putstatic android.hardware.camera2.DngCreator.sExifGPSDateStamp:Ljava/text/DateFormat;
         2: .line 481
            getstatic android.hardware.camera2.DngCreator.sExifGPSDateStamp:Ljava/text/DateFormat;
            ldc "UTC"
            invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
            invokevirtual java.text.DateFormat.setTimeZone:(Ljava/util/TimeZone;)V
         3: .line 677
            invokestatic android.hardware.camera2.DngCreator.nativeClassInit:()V
         4: .line 678
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(android.hardware.camera2.CameraCharacteristics, android.hardware.camera2.CaptureResult);
    descriptor: (Landroid/hardware/camera2/CameraCharacteristics;Landroid/hardware/camera2/CaptureResult;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=13, args_size=3
        start local 0 // android.hardware.camera2.DngCreator this
        start local 1 // android.hardware.camera2.CameraCharacteristics characteristics
        start local 2 // android.hardware.camera2.CaptureResult metadata
         0: .line 87
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 477
            aload 0 /* this */
         2: .line 478
            ldc "UTC"
            invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
            invokestatic java.util.Calendar.getInstance:(Ljava/util/TimeZone;)Ljava/util/Calendar;
            putfield android.hardware.camera2.DngCreator.mGPSTimeStampCalendar:Ljava/util/Calendar;
         3: .line 89
            aload 1 /* characteristics */
            ifnull 4
            aload 2 /* metadata */
            ifnonnull 5
         4: .line 90
      StackMap locals: android.hardware.camera2.DngCreator android.hardware.camera2.CameraCharacteristics android.hardware.camera2.CaptureResult
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Null argument to DngCreator constructor"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 94
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 3 /* currentTime */
        start local 3 // long currentTime
         6: .line 96
            lconst_0
            lstore 5 /* timeOffset */
        start local 5 // long timeOffset
         7: .line 98
            aload 1 /* characteristics */
         8: .line 99
            getstatic android.hardware.camera2.CameraCharacteristics.SENSOR_INFO_TIMESTAMP_SOURCE:Landroid/hardware/camera2/CameraCharacteristics$Key;
         9: .line 98
            invokevirtual android.hardware.camera2.CameraCharacteristics.get:(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 7 /* timestampSource */
        start local 7 // int timestampSource
        10: .line 101
            iload 7 /* timestampSource */
            iconst_1
            if_icmpne 13
        11: .line 104
            lload 3 /* currentTime */
            invokestatic android.os.SystemClock.elapsedRealtime:()J
            lsub
            lstore 5 /* timeOffset */
        12: .line 105
            goto 18
      StackMap locals: long long int
      StackMap stack:
        13: iload 7 /* timestampSource */
            ifne 16
        14: .line 108
            lload 3 /* currentTime */
            invokestatic android.os.SystemClock.uptimeMillis:()J
            lsub
            lstore 5 /* timeOffset */
        15: .line 109
            goto 18
        16: .line 111
      StackMap locals:
      StackMap stack:
            ldc "DngCreator"
            new java.lang.StringBuilder
            dup
            ldc "Sensor timestamp source is unexpected: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 7 /* timestampSource */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic android.util.Log.w:(Ljava/lang/String;Ljava/lang/String;)I
            pop
        17: .line 112
            lload 3 /* currentTime */
            invokestatic android.os.SystemClock.uptimeMillis:()J
            lsub
            lstore 5 /* timeOffset */
        18: .line 116
      StackMap locals:
      StackMap stack:
            aload 2 /* metadata */
            getstatic android.hardware.camera2.CaptureResult.SENSOR_TIMESTAMP:Landroid/hardware/camera2/CaptureResult$Key;
            invokevirtual android.hardware.camera2.CaptureResult.get:(Landroid/hardware/camera2/CaptureResult$Key;)Ljava/lang/Object;
            checkcast java.lang.Long
            astore 8 /* timestamp */
        start local 8 // java.lang.Long timestamp
        19: .line 117
            lload 3 /* currentTime */
            lstore 9 /* captureTime */
        start local 9 // long captureTime
        20: .line 118
            aload 8 /* timestamp */
            ifnull 22
        21: .line 119
            aload 8 /* timestamp */
            invokevirtual java.lang.Long.longValue:()J
            ldc 1000000
            ldiv
            lload 5 /* timeOffset */
            ladd
            lstore 9 /* captureTime */
        22: .line 125
      StackMap locals: java.lang.Long long
      StackMap stack:
            new java.text.SimpleDateFormat
            dup
            ldc "yyyy:MM:dd HH:mm:ss"
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
        23: .line 124
            astore 11 /* dateTimeStampFormat */
        start local 11 // java.text.DateFormat dateTimeStampFormat
        24: .line 126
            aload 11 /* dateTimeStampFormat */
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            invokevirtual java.text.DateFormat.setTimeZone:(Ljava/util/TimeZone;)V
        25: .line 129
            aload 11 /* dateTimeStampFormat */
            lload 9 /* captureTime */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.text.DateFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            astore 12 /* formattedCaptureTime */
        start local 12 // java.lang.String formattedCaptureTime
        26: .line 131
            aload 0 /* this */
            aload 1 /* characteristics */
            invokevirtual android.hardware.camera2.CameraCharacteristics.getNativeCopy:()Landroid/hardware/camera2/impl/CameraMetadataNative;
            aload 2 /* metadata */
            invokevirtual android.hardware.camera2.CaptureResult.getNativeCopy:()Landroid/hardware/camera2/impl/CameraMetadataNative;
        27: .line 132
            aload 12 /* formattedCaptureTime */
        28: .line 131
            invokevirtual android.hardware.camera2.DngCreator.nativeInit:(Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/impl/CameraMetadataNative;Ljava/lang/String;)V
        29: .line 133
            return
        end local 12 // java.lang.String formattedCaptureTime
        end local 11 // java.text.DateFormat dateTimeStampFormat
        end local 9 // long captureTime
        end local 8 // java.lang.Long timestamp
        end local 7 // int timestampSource
        end local 5 // long timeOffset
        end local 3 // long currentTime
        end local 2 // android.hardware.camera2.CaptureResult metadata
        end local 1 // android.hardware.camera2.CameraCharacteristics characteristics
        end local 0 // android.hardware.camera2.DngCreator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   30     0                  this  Landroid/hardware/camera2/DngCreator;
            0   30     1       characteristics  Landroid/hardware/camera2/CameraCharacteristics;
            0   30     2              metadata  Landroid/hardware/camera2/CaptureResult;
            6   30     3           currentTime  J
            7   30     5            timeOffset  J
           10   30     7       timestampSource  I
           19   30     8             timestamp  Ljava/lang/Long;
           20   30     9           captureTime  J
           24   30    11   dateTimeStampFormat  Ljava/text/DateFormat;
           26   30    12  formattedCaptureTime  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      characteristics  
      metadata         

  public android.hardware.camera2.DngCreator setOrientation(int);
    descriptor: (I)Landroid/hardware/camera2/DngCreator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // android.hardware.camera2.DngCreator this
        start local 1 // int orientation
         0: .line 158
            iload 1 /* orientation */
            iflt 2
         1: .line 159
            iload 1 /* orientation */
            bipush 8
            if_icmple 5
         2: .line 160
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Orientation "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* orientation */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         3: .line 161
            ldc " is not a valid EXIF orientation value"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 160
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 165
      StackMap locals:
      StackMap stack:
            iload 1 /* orientation */
            ifne 7
         6: .line 166
            bipush 9
            istore 1 /* orientation */
         7: .line 168
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* orientation */
            invokevirtual android.hardware.camera2.DngCreator.nativeSetOrientation:(I)V
         8: .line 169
            aload 0 /* this */
            areturn
        end local 1 // int orientation
        end local 0 // android.hardware.camera2.DngCreator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Landroid/hardware/camera2/DngCreator;
            0    9     1  orientation  I
    MethodParameters:
             Name  Flags
      orientation  

  public android.hardware.camera2.DngCreator setThumbnail(android.graphics.Bitmap);
    descriptor: (Landroid/graphics/Bitmap;)Landroid/hardware/camera2/DngCreator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // android.hardware.camera2.DngCreator this
        start local 1 // android.graphics.Bitmap pixels
         0: .line 188
            aload 1 /* pixels */
            ifnonnull 2
         1: .line 189
            new java.lang.IllegalArgumentException
            dup
            ldc "Null argument to setThumbnail"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 192
      StackMap locals:
      StackMap stack:
            aload 1 /* pixels */
            invokevirtual android.graphics.Bitmap.getWidth:()I
            istore 2 /* width */
        start local 2 // int width
         3: .line 193
            aload 1 /* pixels */
            invokevirtual android.graphics.Bitmap.getHeight:()I
            istore 3 /* height */
        start local 3 // int height
         4: .line 195
            iload 2 /* width */
            sipush 256
            if_icmpgt 5
            iload 3 /* height */
            sipush 256
            if_icmple 9
         5: .line 196
      StackMap locals: int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Thumbnail dimensions width,height ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* width */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         6: .line 197
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* height */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") too large, dimensions must be smaller than "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 198
            sipush 256
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         8: .line 196
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         9: .line 201
      StackMap locals:
      StackMap stack:
            aload 1 /* pixels */
            invokestatic android.hardware.camera2.DngCreator.convertToRGB:(Landroid/graphics/Bitmap;)Ljava/nio/ByteBuffer;
            astore 4 /* rgbBuffer */
        start local 4 // java.nio.ByteBuffer rgbBuffer
        10: .line 202
            aload 0 /* this */
            aload 4 /* rgbBuffer */
            iload 2 /* width */
            iload 3 /* height */
            invokevirtual android.hardware.camera2.DngCreator.nativeSetThumbnail:(Ljava/nio/ByteBuffer;II)V
        11: .line 204
            aload 0 /* this */
            areturn
        end local 4 // java.nio.ByteBuffer rgbBuffer
        end local 3 // int height
        end local 2 // int width
        end local 1 // android.graphics.Bitmap pixels
        end local 0 // android.hardware.camera2.DngCreator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Landroid/hardware/camera2/DngCreator;
            0   12     1     pixels  Landroid/graphics/Bitmap;
            3   12     2      width  I
            4   12     3     height  I
           10   12     4  rgbBuffer  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      pixels  

  public android.hardware.camera2.DngCreator setThumbnail(android.media.Image);
    descriptor: (Landroid/media/Image;)Landroid/hardware/camera2/DngCreator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // android.hardware.camera2.DngCreator this
        start local 1 // android.media.Image pixels
         0: .line 224
            aload 1 /* pixels */
            ifnonnull 2
         1: .line 225
            new java.lang.IllegalArgumentException
            dup
            ldc "Null argument to setThumbnail"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 228
      StackMap locals:
      StackMap stack:
            aload 1 /* pixels */
            invokevirtual android.media.Image.getFormat:()I
            istore 2 /* format */
        start local 2 // int format
         3: .line 229
            iload 2 /* format */
            bipush 35
            if_icmpeq 5
         4: .line 230
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported Image format "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* format */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 233
      StackMap locals: int
      StackMap stack:
            aload 1 /* pixels */
            invokevirtual android.media.Image.getWidth:()I
            istore 3 /* width */
        start local 3 // int width
         6: .line 234
            aload 1 /* pixels */
            invokevirtual android.media.Image.getHeight:()I
            istore 4 /* height */
        start local 4 // int height
         7: .line 236
            iload 3 /* width */
            sipush 256
            if_icmpgt 8
            iload 4 /* height */
            sipush 256
            if_icmple 12
         8: .line 237
      StackMap locals: int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Thumbnail dimensions width,height ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* width */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
         9: .line 238
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* height */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") too large, dimensions must be smaller than "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 239
            sipush 256
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 237
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 242
      StackMap locals:
      StackMap stack:
            aload 1 /* pixels */
            invokestatic android.hardware.camera2.DngCreator.convertToRGB:(Landroid/media/Image;)Ljava/nio/ByteBuffer;
            astore 5 /* rgbBuffer */
        start local 5 // java.nio.ByteBuffer rgbBuffer
        13: .line 243
            aload 0 /* this */
            aload 5 /* rgbBuffer */
            iload 3 /* width */
            iload 4 /* height */
            invokevirtual android.hardware.camera2.DngCreator.nativeSetThumbnail:(Ljava/nio/ByteBuffer;II)V
        14: .line 245
            aload 0 /* this */
            areturn
        end local 5 // java.nio.ByteBuffer rgbBuffer
        end local 4 // int height
        end local 3 // int width
        end local 2 // int format
        end local 1 // android.media.Image pixels
        end local 0 // android.hardware.camera2.DngCreator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Landroid/hardware/camera2/DngCreator;
            0   15     1     pixels  Landroid/media/Image;
            3   15     2     format  I
            6   15     3      width  I
            7   15     4     height  I
           13   15     5  rgbBuffer  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      pixels  

  public android.hardware.camera2.DngCreator setLocation(android.location.Location);
    descriptor: (Landroid/location/Location;)Landroid/hardware/camera2/DngCreator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=14, args_size=2
        start local 0 // android.hardware.camera2.DngCreator this
        start local 1 // android.location.Location location
         0: .line 266
            aload 1 /* location */
            ifnonnull 2
         1: .line 267
            new java.lang.IllegalArgumentException
            dup
            ldc "Null location passed to setLocation"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 269
      StackMap locals:
      StackMap stack:
            aload 1 /* location */
            invokevirtual android.location.Location.getLatitude:()D
            dstore 2 /* latitude */
        start local 2 // double latitude
         3: .line 270
            aload 1 /* location */
            invokevirtual android.location.Location.getLongitude:()D
            dstore 4 /* longitude */
        start local 4 // double longitude
         4: .line 271
            aload 1 /* location */
            invokevirtual android.location.Location.getTime:()J
            lstore 6 /* time */
        start local 6 // long time
         5: .line 273
            dload 2 /* latitude */
            invokestatic android.hardware.camera2.DngCreator.toExifLatLong:(D)[I
            astore 8 /* latTag */
        start local 8 // int[] latTag
         6: .line 274
            dload 4 /* longitude */
            invokestatic android.hardware.camera2.DngCreator.toExifLatLong:(D)[I
            astore 9 /* longTag */
        start local 9 // int[] longTag
         7: .line 275
            dload 2 /* latitude */
            dconst_0
            dcmpl
            iflt 8
            ldc "N"
            goto 9
      StackMap locals: android.hardware.camera2.DngCreator android.location.Location double double long int[] int[]
      StackMap stack:
         8: ldc "S"
      StackMap locals:
      StackMap stack: java.lang.String
         9: astore 10 /* latRef */
        start local 10 // java.lang.String latRef
        10: .line 276
            dload 4 /* longitude */
            dconst_0
            dcmpl
            iflt 11
            ldc "E"
            goto 12
      StackMap locals: java.lang.String
      StackMap stack:
        11: ldc "W"
      StackMap locals:
      StackMap stack: java.lang.String
        12: astore 11 /* longRef */
        start local 11 // java.lang.String longRef
        13: .line 278
            getstatic android.hardware.camera2.DngCreator.sExifGPSDateStamp:Ljava/text/DateFormat;
            lload 6 /* time */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            invokevirtual java.text.DateFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            astore 12 /* dateTag */
        start local 12 // java.lang.String dateTag
        14: .line 279
            aload 0 /* this */
            getfield android.hardware.camera2.DngCreator.mGPSTimeStampCalendar:Ljava/util/Calendar;
            lload 6 /* time */
            invokevirtual java.util.Calendar.setTimeInMillis:(J)V
        15: .line 280
            bipush 6
            newarray 10
            dup
            iconst_0
            aload 0 /* this */
            getfield android.hardware.camera2.DngCreator.mGPSTimeStampCalendar:Ljava/util/Calendar;
            bipush 11
            invokevirtual java.util.Calendar.get:(I)I
            iastore
            dup
            iconst_1
            iconst_1
            iastore
            dup
            iconst_2
        16: .line 281
            aload 0 /* this */
            getfield android.hardware.camera2.DngCreator.mGPSTimeStampCalendar:Ljava/util/Calendar;
            bipush 12
            invokevirtual java.util.Calendar.get:(I)I
            iastore
            dup
            iconst_3
            iconst_1
            iastore
            dup
            iconst_4
        17: .line 282
            aload 0 /* this */
            getfield android.hardware.camera2.DngCreator.mGPSTimeStampCalendar:Ljava/util/Calendar;
            bipush 13
            invokevirtual java.util.Calendar.get:(I)I
            iastore
            dup
            iconst_5
            iconst_1
            iastore
        18: .line 280
            astore 13 /* timeTag */
        start local 13 // int[] timeTag
        19: .line 283
            aload 0 /* this */
            aload 8 /* latTag */
            aload 10 /* latRef */
            aload 9 /* longTag */
            aload 11 /* longRef */
            aload 12 /* dateTag */
            aload 13 /* timeTag */
            invokevirtual android.hardware.camera2.DngCreator.nativeSetGpsTags:([ILjava/lang/String;[ILjava/lang/String;Ljava/lang/String;[I)V
        20: .line 284
            aload 0 /* this */
            areturn
        end local 13 // int[] timeTag
        end local 12 // java.lang.String dateTag
        end local 11 // java.lang.String longRef
        end local 10 // java.lang.String latRef
        end local 9 // int[] longTag
        end local 8 // int[] latTag
        end local 6 // long time
        end local 4 // double longitude
        end local 2 // double latitude
        end local 1 // android.location.Location location
        end local 0 // android.hardware.camera2.DngCreator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Landroid/hardware/camera2/DngCreator;
            0   21     1   location  Landroid/location/Location;
            3   21     2   latitude  D
            4   21     4  longitude  D
            5   21     6       time  J
            6   21     8     latTag  [I
            7   21     9    longTag  [I
           10   21    10     latRef  Ljava/lang/String;
           13   21    11    longRef  Ljava/lang/String;
           14   21    12    dateTag  Ljava/lang/String;
           19   21    13    timeTag  [I
    MethodParameters:
          Name  Flags
      location  

  public android.hardware.camera2.DngCreator setDescription(java.lang.String);
    descriptor: (Ljava/lang/String;)Landroid/hardware/camera2/DngCreator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // android.hardware.camera2.DngCreator this
        start local 1 // java.lang.String description
         0: .line 299
            aload 1 /* description */
            ifnonnull 2
         1: .line 300
            new java.lang.IllegalArgumentException
            dup
            ldc "Null description passed to setDescription."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 302
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* description */
            invokevirtual android.hardware.camera2.DngCreator.nativeSetDescription:(Ljava/lang/String;)V
         3: .line 303
            aload 0 /* this */
            areturn
        end local 1 // java.lang.String description
        end local 0 // android.hardware.camera2.DngCreator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    4     0         this  Landroid/hardware/camera2/DngCreator;
            0    4     1  description  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      description  

  public void writeInputStream(java.io.OutputStream, android.util.Size, java.io.InputStream, long);
    descriptor: (Ljava/io/OutputStream;Landroid/util/Size;Ljava/io/InputStream;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=5
        start local 0 // android.hardware.camera2.DngCreator this
        start local 1 // java.io.OutputStream dngOutput
        start local 2 // android.util.Size size
        start local 3 // java.io.InputStream pixels
        start local 4 // long offset
         0: .line 337
            aload 1 /* dngOutput */
            ifnonnull 2
         1: .line 338
            new java.lang.IllegalArgumentException
            dup
            ldc "Null dngOutput passed to writeInputStream"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 339
      StackMap locals:
      StackMap stack:
            aload 2 /* size */
            ifnonnull 4
         3: .line 340
            new java.lang.IllegalArgumentException
            dup
            ldc "Null size passed to writeInputStream"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 341
      StackMap locals:
      StackMap stack:
            aload 3 /* pixels */
            ifnonnull 6
         5: .line 342
            new java.lang.IllegalArgumentException
            dup
            ldc "Null pixels passed to writeInputStream"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 343
      StackMap locals:
      StackMap stack:
            lload 4 /* offset */
            lconst_0
            lcmp
            ifge 8
         7: .line 344
            new java.lang.IllegalArgumentException
            dup
            ldc "Negative offset passed to writeInputStream"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 347
      StackMap locals:
      StackMap stack:
            aload 2 /* size */
            invokevirtual android.util.Size.getWidth:()I
            istore 6 /* width */
        start local 6 // int width
         9: .line 348
            aload 2 /* size */
            invokevirtual android.util.Size.getHeight:()I
            istore 7 /* height */
        start local 7 // int height
        10: .line 349
            iload 6 /* width */
            ifle 11
            iload 7 /* height */
            ifgt 14
        11: .line 350
      StackMap locals: int int
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Size with invalid width, height: ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 6 /* width */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 351
            iload 7 /* height */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") passed to writeInputStream"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 350
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        14: .line 353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* dngOutput */
            aload 3 /* pixels */
            iload 6 /* width */
            iload 7 /* height */
            lload 4 /* offset */
            invokevirtual android.hardware.camera2.DngCreator.nativeWriteInputStream:(Ljava/io/OutputStream;Ljava/io/InputStream;IIJ)V
        15: .line 354
            return
        end local 7 // int height
        end local 6 // int width
        end local 4 // long offset
        end local 3 // java.io.InputStream pixels
        end local 2 // android.util.Size size
        end local 1 // java.io.OutputStream dngOutput
        end local 0 // android.hardware.camera2.DngCreator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   16     0       this  Landroid/hardware/camera2/DngCreator;
            0   16     1  dngOutput  Ljava/io/OutputStream;
            0   16     2       size  Landroid/util/Size;
            0   16     3     pixels  Ljava/io/InputStream;
            0   16     4     offset  J
            9   16     6      width  I
           10   16     7     height  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      dngOutput  
      size       
      pixels     
      offset     

  public void writeByteBuffer(java.io.OutputStream, android.util.Size, java.nio.ByteBuffer, long);
    descriptor: (Ljava/io/OutputStream;Landroid/util/Size;Ljava/nio/ByteBuffer;J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=8, args_size=5
        start local 0 // android.hardware.camera2.DngCreator this
        start local 1 // java.io.OutputStream dngOutput
        start local 2 // android.util.Size size
        start local 3 // java.nio.ByteBuffer pixels
        start local 4 // long offset
         0: .line 392
            aload 1 /* dngOutput */
            ifnonnull 2
         1: .line 393
            new java.lang.IllegalArgumentException
            dup
            ldc "Null dngOutput passed to writeByteBuffer"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 394
      StackMap locals:
      StackMap stack:
            aload 2 /* size */
            ifnonnull 4
         3: .line 395
            new java.lang.IllegalArgumentException
            dup
            ldc "Null size passed to writeByteBuffer"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 396
      StackMap locals:
      StackMap stack:
            aload 3 /* pixels */
            ifnonnull 6
         5: .line 397
            new java.lang.IllegalArgumentException
            dup
            ldc "Null pixels passed to writeByteBuffer"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 398
      StackMap locals:
      StackMap stack:
            lload 4 /* offset */
            lconst_0
            lcmp
            ifge 8
         7: .line 399
            new java.lang.IllegalArgumentException
            dup
            ldc "Negative offset passed to writeByteBuffer"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 402
      StackMap locals:
      StackMap stack:
            aload 2 /* size */
            invokevirtual android.util.Size.getWidth:()I
            istore 6 /* width */
        start local 6 // int width
         9: .line 403
            aload 2 /* size */
            invokevirtual android.util.Size.getHeight:()I
            istore 7 /* height */
        start local 7 // int height
        10: .line 405
            aload 0 /* this */
            iload 6 /* width */
            iload 7 /* height */
            aload 3 /* pixels */
            aload 1 /* dngOutput */
            iconst_2
        11: .line 406
            iload 6 /* width */
            iconst_2
            imul
            lload 4 /* offset */
        12: .line 405
            invokevirtual android.hardware.camera2.DngCreator.writeByteBuffer:(IILjava/nio/ByteBuffer;Ljava/io/OutputStream;IIJ)V
        13: .line 407
            return
        end local 7 // int height
        end local 6 // int width
        end local 4 // long offset
        end local 3 // java.nio.ByteBuffer pixels
        end local 2 // android.util.Size size
        end local 1 // java.io.OutputStream dngOutput
        end local 0 // android.hardware.camera2.DngCreator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Landroid/hardware/camera2/DngCreator;
            0   14     1  dngOutput  Ljava/io/OutputStream;
            0   14     2       size  Landroid/util/Size;
            0   14     3     pixels  Ljava/nio/ByteBuffer;
            0   14     4     offset  J
            9   14     6      width  I
           10   14     7     height  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      dngOutput  
      size       
      pixels     
      offset     

  public void writeImage(java.io.OutputStream, android.media.Image);
    descriptor: (Ljava/io/OutputStream;Landroid/media/Image;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=6, args_size=3
        start local 0 // android.hardware.camera2.DngCreator this
        start local 1 // java.io.OutputStream dngOutput
        start local 2 // android.media.Image pixels
         0: .line 428
            aload 1 /* dngOutput */
            ifnonnull 2
         1: .line 429
            new java.lang.IllegalArgumentException
            dup
            ldc "Null dngOutput to writeImage"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 430
      StackMap locals:
      StackMap stack:
            aload 2 /* pixels */
            ifnonnull 4
         3: .line 431
            new java.lang.IllegalArgumentException
            dup
            ldc "Null pixels to writeImage"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 434
      StackMap locals:
      StackMap stack:
            aload 2 /* pixels */
            invokevirtual android.media.Image.getFormat:()I
            istore 3 /* format */
        start local 3 // int format
         5: .line 435
            iload 3 /* format */
            bipush 32
            if_icmpeq 7
         6: .line 436
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported image format "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* format */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 439
      StackMap locals: int
      StackMap stack:
            aload 2 /* pixels */
            invokevirtual android.media.Image.getPlanes:()[Landroid/media/Image$Plane;
            astore 4 /* planes */
        start local 4 // android.media.Image$Plane[] planes
         8: .line 440
            aload 4 /* planes */
            ifnull 9
            aload 4 /* planes */
            arraylength
            ifgt 10
         9: .line 441
      StackMap locals: android.media.Image$Plane[]
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Image with no planes passed to writeImage"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 444
      StackMap locals:
      StackMap stack:
            aload 4 /* planes */
            iconst_0
            aaload
            invokevirtual android.media.Image$Plane.getBuffer:()Ljava/nio/ByteBuffer;
            astore 5 /* buf */
        start local 5 // java.nio.ByteBuffer buf
        11: .line 445
            aload 0 /* this */
            aload 2 /* pixels */
            invokevirtual android.media.Image.getWidth:()I
            aload 2 /* pixels */
            invokevirtual android.media.Image.getHeight:()I
            aload 5 /* buf */
            aload 1 /* dngOutput */
        12: .line 446
            aload 4 /* planes */
            iconst_0
            aaload
            invokevirtual android.media.Image$Plane.getPixelStride:()I
            aload 4 /* planes */
            iconst_0
            aaload
            invokevirtual android.media.Image$Plane.getRowStride:()I
            lconst_0
        13: .line 445
            invokevirtual android.hardware.camera2.DngCreator.writeByteBuffer:(IILjava/nio/ByteBuffer;Ljava/io/OutputStream;IIJ)V
        14: .line 447
            return
        end local 5 // java.nio.ByteBuffer buf
        end local 4 // android.media.Image$Plane[] planes
        end local 3 // int format
        end local 2 // android.media.Image pixels
        end local 1 // java.io.OutputStream dngOutput
        end local 0 // android.hardware.camera2.DngCreator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   15     0       this  Landroid/hardware/camera2/DngCreator;
            0   15     1  dngOutput  Ljava/io/OutputStream;
            0   15     2     pixels  Landroid/media/Image;
            5   15     3     format  I
            8   15     4     planes  [Landroid/media/Image$Plane;
           11   15     5        buf  Ljava/nio/ByteBuffer;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      dngOutput  
      pixels     

  public void close();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // android.hardware.camera2.DngCreator this
         0: .line 451
            aload 0 /* this */
            invokevirtual android.hardware.camera2.DngCreator.nativeDestroy:()V
         1: .line 452
            return
        end local 0 // android.hardware.camera2.DngCreator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Landroid/hardware/camera2/DngCreator;

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // android.hardware.camera2.DngCreator this
         0: .line 462
            aload 0 /* this */
            invokevirtual android.hardware.camera2.DngCreator.close:()V
         1: .line 463
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         2: astore 1
         3: .line 464
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         4: .line 465
            aload 1
            athrow
         5: .line 464
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokespecial java.lang.Object.finalize:()V
         6: .line 466
            return
        end local 0 // android.hardware.camera2.DngCreator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Landroid/hardware/camera2/DngCreator;
      Exception table:
        from    to  target  type
           0     2       2  any
    Exceptions:
      throws java.lang.Throwable

  private void writeByteBuffer(int, int, java.nio.ByteBuffer, java.io.OutputStream, int, int, long);
    descriptor: (IILjava/nio/ByteBuffer;Ljava/io/OutputStream;IIJ)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=14, args_size=8
        start local 0 // android.hardware.camera2.DngCreator this
        start local 1 // int width
        start local 2 // int height
        start local 3 // java.nio.ByteBuffer pixels
        start local 4 // java.io.OutputStream dngOutput
        start local 5 // int pixelStride
        start local 6 // int rowStride
        start local 7 // long offset
         0: .line 495
            iload 1 /* width */
            ifle 1
            iload 2 /* height */
            ifgt 4
         1: .line 496
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Image with invalid width, height: ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* width */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 497
            iload 2 /* height */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ") passed to write"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         3: .line 496
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 499
      StackMap locals:
      StackMap stack:
            aload 3 /* pixels */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            i2l
            lstore 9 /* capacity */
        start local 9 // long capacity
         5: .line 500
            iload 6 /* rowStride */
            i2l
            iload 2 /* height */
            i2l
            lmul
            lload 7 /* offset */
            ladd
            lstore 11 /* totalSize */
        start local 11 // long totalSize
         6: .line 501
            lload 9 /* capacity */
            lload 11 /* totalSize */
            lcmp
            ifge 10
         7: .line 502
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Image size "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            lload 9 /* capacity */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
         8: .line 503
            ldc " is too small (must be larger than "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            lload 11 /* totalSize */
            invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 502
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 505
      StackMap locals: long long
      StackMap stack:
            iload 5 /* pixelStride */
            iload 1 /* width */
            imul
            istore 13 /* minRowStride */
        start local 13 // int minRowStride
        11: .line 506
            iload 13 /* minRowStride */
            iload 6 /* rowStride */
            if_icmple 15
        12: .line 507
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Invalid image pixel stride, row byte width "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        13: .line 508
            iload 13 /* minRowStride */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " is too large, expecting "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 6 /* rowStride */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 507
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 510
      StackMap locals: int
      StackMap stack:
            aload 3 /* pixels */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        16: .line 511
            aload 0 /* this */
            aload 4 /* dngOutput */
            iload 1 /* width */
            iload 2 /* height */
            aload 3 /* pixels */
            iload 6 /* rowStride */
            iload 5 /* pixelStride */
            lload 7 /* offset */
        17: .line 512
            aload 3 /* pixels */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
        18: .line 511
            invokevirtual android.hardware.camera2.DngCreator.nativeWriteImage:(Ljava/io/OutputStream;IILjava/nio/ByteBuffer;IIJZ)V
        19: .line 513
            aload 3 /* pixels */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        20: .line 514
            return
        end local 13 // int minRowStride
        end local 11 // long totalSize
        end local 9 // long capacity
        end local 7 // long offset
        end local 6 // int rowStride
        end local 5 // int pixelStride
        end local 4 // java.io.OutputStream dngOutput
        end local 3 // java.nio.ByteBuffer pixels
        end local 2 // int height
        end local 1 // int width
        end local 0 // android.hardware.camera2.DngCreator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   21     0          this  Landroid/hardware/camera2/DngCreator;
            0   21     1         width  I
            0   21     2        height  I
            0   21     3        pixels  Ljava/nio/ByteBuffer;
            0   21     4     dngOutput  Ljava/io/OutputStream;
            0   21     5   pixelStride  I
            0   21     6     rowStride  I
            0   21     7        offset  J
            5   21     9      capacity  J
            6   21    11     totalSize  J
           11   21    13  minRowStride  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
             Name  Flags
      width        
      height       
      pixels       
      dngOutput    
      pixelStride  
      rowStride    
      offset       

  private static void yuvToRgb(byte[], int, byte[]);
    descriptor: ([BI[B)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // byte[] yuvData
        start local 1 // int outOffset
        start local 2 // byte[] rgbOut
         0: .line 522
            aload 0 /* yuvData */
            iconst_0
            baload
            sipush 255
            iand
            i2f
            fstore 3 /* y */
        start local 3 // float y
         1: .line 523
            aload 0 /* yuvData */
            iconst_1
            baload
            sipush 255
            iand
            i2f
            fstore 4 /* cb */
        start local 4 // float cb
         2: .line 524
            aload 0 /* yuvData */
            iconst_2
            baload
            sipush 255
            iand
            i2f
            fstore 5 /* cr */
        start local 5 // float cr
         3: .line 527
            fload 3 /* y */
            ldc 1.402
            fload 5 /* cr */
            ldc 128.0
            fsub
            fmul
            fadd
            fstore 6 /* r */
        start local 6 // float r
         4: .line 528
            fload 3 /* y */
            ldc 0.34414
            fload 4 /* cb */
            ldc 128.0
            fsub
            fmul
            fsub
            ldc 0.71414
            fload 5 /* cr */
            ldc 128.0
            fsub
            fmul
            fsub
            fstore 7 /* g */
        start local 7 // float g
         5: .line 529
            fload 3 /* y */
            ldc 1.772
            fload 4 /* cb */
            ldc 128.0
            fsub
            fmul
            fadd
            fstore 8 /* b */
        start local 8 // float b
         6: .line 532
            aload 2 /* rgbOut */
            iload 1 /* outOffset */
            fconst_0
            ldc 255.0
            fload 6 /* r */
            invokestatic java.lang.Math.min:(FF)F
            invokestatic java.lang.Math.max:(FF)F
            f2i
            i2b
            bastore
         7: .line 533
            aload 2 /* rgbOut */
            iload 1 /* outOffset */
            iconst_1
            iadd
            fconst_0
            ldc 255.0
            fload 7 /* g */
            invokestatic java.lang.Math.min:(FF)F
            invokestatic java.lang.Math.max:(FF)F
            f2i
            i2b
            bastore
         8: .line 534
            aload 2 /* rgbOut */
            iload 1 /* outOffset */
            iconst_2
            iadd
            fconst_0
            ldc 255.0
            fload 8 /* b */
            invokestatic java.lang.Math.min:(FF)F
            invokestatic java.lang.Math.max:(FF)F
            f2i
            i2b
            bastore
         9: .line 535
            return
        end local 8 // float b
        end local 7 // float g
        end local 6 // float r
        end local 5 // float cr
        end local 4 // float cb
        end local 3 // float y
        end local 2 // byte[] rgbOut
        end local 1 // int outOffset
        end local 0 // byte[] yuvData
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   10     0    yuvData  [B
            0   10     1  outOffset  I
            0   10     2     rgbOut  [B
            1   10     3          y  F
            2   10     4         cb  F
            3   10     5         cr  F
            4   10     6          r  F
            5   10     7          g  F
            6   10     8          b  F
    MethodParameters:
           Name  Flags
      yuvData    
      outOffset  
      rgbOut     

  private static void colorToRgb(int, int, byte[]);
    descriptor: (II[B)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // int color
        start local 1 // int outOffset
        start local 2 // byte[] rgbOut
         0: .line 541
            aload 2 /* rgbOut */
            iload 1 /* outOffset */
            iload 0 /* color */
            invokestatic android.graphics.Color.red:(I)I
            i2b
            bastore
         1: .line 542
            aload 2 /* rgbOut */
            iload 1 /* outOffset */
            iconst_1
            iadd
            iload 0 /* color */
            invokestatic android.graphics.Color.green:(I)I
            i2b
            bastore
         2: .line 543
            aload 2 /* rgbOut */
            iload 1 /* outOffset */
            iconst_2
            iadd
            iload 0 /* color */
            invokestatic android.graphics.Color.blue:(I)I
            i2b
            bastore
         3: .line 545
            return
        end local 2 // byte[] rgbOut
        end local 1 // int outOffset
        end local 0 // int color
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0      color  I
            0    4     1  outOffset  I
            0    4     2     rgbOut  [B
    MethodParameters:
           Name  Flags
      color      
      outOffset  
      rgbOut     

  private static java.nio.ByteBuffer convertToRGB(android.media.Image);
    descriptor: (Landroid/media/Image;)Ljava/nio/ByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=25, args_size=1
        start local 0 // android.media.Image yuvImage
         0: .line 552
            aload 0 /* yuvImage */
            invokevirtual android.media.Image.getWidth:()I
            istore 1 /* width */
        start local 1 // int width
         1: .line 553
            aload 0 /* yuvImage */
            invokevirtual android.media.Image.getHeight:()I
            istore 2 /* height */
        start local 2 // int height
         2: .line 554
            iconst_3
            iload 1 /* width */
            imul
            iload 2 /* height */
            imul
            invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
            astore 3 /* buf */
        start local 3 // java.nio.ByteBuffer buf
         3: .line 556
            aload 0 /* yuvImage */
            invokevirtual android.media.Image.getPlanes:()[Landroid/media/Image$Plane;
            iconst_0
            aaload
            astore 4 /* yPlane */
        start local 4 // android.media.Image$Plane yPlane
         4: .line 557
            aload 0 /* yuvImage */
            invokevirtual android.media.Image.getPlanes:()[Landroid/media/Image$Plane;
            iconst_1
            aaload
            astore 5 /* uPlane */
        start local 5 // android.media.Image$Plane uPlane
         5: .line 558
            aload 0 /* yuvImage */
            invokevirtual android.media.Image.getPlanes:()[Landroid/media/Image$Plane;
            iconst_2
            aaload
            astore 6 /* vPlane */
        start local 6 // android.media.Image$Plane vPlane
         6: .line 560
            aload 4 /* yPlane */
            invokevirtual android.media.Image$Plane.getBuffer:()Ljava/nio/ByteBuffer;
            astore 7 /* yBuf */
        start local 7 // java.nio.ByteBuffer yBuf
         7: .line 561
            aload 5 /* uPlane */
            invokevirtual android.media.Image$Plane.getBuffer:()Ljava/nio/ByteBuffer;
            astore 8 /* uBuf */
        start local 8 // java.nio.ByteBuffer uBuf
         8: .line 562
            aload 6 /* vPlane */
            invokevirtual android.media.Image$Plane.getBuffer:()Ljava/nio/ByteBuffer;
            astore 9 /* vBuf */
        start local 9 // java.nio.ByteBuffer vBuf
         9: .line 564
            aload 7 /* yBuf */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        10: .line 565
            aload 8 /* uBuf */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        11: .line 566
            aload 9 /* vBuf */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        12: .line 568
            aload 4 /* yPlane */
            invokevirtual android.media.Image$Plane.getRowStride:()I
            istore 10 /* yRowStride */
        start local 10 // int yRowStride
        13: .line 569
            aload 6 /* vPlane */
            invokevirtual android.media.Image$Plane.getRowStride:()I
            istore 11 /* vRowStride */
        start local 11 // int vRowStride
        14: .line 570
            aload 5 /* uPlane */
            invokevirtual android.media.Image$Plane.getRowStride:()I
            istore 12 /* uRowStride */
        start local 12 // int uRowStride
        15: .line 572
            aload 4 /* yPlane */
            invokevirtual android.media.Image$Plane.getPixelStride:()I
            istore 13 /* yPixStride */
        start local 13 // int yPixStride
        16: .line 573
            aload 6 /* vPlane */
            invokevirtual android.media.Image$Plane.getPixelStride:()I
            istore 14 /* vPixStride */
        start local 14 // int vPixStride
        17: .line 574
            aload 5 /* uPlane */
            invokevirtual android.media.Image$Plane.getPixelStride:()I
            istore 15 /* uPixStride */
        start local 15 // int uPixStride
        18: .line 576
            iconst_3
            newarray 8
            astore 16 /* yuvPixel */
        start local 16 // byte[] yuvPixel
        19: .line 577
            iload 13 /* yPixStride */
            iload 1 /* width */
            iconst_1
            isub
            imul
            iconst_1
            iadd
            newarray 8
            astore 17 /* yFullRow */
        start local 17 // byte[] yFullRow
        20: .line 578
            iload 15 /* uPixStride */
            iload 1 /* width */
            iconst_2
            idiv
            iconst_1
            isub
            imul
            iconst_1
            iadd
            newarray 8
            astore 18 /* uFullRow */
        start local 18 // byte[] uFullRow
        21: .line 579
            iload 14 /* vPixStride */
            iload 1 /* width */
            iconst_2
            idiv
            iconst_1
            isub
            imul
            iconst_1
            iadd
            newarray 8
            astore 19 /* vFullRow */
        start local 19 // byte[] vFullRow
        22: .line 580
            iconst_3
            iload 1 /* width */
            imul
            newarray 8
            astore 20 /* finalRow */
        start local 20 // byte[] finalRow
        23: .line 581
            iconst_0
            istore 21 /* i */
        start local 21 // int i
        24: goto 43
        25: .line 582
      StackMap locals: android.media.Image int int java.nio.ByteBuffer android.media.Image$Plane android.media.Image$Plane android.media.Image$Plane java.nio.ByteBuffer java.nio.ByteBuffer java.nio.ByteBuffer int int int int int int byte[] byte[] byte[] byte[] byte[] int
      StackMap stack:
            iload 21 /* i */
            iconst_2
            idiv
            istore 22 /* halfH */
        start local 22 // int halfH
        26: .line 583
            aload 7 /* yBuf */
            iload 10 /* yRowStride */
            iload 21 /* i */
            imul
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        27: .line 584
            aload 7 /* yBuf */
            aload 17 /* yFullRow */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
        28: .line 585
            aload 8 /* uBuf */
            iload 12 /* uRowStride */
            iload 22 /* halfH */
            imul
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        29: .line 586
            aload 8 /* uBuf */
            aload 18 /* uFullRow */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
        30: .line 587
            aload 9 /* vBuf */
            iload 11 /* vRowStride */
            iload 22 /* halfH */
            imul
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
            pop
        31: .line 588
            aload 9 /* vBuf */
            aload 19 /* vFullRow */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
        32: .line 589
            iconst_0
            istore 23 /* j */
        start local 23 // int j
        33: goto 40
        34: .line 590
      StackMap locals: int int
      StackMap stack:
            iload 23 /* j */
            iconst_2
            idiv
            istore 24 /* halfW */
        start local 24 // int halfW
        35: .line 591
            aload 16 /* yuvPixel */
            iconst_0
            aload 17 /* yFullRow */
            iload 13 /* yPixStride */
            iload 23 /* j */
            imul
            baload
            bastore
        36: .line 592
            aload 16 /* yuvPixel */
            iconst_1
            aload 18 /* uFullRow */
            iload 15 /* uPixStride */
            iload 24 /* halfW */
            imul
            baload
            bastore
        37: .line 593
            aload 16 /* yuvPixel */
            iconst_2
            aload 19 /* vFullRow */
            iload 14 /* vPixStride */
            iload 24 /* halfW */
            imul
            baload
            bastore
        38: .line 594
            aload 16 /* yuvPixel */
            iload 23 /* j */
            iconst_3
            imul
            aload 20 /* finalRow */
            invokestatic android.hardware.camera2.DngCreator.yuvToRgb:([BI[B)V
        end local 24 // int halfW
        39: .line 589
            iinc 23 /* j */ 1
      StackMap locals:
      StackMap stack:
        40: iload 23 /* j */
            iload 1 /* width */
            if_icmplt 34
        end local 23 // int j
        41: .line 596
            aload 3 /* buf */
            aload 20 /* finalRow */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
        end local 22 // int halfH
        42: .line 581
            iinc 21 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 21 /* i */
            iload 2 /* height */
            if_icmplt 25
        end local 21 // int i
        44: .line 599
            aload 7 /* yBuf */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        45: .line 600
            aload 8 /* uBuf */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        46: .line 601
            aload 9 /* vBuf */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        47: .line 602
            aload 3 /* buf */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        48: .line 603
            aload 3 /* buf */
            areturn
        end local 20 // byte[] finalRow
        end local 19 // byte[] vFullRow
        end local 18 // byte[] uFullRow
        end local 17 // byte[] yFullRow
        end local 16 // byte[] yuvPixel
        end local 15 // int uPixStride
        end local 14 // int vPixStride
        end local 13 // int yPixStride
        end local 12 // int uRowStride
        end local 11 // int vRowStride
        end local 10 // int yRowStride
        end local 9 // java.nio.ByteBuffer vBuf
        end local 8 // java.nio.ByteBuffer uBuf
        end local 7 // java.nio.ByteBuffer yBuf
        end local 6 // android.media.Image$Plane vPlane
        end local 5 // android.media.Image$Plane uPlane
        end local 4 // android.media.Image$Plane yPlane
        end local 3 // java.nio.ByteBuffer buf
        end local 2 // int height
        end local 1 // int width
        end local 0 // android.media.Image yuvImage
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   49     0    yuvImage  Landroid/media/Image;
            1   49     1       width  I
            2   49     2      height  I
            3   49     3         buf  Ljava/nio/ByteBuffer;
            4   49     4      yPlane  Landroid/media/Image$Plane;
            5   49     5      uPlane  Landroid/media/Image$Plane;
            6   49     6      vPlane  Landroid/media/Image$Plane;
            7   49     7        yBuf  Ljava/nio/ByteBuffer;
            8   49     8        uBuf  Ljava/nio/ByteBuffer;
            9   49     9        vBuf  Ljava/nio/ByteBuffer;
           13   49    10  yRowStride  I
           14   49    11  vRowStride  I
           15   49    12  uRowStride  I
           16   49    13  yPixStride  I
           17   49    14  vPixStride  I
           18   49    15  uPixStride  I
           19   49    16    yuvPixel  [B
           20   49    17    yFullRow  [B
           21   49    18    uFullRow  [B
           22   49    19    vFullRow  [B
           23   49    20    finalRow  [B
           24   44    21           i  I
           26   42    22       halfH  I
           33   41    23           j  I
           35   39    24       halfW  I
    MethodParameters:
          Name  Flags
      yuvImage  

  private static java.nio.ByteBuffer convertToRGB(android.graphics.Bitmap);
    descriptor: (Landroid/graphics/Bitmap;)Ljava/nio/ByteBuffer;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=1
        start local 0 // android.graphics.Bitmap argbBitmap
         0: .line 611
            aload 0 /* argbBitmap */
            invokevirtual android.graphics.Bitmap.getWidth:()I
            istore 1 /* width */
        start local 1 // int width
         1: .line 612
            aload 0 /* argbBitmap */
            invokevirtual android.graphics.Bitmap.getHeight:()I
            istore 2 /* height */
        start local 2 // int height
         2: .line 613
            iconst_3
            iload 1 /* width */
            imul
            iload 2 /* height */
            imul
            invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
            astore 3 /* buf */
        start local 3 // java.nio.ByteBuffer buf
         3: .line 615
            iload 1 /* width */
            newarray 10
            astore 4 /* pixelRow */
        start local 4 // int[] pixelRow
         4: .line 616
            iconst_3
            iload 1 /* width */
            imul
            newarray 8
            astore 5 /* finalRow */
        start local 5 // byte[] finalRow
         5: .line 617
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         6: goto 17
         7: .line 618
      StackMap locals: android.graphics.Bitmap int int java.nio.ByteBuffer int[] byte[] int
      StackMap stack:
            aload 0 /* argbBitmap */
            aload 4 /* pixelRow */
            iconst_0
            iload 1 /* width */
            iconst_0
            iload 6 /* i */
         8: .line 619
            iload 1 /* width */
            iconst_1
         9: .line 618
            invokevirtual android.graphics.Bitmap.getPixels:([IIIIIII)V
        10: .line 620
            iconst_0
            istore 7 /* j */
        start local 7 // int j
        11: goto 14
        12: .line 621
      StackMap locals: int
      StackMap stack:
            aload 4 /* pixelRow */
            iload 7 /* j */
            iaload
            iload 7 /* j */
            iconst_3
            imul
            aload 5 /* finalRow */
            invokestatic android.hardware.camera2.DngCreator.colorToRgb:(II[B)V
        13: .line 620
            iinc 7 /* j */ 1
      StackMap locals:
      StackMap stack:
        14: iload 7 /* j */
            iload 1 /* width */
            if_icmplt 12
        end local 7 // int j
        15: .line 623
            aload 3 /* buf */
            aload 5 /* finalRow */
            invokevirtual java.nio.ByteBuffer.put:([B)Ljava/nio/ByteBuffer;
            pop
        16: .line 617
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 6 /* i */
            iload 2 /* height */
            if_icmplt 7
        end local 6 // int i
        18: .line 626
            aload 3 /* buf */
            invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
            pop
        19: .line 627
            aload 3 /* buf */
            areturn
        end local 5 // byte[] finalRow
        end local 4 // int[] pixelRow
        end local 3 // java.nio.ByteBuffer buf
        end local 2 // int height
        end local 1 // int width
        end local 0 // android.graphics.Bitmap argbBitmap
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0  argbBitmap  Landroid/graphics/Bitmap;
            1   20     1       width  I
            2   20     2      height  I
            3   20     3         buf  Ljava/nio/ByteBuffer;
            4   20     4    pixelRow  [I
            5   20     5    finalRow  [B
            6   18     6           i  I
           11   15     7           j  I
    MethodParameters:
            Name  Flags
      argbBitmap  

  private static int[] toExifLatLong(double);
    descriptor: (D)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // double value
         0: .line 635
            dload 0 /* value */
            invokestatic java.lang.Math.abs:(D)D
            dstore 0 /* value */
         1: .line 636
            dload 0 /* value */
            d2i
            istore 2 /* degrees */
        start local 2 // int degrees
         2: .line 637
            dload 0 /* value */
            iload 2 /* degrees */
            i2d
            dsub
            ldc 60.0
            dmul
            dstore 0 /* value */
         3: .line 638
            dload 0 /* value */
            d2i
            istore 3 /* minutes */
        start local 3 // int minutes
         4: .line 639
            dload 0 /* value */
            iload 3 /* minutes */
            i2d
            dsub
            ldc 6000.0
            dmul
            dstore 0 /* value */
         5: .line 640
            dload 0 /* value */
            d2i
            istore 4 /* seconds */
        start local 4 // int seconds
         6: .line 641
            bipush 6
            newarray 10
            dup
            iconst_0
            iload 2 /* degrees */
            iastore
            dup
            iconst_1
            iconst_1
            iastore
            dup
            iconst_2
            iload 3 /* minutes */
            iastore
            dup
            iconst_3
            iconst_1
            iastore
            dup
            iconst_4
            iload 4 /* seconds */
            iastore
            dup
            iconst_5
            bipush 100
            iastore
            areturn
        end local 4 // int seconds
        end local 3 // int minutes
        end local 2 // int degrees
        end local 0 // double value
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0    value  D
            2    7     2  degrees  I
            4    7     3  minutes  I
            6    7     4  seconds  I
    MethodParameters:
       Name  Flags
      value  

  private static native void nativeClassInit();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  private synchronized native void nativeInit(android.hardware.camera2.impl.CameraMetadataNative, android.hardware.camera2.impl.CameraMetadataNative, java.lang.String);
    descriptor: (Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/impl/CameraMetadataNative;Ljava/lang/String;)V
    flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
    MethodParameters:
                       Name  Flags
      nativeCharacteristics  
      nativeResult           
      captureTime            

  private synchronized native void nativeDestroy();
    descriptor: ()V
    flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE

  private synchronized native void nativeSetOrientation(int);
    descriptor: (I)V
    flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
    MethodParameters:
             Name  Flags
      orientation  

  private synchronized native void nativeSetDescription(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
    MethodParameters:
             Name  Flags
      description  

  private synchronized native void nativeSetGpsTags(int[], java.lang.String, int[], java.lang.String, java.lang.String, int[]);
    descriptor: ([ILjava/lang/String;[ILjava/lang/String;Ljava/lang/String;[I)V
    flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
    MethodParameters:
         Name  Flags
      latTag   
      latRef   
      longTag  
      longRef  
      dateTag  
      timeTag  

  private synchronized native void nativeSetThumbnail(java.nio.ByteBuffer, int, int);
    descriptor: (Ljava/nio/ByteBuffer;II)V
    flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
    MethodParameters:
        Name  Flags
      buffer  
      width   
      height  

  private synchronized native void nativeWriteImage(java.io.OutputStream, int, int, java.nio.ByteBuffer, int, int, long, boolean);
    descriptor: (Ljava/io/OutputStream;IILjava/nio/ByteBuffer;IIJZ)V
    flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      out        
      width      
      height     
      rawBuffer  
      rowStride  
      pixStride  
      offset     
      isDirect   

  private synchronized native void nativeWriteInputStream(java.io.OutputStream, java.io.InputStream, int, int, long);
    descriptor: (Ljava/io/OutputStream;Ljava/io/InputStream;IIJ)V
    flags: (0x0122) ACC_PRIVATE, ACC_SYNCHRONIZED, ACC_NATIVE
    Exceptions:
      throws java.io.IOException
    MethodParameters:
           Name  Flags
      out        
      rawStream  
      width      
      height     
      offset     
}
SourceFile: "DngCreator.java"
InnerClasses:
  public final Key = android.hardware.camera2.CameraCharacteristics$Key of android.hardware.camera2.CameraCharacteristics
  public final Key = android.hardware.camera2.CaptureResult$Key of android.hardware.camera2.CaptureResult
  public abstract Plane = android.media.Image$Plane of android.media.Image