public class com.sun.imageio.plugins.tiff.TIFFPackBitsCompressor 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.TIFFPackBitsCompressor
super_class: com.sun.imageio.plugins.tiff.TIFFCompressor
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsCompressor this
0: .line 33
aload 0 /* this */
ldc "PackBits"
ldc 32773
iconst_1
invokespecial com.sun.imageio.plugins.tiff.TIFFCompressor.<init>:(Ljava/lang/String;IZ)V
1: .line 34
return
end local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsCompressor this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/imageio/plugins/tiff/TIFFPackBitsCompressor;
private static int packBits(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=10, args_size=5
start local 0 // byte[] input
start local 1 // int inOffset
start local 2 // int inCount
start local 3 // byte[] output
start local 4 // int outOffset
0: .line 43
iload 1 /* inOffset */
iload 2 /* inCount */
iadd
iconst_1
isub
istore 5 /* inMax */
start local 5 // int inMax
1: .line 44
iload 5 /* inMax */
iconst_1
isub
istore 6 /* inMaxMinus1 */
start local 6 // int inMaxMinus1
2: .line 46
goto 34
3: .line 47
StackMap locals: int int
StackMap stack:
iconst_1
istore 7 /* run */
start local 7 // int run
4: .line 48
aload 0 /* input */
iload 1 /* inOffset */
baload
istore 8 /* replicate */
start local 8 // byte replicate
5: .line 49
goto 8
6: .line 51
StackMap locals: int int
StackMap stack:
iinc 7 /* run */ 1
7: .line 52
iinc 1 /* inOffset */ 1
8: .line 49
StackMap locals:
StackMap stack:
iload 7 /* run */
bipush 127
if_icmpge 10
iload 1 /* inOffset */
iload 5 /* inMax */
if_icmpge 10
9: .line 50
aload 0 /* input */
iload 1 /* inOffset */
baload
aload 0 /* input */
iload 1 /* inOffset */
iconst_1
iadd
baload
if_icmpeq 6
10: .line 54
StackMap locals:
StackMap stack:
iload 7 /* run */
iconst_1
if_icmple 14
11: .line 55
iinc 1 /* inOffset */ 1
12: .line 56
aload 3 /* output */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
iload 7 /* run */
iconst_1
isub
ineg
i2b
bastore
13: .line 57
aload 3 /* output */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
iload 8 /* replicate */
bastore
14: .line 60
StackMap locals:
StackMap stack:
iconst_0
istore 7 /* run */
15: .line 61
iload 4 /* outOffset */
istore 9 /* saveOffset */
start local 9 // int saveOffset
16: .line 62
goto 19
17: .line 67
StackMap locals: int
StackMap stack:
iinc 7 /* run */ 1
18: .line 68
aload 3 /* output */
iinc 4 /* outOffset */ 1
iload 4 /* outOffset */
aload 0 /* input */
iload 1 /* inOffset */
iinc 1 /* inOffset */ 1
baload
bastore
19: .line 62
StackMap locals:
StackMap stack:
iload 7 /* run */
sipush 128
if_icmpge 24
20: .line 63
iload 1 /* inOffset */
iload 5 /* inMax */
if_icmpge 22
21: .line 64
aload 0 /* input */
iload 1 /* inOffset */
baload
aload 0 /* input */
iload 1 /* inOffset */
iconst_1
iadd
baload
if_icmpne 17
22: .line 65
StackMap locals:
StackMap stack:
iload 1 /* inOffset */
iload 6 /* inMaxMinus1 */
if_icmpge 24
23: .line 66
aload 0 /* input */
iload 1 /* inOffset */
baload
aload 0 /* input */
iload 1 /* inOffset */
iconst_2
iadd
baload
if_icmpne 17
24: .line 70
StackMap locals:
StackMap stack:
iload 7 /* run */
ifle 27
25: .line 71
aload 3 /* output */
iload 9 /* saveOffset */
iload 7 /* run */
iconst_1
isub
i2b
bastore
26: .line 72
iinc 4 /* outOffset */ 1
27: .line 75
StackMap locals:
StackMap stack:
iload 1 /* inOffset */
iload 5 /* inMax */
if_icmpne 34
28: .line 76
iload 7 /* run */
ifle 32
iload 7 /* run */
sipush 128
if_icmpge 32
29: .line 77
aload 3 /* output */
iload 9 /* saveOffset */
dup2
baload
iconst_1
iadd
i2b
bastore
30: .line 78
aload 3 /* output */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
aload 0 /* input */
iload 1 /* inOffset */
iinc 1 /* inOffset */ 1
baload
bastore
31: .line 79
goto 34
32: .line 80
StackMap locals:
StackMap stack:
aload 3 /* output */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
iconst_0
bastore
33: .line 81
aload 3 /* output */
iload 4 /* outOffset */
iinc 4 /* outOffset */ 1
aload 0 /* input */
iload 1 /* inOffset */
iinc 1 /* inOffset */ 1
baload
bastore
end local 9 // int saveOffset
end local 8 // byte replicate
end local 7 // int run
34: .line 46
StackMap locals:
StackMap stack:
iload 1 /* inOffset */
iload 5 /* inMax */
if_icmple 3
35: .line 86
iload 4 /* outOffset */
ireturn
end local 6 // int inMaxMinus1
end local 5 // int inMax
end local 4 // int outOffset
end local 3 // byte[] output
end local 2 // int inCount
end local 1 // int inOffset
end local 0 // byte[] input
LocalVariableTable:
Start End Slot Name Signature
0 36 0 input [B
0 36 1 inOffset I
0 36 2 inCount I
0 36 3 output [B
0 36 4 outOffset I
1 36 5 inMax I
2 36 6 inMaxMinus1 I
4 34 7 run I
5 34 8 replicate B
16 34 9 saveOffset I
MethodParameters:
Name Flags
input
inOffset
inCount
output
outOffset
public int encode(byte[], int, int, int, int[], int);
descriptor: ([BIII[II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=14, args_size=7
start local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsCompressor 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 93
iconst_0
istore 7 /* bitsPerPixel */
start local 7 // int bitsPerPixel
1: .line 94
iconst_0
istore 8 /* i */
start local 8 // int i
2: goto 5
3: .line 95
StackMap locals: int int
StackMap stack:
iload 7 /* bitsPerPixel */
aload 5 /* bitsPerSample */
iload 8 /* i */
iaload
iadd
istore 7 /* bitsPerPixel */
4: .line 94
iinc 8 /* i */ 1
StackMap locals:
StackMap stack:
5: iload 8 /* i */
aload 5 /* bitsPerSample */
arraylength
if_icmplt 3
end local 8 // int i
6: .line 97
iload 7 /* bitsPerPixel */
iload 3 /* width */
imul
bipush 7
iadd
bipush 8
idiv
istore 8 /* bytesPerRow */
start local 8 // int bytesPerRow
7: .line 98
iload 8 /* bytesPerRow */
iload 8 /* bytesPerRow */
bipush 127
iadd
sipush 128
idiv
iadd
istore 9 /* bufSize */
start local 9 // int bufSize
8: .line 99
iload 9 /* bufSize */
newarray 8
astore 10 /* compData */
start local 10 // byte[] compData
9: .line 101
iconst_0
istore 11 /* bytesWritten */
start local 11 // int bytesWritten
10: .line 103
iconst_0
istore 12 /* i */
start local 12 // int i
11: goto 17
12: .line 104
StackMap locals: com.sun.imageio.plugins.tiff.TIFFPackBitsCompressor byte[] int int int int[] int int int int byte[] int int
StackMap stack:
aload 1 /* b */
iload 2 /* off */
iload 6 /* scanlineStride */
aload 10 /* compData */
iconst_0
invokestatic com.sun.imageio.plugins.tiff.TIFFPackBitsCompressor.packBits:([BII[BI)I
istore 13 /* bytes */
start local 13 // int bytes
13: .line 105
iload 2 /* off */
iload 6 /* scanlineStride */
iadd
istore 2 /* off */
14: .line 106
iload 11 /* bytesWritten */
iload 13 /* bytes */
iadd
istore 11 /* bytesWritten */
15: .line 107
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFPackBitsCompressor.stream:Ljavax/imageio/stream/ImageOutputStream;
aload 10 /* compData */
iconst_0
iload 13 /* bytes */
invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
end local 13 // int bytes
16: .line 103
iinc 12 /* i */ 1
StackMap locals:
StackMap stack:
17: iload 12 /* i */
iload 4 /* height */
if_icmplt 12
end local 12 // int i
18: .line 110
iload 11 /* bytesWritten */
ireturn
end local 11 // int bytesWritten
end local 10 // byte[] compData
end local 9 // int bufSize
end local 8 // int bytesPerRow
end local 7 // int bitsPerPixel
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.TIFFPackBitsCompressor this
LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/sun/imageio/plugins/tiff/TIFFPackBitsCompressor;
0 19 1 b [B
0 19 2 off I
0 19 3 width I
0 19 4 height I
0 19 5 bitsPerSample [I
0 19 6 scanlineStride I
1 19 7 bitsPerPixel I
2 6 8 i I
7 19 8 bytesPerRow I
8 19 9 bufSize I
9 19 10 compData [B
10 19 11 bytesWritten I
11 18 12 i I
13 16 13 bytes I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
width
height
bitsPerSample
scanlineStride
}
SourceFile: "TIFFPackBitsCompressor.java"