public class com.sun.imageio.plugins.jpeg.JPEGImageWriter extends javax.imageio.ImageWriter
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.imageio.plugins.jpeg.JPEGImageWriter
super_class: javax.imageio.ImageWriter
{
private boolean debug;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private long structPointer;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private javax.imageio.stream.ImageOutputStream ios;
descriptor: Ljavax/imageio/stream/ImageOutputStream;
flags: (0x0002) ACC_PRIVATE
private java.awt.image.Raster srcRas;
descriptor: Ljava/awt/image/Raster;
flags: (0x0002) ACC_PRIVATE
private java.awt.image.WritableRaster raster;
descriptor: Ljava/awt/image/WritableRaster;
flags: (0x0002) ACC_PRIVATE
private boolean indexed;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.awt.image.IndexColorModel indexCM;
descriptor: Ljava/awt/image/IndexColorModel;
flags: (0x0002) ACC_PRIVATE
private boolean convertTosRGB;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.awt.image.WritableRaster converted;
descriptor: Ljava/awt/image/WritableRaster;
flags: (0x0002) ACC_PRIVATE
private boolean isAlphaPremultiplied;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.awt.image.ColorModel srcCM;
descriptor: Ljava/awt/image/ColorModel;
flags: (0x0002) ACC_PRIVATE
private java.util.List<? extends java.awt.image.BufferedImage> thumbnails;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<+Ljava/awt/image/BufferedImage;>;
private java.awt.color.ICC_Profile iccProfile;
descriptor: Ljava/awt/color/ICC_Profile;
flags: (0x0002) ACC_PRIVATE
private int sourceXOffset;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int sourceYOffset;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int sourceWidth;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int[] srcBands;
descriptor: [I
flags: (0x0002) ACC_PRIVATE
private int sourceHeight;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int currentImage;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.awt.image.ColorConvertOp convertOp;
descriptor: Ljava/awt/image/ColorConvertOp;
flags: (0x0002) ACC_PRIVATE
private javax.imageio.plugins.jpeg.JPEGQTable[] streamQTables;
descriptor: [Ljavax/imageio/plugins/jpeg/JPEGQTable;
flags: (0x0002) ACC_PRIVATE
private javax.imageio.plugins.jpeg.JPEGHuffmanTable[] streamDCHuffmanTables;
descriptor: [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
flags: (0x0002) ACC_PRIVATE
private javax.imageio.plugins.jpeg.JPEGHuffmanTable[] streamACHuffmanTables;
descriptor: [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
flags: (0x0002) ACC_PRIVATE
private boolean ignoreJFIF;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean forceJFIF;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean ignoreAdobe;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int newAdobeTransform;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private boolean writeDefaultJFIF;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean writeAdobe;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private com.sun.imageio.plugins.jpeg.JPEGMetadata metadata;
descriptor: Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
flags: (0x0002) ACC_PRIVATE
private boolean sequencePrepared;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private int numScans;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private java.lang.Object disposerReferent;
descriptor: Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
private sun.java2d.DisposerRecord disposerRecord;
descriptor: Lsun/java2d/DisposerRecord;
flags: (0x0002) ACC_PRIVATE
protected static final int WARNING_DEST_IGNORED;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 0
protected static final int WARNING_STREAM_METADATA_IGNORED;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 1
protected static final int WARNING_DEST_METADATA_COMP_MISMATCH;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 2
protected static final int WARNING_DEST_METADATA_JFIF_MISMATCH;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 3
protected static final int WARNING_DEST_METADATA_ADOBE_MISMATCH;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 4
protected static final int WARNING_IMAGE_METADATA_JFIF_MISMATCH;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 5
protected static final int WARNING_IMAGE_METADATA_ADOBE_MISMATCH;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 6
protected static final int WARNING_METADATA_NOT_JPEG_FOR_RASTER;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 7
protected static final int WARNING_NO_BANDS_ON_INDEXED;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 8
protected static final int WARNING_ILLEGAL_THUMBNAIL;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 9
protected static final int WARNING_IGNORING_THUMBS;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 10
protected static final int WARNING_FORCING_JFIF;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 11
protected static final int WARNING_THUMB_CLIPPED;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 12
protected static final int WARNING_METADATA_ADJUSTED_FOR_THUMB;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 13
protected static final int WARNING_NO_RGB_THUMB_AS_INDEXED;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 14
protected static final int WARNING_NO_GRAY_THUMB_AS_INDEXED;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: 15
private static final int MAX_WARNING;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 15
static final java.awt.Dimension[] preferredThumbSizes;
descriptor: [Ljava/awt/Dimension;
flags: (0x0018) ACC_STATIC, ACC_FINAL
private java.lang.Thread theThread;
descriptor: Ljava/lang/Thread;
flags: (0x0002) ACC_PRIVATE
private int theLockCount;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock cbLock;
descriptor: Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=0, args_size=0
0: new com.sun.imageio.plugins.jpeg.JPEGImageWriter$1
dup
invokespecial com.sun.imageio.plugins.jpeg.JPEGImageWriter$1.<init>:()V
1: invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
pop
2: ldc Ljavax/imageio/plugins/jpeg/JPEGQTable;
3: ldc Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
4: invokestatic com.sun.imageio.plugins.jpeg.JPEGImageWriter.initWriterIDs:(Ljava/lang/Class;Ljava/lang/Class;)V
5: iconst_2
anewarray java.awt.Dimension
dup
iconst_0
new java.awt.Dimension
dup
iconst_1
iconst_1
invokespecial java.awt.Dimension.<init>:(II)V
aastore
dup
iconst_1
6: new java.awt.Dimension
dup
sipush 255
sipush 255
invokespecial java.awt.Dimension.<init>:(II)V
aastore
7: putstatic com.sun.imageio.plugins.jpeg.JPEGImageWriter.preferredThumbSizes:[Ljava/awt/Dimension;
8: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(javax.imageio.spi.ImageWriterSpi);
descriptor: (Ljavax/imageio/spi/ImageWriterSpi;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial javax.imageio.ImageWriter.<init>:(Ljavax/imageio/spi/ImageWriterSpi;)V
1: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.debug:Z
2: aload 0
lconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
3: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
4: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
5: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.raster:Ljava/awt/image/WritableRaster;
6: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
7: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexCM:Ljava/awt/image/IndexColorModel;
8: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertTosRGB:Z
9: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.converted:Ljava/awt/image/WritableRaster;
10: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.isAlphaPremultiplied:Z
11: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcCM:Ljava/awt/image/ColorModel;
12: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
13: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
14: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
15: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
16: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
17: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
18: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
19: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
20: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertOp:Ljava/awt/image/ColorConvertOp;
21: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
22: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
23: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
24: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
25: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.forceJFIF:Z
26: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreAdobe:Z
27: aload 0
iconst_m1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
28: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
29: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeAdobe:Z
30: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
31: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sequencePrepared:Z
32: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
33: aload 0
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.disposerReferent:Ljava/lang/Object;
34: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
35: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
36: aload 0
new com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock
dup
invokespecial com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.<init>:()V
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
37: aload 0
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.initJPEGImageWriter:()J
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
38: aload 0
new com.sun.imageio.plugins.jpeg.JPEGImageWriter$JPEGWriterDisposerRecord
dup
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
invokespecial com.sun.imageio.plugins.jpeg.JPEGImageWriter$JPEGWriterDisposerRecord.<init>:(J)V
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.disposerRecord:Lsun/java2d/DisposerRecord;
39: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.disposerReferent:Ljava/lang/Object;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.disposerRecord:Lsun/java2d/DisposerRecord;
invokestatic sun.java2d.Disposer.addRecord:(Ljava/lang/Object;Lsun/java2d/DisposerRecord;)V
40: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 41 1 originator Ljavax/imageio/spi/ImageWriterSpi;
MethodParameters:
Name Flags
originator
public void setOutput(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
2: aload 0
aload 1
invokespecial javax.imageio.ImageWriter.setOutput:(Ljava/lang/Object;)V
3: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.resetInternalState:()V
4: aload 0
aload 1
checkcast javax.imageio.stream.ImageOutputStream
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
5: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setDest:(J)V
6: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 2
8: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
9: aload 2
athrow
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
11: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 12 1 output Ljava/lang/Object;
Exception table:
from to target type
1 7 7 any
MethodParameters:
Name Flags
output
public javax.imageio.ImageWriteParam getDefaultWriteParam();
descriptor: ()Ljavax/imageio/ImageWriteParam;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new javax.imageio.plugins.jpeg.JPEGImageWriteParam
dup
aconst_null
invokespecial javax.imageio.plugins.jpeg.JPEGImageWriteParam.<init>:(Ljava/util/Locale;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
public javax.imageio.metadata.IIOMetadata getDefaultStreamMetadata(javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
1: new com.sun.imageio.plugins.jpeg.JPEGMetadata
dup
aload 1
aload 0
invokespecial com.sun.imageio.plugins.jpeg.JPEGMetadata.<init>:(Ljavax/imageio/ImageWriteParam;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
astore 3
2: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
3: aload 3
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 2
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
6: aload 2
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 7 1 param Ljavax/imageio/ImageWriteParam;
Exception table:
from to target type
1 2 4 any
MethodParameters:
Name Flags
param
public javax.imageio.metadata.IIOMetadata getDefaultImageMetadata(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
1: new com.sun.imageio.plugins.jpeg.JPEGMetadata
dup
aload 1
aload 2
aload 0
invokespecial com.sun.imageio.plugins.jpeg.JPEGMetadata.<init>:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
astore 4
2: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
3: aload 4
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 3
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
6: aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 7 1 imageType Ljavax/imageio/ImageTypeSpecifier;
0 7 2 param Ljavax/imageio/ImageWriteParam;
Exception table:
from to target type
1 2 4 any
MethodParameters:
Name Flags
imageType
param
public javax.imageio.metadata.IIOMetadata convertStreamMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof com.sun.imageio.plugins.jpeg.JPEGMetadata
ifeq 4
1: aload 1
checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
astore 3
start local 3 2: aload 3
getfield com.sun.imageio.plugins.jpeg.JPEGMetadata.isStream:Z
ifeq 4
3: aload 1
areturn
end local 3 4: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 5 1 inData Ljavax/imageio/metadata/IIOMetadata;
0 5 2 param Ljavax/imageio/ImageWriteParam;
2 4 3 jpegData Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
MethodParameters:
Name Flags
inData
param
public javax.imageio.metadata.IIOMetadata convertImageMetadata(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
1: aload 0
aload 1
aload 2
aload 3
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertImageMetadataOnThread:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
astore 5
2: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
3: aload 5
areturn
4: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
6: aload 4
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 7 1 inData Ljavax/imageio/metadata/IIOMetadata;
0 7 2 imageType Ljavax/imageio/ImageTypeSpecifier;
0 7 3 param Ljavax/imageio/ImageWriteParam;
Exception table:
from to target type
1 2 4 any
MethodParameters:
Name Flags
inData
imageType
param
private javax.imageio.metadata.IIOMetadata convertImageMetadataOnThread(javax.imageio.metadata.IIOMetadata, javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
instanceof com.sun.imageio.plugins.jpeg.JPEGMetadata
ifeq 5
1: aload 1
checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
astore 4
start local 4 2: aload 4
getfield com.sun.imageio.plugins.jpeg.JPEGMetadata.isStream:Z
ifne 4
3: aload 1
areturn
4: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGMetadata
StackMap stack:
aconst_null
areturn
end local 4 5: StackMap locals:
StackMap stack:
aload 1
invokevirtual javax.imageio.metadata.IIOMetadata.isStandardMetadataFormatSupported:()Z
ifeq 19
6: ldc "javax_imageio_1.0"
7: astore 4
start local 4 8: aload 1
aload 4
invokevirtual javax.imageio.metadata.IIOMetadata.getAsTree:(Ljava/lang/String;)Lorg/w3c/dom/Node;
astore 5
start local 5 9: aload 5
ifnull 19
10: new com.sun.imageio.plugins.jpeg.JPEGMetadata
dup
aload 2
11: aload 3
12: aload 0
13: invokespecial com.sun.imageio.plugins.jpeg.JPEGMetadata.<init>:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
astore 6
start local 6 14: aload 6
aload 4
aload 5
invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.setFromTree:(Ljava/lang/String;Lorg/w3c/dom/Node;)V
15: goto 18
StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.ImageTypeSpecifier javax.imageio.ImageWriteParam java.lang.String org.w3c.dom.Node com.sun.imageio.plugins.jpeg.JPEGMetadata
StackMap stack: javax.imageio.metadata.IIOInvalidTreeException
16: pop
17: aconst_null
areturn
18: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 end local 5 end local 4 19: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 20 1 inData Ljavax/imageio/metadata/IIOMetadata;
0 20 2 imageType Ljavax/imageio/ImageTypeSpecifier;
0 20 3 param Ljavax/imageio/ImageWriteParam;
2 5 4 jpegData Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
8 19 4 formatName Ljava/lang/String;
9 19 5 tree Lorg/w3c/dom/Node;
14 19 6 jpegData Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
Exception table:
from to target type
14 15 16 Class javax.imageio.metadata.IIOInvalidTreeException
MethodParameters:
Name Flags
inData
imageType
param
public int getNumThumbnailsSupported(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam, javax.imageio.metadata.IIOMetadata, javax.imageio.metadata.IIOMetadata);
descriptor: (Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.jfifOK:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)Z
ifeq 2
1: ldc 2147483647
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 3 1 imageType Ljavax/imageio/ImageTypeSpecifier;
0 3 2 param Ljavax/imageio/ImageWriteParam;
0 3 3 streamMetadata Ljavax/imageio/metadata/IIOMetadata;
0 3 4 imageMetadata Ljavax/imageio/metadata/IIOMetadata;
MethodParameters:
Name Flags
imageType
param
streamMetadata
imageMetadata
public java.awt.Dimension[] getPreferredThumbnailSizes(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam, javax.imageio.metadata.IIOMetadata, javax.imageio.metadata.IIOMetadata);
descriptor: (Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)[Ljava/awt/Dimension;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.jfifOK:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)Z
ifeq 2
1: getstatic com.sun.imageio.plugins.jpeg.JPEGImageWriter.preferredThumbSizes:[Ljava/awt/Dimension;
invokevirtual java.awt.Dimension[].clone:()Ljava/lang/Object;
checkcast java.awt.Dimension[]
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 3 1 imageType Ljavax/imageio/ImageTypeSpecifier;
0 3 2 param Ljavax/imageio/ImageWriteParam;
0 3 3 streamMetadata Ljavax/imageio/metadata/IIOMetadata;
0 3 4 imageMetadata Ljavax/imageio/metadata/IIOMetadata;
MethodParameters:
Name Flags
imageType
param
streamMetadata
imageMetadata
private boolean jfifOK(javax.imageio.ImageTypeSpecifier, javax.imageio.ImageWriteParam, javax.imageio.metadata.IIOMetadata, javax.imageio.metadata.IIOMetadata);
descriptor: (Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/metadata/IIOMetadata;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
ifnull 3
1: aload 1
iconst_1
invokestatic com.sun.imageio.plugins.jpeg.JPEG.isJFIFcompliant:(Ljavax/imageio/ImageTypeSpecifier;Z)Z
ifne 3
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 4
ifnull 16
4: aconst_null
astore 5
start local 5 5: aload 4
instanceof com.sun.imageio.plugins.jpeg.JPEGMetadata
ifeq 8
6: aload 4
checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
astore 5
7: goto 12
8: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGMetadata
StackMap stack:
aload 0
aload 4
9: aload 1
10: aload 2
11: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertImageMetadata:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
astore 5
12: StackMap locals:
StackMap stack:
aload 5
13: ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
iconst_1
14: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
ifnonnull 16
15: iconst_0
ireturn
end local 5 16: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 17 1 imageType Ljavax/imageio/ImageTypeSpecifier;
0 17 2 param Ljavax/imageio/ImageWriteParam;
0 17 3 streamMetadata Ljavax/imageio/metadata/IIOMetadata;
0 17 4 imageMetadata Ljavax/imageio/metadata/IIOMetadata;
5 16 5 metadata Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
MethodParameters:
Name Flags
imageType
param
streamMetadata
imageMetadata
public boolean canWriteRasters();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
public void write(javax.imageio.metadata.IIOMetadata, javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
2: aload 0
aload 1
aload 2
aload 3
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeOnThread:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
3: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 4
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
6: aload 4
athrow
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
8: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 9 1 streamMetadata Ljavax/imageio/metadata/IIOMetadata;
0 9 2 image Ljavax/imageio/IIOImage;
0 9 3 param Ljavax/imageio/ImageWriteParam;
Exception table:
from to target type
1 4 4 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
streamMetadata
image
param
private void writeOnThread(javax.imageio.metadata.IIOMetadata, javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=28, locals=52, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "Output has not been set!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
ifnonnull 4
3: new java.lang.IllegalArgumentException
dup
ldc "image is null!"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 1
ifnull 6
5: aload 0
iconst_1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
6: StackMap locals:
StackMap stack:
aload 2
invokevirtual javax.imageio.IIOImage.hasRaster:()Z
istore 4
start local 4 7: aconst_null
astore 5
start local 5 8: iload 4
ifeq 11
9: aload 0
aload 2
invokevirtual javax.imageio.IIOImage.getRaster:()Ljava/awt/image/Raster;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
10: goto 32
11: StackMap locals: int java.awt.image.RenderedImage
StackMap stack:
aload 2
invokevirtual javax.imageio.IIOImage.getRenderedImage:()Ljava/awt/image/RenderedImage;
astore 5
12: aload 5
instanceof java.awt.image.BufferedImage
ifeq 15
13: aload 0
aload 5
checkcast java.awt.image.BufferedImage
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
14: goto 32
StackMap locals:
StackMap stack:
15: aload 5
invokeinterface java.awt.image.RenderedImage.getNumXTiles:()I
iconst_1
if_icmpne 31
16: aload 5
invokeinterface java.awt.image.RenderedImage.getNumYTiles:()I
iconst_1
if_icmpne 31
17: aload 0
aload 5
aload 5
invokeinterface java.awt.image.RenderedImage.getMinTileX:()I
18: aload 5
invokeinterface java.awt.image.RenderedImage.getMinTileY:()I
19: invokeinterface java.awt.image.RenderedImage.getTile:(II)Ljava/awt/image/Raster;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
20: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
invokevirtual java.awt.image.Raster.getWidth:()I
aload 5
invokeinterface java.awt.image.RenderedImage.getWidth:()I
if_icmpne 22
21: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
invokevirtual java.awt.image.Raster.getHeight:()I
aload 5
invokeinterface java.awt.image.RenderedImage.getHeight:()I
if_icmpeq 32
22: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
invokevirtual java.awt.image.Raster.getMinX:()I
23: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
invokevirtual java.awt.image.Raster.getMinY:()I
24: aload 5
invokeinterface java.awt.image.RenderedImage.getWidth:()I
25: aload 5
invokeinterface java.awt.image.RenderedImage.getHeight:()I
26: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
invokevirtual java.awt.image.Raster.getMinX:()I
27: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
invokevirtual java.awt.image.Raster.getMinY:()I
28: aconst_null
29: invokevirtual java.awt.image.Raster.createChild:(IIIIII[I)Ljava/awt/image/Raster;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
30: goto 32
31: StackMap locals:
StackMap stack:
aload 0
aload 5
invokeinterface java.awt.image.RenderedImage.getData:()Ljava/awt/image/Raster;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
32: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
invokevirtual java.awt.image.Raster.getNumBands:()I
istore 6
start local 6 33: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
34: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexCM:Ljava/awt/image/IndexColorModel;
35: aconst_null
astore 7
start local 7 36: aconst_null
astore 8
start local 8 37: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.isAlphaPremultiplied:Z
38: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcCM:Ljava/awt/image/ColorModel;
39: iload 4
ifne 50
40: aload 5
invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
astore 7
41: aload 7
ifnull 50
42: aload 7
invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
astore 8
43: aload 7
instanceof java.awt.image.IndexColorModel
ifeq 47
44: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
45: aload 0
aload 7
checkcast java.awt.image.IndexColorModel
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexCM:Ljava/awt/image/IndexColorModel;
46: aload 7
invokevirtual java.awt.image.ColorModel.getNumComponents:()I
istore 6
47: StackMap locals: int java.awt.image.ColorModel java.awt.color.ColorSpace
StackMap stack:
aload 7
invokevirtual java.awt.image.ColorModel.isAlphaPremultiplied:()Z
ifeq 50
48: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.isAlphaPremultiplied:Z
49: aload 0
aload 7
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcCM:Ljava/awt/image/ColorModel;
50: StackMap locals:
StackMap stack:
aload 0
getstatic com.sun.imageio.plugins.jpeg.JPEG.bandOffsets:[[I
iload 6
iconst_1
isub
aaload
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
51: iload 6
istore 9
start local 9 52: aload 3
ifnull 64
53: aload 3
invokevirtual javax.imageio.ImageWriteParam.getSourceBands:()[I
astore 10
start local 10 54: aload 10
ifnull 64
55: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
ifeq 58
56: aload 0
bipush 8
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
57: goto 64
58: StackMap locals: int int[]
StackMap stack:
aload 0
aload 10
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
59: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
arraylength
istore 9
60: iload 9
iload 6
if_icmple 64
61: new javax.imageio.IIOException
dup
62: ldc "ImageWriteParam specifies too many source bands"
63: invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
end local 10 64: StackMap locals:
StackMap stack:
iload 9
iload 6
if_icmpeq 65
iconst_1
goto 66
StackMap locals:
StackMap stack:
65: iconst_0
StackMap locals:
StackMap stack: int
66: istore 10
start local 10 67: iload 4
ifne 68
iload 10
ifne 68
iconst_1
goto 69
StackMap locals: int
StackMap stack:
68: iconst_0
StackMap locals:
StackMap stack: int
69: istore 11
start local 11 70: aconst_null
astore 12
start local 12 71: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
ifne 82
72: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
invokevirtual java.awt.image.Raster.getSampleModel:()Ljava/awt/image/SampleModel;
invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
astore 12
73: iload 10
ifeq 89
74: iload 9
newarray 10
astore 13
start local 13 75: iconst_0
istore 14
start local 14 76: goto 79
77: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] int[] int
StackMap stack:
aload 13
iload 14
aload 12
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
iload 14
iaload
iaload
iastore
78: iinc 14 1
StackMap locals:
StackMap stack:
79: iload 14
iload 9
if_icmplt 77
end local 14 80: aload 13
astore 12
end local 13 81: goto 89
82: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
invokevirtual java.awt.image.Raster.getSampleModel:()Ljava/awt/image/SampleModel;
invokevirtual java.awt.image.SampleModel.getSampleSize:()[I
astore 13
start local 13 83: iload 6
newarray 10
astore 12
84: iconst_0
istore 14
start local 14 85: goto 88
86: StackMap locals: int[] int
StackMap stack:
aload 12
iload 14
aload 13
iconst_0
iaload
iastore
87: iinc 14 1
StackMap locals:
StackMap stack:
88: iload 14
iload 6
if_icmplt 86
end local 14 end local 13 89: StackMap locals:
StackMap stack:
iconst_0
istore 13
start local 13 90: goto 96
91: StackMap locals: int
StackMap stack:
aload 12
iload 13
iaload
ifle 92
aload 12
iload 13
iaload
bipush 8
if_icmple 93
92: StackMap locals:
StackMap stack:
new javax.imageio.IIOException
dup
ldc "Illegal band size: should be 0 < size <= 8"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
93: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
ifeq 95
94: aload 12
iload 13
bipush 8
iastore
95: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
96: iload 13
aload 12
arraylength
if_icmplt 91
end local 13 97: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.debug:Z
ifeq 109
98: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "numSrcBands is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 6
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
99: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "numBandsUsed is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 9
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
100: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "usingBandSubset is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 10
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
101: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "fullImage is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 11
invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
102: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Band sizes:"
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
103: iconst_0
istore 13
start local 13 104: goto 107
105: StackMap locals:
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 12
iload 13
iaload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
106: iinc 13 1
StackMap locals:
StackMap stack:
107: iload 13
aload 12
arraylength
if_icmplt 105
end local 13 108: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
109: StackMap locals:
StackMap stack:
aconst_null
astore 13
start local 13 110: aload 3
ifnull 115
111: aload 3
invokevirtual javax.imageio.ImageWriteParam.getDestinationType:()Ljavax/imageio/ImageTypeSpecifier;
astore 13
112: iload 11
ifeq 115
aload 13
ifnull 115
113: aload 0
iconst_0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
114: aconst_null
astore 13
115: StackMap locals: javax.imageio.ImageTypeSpecifier
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
invokevirtual java.awt.image.Raster.getMinX:()I
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
116: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
invokevirtual java.awt.image.Raster.getMinY:()I
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
117: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
invokevirtual java.awt.image.Raster.getWidth:()I
istore 14
start local 14 118: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
invokevirtual java.awt.image.Raster.getHeight:()I
istore 15
start local 15 119: aload 0
iload 14
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
120: aload 0
iload 15
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
121: iconst_1
istore 16
start local 16 122: iconst_1
istore 17
start local 17 123: iconst_0
istore 18
start local 18 124: iconst_0
istore 19
start local 19 125: aconst_null
astore 20
start local 20 126: aconst_null
astore 21
start local 21 127: aconst_null
astore 22
start local 22 128: iconst_0
istore 23
start local 23 129: aconst_null
astore 24
start local 24 130: iconst_0
istore 25
start local 25 131: aload 3
ifnull 171
132: aload 3
invokevirtual javax.imageio.ImageWriteParam.getSourceRegion:()Ljava/awt/Rectangle;
astore 26
start local 26 133: aload 26
ifnull 144
134: new java.awt.Rectangle
dup
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
135: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
136: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
137: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
138: invokespecial java.awt.Rectangle.<init>:(IIII)V
astore 27
start local 27 139: aload 26
aload 27
invokevirtual java.awt.Rectangle.intersection:(Ljava/awt/Rectangle;)Ljava/awt/Rectangle;
astore 26
140: aload 0
aload 26
getfield java.awt.Rectangle.x:I
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
141: aload 0
aload 26
getfield java.awt.Rectangle.y:I
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
142: aload 0
aload 26
getfield java.awt.Rectangle.width:I
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
143: aload 0
aload 26
getfield java.awt.Rectangle.height:I
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
end local 27 144: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int java.awt.Rectangle
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
iadd
iload 14
if_icmple 146
145: aload 0
iload 14
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
isub
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
146: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
iadd
iload 15
if_icmple 148
147: aload 0
iload 15
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
isub
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
148: StackMap locals:
StackMap stack:
aload 3
invokevirtual javax.imageio.ImageWriteParam.getSourceXSubsampling:()I
istore 16
149: aload 3
invokevirtual javax.imageio.ImageWriteParam.getSourceYSubsampling:()I
istore 17
150: aload 3
invokevirtual javax.imageio.ImageWriteParam.getSubsamplingXOffset:()I
istore 18
151: aload 3
invokevirtual javax.imageio.ImageWriteParam.getSubsamplingYOffset:()I
istore 19
152: aload 3
invokevirtual javax.imageio.ImageWriteParam.getCompressionMode:()I
tableswitch { // 0 - 2
0: 153
1: 164
2: 154
default: 167
}
153: StackMap locals:
StackMap stack:
new javax.imageio.IIOException
dup
ldc "JPEG compression cannot be disabled"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
154: StackMap locals:
StackMap stack:
aload 3
invokevirtual javax.imageio.ImageWriteParam.getCompressionQuality:()F
fstore 27
start local 27 155: fload 27
invokestatic com.sun.imageio.plugins.jpeg.JPEG.convertToLinearQuality:(F)F
fstore 27
156: iconst_2
anewarray javax.imageio.plugins.jpeg.JPEGQTable
astore 20
157: aload 20
iconst_0
getstatic javax.imageio.plugins.jpeg.JPEGQTable.K1Luminance:Ljavax/imageio/plugins/jpeg/JPEGQTable;
158: fload 27
iconst_1
159: invokevirtual javax.imageio.plugins.jpeg.JPEGQTable.getScaledInstance:(FZ)Ljavax/imageio/plugins/jpeg/JPEGQTable;
aastore
160: aload 20
iconst_1
getstatic javax.imageio.plugins.jpeg.JPEGQTable.K2Chrominance:Ljavax/imageio/plugins/jpeg/JPEGQTable;
161: fload 27
iconst_1
162: invokevirtual javax.imageio.plugins.jpeg.JPEGQTable.getScaledInstance:(FZ)Ljavax/imageio/plugins/jpeg/JPEGQTable;
aastore
163: goto 167
end local 27 164: StackMap locals:
StackMap stack:
iconst_2
anewarray javax.imageio.plugins.jpeg.JPEGQTable
astore 20
165: aload 20
iconst_0
getstatic javax.imageio.plugins.jpeg.JPEGQTable.K1Div2Luminance:Ljavax/imageio/plugins/jpeg/JPEGQTable;
aastore
166: aload 20
iconst_1
getstatic javax.imageio.plugins.jpeg.JPEGQTable.K2Div2Chrominance:Ljavax/imageio/plugins/jpeg/JPEGQTable;
aastore
167: StackMap locals:
StackMap stack:
aload 3
invokevirtual javax.imageio.ImageWriteParam.getProgressiveMode:()I
istore 25
168: aload 3
instanceof javax.imageio.plugins.jpeg.JPEGImageWriteParam
ifeq 171
169: aload 3
checkcast javax.imageio.plugins.jpeg.JPEGImageWriteParam
astore 24
170: aload 24
invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.getOptimizeHuffmanTables:()Z
istore 23
end local 26 171: StackMap locals:
StackMap stack:
aload 2
invokevirtual javax.imageio.IIOImage.getMetadata:()Ljavax/imageio/metadata/IIOMetadata;
astore 26
start local 26 172: aload 26
ifnull 190
173: aload 26
instanceof com.sun.imageio.plugins.jpeg.JPEGMetadata
ifeq 180
174: aload 0
aload 26
checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
175: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.debug:Z
ifeq 190
176: getstatic java.lang.System.out:Ljava/io/PrintStream;
177: ldc "We have metadata, and it's JPEG metadata"
178: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
179: goto 190
180: StackMap locals: javax.imageio.metadata.IIOMetadata
StackMap stack:
iload 4
ifne 189
181: aload 13
astore 27
start local 27 182: aload 27
ifnonnull 184
183: new javax.imageio.ImageTypeSpecifier
dup
aload 5
invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/RenderedImage;)V
astore 27
184: StackMap locals: javax.imageio.ImageTypeSpecifier
StackMap stack:
aload 0
aload 0
aload 26
185: aload 27
186: aload 3
187: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertImageMetadata:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;)Ljavax/imageio/metadata/IIOMetadata;
checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
end local 27 188: goto 190
189: StackMap locals:
StackMap stack:
aload 0
bipush 7
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
190: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
191: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreAdobe:Z
192: aload 0
iconst_m1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
193: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
194: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeAdobe:Z
195: iconst_0
istore 27
start local 27 196: iconst_0
istore 28
start local 28 197: aconst_null
astore 29
start local 29 198: aconst_null
astore 30
start local 30 199: aconst_null
astore 31
start local 31 200: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
ifnull 210
201: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
202: ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
iconst_1
203: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
checkcast com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
astore 29
204: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
205: ldc Lcom/sun/imageio/plugins/jpeg/AdobeMarkerSegment;
iconst_1
206: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
checkcast com.sun.imageio.plugins.jpeg.AdobeMarkerSegment
astore 30
207: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
208: ldc Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
iconst_1
209: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
checkcast com.sun.imageio.plugins.jpeg.SOFMarkerSegment
astore 31
210: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int javax.imageio.metadata.IIOMetadata int int com.sun.imageio.plugins.jpeg.JFIFMarkerSegment com.sun.imageio.plugins.jpeg.AdobeMarkerSegment com.sun.imageio.plugins.jpeg.SOFMarkerSegment
StackMap stack:
aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
211: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertTosRGB:Z
212: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.converted:Ljava/awt/image/WritableRaster;
213: aload 13
ifnull 240
214: iload 9
aload 13
invokevirtual javax.imageio.ImageTypeSpecifier.getNumBands:()I
if_icmpeq 218
215: new javax.imageio.IIOException
dup
216: ldc "Number of source bands != number of destination bands"
217: invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
218: StackMap locals:
StackMap stack:
aload 13
invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
astore 8
219: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
ifnull 227
220: aload 0
aload 31
iload 9
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.checkSOFBands:(Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;I)V
221: aload 0
aload 29
aload 13
iconst_0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.checkJFIF:(Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;Ljavax/imageio/ImageTypeSpecifier;Z)V
222: aload 29
ifnull 225
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
ifne 225
223: aload 8
invokestatic com.sun.imageio.plugins.jpeg.JPEG.isNonStandardICC:(Ljava/awt/color/ColorSpace;)Z
ifeq 225
224: aload 0
aload 8
checkcast java.awt.color.ICC_ColorSpace
invokevirtual java.awt.color.ICC_ColorSpace.getProfile:()Ljava/awt/color/ICC_Profile;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
225: StackMap locals:
StackMap stack:
aload 0
aload 30
aload 13
iconst_0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.checkAdobe:(Lcom/sun/imageio/plugins/jpeg/AdobeMarkerSegment;Ljavax/imageio/ImageTypeSpecifier;Z)V
226: goto 237
227: StackMap locals:
StackMap stack:
aload 13
iconst_0
invokestatic com.sun.imageio.plugins.jpeg.JPEG.isJFIFcompliant:(Ljavax/imageio/ImageTypeSpecifier;Z)Z
ifeq 232
228: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
229: aload 8
invokestatic com.sun.imageio.plugins.jpeg.JPEG.isNonStandardICC:(Ljava/awt/color/ColorSpace;)Z
ifeq 236
230: aload 0
aload 8
checkcast java.awt.color.ICC_ColorSpace
invokevirtual java.awt.color.ICC_ColorSpace.getProfile:()Ljava/awt/color/ICC_Profile;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
231: goto 236
232: StackMap locals:
StackMap stack:
aload 13
iconst_0
invokestatic com.sun.imageio.plugins.jpeg.JPEG.transformForType:(Ljavax/imageio/ImageTypeSpecifier;Z)I
istore 32
start local 32 233: iload 32
iconst_m1
if_icmpeq 236
234: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeAdobe:Z
235: aload 0
iload 32
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
end local 32 236: StackMap locals:
StackMap stack:
aload 0
new com.sun.imageio.plugins.jpeg.JPEGMetadata
dup
aload 13
aconst_null
aload 0
invokespecial com.sun.imageio.plugins.jpeg.JPEGMetadata.<init>:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
237: StackMap locals:
StackMap stack:
aload 0
aload 13
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getSrcCSType:(Ljavax/imageio/ImageTypeSpecifier;)I
istore 27
238: aload 0
aload 13
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getDefaultDestCSType:(Ljavax/imageio/ImageTypeSpecifier;)I
istore 28
239: goto 372
240: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
ifnonnull 254
241: iload 11
ifeq 372
242: aload 0
new com.sun.imageio.plugins.jpeg.JPEGMetadata
dup
new javax.imageio.ImageTypeSpecifier
dup
aload 5
invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/RenderedImage;)V
243: aload 3
aload 0
invokespecial com.sun.imageio.plugins.jpeg.JPEGMetadata.<init>:(Ljavax/imageio/ImageTypeSpecifier;Ljavax/imageio/ImageWriteParam;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
244: putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
245: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
246: ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
iconst_1
247: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
ifnull 251
248: aload 5
invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
astore 8
249: aload 8
invokestatic com.sun.imageio.plugins.jpeg.JPEG.isNonStandardICC:(Ljava/awt/color/ColorSpace;)Z
ifeq 251
250: aload 0
aload 8
checkcast java.awt.color.ICC_ColorSpace
invokevirtual java.awt.color.ICC_ColorSpace.getProfile:()Ljava/awt/color/ICC_Profile;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
251: StackMap locals:
StackMap stack:
aload 0
aload 5
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getSrcCSType:(Ljava/awt/image/RenderedImage;)I
istore 27
252: aload 0
aload 5
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getDefaultDestCSType:(Ljava/awt/image/RenderedImage;)I
istore 28
253: goto 372
254: StackMap locals:
StackMap stack:
aload 0
aload 31
iload 9
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.checkSOFBands:(Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;I)V
255: iload 11
ifeq 372
256: new javax.imageio.ImageTypeSpecifier
aload 5
invokespecial javax.imageio.ImageTypeSpecifier.<init>:(Ljava/awt/image/RenderedImage;)V
257: aload 0
aload 5
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getSrcCSType:(Ljava/awt/image/RenderedImage;)I
istore 27
258: aload 7
ifnull 372
259: aload 7
invokevirtual java.awt.image.ColorModel.hasAlpha:()Z
istore 32
start local 32 260: aload 8
invokevirtual java.awt.color.ColorSpace.getType:()I
lookupswitch { // 3
5: 276
6: 261
13: 333
default: 372
}
261: StackMap locals: int
StackMap stack:
iload 32
ifne 264
262: iconst_1
istore 28
263: goto 269
264: StackMap locals:
StackMap stack:
aload 29
ifnull 269
265: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
266: aload 0
267: iconst_5
268: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
269: StackMap locals:
StackMap stack:
aload 30
ifnull 372
270: aload 30
getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
ifeq 372
271: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
272: aload 0
273: bipush 6
274: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
275: goto 372
276: StackMap locals:
StackMap stack:
iload 32
ifne 309
277: aload 29
ifnull 286
278: iconst_3
istore 28
279: aload 8
invokestatic com.sun.imageio.plugins.jpeg.JPEG.isNonStandardICC:(Ljava/awt/color/ColorSpace;)Z
ifne 282
280: aload 8
instanceof java.awt.color.ICC_ColorSpace
ifeq 372
281: aload 29
getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment.iccSegment:Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$ICCMarkerSegment;
ifnull 372
282: StackMap locals:
StackMap stack:
aload 0
283: aload 8
checkcast java.awt.color.ICC_ColorSpace
invokevirtual java.awt.color.ICC_ColorSpace.getProfile:()Ljava/awt/color/ICC_Profile;
284: putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
285: goto 372
StackMap locals:
StackMap stack:
286: aload 30
ifnull 298
287: aload 30
getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
tableswitch { // 0 - 1
0: 288
1: 290
default: 292
}
288: StackMap locals:
StackMap stack:
iconst_2
istore 28
289: goto 372
290: StackMap locals:
StackMap stack:
iconst_3
istore 28
291: goto 372
292: StackMap locals:
StackMap stack:
aload 0
293: bipush 6
294: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
295: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
296: iconst_2
istore 28
297: goto 372
298: StackMap locals:
StackMap stack:
aload 31
invokevirtual com.sun.imageio.plugins.jpeg.SOFMarkerSegment.getIDencodedCSType:()I
istore 33
start local 33 299: iload 33
ifeq 302
300: iload 33
istore 28
301: goto 372
302: StackMap locals: int
StackMap stack:
aload 0
aload 31
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.isSubsampled:([Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;)Z
303: istore 34
start local 34 304: iload 34
ifeq 307
305: iconst_3
istore 28
306: goto 372
307: StackMap locals: int
StackMap stack:
iconst_2
istore 28
end local 34 end local 33 308: goto 372
309: StackMap locals:
StackMap stack:
aload 29
ifnull 314
310: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
311: aload 0
312: iconst_5
313: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
314: StackMap locals:
StackMap stack:
aload 30
ifnull 322
315: aload 30
getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
ifeq 320
316: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
317: aload 0
318: bipush 6
319: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
320: StackMap locals:
StackMap stack:
bipush 6
istore 28
321: goto 372
322: StackMap locals:
StackMap stack:
aload 31
invokevirtual com.sun.imageio.plugins.jpeg.SOFMarkerSegment.getIDencodedCSType:()I
istore 33
start local 33 323: iload 33
ifeq 326
324: iload 33
istore 28
325: goto 372
326: StackMap locals: int
StackMap stack:
aload 0
aload 31
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.isSubsampled:([Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;)Z
327: istore 34
start local 34 328: iload 34
ifeq 330
329: bipush 7
goto 331
StackMap locals: int
StackMap stack:
330: bipush 6
331: StackMap locals:
StackMap stack: int
istore 28
end local 34 end local 33 332: goto 372
333: StackMap locals:
StackMap stack:
aload 8
invokestatic com.sun.imageio.plugins.jpeg.JPEG$JCS.getYCC:()Ljava/awt/color/ColorSpace;
if_acmpne 372
334: iload 32
ifne 357
335: aload 29
ifnull 345
336: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertTosRGB:Z
337: aload 0
338: new java.awt.image.ColorConvertOp
dup
aload 8
339: getstatic com.sun.imageio.plugins.jpeg.JPEG$JCS.sRGB:Ljava/awt/color/ColorSpace;
340: aconst_null
341: invokespecial java.awt.image.ColorConvertOp.<init>:(Ljava/awt/color/ColorSpace;Ljava/awt/color/ColorSpace;Ljava/awt/RenderingHints;)V
342: putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertOp:Ljava/awt/image/ColorConvertOp;
343: iconst_3
istore 28
344: goto 372
StackMap locals:
StackMap stack:
345: aload 30
ifnull 355
346: aload 30
getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
347: iconst_1
348: if_icmpeq 353
349: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
350: aload 0
351: bipush 6
352: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
353: StackMap locals:
StackMap stack:
iconst_5
istore 28
354: goto 372
355: StackMap locals:
StackMap stack:
iconst_5
istore 28
356: goto 372
357: StackMap locals:
StackMap stack:
aload 29
ifnull 363
358: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
359: aload 0
360: iconst_5
361: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
362: goto 371
StackMap locals:
StackMap stack:
363: aload 30
ifnull 371
364: aload 30
getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
ifeq 371
365: aload 0
366: iconst_0
367: putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
368: aload 0
369: bipush 6
370: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
371: StackMap locals:
StackMap stack:
bipush 10
istore 28
end local 32 372: StackMap locals:
StackMap stack:
iconst_0
istore 32
start local 32 373: aconst_null
astore 33
start local 33 374: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
ifnull 389
375: aload 31
ifnonnull 379
376: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
377: ldc Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
iconst_1
378: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
checkcast com.sun.imageio.plugins.jpeg.SOFMarkerSegment
astore 31
379: StackMap locals: int int[]
StackMap stack:
aload 31
ifnull 385
aload 31
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.tag:I
sipush 194
if_icmpne 385
380: iconst_1
istore 32
381: iload 25
iconst_3
if_icmpne 384
382: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
aload 31
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectScans:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;)[I
astore 33
383: goto 385
384: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
385: StackMap locals:
StackMap stack:
aload 29
ifnonnull 389
386: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
387: ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
iconst_1
388: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
checkcast com.sun.imageio.plugins.jpeg.JFIFMarkerSegment
astore 29
389: StackMap locals:
StackMap stack:
aload 0
aload 2
invokevirtual javax.imageio.IIOImage.getThumbnails:()Ljava/util/List;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
390: aload 2
invokevirtual javax.imageio.IIOImage.getNumThumbnails:()I
istore 34
start local 34 391: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.forceJFIF:Z
392: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
ifne 414
393: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
ifnonnull 398
394: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
395: iload 34
ifeq 414
396: aload 0
bipush 10
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
397: goto 414
398: StackMap locals: int
StackMap stack:
iload 11
ifne 404
399: aload 29
ifnonnull 414
400: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
401: iload 34
ifeq 414
402: aload 0
bipush 10
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
403: goto 414
404: StackMap locals:
StackMap stack:
aload 29
ifnonnull 414
405: iload 28
iconst_1
if_icmpeq 407
406: iload 28
iconst_3
if_icmpne 411
407: StackMap locals:
StackMap stack:
iload 34
ifeq 414
408: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.forceJFIF:Z
409: aload 0
bipush 11
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
410: goto 414
411: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
412: iload 34
ifeq 414
413: aload 0
bipush 10
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
414: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
ifnonnull 416
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
ifne 416
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeAdobe:Z
ifne 416
415: iconst_0
goto 417
StackMap locals:
StackMap stack:
416: iconst_1
StackMap locals:
StackMap stack: int
417: istore 35
start local 35 418: iconst_1
istore 36
start local 36 419: iconst_1
istore 37
start local 37 420: aconst_null
astore 38
start local 38 421: aconst_null
astore 39
start local 39 422: iconst_0
istore 40
start local 40 423: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
ifnull 440
424: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
425: ldc Lcom/sun/imageio/plugins/jpeg/DQTMarkerSegment;
iconst_1
426: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
checkcast com.sun.imageio.plugins.jpeg.DQTMarkerSegment
astore 38
427: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
428: ldc Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;
iconst_1
429: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
checkcast com.sun.imageio.plugins.jpeg.DHTMarkerSegment
astore 39
430: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
431: ldc Lcom/sun/imageio/plugins/jpeg/DRIMarkerSegment;
iconst_1
432: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.findMarkerSegment:(Ljava/lang/Class;Z)Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
checkcast com.sun.imageio.plugins.jpeg.DRIMarkerSegment
433: astore 41
start local 41 434: aload 41
ifnull 436
435: aload 41
getfield com.sun.imageio.plugins.jpeg.DRIMarkerSegment.restartInterval:I
istore 40
436: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int javax.imageio.metadata.IIOMetadata int int com.sun.imageio.plugins.jpeg.JFIFMarkerSegment com.sun.imageio.plugins.jpeg.AdobeMarkerSegment com.sun.imageio.plugins.jpeg.SOFMarkerSegment int int[] int int int int com.sun.imageio.plugins.jpeg.DQTMarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int com.sun.imageio.plugins.jpeg.DRIMarkerSegment
StackMap stack:
aload 38
ifnonnull 438
437: iconst_0
istore 36
438: StackMap locals:
StackMap stack:
aload 39
ifnonnull 440
439: iconst_0
istore 37
end local 41 440: StackMap locals:
StackMap stack:
aload 20
ifnonnull 451
441: aload 38
ifnull 444
442: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectQTablesFromMetadata:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;)[Ljavax/imageio/plugins/jpeg/JPEGQTable;
astore 20
443: goto 451
StackMap locals:
StackMap stack:
444: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
ifnull 447
445: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
astore 20
446: goto 451
StackMap locals:
StackMap stack:
447: aload 24
ifnull 450
aload 24
invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.areTablesSet:()Z
ifeq 450
448: aload 24
invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.getQTables:()[Ljavax/imageio/plugins/jpeg/JPEGQTable;
astore 20
449: goto 451
450: StackMap locals:
StackMap stack:
invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultQTables:()[Ljavax/imageio/plugins/jpeg/JPEGQTable;
astore 20
451: StackMap locals:
StackMap stack:
iload 23
ifne 466
452: aload 39
ifnull 456
iload 32
ifne 456
453: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
iconst_1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectHTablesFromMetadata:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 21
454: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
iconst_0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectHTablesFromMetadata:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 22
455: goto 466
StackMap locals:
StackMap stack:
456: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
ifnull 460
457: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 21
458: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 22
459: goto 466
StackMap locals:
StackMap stack:
460: aload 24
ifnull 464
aload 24
invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.areTablesSet:()Z
ifeq 464
461: aload 24
invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.getDCHuffmanTables:()[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 21
462: aload 24
invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.getACHuffmanTables:()[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 22
463: goto 466
464: StackMap locals:
StackMap stack:
iconst_1
invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultHuffmanTables:(Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 21
465: iconst_0
invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultHuffmanTables:(Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 22
466: StackMap locals:
StackMap stack:
iload 9
newarray 10
astore 41
start local 41 467: iload 9
newarray 10
astore 42
start local 42 468: iload 9
newarray 10
astore 43
start local 43 469: iload 9
newarray 10
astore 44
start local 44 470: iconst_0
istore 45
start local 45 471: goto 477
472: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int javax.imageio.metadata.IIOMetadata int int com.sun.imageio.plugins.jpeg.JFIFMarkerSegment com.sun.imageio.plugins.jpeg.AdobeMarkerSegment com.sun.imageio.plugins.jpeg.SOFMarkerSegment int int[] int int int int com.sun.imageio.plugins.jpeg.DQTMarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int int[] int[] int[] int[] int
StackMap stack:
aload 41
iload 45
iload 45
iconst_1
iadd
iastore
473: aload 42
iload 45
iconst_1
iastore
474: aload 43
iload 45
iconst_1
iastore
475: aload 44
iload 45
iconst_0
iastore
476: iinc 45 1
StackMap locals:
StackMap stack:
477: iload 45
iload 9
if_icmplt 472
end local 45 478: aload 31
ifnull 488
479: iconst_0
istore 45
start local 45 480: goto 487
481: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.forceJFIF:Z
ifne 483
482: aload 41
iload 45
aload 31
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
iload 45
aaload
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.componentId:I
iastore
483: StackMap locals:
StackMap stack:
aload 42
iload 45
aload 31
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
iload 45
aaload
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.HsamplingFactor:I
iastore
484: aload 43
iload 45
aload 31
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
iload 45
aaload
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.VsamplingFactor:I
iastore
485: aload 44
iload 45
aload 31
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
iload 45
aaload
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.QtableSelector:I
iastore
486: iinc 45 1
StackMap locals:
StackMap stack:
487: iload 45
iload 9
if_icmplt 481
end local 45 488: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
iload 18
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
489: aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
iload 18
isub
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
490: aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
iload 19
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
491: aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
iload 19
isub
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
492: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
iload 16
iadd
iconst_1
isub
iload 16
idiv
istore 45
start local 45 493: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
iload 17
iadd
iconst_1
isub
iload 17
idiv
istore 46
start local 46 494: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
iload 9
imul
istore 47
start local 47 495: new java.awt.image.DataBufferByte
dup
iload 47
invokespecial java.awt.image.DataBufferByte.<init>:(I)V
astore 48
start local 48 496: getstatic com.sun.imageio.plugins.jpeg.JPEG.bandOffsets:[[I
iload 9
iconst_1
isub
aaload
astore 49
start local 49 497: aload 0
aload 48
498: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
iconst_1
499: iload 47
500: iload 9
501: aload 49
502: aconst_null
503: invokestatic java.awt.image.Raster.createInterleavedRaster:(Ljava/awt/image/DataBuffer;IIII[ILjava/awt/Point;)Ljava/awt/image/WritableRaster;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.raster:Ljava/awt/image/WritableRaster;
504: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearAbortRequest:()V
505: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
506: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processImageStarted:(I)V
507: goto 511
StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int javax.imageio.metadata.IIOMetadata int int com.sun.imageio.plugins.jpeg.JFIFMarkerSegment com.sun.imageio.plugins.jpeg.AdobeMarkerSegment com.sun.imageio.plugins.jpeg.SOFMarkerSegment int int[] int int int int com.sun.imageio.plugins.jpeg.DQTMarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int int[] int[] int[] int[] int int int java.awt.image.DataBufferByte int[]
StackMap stack: java.lang.Throwable
508: astore 50
509: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
510: aload 50
athrow
511: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
512: iconst_0
istore 50
start local 50 513: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.debug:Z
ifeq 516
514: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "inCsType: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 27
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
515: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "outCsType: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 28
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
516: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
517: aload 48
invokevirtual java.awt.image.DataBufferByte.getData:()[B
518: iload 27
iload 28
519: iload 9
520: aload 12
521: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
522: iload 45
iload 46
523: iload 16
iload 17
524: aload 20
525: iload 36
526: aload 21
527: aload 22
528: iload 37
529: iload 23
530: iload 25
ifeq 531
iconst_1
goto 532
StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int javax.imageio.metadata.IIOMetadata int int com.sun.imageio.plugins.jpeg.JFIFMarkerSegment com.sun.imageio.plugins.jpeg.AdobeMarkerSegment com.sun.imageio.plugins.jpeg.SOFMarkerSegment int int[] int int int int com.sun.imageio.plugins.jpeg.DQTMarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int int[] int[] int[] int[] int int int java.awt.image.DataBufferByte int[] int
StackMap stack: com.sun.imageio.plugins.jpeg.JPEGImageWriter long byte[] int int int int[] int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] int javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int int
531: iconst_0
532: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.metadata.IIOMetadata javax.imageio.IIOImage javax.imageio.ImageWriteParam int java.awt.image.RenderedImage int java.awt.image.ColorModel java.awt.color.ColorSpace int int int int[] javax.imageio.ImageTypeSpecifier int int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int javax.imageio.plugins.jpeg.JPEGImageWriteParam int javax.imageio.metadata.IIOMetadata int int com.sun.imageio.plugins.jpeg.JFIFMarkerSegment com.sun.imageio.plugins.jpeg.AdobeMarkerSegment com.sun.imageio.plugins.jpeg.SOFMarkerSegment int int[] int int int int com.sun.imageio.plugins.jpeg.DQTMarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int int[] int[] int[] int[] int int int java.awt.image.DataBufferByte int[] int
StackMap stack: com.sun.imageio.plugins.jpeg.JPEGImageWriter long byte[] int int int int[] int int int int int javax.imageio.plugins.jpeg.JPEGQTable[] int javax.imageio.plugins.jpeg.JPEGHuffmanTable[] javax.imageio.plugins.jpeg.JPEGHuffmanTable[] int int int
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
533: aload 33
534: aload 41
535: aload 42
536: aload 43
537: aload 44
538: iload 35
539: iload 40
540: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeImage:(J[BIII[IIIIII[Ljavax/imageio/plugins/jpeg/JPEGQTable;Z[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;ZZZI[I[I[I[I[IZI)Z
istore 50
541: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
542: iload 50
ifeq 545
543: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processWriteAborted:()V
544: goto 546
545: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processImageComplete:()V
546: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
invokeinterface javax.imageio.stream.ImageOutputStream.flush:()V
547: goto 551
StackMap locals:
StackMap stack: java.lang.Throwable
548: astore 51
549: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
550: aload 51
athrow
551: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
552: aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
iconst_1
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
553: return
end local 50 end local 49 end local 48 end local 47 end local 46 end local 45 end local 44 end local 43 end local 42 end local 41 end local 40 end local 39 end local 38 end local 37 end local 36 end local 35 end local 34 end local 33 end local 32 end local 31 end local 30 end local 29 end local 28 end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 554 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 554 1 streamMetadata Ljavax/imageio/metadata/IIOMetadata;
0 554 2 image Ljavax/imageio/IIOImage;
0 554 3 param Ljavax/imageio/ImageWriteParam;
7 554 4 rasterOnly Z
8 554 5 rimage Ljava/awt/image/RenderedImage;
33 554 6 numSrcBands I
36 554 7 cm Ljava/awt/image/ColorModel;
37 554 8 cs Ljava/awt/color/ColorSpace;
52 554 9 numBandsUsed I
54 64 10 sBands [I
67 554 10 usingBandSubset Z
70 554 11 fullImage Z
71 554 12 bandSizes [I
75 81 13 temp [I
76 80 14 i I
83 89 13 tempSize [I
85 89 14 i I
90 97 13 i I
104 108 13 i I
110 554 13 destType Ljavax/imageio/ImageTypeSpecifier;
118 554 14 imageWidth I
119 554 15 imageHeight I
122 554 16 periodX I
123 554 17 periodY I
124 554 18 gridX I
125 554 19 gridY I
126 554 20 qTables [Ljavax/imageio/plugins/jpeg/JPEGQTable;
127 554 21 DCHuffmanTables [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
128 554 22 ACHuffmanTables [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
129 554 23 optimizeHuffman Z
130 554 24 jparam Ljavax/imageio/plugins/jpeg/JPEGImageWriteParam;
131 554 25 progressiveMode I
133 171 26 sourceRegion Ljava/awt/Rectangle;
139 144 27 imageBounds Ljava/awt/Rectangle;
155 164 27 quality F
172 554 26 mdata Ljavax/imageio/metadata/IIOMetadata;
182 188 27 type Ljavax/imageio/ImageTypeSpecifier;
196 554 27 inCsType I
197 554 28 outCsType I
198 554 29 jfif Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
199 554 30 adobe Lcom/sun/imageio/plugins/jpeg/AdobeMarkerSegment;
200 554 31 sof Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
233 236 32 transform I
260 372 32 alpha Z
299 308 33 outCS I
304 308 34 subsampled Z
323 332 33 outCS I
328 332 34 subsampled Z
373 554 32 metadataProgressive Z
374 554 33 scans [I
391 554 34 numThumbs I
418 554 35 haveMetadata Z
419 554 36 writeDQT Z
420 554 37 writeDHT Z
421 554 38 dqt Lcom/sun/imageio/plugins/jpeg/DQTMarkerSegment;
422 554 39 dht Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;
423 554 40 restartInterval I
434 440 41 dri Lcom/sun/imageio/plugins/jpeg/DRIMarkerSegment;
467 554 41 componentIds [I
468 554 42 HsamplingFactors [I
469 554 43 VsamplingFactors [I
470 554 44 QtableSelectors [I
471 478 45 i I
480 488 45 i I
493 554 45 destWidth I
494 554 46 destHeight I
495 554 47 lineSize I
496 554 48 buffer Ljava/awt/image/DataBufferByte;
497 554 49 bandOffs [I
513 554 50 aborted Z
Exception table:
from to target type
506 508 508 any
542 548 548 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
streamMetadata
image
param
public boolean canWriteSequence();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
public void prepareWriteSequence(javax.imageio.metadata.IIOMetadata);
descriptor: (Ljavax/imageio/metadata/IIOMetadata;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
2: aload 0
aload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.prepareWriteSequenceOnThread:(Ljavax/imageio/metadata/IIOMetadata;)V
3: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 2
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
6: aload 2
athrow
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 9 1 streamMetadata Ljavax/imageio/metadata/IIOMetadata;
Exception table:
from to target type
1 4 4 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
streamMetadata
private void prepareWriteSequenceOnThread(javax.imageio.metadata.IIOMetadata);
descriptor: (Ljavax/imageio/metadata/IIOMetadata;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
ifnonnull 2
1: new java.lang.IllegalStateException
dup
ldc "Output has not been set!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
ifnull 39
3: aload 1
instanceof com.sun.imageio.plugins.jpeg.JPEGMetadata
ifeq 38
4: aload 1
checkcast com.sun.imageio.plugins.jpeg.JPEGMetadata
astore 2
start local 2 5: aload 2
getfield com.sun.imageio.plugins.jpeg.JPEGMetadata.isStream:Z
ifne 9
6: new java.lang.IllegalArgumentException
dup
7: ldc "Invalid stream metadata object."
8: invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
9: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGMetadata
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
ifeq 13
10: new javax.imageio.IIOException
dup
11: ldc "JPEG Stream metadata must precede all images"
12: invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
13: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sequencePrepared:Z
ifeq 15
14: new javax.imageio.IIOException
dup
ldc "Stream metadata already written!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 2
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectQTablesFromMetadata:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;)[Ljavax/imageio/plugins/jpeg/JPEGQTable;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
16: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.debug:Z
ifeq 20
17: getstatic java.lang.System.out:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "after collecting from stream metadata, streamQTables.length is "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
18: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
arraylength
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
19: invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
20: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
ifnonnull 22
21: aload 0
invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultQTables:()[Ljavax/imageio/plugins/jpeg/JPEGQTable;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
22: StackMap locals:
StackMap stack:
aload 0
23: aload 0
aload 2
iconst_1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectHTablesFromMetadata:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
24: putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
25: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
ifnonnull 27
26: aload 0
iconst_1
invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultHuffmanTables:(Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
27: StackMap locals:
StackMap stack:
aload 0
28: aload 0
aload 2
iconst_0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.collectHTablesFromMetadata:(Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
29: putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
30: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
ifnonnull 32
31: aload 0
iconst_0
invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultHuffmanTables:(Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
32: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
33: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
34: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
35: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
36: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeTables:(J[Ljavax/imageio/plugins/jpeg/JPEGQTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;)V
end local 2 37: goto 39
38: StackMap locals:
StackMap stack:
new javax.imageio.IIOException
dup
ldc "Stream metadata must be JPEG metadata"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
39: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sequencePrepared:Z
40: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 41 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 41 1 streamMetadata Ljavax/imageio/metadata/IIOMetadata;
5 37 2 jmeta Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
streamMetadata
public void writeToSequence(javax.imageio.IIOImage, javax.imageio.ImageWriteParam);
descriptor: (Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sequencePrepared:Z
ifne 4
3: new java.lang.IllegalStateException
dup
ldc "sequencePrepared not called!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
aconst_null
aload 1
aload 2
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.write:(Ljavax/imageio/metadata/IIOMetadata;Ljavax/imageio/IIOImage;Ljavax/imageio/ImageWriteParam;)V
5: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 3
7: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
8: aload 3
athrow
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 11 1 image Ljavax/imageio/IIOImage;
0 11 2 param Ljavax/imageio/ImageWriteParam;
Exception table:
from to target type
1 6 6 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
image
param
public void endWriteSequence();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sequencePrepared:Z
ifne 4
3: new java.lang.IllegalStateException
dup
ldc "sequencePrepared not called!"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sequencePrepared:Z
5: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 1
7: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
8: aload 1
athrow
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
Exception table:
from to target type
1 6 6 any
Exceptions:
throws java.io.IOException
public synchronized void abort();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
1: aload 0
invokespecial javax.imageio.ImageWriter.abort:()V
2: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.abortWrite:(J)V
3: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 1
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
6: aload 1
athrow
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
Exception table:
from to target type
1 4 4 any
protected synchronized void clearAbortRequest();
descriptor: ()V
flags: (0x0024) ACC_PROTECTED, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
2: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.abortRequested:()Z
ifeq 10
3: aload 0
invokespecial javax.imageio.ImageWriter.clearAbortRequest:()V
4: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.resetWriter:(J)V
5: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setDest:(J)V
6: goto 10
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 1
8: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
9: aload 1
athrow
10: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
11: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
Exception table:
from to target type
1 7 7 any
private void resetInternalState();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.resetWriter:(J)V
1: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
2: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.raster:Ljava/awt/image/WritableRaster;
3: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertTosRGB:Z
4: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
5: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
6: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
public void reset();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
2: aload 0
invokespecial javax.imageio.ImageWriter.reset:()V
3: goto 7
StackMap locals:
StackMap stack: java.lang.Throwable
4: astore 1
5: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
6: aload 1
athrow
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
Exception table:
from to target type
1 4 4 any
public void dispose();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.setThreadLock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.check:()V
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
lconst_0
lcmp
ifeq 9
3: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.disposerRecord:Lsun/java2d/DisposerRecord;
invokeinterface sun.java2d.DisposerRecord.dispose:()V
4: aload 0
lconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
5: goto 9
StackMap locals:
StackMap stack: java.lang.Throwable
6: astore 1
7: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
8: aload 1
athrow
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearThreadLock:()V
10: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
Exception table:
from to target type
1 6 6 any
void warningOccurred(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
1: iload 1
iflt 2
iload 1
bipush 15
if_icmple 3
2: StackMap locals:
StackMap stack:
new java.lang.InternalError
dup
ldc "Invalid warning index"
invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
5: ldc "com.sun.imageio.plugins.jpeg.JPEGImageWriterResources"
6: iload 1
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
7: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processWarningOccurred:(ILjava/lang/String;Ljava/lang/String;)V
8: goto 12
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 2
10: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
11: aload 2
athrow
12: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
13: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 14 1 code I
Exception table:
from to target type
1 9 9 any
MethodParameters:
Name Flags
code
void warningWithMessage(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
1: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
aload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processWarningOccurred:(ILjava/lang/String;)V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
5: aload 2
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 8 1 msg Ljava/lang/String;
Exception table:
from to target type
1 3 3 any
MethodParameters:
Name Flags
msg
void thumbnailStarted(int);
descriptor: (I)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
1: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
iload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processThumbnailStarted:(II)V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
5: aload 2
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 8 1 thumbnailIndex I
Exception table:
from to target type
1 3 3 any
MethodParameters:
Name Flags
thumbnailIndex
void thumbnailProgress(float);
descriptor: (F)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
1: aload 0
fload 1
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processThumbnailProgress:(F)V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 2
4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
5: aload 2
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 8 1 percentageDone F
Exception table:
from to target type
1 3 3 any
MethodParameters:
Name Flags
percentageDone
void thumbnailComplete();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
1: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processThumbnailComplete:()V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 1
4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
5: aload 1
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
Exception table:
from to target type
1 3 3 any
private void checkSOFBands(com.sun.imageio.plugins.jpeg.SOFMarkerSegment, int);
descriptor: (Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnull 5
1: aload 1
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
arraylength
iload 2
if_icmpeq 5
2: new javax.imageio.IIOException
dup
3: ldc "Metadata components != number of destination bands"
4: invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 6 1 sof Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
0 6 2 numBandsUsed I
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
sof
numBandsUsed
private void checkJFIF(com.sun.imageio.plugins.jpeg.JFIFMarkerSegment, javax.imageio.ImageTypeSpecifier, boolean);
descriptor: (Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;Ljavax/imageio/ImageTypeSpecifier;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 7
1: aload 2
iload 3
invokestatic com.sun.imageio.plugins.jpeg.JPEG.isJFIFcompliant:(Ljavax/imageio/ImageTypeSpecifier;Z)Z
ifne 7
2: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
3: aload 0
iload 3
ifeq 5
4: iconst_5
goto 6
5: StackMap locals:
StackMap stack: com.sun.imageio.plugins.jpeg.JPEGImageWriter
iconst_3
6: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.JFIFMarkerSegment javax.imageio.ImageTypeSpecifier int
StackMap stack: com.sun.imageio.plugins.jpeg.JPEGImageWriter int
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 8 1 jfif Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
0 8 2 type Ljavax/imageio/ImageTypeSpecifier;
0 8 3 input Z
MethodParameters:
Name Flags
jfif
type
input
private void checkAdobe(com.sun.imageio.plugins.jpeg.AdobeMarkerSegment, javax.imageio.ImageTypeSpecifier, boolean);
descriptor: (Lcom/sun/imageio/plugins/jpeg/AdobeMarkerSegment;Ljavax/imageio/ImageTypeSpecifier;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
ifnull 11
1: aload 2
iload 3
invokestatic com.sun.imageio.plugins.jpeg.JPEG.transformForType:(Ljavax/imageio/ImageTypeSpecifier;Z)I
istore 4
start local 4 2: aload 1
getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
iload 4
if_icmpeq 11
3: aload 0
iload 3
ifeq 5
4: bipush 6
goto 6
5: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.AdobeMarkerSegment javax.imageio.ImageTypeSpecifier int int
StackMap stack: com.sun.imageio.plugins.jpeg.JPEGImageWriter
iconst_4
6: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.AdobeMarkerSegment javax.imageio.ImageTypeSpecifier int int
StackMap stack: com.sun.imageio.plugins.jpeg.JPEGImageWriter int
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
7: iload 4
iconst_m1
if_icmpne 10
8: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreAdobe:Z
9: goto 11
10: StackMap locals:
StackMap stack:
aload 0
iload 4
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
end local 4 11: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 12 1 adobe Lcom/sun/imageio/plugins/jpeg/AdobeMarkerSegment;
0 12 2 type Ljavax/imageio/ImageTypeSpecifier;
0 12 3 input Z
2 11 4 rightTransform I
MethodParameters:
Name Flags
adobe
type
input
private int[] collectScans(com.sun.imageio.plugins.jpeg.JPEGMetadata, com.sun.imageio.plugins.jpeg.SOFMarkerSegment);
descriptor: (Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;)[I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=13, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: bipush 9
istore 4
start local 4 2: iconst_4
istore 5
start local 5 3: aload 1
getfield com.sun.imageio.plugins.jpeg.JPEGMetadata.markerSequence:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
start local 6 4: goto 8
5: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.JPEGMetadata com.sun.imageio.plugins.jpeg.SOFMarkerSegment java.util.List int int java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.imageio.plugins.jpeg.MarkerSegment
astore 7
start local 7 6: aload 7
instanceof com.sun.imageio.plugins.jpeg.SOSMarkerSegment
ifeq 8
7: aload 3
aload 7
checkcast com.sun.imageio.plugins.jpeg.SOSMarkerSegment
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 8: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 6 9: aconst_null
astore 6
start local 6 10: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
11: aload 3
invokeinterface java.util.List.isEmpty:()Z
ifne 40
12: aload 0
aload 3
invokeinterface java.util.List.size:()I
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
13: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
iload 4
imul
newarray 10
astore 6
14: iconst_0
istore 7
start local 7 15: iconst_0
istore 8
start local 8 16: goto 39
17: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.JPEGMetadata com.sun.imageio.plugins.jpeg.SOFMarkerSegment java.util.List int int int[] int int
StackMap stack:
aload 3
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.imageio.plugins.jpeg.SOSMarkerSegment
astore 9
start local 9 18: aload 6
iload 7
iinc 7 1
aload 9
getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOSMarkerSegment$ScanComponentSpec;
arraylength
iastore
19: iconst_0
istore 10
start local 10 20: goto 33
21: StackMap locals: com.sun.imageio.plugins.jpeg.SOSMarkerSegment int
StackMap stack:
iload 10
aload 9
getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOSMarkerSegment$ScanComponentSpec;
arraylength
if_icmpge 31
22: aload 9
getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOSMarkerSegment$ScanComponentSpec;
iload 10
aaload
getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment$ScanComponentSpec.componentSelector:I
istore 11
start local 11 23: iconst_0
istore 12
start local 12 24: goto 29
25: StackMap locals: int int
StackMap stack:
iload 11
aload 2
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
iload 12
aaload
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.componentId:I
if_icmpne 28
26: aload 6
iload 7
iinc 7 1
iload 12
iastore
27: goto 32
28: StackMap locals:
StackMap stack:
iinc 12 1
StackMap locals:
StackMap stack:
29: iload 12
aload 2
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.componentSpecs:[Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
arraylength
if_icmplt 25
end local 12 end local 11 30: goto 32
31: StackMap locals:
StackMap stack:
aload 6
iload 7
iinc 7 1
iconst_0
iastore
32: StackMap locals:
StackMap stack:
iinc 10 1
StackMap locals:
StackMap stack:
33: iload 10
iload 5
if_icmplt 21
end local 10 34: aload 6
iload 7
iinc 7 1
aload 9
getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.startSpectralSelection:I
iastore
35: aload 6
iload 7
iinc 7 1
aload 9
getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.endSpectralSelection:I
iastore
36: aload 6
iload 7
iinc 7 1
aload 9
getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.approxHigh:I
iastore
37: aload 6
iload 7
iinc 7 1
aload 9
getfield com.sun.imageio.plugins.jpeg.SOSMarkerSegment.approxLow:I
iastore
end local 9 38: iinc 8 1
StackMap locals:
StackMap stack:
39: iload 8
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
if_icmplt 17
end local 8 end local 7 40: StackMap locals:
StackMap stack:
aload 6
areturn
end local 6 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 41 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 41 1 metadata Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
0 41 2 sof Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
1 41 3 segments Ljava/util/List<Lcom/sun/imageio/plugins/jpeg/SOSMarkerSegment;>;
2 41 4 SCAN_SIZE I
3 41 5 MAX_COMPS_PER_SCAN I
4 9 6 iter Ljava/util/Iterator<Lcom/sun/imageio/plugins/jpeg/MarkerSegment;>;
6 8 7 seg Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
10 41 6 retval [I
15 40 7 index I
16 40 8 i I
18 38 9 sos Lcom/sun/imageio/plugins/jpeg/SOSMarkerSegment;
20 34 10 j I
23 30 11 compSel I
24 30 12 k I
MethodParameters:
Name Flags
metadata
sof
private javax.imageio.plugins.jpeg.JPEGQTable[] collectQTablesFromMetadata(com.sun.imageio.plugins.jpeg.JPEGMetadata);
descriptor: (Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;)[Ljavax/imageio/plugins/jpeg/JPEGQTable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 2
start local 2 1: aload 1
getfield com.sun.imageio.plugins.jpeg.JPEGMetadata.markerSequence:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 3
start local 3 2: goto 8
3: StackMap locals: java.util.ArrayList java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.imageio.plugins.jpeg.MarkerSegment
astore 4
start local 4 4: aload 4
instanceof com.sun.imageio.plugins.jpeg.DQTMarkerSegment
ifeq 8
5: aload 4
checkcast com.sun.imageio.plugins.jpeg.DQTMarkerSegment
6: astore 5
start local 5 7: aload 2
aload 5
getfield com.sun.imageio.plugins.jpeg.DQTMarkerSegment.tables:Ljava/util/List;
invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
pop
end local 5 end local 4 8: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
9: aconst_null
astore 4
start local 4 10: aload 2
invokevirtual java.util.ArrayList.size:()I
ifeq 19
11: aload 2
invokevirtual java.util.ArrayList.size:()I
anewarray javax.imageio.plugins.jpeg.JPEGQTable
astore 4
12: iconst_0
istore 5
start local 5 13: goto 18
14: StackMap locals: javax.imageio.plugins.jpeg.JPEGQTable[] int
StackMap stack:
aload 4
iload 5
15: new javax.imageio.plugins.jpeg.JPEGQTable
dup
aload 2
iload 5
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast com.sun.imageio.plugins.jpeg.DQTMarkerSegment$Qtable
getfield com.sun.imageio.plugins.jpeg.DQTMarkerSegment$Qtable.data:[I
invokespecial javax.imageio.plugins.jpeg.JPEGQTable.<init>:([I)V
16: aastore
17: iinc 5 1
StackMap locals:
StackMap stack:
18: iload 5
aload 4
arraylength
if_icmplt 14
end local 5 19: StackMap locals:
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 20 1 metadata Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
1 20 2 tables Ljava/util/ArrayList<Lcom/sun/imageio/plugins/jpeg/DQTMarkerSegment$Qtable;>;
2 20 3 iter Ljava/util/Iterator<Lcom/sun/imageio/plugins/jpeg/MarkerSegment;>;
4 8 4 seg Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
7 8 5 dqt Lcom/sun/imageio/plugins/jpeg/DQTMarkerSegment;
10 20 4 retval [Ljavax/imageio/plugins/jpeg/JPEGQTable;
13 19 5 i I
MethodParameters:
Name Flags
metadata
private javax.imageio.plugins.jpeg.JPEGHuffmanTable[] collectHTablesFromMetadata(com.sun.imageio.plugins.jpeg.JPEGMetadata, boolean);
descriptor: (Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=9, args_size=3
start local 0 start local 1 start local 2 0: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 1: aload 1
getfield com.sun.imageio.plugins.jpeg.JPEGMetadata.markerSequence:Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
start local 4 2: goto 15
3: StackMap locals: java.util.ArrayList java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.sun.imageio.plugins.jpeg.MarkerSegment
astore 5
start local 5 4: aload 5
instanceof com.sun.imageio.plugins.jpeg.DHTMarkerSegment
ifeq 15
5: aload 5
checkcast com.sun.imageio.plugins.jpeg.DHTMarkerSegment
astore 6
start local 6 6: iconst_0
istore 7
start local 7 7: goto 14
8: StackMap locals: com.sun.imageio.plugins.jpeg.MarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int
StackMap stack:
aload 6
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment.tables:Ljava/util/List;
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
astore 8
start local 8 9: aload 8
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableClass:I
iload 2
ifeq 10
iconst_0
goto 11
StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.JPEGMetadata int java.util.ArrayList java.util.Iterator com.sun.imageio.plugins.jpeg.MarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
StackMap stack: int
10: iconst_1
StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter com.sun.imageio.plugins.jpeg.JPEGMetadata int java.util.ArrayList java.util.Iterator com.sun.imageio.plugins.jpeg.MarkerSegment com.sun.imageio.plugins.jpeg.DHTMarkerSegment int com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
StackMap stack: int int
11: if_icmpne 13
12: aload 3
aload 8
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 8 13: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
14: iload 7
aload 6
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment.tables:Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 8
end local 7 end local 6 end local 5 15: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
16: aconst_null
astore 5
start local 5 17: aload 3
invokevirtual java.util.ArrayList.size:()I
ifeq 37
18: aload 3
invokevirtual java.util.ArrayList.size:()I
anewarray com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable
19: astore 6
start local 6 20: aload 3
aload 6
invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
pop
21: aload 3
invokevirtual java.util.ArrayList.size:()I
anewarray javax.imageio.plugins.jpeg.JPEGHuffmanTable
astore 5
22: iconst_0
istore 7
start local 7 23: goto 36
24: StackMap locals: javax.imageio.plugins.jpeg.JPEGHuffmanTable[] com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable[] int
StackMap stack:
aload 5
iload 7
aconst_null
aastore
25: iconst_0
istore 8
start local 8 26: goto 34
27: StackMap locals: int
StackMap stack:
aload 6
iload 8
aaload
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.tableID:I
iload 7
if_icmpne 33
28: aload 5
iload 7
aaload
ifnull 30
29: new javax.imageio.IIOException
dup
ldc "Metadata has duplicate Htables!"
invokespecial javax.imageio.IIOException.<init>:(Ljava/lang/String;)V
athrow
30: StackMap locals:
StackMap stack:
aload 5
iload 7
new javax.imageio.plugins.jpeg.JPEGHuffmanTable
dup
aload 6
iload 8
aaload
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.numCodes:[S
31: aload 6
iload 8
aaload
getfield com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable.values:[S
invokespecial javax.imageio.plugins.jpeg.JPEGHuffmanTable.<init>:([S[S)V
32: aastore
33: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
34: iload 8
aload 3
invokevirtual java.util.ArrayList.size:()I
if_icmplt 27
end local 8 35: iinc 7 1
StackMap locals:
StackMap stack:
36: iload 7
aload 5
arraylength
if_icmplt 24
end local 7 end local 6 37: StackMap locals:
StackMap stack:
aload 5
areturn
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 38 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 38 1 metadata Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
0 38 2 wantDC Z
1 38 3 tables Ljava/util/ArrayList<Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment$Htable;>;
2 38 4 iter Ljava/util/Iterator<Lcom/sun/imageio/plugins/jpeg/MarkerSegment;>;
4 15 5 seg Lcom/sun/imageio/plugins/jpeg/MarkerSegment;
6 15 6 dht Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;
7 15 7 i I
9 13 8 htable Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment$Htable;
17 38 5 retval [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
20 37 6 htables [Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment$Htable;
23 37 7 i I
26 35 8 j I
Exceptions:
throws javax.imageio.IIOException
MethodParameters:
Name Flags
metadata
wantDC
private int getSrcCSType(javax.imageio.ImageTypeSpecifier);
descriptor: (Ljavax/imageio/ImageTypeSpecifier;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getSrcCSType:(Ljava/awt/image/ColorModel;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 1 1 type Ljavax/imageio/ImageTypeSpecifier;
MethodParameters:
Name Flags
type
private int getSrcCSType(java.awt.image.RenderedImage);
descriptor: (Ljava/awt/image/RenderedImage;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getSrcCSType:(Ljava/awt/image/ColorModel;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 1 1 rimage Ljava/awt/image/RenderedImage;
MethodParameters:
Name Flags
rimage
private int getSrcCSType(java.awt.image.ColorModel);
descriptor: (Ljava/awt/image/ColorModel;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
ifnull 24
2: aload 1
invokevirtual java.awt.image.ColorModel.hasAlpha:()Z
istore 3
start local 3 3: aload 1
invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
astore 4
start local 4 4: aload 4
invokevirtual java.awt.color.ColorSpace.getType:()I
tableswitch { // 3 - 13
3: 12
4: 24
5: 7
6: 5
7: 24
8: 24
9: 23
10: 24
11: 24
12: 24
13: 17
default: 24
}
5: StackMap locals: int int java.awt.color.ColorSpace
StackMap stack:
iconst_1
istore 2
6: goto 24
7: StackMap locals:
StackMap stack:
iload 3
ifeq 10
8: bipush 6
istore 2
9: goto 24
10: StackMap locals:
StackMap stack:
iconst_2
istore 2
11: goto 24
12: StackMap locals:
StackMap stack:
iload 3
ifeq 15
13: bipush 7
istore 2
14: goto 24
15: StackMap locals:
StackMap stack:
iconst_3
istore 2
16: goto 24
17: StackMap locals:
StackMap stack:
aload 4
invokestatic com.sun.imageio.plugins.jpeg.JPEG$JCS.getYCC:()Ljava/awt/color/ColorSpace;
if_acmpne 24
18: iload 3
ifeq 21
19: bipush 10
istore 2
20: goto 24
21: StackMap locals:
StackMap stack:
iconst_5
istore 2
22: goto 24
23: StackMap locals:
StackMap stack:
iconst_4
istore 2
end local 4 end local 3 24: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 25 1 cm Ljava/awt/image/ColorModel;
1 25 2 retval I
3 24 3 alpha Z
4 24 4 cs Ljava/awt/color/ColorSpace;
MethodParameters:
Name Flags
cm
private int getDestCSType(javax.imageio.ImageTypeSpecifier);
descriptor: (Ljavax/imageio/ImageTypeSpecifier;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
astore 2
start local 2 1: aload 2
invokevirtual java.awt.image.ColorModel.hasAlpha:()Z
istore 3
start local 3 2: aload 2
invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
astore 4
start local 4 3: iconst_0
istore 5
start local 5 4: aload 4
invokevirtual java.awt.color.ColorSpace.getType:()I
tableswitch { // 3 - 13
3: 12
4: 24
5: 7
6: 5
7: 24
8: 24
9: 23
10: 24
11: 24
12: 24
13: 17
default: 24
}
5: StackMap locals: com.sun.imageio.plugins.jpeg.JPEGImageWriter javax.imageio.ImageTypeSpecifier java.awt.image.ColorModel int java.awt.color.ColorSpace int
StackMap stack:
iconst_1
istore 5
6: goto 24
7: StackMap locals:
StackMap stack:
iload 3
ifeq 10
8: bipush 6
istore 5
9: goto 24
10: StackMap locals:
StackMap stack:
iconst_2
istore 5
11: goto 24
12: StackMap locals:
StackMap stack:
iload 3
ifeq 15
13: bipush 7
istore 5
14: goto 24
15: StackMap locals:
StackMap stack:
iconst_3
istore 5
16: goto 24
17: StackMap locals:
StackMap stack:
aload 4
invokestatic com.sun.imageio.plugins.jpeg.JPEG$JCS.getYCC:()Ljava/awt/color/ColorSpace;
if_acmpne 24
18: iload 3
ifeq 21
19: bipush 10
istore 5
20: goto 24
21: StackMap locals:
StackMap stack:
iconst_5
istore 5
22: goto 24
23: StackMap locals:
StackMap stack:
iconst_4
istore 5
24: StackMap locals:
StackMap stack:
iload 5
ireturn
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 25 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 25 1 destType Ljavax/imageio/ImageTypeSpecifier;
1 25 2 cm Ljava/awt/image/ColorModel;
2 25 3 alpha Z
3 25 4 cs Ljava/awt/color/ColorSpace;
4 25 5 retval I
MethodParameters:
Name Flags
destType
private int getDefaultDestCSType(javax.imageio.ImageTypeSpecifier);
descriptor: (Ljavax/imageio/ImageTypeSpecifier;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual javax.imageio.ImageTypeSpecifier.getColorModel:()Ljava/awt/image/ColorModel;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getDefaultDestCSType:(Ljava/awt/image/ColorModel;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 1 1 type Ljavax/imageio/ImageTypeSpecifier;
MethodParameters:
Name Flags
type
private int getDefaultDestCSType(java.awt.image.RenderedImage);
descriptor: (Ljava/awt/image/RenderedImage;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokeinterface java.awt.image.RenderedImage.getColorModel:()Ljava/awt/image/ColorModel;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.getDefaultDestCSType:(Ljava/awt/image/ColorModel;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 1 1 rimage Ljava/awt/image/RenderedImage;
MethodParameters:
Name Flags
rimage
private int getDefaultDestCSType(java.awt.image.ColorModel);
descriptor: (Ljava/awt/image/ColorModel;)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
ifnull 24
2: aload 1
invokevirtual java.awt.image.ColorModel.hasAlpha:()Z
istore 3
start local 3 3: aload 1
invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
astore 4
start local 4 4: aload 4
invokevirtual java.awt.color.ColorSpace.getType:()I
tableswitch { // 3 - 13
3: 12
4: 24
5: 7
6: 5
7: 24
8: 24
9: 23
10: 24
11: 24
12: 24
13: 17
default: 24
}
5: StackMap locals: int int java.awt.color.ColorSpace
StackMap stack:
iconst_1
istore 2
6: goto 24
7: StackMap locals:
StackMap stack:
iload 3
ifeq 10
8: bipush 7
istore 2
9: goto 24
10: StackMap locals:
StackMap stack:
iconst_3
istore 2
11: goto 24
12: StackMap locals:
StackMap stack:
iload 3
ifeq 15
13: bipush 7
istore 2
14: goto 24
15: StackMap locals:
StackMap stack:
iconst_3
istore 2
16: goto 24
17: StackMap locals:
StackMap stack:
aload 4
invokestatic com.sun.imageio.plugins.jpeg.JPEG$JCS.getYCC:()Ljava/awt/color/ColorSpace;
if_acmpne 24
18: iload 3
ifeq 21
19: bipush 10
istore 2
20: goto 24
21: StackMap locals:
StackMap stack:
iconst_5
istore 2
22: goto 24
23: StackMap locals:
StackMap stack:
bipush 11
istore 2
end local 4 end local 3 24: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 25 1 cm Ljava/awt/image/ColorModel;
1 25 2 retval I
3 24 3 alpha Z
4 24 4 cs Ljava/awt/color/ColorSpace;
MethodParameters:
Name Flags
cm
private boolean isSubsampled(com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec[]);
descriptor: ([Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: aload 1
iconst_0
aaload
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.HsamplingFactor:I
istore 2
start local 2 1: aload 1
iconst_0
aaload
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.VsamplingFactor:I
istore 3
start local 3 2: iconst_1
istore 4
start local 4 3: goto 8
4: StackMap locals: int int int
StackMap stack:
aload 1
iload 4
aaload
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.HsamplingFactor:I
iload 2
if_icmpne 6
5: aload 1
iload 4
aaload
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec.VsamplingFactor:I
iload 3
if_icmpeq 7
6: StackMap locals:
StackMap stack:
iconst_1
ireturn
7: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
8: iload 4
aload 1
arraylength
if_icmplt 4
end local 4 9: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 10 1 specs [Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment$ComponentSpec;
1 10 2 hsamp0 I
2 10 3 vsamp0 I
3 9 4 i I
MethodParameters:
Name Flags
specs
private static native void initWriterIDs(java.lang.Class<?>, java.lang.Class<?>);
descriptor: (Ljava/lang/Class;Ljava/lang/Class;)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
Signature: (Ljava/lang/Class<*>;Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
qTableClass
huffClass
private native long initJPEGImageWriter();
descriptor: ()J
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
private native void setDest(long);
descriptor: (J)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
structPointer
private native boolean writeImage(long, byte[], int, int, int, int[], int, int, int, int, int, javax.imageio.plugins.jpeg.JPEGQTable[], boolean, javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], boolean, boolean, boolean, int, int[], int[], int[], int[], int[], boolean, int);
descriptor: (J[BIII[IIIIII[Ljavax/imageio/plugins/jpeg/JPEGQTable;Z[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;ZZZI[I[I[I[I[IZI)Z
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
structPointer
data
inCsType
outCsType
numBands
bandSizes
srcWidth
destWidth
destHeight
stepX
stepY
qtables
writeDQT
DCHuffmanTables
ACHuffmanTables
writeDHT
optimizeHuffman
progressive
numScans
scans
componentIds
HsamplingFactors
VsamplingFactors
QtableSelectors
haveMetadata
restartInterval
private void writeMetadata();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=1, args_size=1
start local 0 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
ifnonnull 10
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
ifeq 7
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
3: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
5: aload 0
6: invokestatic com.sun.imageio.plugins.jpeg.JFIFMarkerSegment.writeDefaultJFIF:(Ljavax/imageio/stream/ImageOutputStream;Ljava/util/List;Ljava/awt/color/ICC_Profile;Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
7: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeAdobe:Z
ifeq 19
8: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
invokestatic com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.writeAdobeSegment:(Ljavax/imageio/stream/ImageOutputStream;I)V
9: goto 19
10: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
11: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreJFIF:Z
12: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.forceJFIF:Z
13: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
14: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
15: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ignoreAdobe:Z
16: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
17: aload 0
18: invokevirtual com.sun.imageio.plugins.jpeg.JPEGMetadata.writeToStream:(Ljavax/imageio/stream/ImageOutputStream;ZZLjava/util/List;Ljava/awt/color/ICC_Profile;ZILcom/sun/imageio/plugins/jpeg/JPEGImageWriter;)V
19: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
Exceptions:
throws java.io.IOException
private native void writeTables(long, javax.imageio.plugins.jpeg.JPEGQTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[], javax.imageio.plugins.jpeg.JPEGHuffmanTable[]);
descriptor: (J[Ljavax/imageio/plugins/jpeg/JPEGQTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
structPointer
qtables
DCHuffmanTables
ACHuffmanTables
private void grabPixels(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexed:Z
ifeq 16
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
3: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
iload 1
iadd
4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
iconst_1
5: iconst_0
iconst_0
6: iconst_1
newarray 10
7: invokevirtual java.awt.image.Raster.createChild:(IIIIII[I)Ljava/awt/image/Raster;
astore 2
8: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexCM:Ljava/awt/image/IndexColorModel;
invokevirtual java.awt.image.IndexColorModel.getTransparency:()I
iconst_1
if_icmpeq 9
iconst_1
goto 10
StackMap locals: java.awt.image.Raster
StackMap stack:
9: iconst_0
10: StackMap locals:
StackMap stack: int
istore 3
start local 3 11: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.indexCM:Ljava/awt/image/IndexColorModel;
aload 2
12: iload 3
13: invokevirtual java.awt.image.IndexColorModel.convertToIntDiscrete:(Ljava/awt/image/Raster;Z)Ljava/awt/image/BufferedImage;
astore 4
start local 4 14: aload 4
invokevirtual java.awt.image.BufferedImage.getRaster:()Ljava/awt/image/WritableRaster;
astore 2
end local 4 end local 3 15: goto 22
16: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcRas:Ljava/awt/image/Raster;
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceXOffset:I
17: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
iload 1
iadd
18: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
iconst_1
19: iconst_0
iconst_0
20: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
21: invokevirtual java.awt.image.Raster.createChild:(IIIIII[I)Ljava/awt/image/Raster;
astore 2
22: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertTosRGB:Z
ifeq 27
23: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.debug:Z
ifeq 25
24: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "Converting to sRGB"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
25: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.convertOp:Ljava/awt/image/ColorConvertOp;
aload 2
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.converted:Ljava/awt/image/WritableRaster;
invokevirtual java.awt.image.ColorConvertOp.filter:(Ljava/awt/image/Raster;Ljava/awt/image/WritableRaster;)Ljava/awt/image/WritableRaster;
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.converted:Ljava/awt/image/WritableRaster;
26: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.converted:Ljava/awt/image/WritableRaster;
astore 2
27: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.isAlphaPremultiplied:Z
ifeq 44
28: aload 2
invokevirtual java.awt.image.Raster.createCompatibleWritableRaster:()Ljava/awt/image/WritableRaster;
astore 3
start local 3 29: aconst_null
astore 4
start local 4 30: aload 2
aload 2
invokevirtual java.awt.image.Raster.getMinX:()I
aload 2
invokevirtual java.awt.image.Raster.getMinY:()I
31: aload 2
invokevirtual java.awt.image.Raster.getWidth:()I
aload 2
invokevirtual java.awt.image.Raster.getHeight:()I
32: aload 4
33: invokevirtual java.awt.image.Raster.getPixels:(IIII[I)[I
astore 4
34: aload 3
aload 2
invokevirtual java.awt.image.Raster.getMinX:()I
aload 2
invokevirtual java.awt.image.Raster.getMinY:()I
35: aload 2
invokevirtual java.awt.image.Raster.getWidth:()I
aload 2
invokevirtual java.awt.image.Raster.getHeight:()I
36: aload 4
37: invokevirtual java.awt.image.WritableRaster.setPixels:(IIII[I)V
38: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcCM:Ljava/awt/image/ColorModel;
aload 3
iconst_0
invokevirtual java.awt.image.ColorModel.coerceData:(Ljava/awt/image/WritableRaster;Z)Ljava/awt/image/ColorModel;
pop
39: aload 3
aload 3
invokevirtual java.awt.image.WritableRaster.getMinX:()I
aload 3
invokevirtual java.awt.image.WritableRaster.getMinY:()I
40: aload 3
invokevirtual java.awt.image.WritableRaster.getWidth:()I
aload 3
invokevirtual java.awt.image.WritableRaster.getHeight:()I
41: iconst_0
iconst_0
42: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.srcBands:[I
43: invokevirtual java.awt.image.WritableRaster.createChild:(IIIIII[I)Ljava/awt/image/Raster;
astore 2
end local 4 end local 3 44: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.raster:Ljava/awt/image/WritableRaster;
aload 2
invokevirtual java.awt.image.WritableRaster.setRect:(Ljava/awt/image/Raster;)V
45: iload 1
bipush 7
if_icmple 53
iload 1
bipush 8
irem
ifne 53
46: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
47: aload 0
iload 1
i2f
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
i2f
fdiv
ldc 100.0
fmul
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processImageProgress:(F)V
48: goto 52
StackMap locals:
StackMap stack: java.lang.Throwable
49: astore 3
50: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
51: aload 3
athrow
52: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
53: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 54 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 54 1 y I
1 54 2 sourceLine Ljava/awt/image/Raster;
11 15 3 forceARGB Z
14 15 4 temp Ljava/awt/image/BufferedImage;
29 44 3 wr Ljava/awt/image/WritableRaster;
30 44 4 data [I
Exception table:
from to target type
47 49 49 any
MethodParameters:
Name Flags
y
private native void abortWrite(long);
descriptor: (J)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
structPointer
private native void resetWriter(long);
descriptor: (J)V
flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
MethodParameters:
Name Flags
structPointer
private static native void disposeWriter(long);
descriptor: (J)V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
MethodParameters:
Name Flags
structPointer
private void writeOutputData(byte[], int, int);
descriptor: ([BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.lock:()V
1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.ios:Ljavax/imageio/stream/ImageOutputStream;
aload 1
iload 2
iload 3
invokeinterface javax.imageio.stream.ImageOutputStream.write:([BII)V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Throwable
3: astore 4
4: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
5: aload 4
athrow
6: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.cbLock:Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter$CallBackLock;
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock.unlock:()V
7: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 8 1 data [B
0 8 2 offset I
0 8 3 len I
Exception table:
from to target type
1 3 3 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
data
offset
len
private synchronized void setThreadLock();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
ifnull 10
2: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
aload 1
if_acmpeq 8
3: new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Attempt to use instance of "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
4: aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " locked on thread "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
5: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " from thread "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
6: aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
7: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
8: StackMap locals: java.lang.Thread
StackMap stack:
aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
iconst_1
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
9: goto 12
10: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
11: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
1 13 1 currThread Ljava/lang/Thread;
private synchronized void clearThreadLock();
descriptor: ()V
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=5, locals=2, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
astore 1
start local 1 1: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
ifnull 2
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
aload 1
if_acmpeq 6
2: StackMap locals: java.lang.Thread
StackMap stack:
new java.lang.IllegalStateException
dup
new java.lang.StringBuilder
dup
ldc "Attempt to clear thread lock form wrong thread. Locked thread: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
3: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
4: ldc "; current thread: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
5: invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
iconst_1
isub
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
7: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theLockCount:I
ifne 9
8: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.theThread:Ljava/lang/Thread;
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
1 10 1 currThread Ljava/lang/Thread;
}
SourceFile: "JPEGImageWriter.java"
NestMembers:
com.sun.imageio.plugins.jpeg.JPEGImageWriter$1 com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock$State com.sun.imageio.plugins.jpeg.JPEGImageWriter$JPEGWriterDisposerRecord
InnerClasses:
Htable = com.sun.imageio.plugins.jpeg.DHTMarkerSegment$Htable of com.sun.imageio.plugins.jpeg.DHTMarkerSegment
Qtable = com.sun.imageio.plugins.jpeg.DQTMarkerSegment$Qtable of com.sun.imageio.plugins.jpeg.DQTMarkerSegment
public JCS = com.sun.imageio.plugins.jpeg.JPEG$JCS of com.sun.imageio.plugins.jpeg.JPEG
com.sun.imageio.plugins.jpeg.JPEGImageWriter$1
private CallBackLock = com.sun.imageio.plugins.jpeg.JPEGImageWriter$CallBackLock of com.sun.imageio.plugins.jpeg.JPEGImageWriter
private JPEGWriterDisposerRecord = com.sun.imageio.plugins.jpeg.JPEGImageWriter$JPEGWriterDisposerRecord of com.sun.imageio.plugins.jpeg.JPEGImageWriter
ComponentSpec = com.sun.imageio.plugins.jpeg.SOFMarkerSegment$ComponentSpec of com.sun.imageio.plugins.jpeg.SOFMarkerSegment
ScanComponentSpec = com.sun.imageio.plugins.jpeg.SOSMarkerSegment$ScanComponentSpec of com.sun.imageio.plugins.jpeg.SOSMarkerSegment