public class com.sun.imageio.plugins.tiff.TIFFDeflater extends com.sun.imageio.plugins.tiff.TIFFCompressor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.imageio.plugins.tiff.TIFFDeflater
  super_class: com.sun.imageio.plugins.tiff.TIFFCompressor
{
  java.util.zip.Deflater deflater;
    descriptor: Ljava/util/zip/Deflater;
    flags: (0x0000) 

  int predictor;
    descriptor: I
    flags: (0x0000) 

  public void <init>(java.lang.String, int, javax.imageio.ImageWriteParam, int);
    descriptor: (Ljava/lang/String;ILjavax/imageio/ImageWriteParam;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // com.sun.imageio.plugins.tiff.TIFFDeflater this
        start local 1 // java.lang.String compressionType
        start local 2 // int compressionTagValue
        start local 3 // javax.imageio.ImageWriteParam param
        start local 4 // int predictorValue
         0: .line 44
            aload 0 /* this */
            aload 1 /* compressionType */
            iload 2 /* compressionTagValue */
            iconst_1
            invokespecial com.sun.imageio.plugins.tiff.TIFFCompressor.<init>:(Ljava/lang/String;IZ)V
         1: .line 46
            aload 0 /* this */
            iload 4 /* predictorValue */
            putfield com.sun.imageio.plugins.tiff.TIFFDeflater.predictor:I
         2: .line 50
            aload 3 /* param */
            ifnull 7
         3: .line 51
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getCompressionMode:()I
            iconst_2
            if_icmpne 7
         4: .line 52
            aload 3 /* param */
            invokevirtual javax.imageio.ImageWriteParam.getCompressionQuality:()F
            fstore 6 /* quality */
        start local 6 // float quality
         5: .line 53
            fconst_1
            ldc 8.0
            fload 6 /* quality */
            fmul
            fadd
            f2i
            istore 5 /* deflateLevel */
        end local 6 // float quality
        start local 5 // int deflateLevel
         6: .line 54
            goto 8
        end local 5 // int deflateLevel
         7: .line 55
      StackMap locals: com.sun.imageio.plugins.tiff.TIFFDeflater java.lang.String int javax.imageio.ImageWriteParam int
      StackMap stack:
            iconst_m1
            istore 5 /* deflateLevel */
        start local 5 // int deflateLevel
         8: .line 58
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            new java.util.zip.Deflater
            dup
            iload 5 /* deflateLevel */
            invokespecial java.util.zip.Deflater.<init>:(I)V
            putfield com.sun.imageio.plugins.tiff.TIFFDeflater.deflater:Ljava/util/zip/Deflater;
         9: .line 59
            return
        end local 5 // int deflateLevel
        end local 4 // int predictorValue
        end local 3 // javax.imageio.ImageWriteParam param
        end local 2 // int compressionTagValue
        end local 1 // java.lang.String compressionType
        end local 0 // com.sun.imageio.plugins.tiff.TIFFDeflater this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   10     0                 this  Lcom/sun/imageio/plugins/tiff/TIFFDeflater;
            0   10     1      compressionType  Ljava/lang/String;
            0   10     2  compressionTagValue  I
            0   10     3                param  Ljavax/imageio/ImageWriteParam;
            0   10     4       predictorValue  I
            6    7     5         deflateLevel  I
            8   10     5         deflateLevel  I
            5    6     6              quality  F
    MethodParameters:
                     Name  Flags
      compressionType      
      compressionTagValue  
      param                
      predictorValue       

  public int encode(byte[], int, int, int, int[], int);
    descriptor: ([BIII[II)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=18, args_size=7
        start local 0 // com.sun.imageio.plugins.tiff.TIFFDeflater this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int width
        start local 4 // int height
        start local 5 // int[] bitsPerSample
        start local 6 // int scanlineStride
         0: .line 66
            iload 4 /* height */
            iload 6 /* scanlineStride */
            imul
            istore 7 /* inputSize */
        start local 7 // int inputSize
         1: .line 67
            iload 7 /* inputSize */
            sipush 32767
            iadd
            ldc 32768
            idiv
            istore 8 /* blocks */
        start local 8 // int blocks
         2: .line 71
            iload 7 /* inputSize */
            iconst_5
            iload 8 /* blocks */
            imul
            iadd
            bipush 6
            iadd
            newarray 8
            astore 9 /* compData */
        start local 9 // byte[] compData
         3: .line 73
            iconst_0
            istore 10 /* numCompressedBytes */
        start local 10 // int numCompressedBytes
         4: .line 74
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFDeflater.predictor:I
            iconst_2
            if_icmpne 39
         5: .line 75
            aload 5 /* bitsPerSample */
            arraylength
            istore 11 /* samplesPerPixel */
        start local 11 // int samplesPerPixel
         6: .line 76
            iconst_0
            istore 12 /* bitsPerPixel */
        start local 12 // int bitsPerPixel
         7: .line 77
            iconst_0
            istore 13 /* i */
        start local 13 // int i
         8: goto 11
         9: .line 78
      StackMap locals: com.sun.imageio.plugins.tiff.TIFFDeflater byte[] int int int int[] int int int byte[] int int int int
      StackMap stack:
            iload 12 /* bitsPerPixel */
            aload 5 /* bitsPerSample */
            iload 13 /* i */
            iaload
            iadd
            istore 12 /* bitsPerPixel */
        10: .line 77
            iinc 13 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 13 /* i */
            iload 11 /* samplesPerPixel */
            if_icmplt 9
        end local 13 // int i
        12: .line 80
            iload 12 /* bitsPerPixel */
            iload 3 /* width */
            imul
            bipush 7
            iadd
            bipush 8
            idiv
            istore 13 /* bytesPerRow */
        start local 13 // int bytesPerRow
        13: .line 81
            iload 13 /* bytesPerRow */
            newarray 8
            astore 14 /* rowBuf */
        start local 14 // byte[] rowBuf
        14: .line 83
            iload 4 /* height */
            iconst_1
            isub
            istore 15 /* maxRow */
        start local 15 // int maxRow
        15: .line 84
            iconst_0
            istore 16 /* i */
        start local 16 // int i
        16: goto 37
        17: .line 87
      StackMap locals: byte[] int int
      StackMap stack:
            aload 1 /* b */
            iload 2 /* off */
            aload 14 /* rowBuf */
            iconst_0
            iload 13 /* bytesPerRow */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 88
            iload 13 /* bytesPerRow */
            iconst_1
            isub
            istore 17 /* j */
        start local 17 // int j
        19: goto 22
        20: .line 89
      StackMap locals: int
      StackMap stack:
            aload 14 /* rowBuf */
            iload 17 /* j */
            dup2
            baload
            aload 14 /* rowBuf */
            iload 17 /* j */
            iload 11 /* samplesPerPixel */
            isub
            baload
            isub
            i2b
            bastore
        21: .line 88
            iinc 17 /* j */ -1
      StackMap locals:
      StackMap stack:
        22: iload 17 /* j */
            iload 11 /* samplesPerPixel */
            if_icmpge 20
        end local 17 // int j
        23: .line 92
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFDeflater.deflater:Ljava/util/zip/Deflater;
            aload 14 /* rowBuf */
            invokevirtual java.util.zip.Deflater.setInput:([B)V
        24: .line 93
            iload 16 /* i */
            iload 15 /* maxRow */
            if_icmpne 26
        25: .line 94
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFDeflater.deflater:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.finish:()V
        26: .line 97
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 17 /* numBytes */
        start local 17 // int numBytes
        27: .line 98
            goto 29
        28: .line 102
      StackMap locals: int
      StackMap stack:
            iload 10 /* numCompressedBytes */
            iload 17 /* numBytes */
            iadd
            istore 10 /* numCompressedBytes */
        29: .line 98
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFDeflater.deflater:Ljava/util/zip/Deflater;
            aload 9 /* compData */
        30: .line 99
            iload 10 /* numCompressedBytes */
        31: .line 100
            aload 9 /* compData */
            arraylength
        32: .line 101
            iload 10 /* numCompressedBytes */
        33: .line 100
            isub
        34: .line 98
            invokevirtual java.util.zip.Deflater.deflate:([BII)I
            dup
            istore 17 /* numBytes */
            ifne 28
        35: .line 105
            iload 2 /* off */
            iload 6 /* scanlineStride */
            iadd
            istore 2 /* off */
        end local 17 // int numBytes
        36: .line 84
            iinc 16 /* i */ 1
      StackMap locals:
      StackMap stack:
        37: iload 16 /* i */
            iload 4 /* height */
            if_icmplt 17
        end local 16 // int i
        end local 15 // int maxRow
        end local 14 // byte[] rowBuf
        end local 13 // int bytesPerRow
        end local 12 // int bitsPerPixel
        end local 11 // int samplesPerPixel
        38: .line 107
            goto 42
        39: .line 108
      StackMap locals: com.sun.imageio.plugins.tiff.TIFFDeflater byte[] int int int int[] int int int byte[] int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFDeflater.deflater:Ljava/util/zip/Deflater;
            aload 1 /* b */
            iload 2 /* off */
            iload 4 /* height */
            iload 6 /* scanlineStride */
            imul
            invokevirtual java.util.zip.Deflater.setInput:([BII)V
        40: .line 109
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFDeflater.deflater:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.finish:()V
        41: .line 111
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFDeflater.deflater:Ljava/util/zip/Deflater;
            aload 9 /* compData */
            invokevirtual java.util.zip.Deflater.deflate:([B)I
            istore 10 /* numCompressedBytes */
        42: .line 114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFDeflater.deflater:Ljava/util/zip/Deflater;
            invokevirtual java.util.zip.Deflater.reset:()V
        43: .line 116
            aload 0 /* this */
            getfield com.sun.imageio.plugins.tiff.TIFFDeflater.stream:Ljavax/imageio/stream/ImageOutputStream;
            aload 9 /* compData */
            iconst_0
            iload 10 /* numCompressedBytes */
            invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
        44: .line 118
            iload 10 /* numCompressedBytes */
            ireturn
        end local 10 // int numCompressedBytes
        end local 9 // byte[] compData
        end local 8 // int blocks
        end local 7 // int inputSize
        end local 6 // int scanlineStride
        end local 5 // int[] bitsPerSample
        end local 4 // int height
        end local 3 // int width
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // com.sun.imageio.plugins.tiff.TIFFDeflater this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   45     0                this  Lcom/sun/imageio/plugins/tiff/TIFFDeflater;
            0   45     1                   b  [B
            0   45     2                 off  I
            0   45     3               width  I
            0   45     4              height  I
            0   45     5       bitsPerSample  [I
            0   45     6      scanlineStride  I
            1   45     7           inputSize  I
            2   45     8              blocks  I
            3   45     9            compData  [B
            4   45    10  numCompressedBytes  I
            6   38    11     samplesPerPixel  I
            7   38    12        bitsPerPixel  I
            8   12    13                   i  I
           13   38    13         bytesPerRow  I
           14   38    14              rowBuf  [B
           15   38    15              maxRow  I
           16   38    16                   i  I
           19   23    17                   j  I
           27   36    17            numBytes  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                Name  Flags
      b               
      off             
      width           
      height          
      bitsPerSample   
      scanlineStride  
}
SourceFile: "TIFFDeflater.java"