public class com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor extends com.sun.imageio.plugins.tiff.TIFFDecompressor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor
super_class: com.sun.imageio.plugins.tiff.TIFFDecompressor
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor this
0: .line 31
aload 0 /* this */
invokespecial com.sun.imageio.plugins.tiff.TIFFDecompressor.<init>:()V
1: .line 32
return
end local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/imageio/plugins/tiff/TIFFPackBitsDecompressor;
public int decode(byte[], int, byte[], int);
descriptor: ([BI[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=12, args_size=5
start local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor this
start local 1 // byte[] srcData
start local 2 // int srcOffset
start local 3 // byte[] dstData
start local 4 // int dstOffset
0: .line 38
iload 2 /* srcOffset */
istore 5 /* srcIndex */
start local 5 // int srcIndex
1: .line 39
iload 4 /* dstOffset */
istore 6 /* dstIndex */
start local 6 // int dstIndex
2: .line 41
aload 3 /* dstData */
arraylength
istore 7 /* dstArraySize */
start local 7 // int dstArraySize
3: .line 42
aload 1 /* srcData */
arraylength
istore 8 /* srcArraySize */
start local 8 // int srcArraySize
4: .line 44
goto 22
5: .line 45
StackMap locals: com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor byte[] int byte[] int int int int int
StackMap stack:
aload 1 /* srcData */
iload 5 /* srcIndex */
iinc 5 /* srcIndex */ 1
baload
istore 9 /* b */
start local 9 // byte b
6: .line 47
iload 9 /* b */
iflt 13
iload 9 /* b */
bipush 127
if_icmpgt 13
7: .line 50
iconst_0
istore 10 /* i */
start local 10 // int i
8: goto 11
9: .line 51
StackMap locals: int int
StackMap stack:
aload 3 /* dstData */
iload 6 /* dstIndex */
iinc 6 /* dstIndex */ 1
aload 1 /* srcData */
iload 5 /* srcIndex */
iinc 5 /* srcIndex */ 1
baload
bastore
10: .line 50
iinc 10 /* i */ 1
StackMap locals:
StackMap stack:
11: iload 10 /* i */
iload 9 /* b */
iconst_1
iadd
if_icmplt 9
end local 10 // int i
12: .line 53
goto 22
StackMap locals:
StackMap stack:
13: iload 9 /* b */
iconst_m1
if_icmpgt 21
iload 9 /* b */
bipush -127
if_icmplt 21
14: .line 55
aload 1 /* srcData */
iload 5 /* srcIndex */
iinc 5 /* srcIndex */ 1
baload
istore 10 /* repeat */
start local 10 // byte repeat
15: .line 56
iconst_0
istore 11 /* i */
start local 11 // int i
16: goto 19
17: .line 57
StackMap locals: int int
StackMap stack:
aload 3 /* dstData */
iload 6 /* dstIndex */
iinc 6 /* dstIndex */ 1
iload 10 /* repeat */
bastore
18: .line 56
iinc 11 /* i */ 1
StackMap locals:
StackMap stack:
19: iload 11 /* i */
iload 9 /* b */
ineg
iconst_1
iadd
if_icmplt 17
end local 11 // int i
end local 10 // byte repeat
20: .line 59
goto 22
21: .line 61
StackMap locals:
StackMap stack:
iinc 5 /* srcIndex */ 1
end local 9 // byte b
22: .line 44
StackMap locals:
StackMap stack:
iload 6 /* dstIndex */
iload 7 /* dstArraySize */
if_icmpge 29
iload 5 /* srcIndex */
iload 8 /* srcArraySize */
if_icmplt 5
23: .line 64
goto 29
StackMap locals:
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
24: pop
25: .line 65
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.reader:Ljavax/imageio/ImageReader;
instanceof com.sun.imageio.plugins.tiff.TIFFImageReader
ifeq 29
26: .line 66
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.reader:Ljavax/imageio/ImageReader;
checkcast com.sun.imageio.plugins.tiff.TIFFImageReader
27: .line 67
ldc "ArrayIndexOutOfBoundsException ignored in TIFFPackBitsDecompressor.decode()"
28: .line 66
invokevirtual com.sun.imageio.plugins.tiff.TIFFImageReader.forwardWarningMessage:(Ljava/lang/String;)V
29: .line 71
StackMap locals:
StackMap stack:
iload 6 /* dstIndex */
iload 4 /* dstOffset */
isub
ireturn
end local 8 // int srcArraySize
end local 7 // int dstArraySize
end local 6 // int dstIndex
end local 5 // int srcIndex
end local 4 // int dstOffset
end local 3 // byte[] dstData
end local 2 // int srcOffset
end local 1 // byte[] srcData
end local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor this
LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/sun/imageio/plugins/tiff/TIFFPackBitsDecompressor;
0 30 1 srcData [B
0 30 2 srcOffset I
0 30 3 dstData [B
0 30 4 dstOffset I
1 30 5 srcIndex I
2 30 6 dstIndex I
3 30 7 dstArraySize I
4 30 8 srcArraySize I
6 22 9 b B
8 12 10 i I
15 20 10 repeat B
16 20 11 i I
Exception table:
from to target type
4 23 24 Class java.lang.ArrayIndexOutOfBoundsException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
srcData
srcOffset
dstData
dstOffset
public void decodeRaw(byte[], int, int, int);
descriptor: ([BIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=5
start local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor this
start local 1 // byte[] b
start local 2 // int dstOffset
start local 3 // int bitsPerPixel
start local 4 // int scanlineStride
0: .line 78
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.offset:J
invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
1: .line 80
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.byteCount:I
newarray 8
astore 5 /* srcData */
start local 5 // byte[] srcData
2: .line 81
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.stream:Ljavax/imageio/stream/ImageInputStream;
aload 5 /* srcData */
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([B)V
3: .line 83
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.srcWidth:I
iload 3 /* bitsPerPixel */
imul
bipush 7
iadd
bipush 8
idiv
istore 6 /* bytesPerRow */
start local 6 // int bytesPerRow
4: .line 86
iload 6 /* bytesPerRow */
iload 4 /* scanlineStride */
if_icmpne 8
5: .line 87
aload 1 /* b */
astore 7 /* buf */
start local 7 // byte[] buf
6: .line 88
iload 2 /* dstOffset */
istore 8 /* bufOffset */
start local 8 // int bufOffset
7: .line 89
goto 10
end local 8 // int bufOffset
end local 7 // byte[] buf
8: .line 90
StackMap locals: byte[] int
StackMap stack:
iload 6 /* bytesPerRow */
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.srcHeight:I
imul
newarray 8
astore 7 /* buf */
start local 7 // byte[] buf
9: .line 91
iconst_0
istore 8 /* bufOffset */
start local 8 // int bufOffset
10: .line 94
StackMap locals: byte[] int
StackMap stack:
aload 0 /* this */
aload 5 /* srcData */
iconst_0
aload 7 /* buf */
iload 8 /* bufOffset */
invokevirtual com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.decode:([BI[BI)I
pop
11: .line 96
iload 6 /* bytesPerRow */
iload 4 /* scanlineStride */
if_icmpeq 20
12: .line 97
iconst_0
istore 9 /* off */
start local 9 // int off
13: .line 98
iconst_0
istore 10 /* y */
start local 10 // int y
14: goto 19
15: .line 99
StackMap locals: int int
StackMap stack:
aload 7 /* buf */
iload 9 /* off */
aload 1 /* b */
iload 2 /* dstOffset */
iload 6 /* bytesPerRow */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: .line 100
iload 9 /* off */
iload 6 /* bytesPerRow */
iadd
istore 9 /* off */
17: .line 101
iload 2 /* dstOffset */
iload 4 /* scanlineStride */
iadd
istore 2 /* dstOffset */
18: .line 98
iinc 10 /* y */ 1
StackMap locals:
StackMap stack:
19: iload 10 /* y */
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor.srcHeight:I
if_icmplt 15
end local 10 // int y
end local 9 // int off
20: .line 104
StackMap locals:
StackMap stack:
return
end local 8 // int bufOffset
end local 7 // byte[] buf
end local 6 // int bytesPerRow
end local 5 // byte[] srcData
end local 4 // int scanlineStride
end local 3 // int bitsPerPixel
end local 2 // int dstOffset
end local 1 // byte[] b
end local 0 // com.sun.imageio.plugins.tiff.TIFFPackBitsDecompressor this
LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/sun/imageio/plugins/tiff/TIFFPackBitsDecompressor;
0 21 1 b [B
0 21 2 dstOffset I
0 21 3 bitsPerPixel I
0 21 4 scanlineStride I
2 21 5 srcData [B
4 21 6 bytesPerRow I
6 8 7 buf [B
9 21 7 buf [B
7 8 8 bufOffset I
10 21 8 bufOffset I
13 20 9 off I
14 20 10 y I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
dstOffset
bitsPerPixel
scanlineStride
}
SourceFile: "TIFFPackBitsDecompressor.java"