public class com.sun.imageio.plugins.tiff.TIFFLZWCompressor 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.TIFFLZWCompressor
super_class: com.sun.imageio.plugins.tiff.TIFFCompressor
{
private final int predictor;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // com.sun.imageio.plugins.tiff.TIFFLZWCompressor this
start local 1 // int predictorValue
0: .line 40
aload 0 /* this */
ldc "LZW"
iconst_5
iconst_1
invokespecial com.sun.imageio.plugins.tiff.TIFFCompressor.<init>:(Ljava/lang/String;IZ)V
1: .line 41
aload 0 /* this */
iload 1 /* predictorValue */
putfield com.sun.imageio.plugins.tiff.TIFFLZWCompressor.predictor:I
2: .line 42
return
end local 1 // int predictorValue
end local 0 // com.sun.imageio.plugins.tiff.TIFFLZWCompressor this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/imageio/plugins/tiff/TIFFLZWCompressor;
0 3 1 predictorValue I
MethodParameters:
Name Flags
predictorValue
public void setStream(javax.imageio.stream.ImageOutputStream);
descriptor: (Ljavax/imageio/stream/ImageOutputStream;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // com.sun.imageio.plugins.tiff.TIFFLZWCompressor this
start local 1 // javax.imageio.stream.ImageOutputStream stream
0: .line 45
aload 0 /* this */
aload 1 /* stream */
invokespecial com.sun.imageio.plugins.tiff.TIFFCompressor.setStream:(Ljavax/imageio/stream/ImageOutputStream;)V
1: .line 46
return
end local 1 // javax.imageio.stream.ImageOutputStream stream
end local 0 // com.sun.imageio.plugins.tiff.TIFFLZWCompressor this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/imageio/plugins/tiff/TIFFLZWCompressor;
0 2 1 stream Ljavax/imageio/stream/ImageOutputStream;
MethodParameters:
Name Flags
stream
public int encode(byte[], int, int, int, int[], int);
descriptor: ([BIII[II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=17, args_size=7
start local 0 // com.sun.imageio.plugins.tiff.TIFFLZWCompressor 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 53
new com.sun.imageio.plugins.common.LZWCompressor
dup
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFLZWCompressor.stream:Ljavax/imageio/stream/ImageOutputStream;
bipush 8
iconst_1
invokespecial com.sun.imageio.plugins.common.LZWCompressor.<init>:(Ljavax/imageio/stream/ImageOutputStream;IZ)V
astore 7 /* lzwCompressor */
start local 7 // com.sun.imageio.plugins.common.LZWCompressor lzwCompressor
1: .line 55
aload 5 /* bitsPerSample */
arraylength
istore 8 /* samplesPerPixel */
start local 8 // int samplesPerPixel
2: .line 56
iconst_0
istore 9 /* bitsPerPixel */
start local 9 // int bitsPerPixel
3: .line 57
iconst_0
istore 10 /* i */
start local 10 // int i
4: goto 7
5: .line 58
StackMap locals: com.sun.imageio.plugins.tiff.TIFFLZWCompressor byte[] int int int int[] int com.sun.imageio.plugins.common.LZWCompressor int int int
StackMap stack:
iload 9 /* bitsPerPixel */
aload 5 /* bitsPerSample */
iload 10 /* i */
iaload
iadd
istore 9 /* bitsPerPixel */
6: .line 57
iinc 10 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 10 /* i */
iload 8 /* samplesPerPixel */
if_icmplt 5
end local 10 // int i
8: .line 60
iload 9 /* bitsPerPixel */
iload 3 /* width */
imul
bipush 7
iadd
bipush 8
idiv
istore 10 /* bytesPerRow */
start local 10 // int bytesPerRow
9: .line 62
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFLZWCompressor.stream:Ljavax/imageio/stream/ImageOutputStream;
invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
lstore 11 /* initialStreamPosition */
start local 11 // long initialStreamPosition
10: .line 65
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFLZWCompressor.predictor:I
iconst_2
if_icmpne 11
iconst_1
goto 12
StackMap locals: long
StackMap stack:
11: iconst_0
12: .line 64
StackMap locals:
StackMap stack: int
istore 13 /* usePredictor */
start local 13 // boolean usePredictor
13: .line 67
iload 10 /* bytesPerRow */
iload 6 /* scanlineStride */
if_icmpne 16
iload 13 /* usePredictor */
ifne 16
14: .line 68
aload 7 /* lzwCompressor */
aload 1 /* b */
iload 2 /* off */
iload 10 /* bytesPerRow */
iload 4 /* height */
imul
invokevirtual com.sun.imageio.plugins.common.LZWCompressor.compress:([BII)V
15: .line 69
goto 34
16: .line 70
StackMap locals: int
StackMap stack:
iload 13 /* usePredictor */
ifeq 17
iload 10 /* bytesPerRow */
newarray 8
goto 18
StackMap locals:
StackMap stack:
17: aconst_null
StackMap locals:
StackMap stack: byte[]
18: astore 14 /* rowBuf */
start local 14 // byte[] rowBuf
19: .line 71
iconst_0
istore 15 /* i */
start local 15 // int i
20: goto 33
21: .line 72
StackMap locals: byte[] int
StackMap stack:
iload 13 /* usePredictor */
ifeq 30
22: .line 75
aload 1 /* b */
iload 2 /* off */
aload 14 /* rowBuf */
iconst_0
iload 10 /* bytesPerRow */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: .line 76
iload 10 /* bytesPerRow */
iconst_1
isub
istore 16 /* j */
start local 16 // int j
24: goto 27
25: .line 77
StackMap locals: int
StackMap stack:
aload 14 /* rowBuf */
iload 16 /* j */
dup2
baload
aload 14 /* rowBuf */
iload 16 /* j */
iload 8 /* samplesPerPixel */
isub
baload
isub
i2b
bastore
26: .line 76
iinc 16 /* j */ -1
StackMap locals:
StackMap stack:
27: iload 16 /* j */
iload 8 /* samplesPerPixel */
if_icmpge 25
end local 16 // int j
28: .line 79
aload 7 /* lzwCompressor */
aload 14 /* rowBuf */
iconst_0
iload 10 /* bytesPerRow */
invokevirtual com.sun.imageio.plugins.common.LZWCompressor.compress:([BII)V
29: .line 80
goto 31
30: .line 81
StackMap locals:
StackMap stack:
aload 7 /* lzwCompressor */
aload 1 /* b */
iload 2 /* off */
iload 10 /* bytesPerRow */
invokevirtual com.sun.imageio.plugins.common.LZWCompressor.compress:([BII)V
31: .line 83
StackMap locals:
StackMap stack:
iload 2 /* off */
iload 6 /* scanlineStride */
iadd
istore 2 /* off */
32: .line 71
iinc 15 /* i */ 1
StackMap locals:
StackMap stack:
33: iload 15 /* i */
iload 4 /* height */
if_icmplt 21
end local 15 // int i
end local 14 // byte[] rowBuf
34: .line 87
StackMap locals:
StackMap stack:
aload 7 /* lzwCompressor */
invokevirtual com.sun.imageio.plugins.common.LZWCompressor.flush:()V
35: .line 90
aload 0 /* this */
getfield com.sun.imageio.plugins.tiff.TIFFLZWCompressor.stream:Ljavax/imageio/stream/ImageOutputStream;
invokeinterface javax.imageio.stream.ImageOutputStream.getStreamPosition:()J
lload 11 /* initialStreamPosition */
lsub
l2i
36: .line 89
istore 14 /* bytesWritten */
start local 14 // int bytesWritten
37: .line 92
iload 14 /* bytesWritten */
ireturn
end local 14 // int bytesWritten
end local 13 // boolean usePredictor
end local 11 // long initialStreamPosition
end local 10 // int bytesPerRow
end local 9 // int bitsPerPixel
end local 8 // int samplesPerPixel
end local 7 // com.sun.imageio.plugins.common.LZWCompressor lzwCompressor
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.TIFFLZWCompressor this
LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lcom/sun/imageio/plugins/tiff/TIFFLZWCompressor;
0 38 1 b [B
0 38 2 off I
0 38 3 width I
0 38 4 height I
0 38 5 bitsPerSample [I
0 38 6 scanlineStride I
1 38 7 lzwCompressor Lcom/sun/imageio/plugins/common/LZWCompressor;
2 38 8 samplesPerPixel I
3 38 9 bitsPerPixel I
4 8 10 i I
9 38 10 bytesPerRow I
10 38 11 initialStreamPosition J
13 38 13 usePredictor Z
19 34 14 rowBuf [B
20 34 15 i I
24 28 16 j I
37 38 14 bytesWritten I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
width
height
bitsPerSample
scanlineStride
}
SourceFile: "TIFFLZWCompressor.java"