public class com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor 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.TIFFJPEGDecompressor
super_class: com.sun.imageio.plugins.tiff.TIFFDecompressor
{
protected static final int SOI;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 216
protected static final int EOI;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 217
protected javax.imageio.ImageReader JPEGReader;
descriptor: Ljavax/imageio/ImageReader;
flags: (0x0004) ACC_PROTECTED
protected javax.imageio.ImageReadParam JPEGParam;
descriptor: Ljavax/imageio/ImageReadParam;
flags: (0x0004) ACC_PROTECTED
protected boolean hasJPEGTables;
descriptor: Z
flags: (0x0004) ACC_PROTECTED
protected byte[] tables;
descriptor: [B
flags: (0x0004) ACC_PROTECTED
private byte[] data;
descriptor: [B
flags: (0x0002) ACC_PRIVATE
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.sun.imageio.plugins.tiff.TIFFDecompressor.<init>:()V
1: aload 0
aconst_null
putfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.JPEGReader:Ljavax/imageio/ImageReader;
2: aload 0
iconst_0
putfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.hasJPEGTables:Z
3: aload 0
aconst_null
putfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.tables:[B
4: aload 0
iconst_0
newarray 8
putfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.data:[B
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/imageio/plugins/tiff/TIFFJPEGDecompressor;
public void beginDecoding();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.JPEGReader:Ljavax/imageio/ImageReader;
ifnonnull 6
1: ldc "jpeg"
invokestatic javax.imageio.ImageIO.getImageReadersByFormatName:(Ljava/lang/String;)Ljava/util/Iterator;
astore 1
start local 1 2: aload 1
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
3: new java.lang.IllegalStateException
dup
ldc "No JPEG readers found!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals: java.util.Iterator
StackMap stack:
aload 0
aload 1
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast javax.imageio.ImageReader
putfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.JPEGReader:Ljavax/imageio/ImageReader;
5: aload 0
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.JPEGReader:Ljavax/imageio/ImageReader;
invokevirtual javax.imageio.ImageReader.getDefaultReadParam:()Ljavax/imageio/ImageReadParam;
putfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.JPEGParam:Ljavax/imageio/ImageReadParam;
end local 1 6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.metadata:Ljavax/imageio/metadata/IIOMetadata;
checkcast com.sun.imageio.plugins.tiff.TIFFImageMetadata
astore 1
start local 1 7: aload 1
sipush 347
invokevirtual com.sun.imageio.plugins.tiff.TIFFImageMetadata.getTIFFField:(I)Ljavax/imageio/plugins/tiff/TIFFField;
8: astore 2
start local 2 9: aload 2
ifnull 13
10: aload 0
iconst_1
putfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.hasJPEGTables:Z
11: aload 0
aload 2
invokevirtual javax.imageio.plugins.tiff.TIFFField.getAsBytes:()[B
putfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.tables:[B
12: goto 14
13: StackMap locals: com.sun.imageio.plugins.tiff.TIFFImageMetadata javax.imageio.plugins.tiff.TIFFField
StackMap stack:
aload 0
iconst_0
putfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.hasJPEGTables:Z
14: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/imageio/plugins/tiff/TIFFJPEGDecompressor;
2 6 1 iter Ljava/util/Iterator<Ljavax/imageio/ImageReader;>;
7 15 1 tmetadata Lcom/sun/imageio/plugins/tiff/TIFFImageMetadata;
9 15 2 f Ljavax/imageio/plugins/tiff/TIFFField;
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 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.offset:J
invokeinterface javax.imageio.stream.ImageInputStream.seek:(J)V
1: aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.hasJPEGTables:Z
ifeq 24
2: aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.tables:[B
arraylength
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.byteCount:I
iadd
istore 6
start local 6 3: aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.data:[B
arraylength
iload 6
if_icmpge 5
4: aload 0
iload 6
newarray 8
putfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.data:[B
5: StackMap locals: com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor byte[] int int int top int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.tables:[B
arraylength
istore 7
start local 7 6: aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.tables:[B
arraylength
iconst_2
isub
istore 8
start local 8 7: goto 13
8: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.tables:[B
iload 8
baload
sipush 255
iand
sipush 255
if_icmpne 12
9: aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.tables:[B
iload 8
iconst_1
iadd
baload
sipush 255
iand
sipush 217
if_icmpne 12
10: iload 8
istore 7
11: goto 14
12: StackMap locals:
StackMap stack:
iinc 8 -1
StackMap locals:
StackMap stack:
13: iload 8
ifgt 8
end local 8 14: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.tables:[B
iconst_0
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.data:[B
iconst_0
iload 7
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.read:()I
i2b
istore 8
start local 8 16: aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.stream:Ljavax/imageio/stream/ImageInputStream;
invokeinterface javax.imageio.stream.ImageInputStream.read:()I
i2b
istore 9
start local 9 17: iload 8
sipush 255
iand
sipush 255
if_icmpne 18
iload 9
sipush 255
iand
sipush 216
if_icmpeq 20
18: StackMap locals: int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.data:[B
iload 7
iinc 7 1
iload 8
bastore
19: aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.data:[B
iload 7
iinc 7 1
iload 9
bastore
20: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.stream:Ljavax/imageio/stream/ImageInputStream;
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.data:[B
iload 7
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.byteCount:I
iconst_2
isub
invokeinterface javax.imageio.stream.ImageInputStream.readFully:([BII)V
21: new java.io.ByteArrayInputStream
dup
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.data:[B
invokespecial java.io.ByteArrayInputStream.<init>:([B)V
astore 10
start local 10 22: new javax.imageio.stream.MemoryCacheImageInputStream
dup
aload 10
invokespecial javax.imageio.stream.MemoryCacheImageInputStream.<init>:(Ljava/io/InputStream;)V
astore 5
end local 10 end local 9 end local 8 end local 7 end local 6 start local 5 23: goto 25
end local 5 24: StackMap locals: com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor byte[] int int int
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.stream:Ljavax/imageio/stream/ImageInputStream;
astore 5
start local 5 25: StackMap locals: javax.imageio.stream.ImageInputStream
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.JPEGReader:Ljavax/imageio/ImageReader;
aload 5
iconst_0
iconst_1
invokevirtual javax.imageio.ImageReader.setInput:(Ljava/lang/Object;ZZ)V
26: aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.JPEGParam:Ljavax/imageio/ImageReadParam;
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.rawImage:Ljava/awt/image/BufferedImage;
invokevirtual javax.imageio.ImageReadParam.setDestination:(Ljava/awt/image/BufferedImage;)V
27: aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.JPEGReader:Ljavax/imageio/ImageReader;
iconst_0
aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.JPEGParam:Ljavax/imageio/ImageReadParam;
invokevirtual javax.imageio.ImageReader.read:(ILjavax/imageio/ImageReadParam;)Ljava/awt/image/BufferedImage;
pop
28: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/sun/imageio/plugins/tiff/TIFFJPEGDecompressor;
0 29 1 b [B
0 29 2 dstOffset I
0 29 3 bitsPerPixel I
0 29 4 scanlineStride I
23 24 5 is Ljavax/imageio/stream/ImageInputStream;
25 29 5 is Ljavax/imageio/stream/ImageInputStream;
3 23 6 dataLength I
6 23 7 dataOffset I
7 14 8 i I
16 23 8 byte1 B
17 23 9 byte2 B
22 23 10 bais Ljava/io/ByteArrayInputStream;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
dstOffset
bitsPerPixel
scanlineStride
protected void finalize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.finalize:()V
1: aload 0
getfield com.sun.imageio.plugins.tiff.TIFFJPEGDecompressor.JPEGReader:Ljavax/imageio/ImageReader;
invokevirtual javax.imageio.ImageReader.dispose:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/imageio/plugins/tiff/TIFFJPEGDecompressor;
Exceptions:
throws java.lang.Throwable
}
SourceFile: "TIFFJPEGDecompressor.java"