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 1
ifnonnull 2
aload 4
ifnonnull 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
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 4
3: ldc 2147483647
ireturn
4: 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 5 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 5 1 imageType Ljavax/imageio/ImageTypeSpecifier;
0 5 2 param Ljavax/imageio/ImageWriteParam;
0 5 3 streamMetadata Ljavax/imageio/metadata/IIOMetadata;
0 5 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 307
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 307
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 307
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 307
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 307
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
tableswitch { // 5 - 6
5: 276
6: 261
default: 307
}
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 307
270: aload 30
getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
ifeq 307
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 307
276: StackMap locals:
StackMap stack:
aload 29
ifnull 285
277: iconst_3
istore 28
278: aload 8
invokestatic com.sun.imageio.plugins.jpeg.JPEG.isNonStandardICC:(Ljava/awt/color/ColorSpace;)Z
ifne 281
279: aload 8
instanceof java.awt.color.ICC_ColorSpace
ifeq 307
280: aload 29
getfield com.sun.imageio.plugins.jpeg.JFIFMarkerSegment.iccSegment:Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment$ICCMarkerSegment;
ifnull 307
281: StackMap locals:
StackMap stack:
aload 0
282: aload 8
checkcast java.awt.color.ICC_ColorSpace
invokevirtual java.awt.color.ICC_ColorSpace.getProfile:()Ljava/awt/color/ICC_Profile;
283: putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.iccProfile:Ljava/awt/color/ICC_Profile;
284: goto 307
StackMap locals:
StackMap stack:
285: aload 30
ifnull 297
286: aload 30
getfield com.sun.imageio.plugins.jpeg.AdobeMarkerSegment.transform:I
tableswitch { // 0 - 1
0: 287
1: 289
default: 291
}
287: StackMap locals:
StackMap stack:
iconst_2
istore 28
288: goto 307
289: StackMap locals:
StackMap stack:
iconst_3
istore 28
290: goto 307
291: StackMap locals:
StackMap stack:
aload 0
292: bipush 6
293: invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
294: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.newAdobeTransform:I
295: iconst_2
istore 28
296: goto 307
297: StackMap locals:
StackMap stack:
aload 31
invokevirtual com.sun.imageio.plugins.jpeg.SOFMarkerSegment.getIDencodedCSType:()I
istore 33
start local 33 298: iload 33
ifeq 301
299: iload 33
istore 28
300: goto 307
301: 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
302: istore 34
start local 34 303: iload 34
ifeq 306
304: iconst_3
istore 28
305: goto 307
306: StackMap locals: int
StackMap stack:
iconst_2
istore 28
end local 34 end local 33 end local 32 307: StackMap locals:
StackMap stack:
iconst_0
istore 32
start local 32 308: aconst_null
astore 33
start local 33 309: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
ifnull 324
310: aload 31
ifnonnull 314
311: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
312: ldc Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
iconst_1
313: 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
314: StackMap locals: int int[]
StackMap stack:
aload 31
ifnull 320
aload 31
getfield com.sun.imageio.plugins.jpeg.SOFMarkerSegment.tag:I
sipush 194
if_icmpne 320
315: iconst_1
istore 32
316: iload 25
iconst_3
if_icmpne 319
317: 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
318: goto 320
319: StackMap locals:
StackMap stack:
aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.numScans:I
320: StackMap locals:
StackMap stack:
aload 29
ifnonnull 324
321: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
322: ldc Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
iconst_1
323: 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
324: 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;
325: aload 2
invokevirtual javax.imageio.IIOImage.getNumThumbnails:()I
istore 34
start local 34 326: aload 0
iconst_0
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.forceJFIF:Z
327: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
ifne 349
328: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
ifnonnull 333
329: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
330: iload 34
ifeq 349
331: aload 0
bipush 10
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
332: goto 349
333: StackMap locals: int
StackMap stack:
iload 11
ifne 339
334: aload 29
ifnonnull 349
335: aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
336: iload 34
ifeq 349
337: aload 0
bipush 10
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
338: goto 349
339: StackMap locals:
StackMap stack:
aload 29
ifnonnull 349
340: iload 28
iconst_1
if_icmpeq 342
341: iload 28
iconst_3
if_icmpne 346
342: StackMap locals:
StackMap stack:
iload 34
ifeq 349
343: aload 0
iconst_1
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.forceJFIF:Z
344: aload 0
bipush 11
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
345: goto 349
346: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.thumbnails:Ljava/util/List;
347: iload 34
ifeq 349
348: aload 0
bipush 10
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.warningOccurred:(I)V
349: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
ifnonnull 351
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeDefaultJFIF:Z
ifne 351
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.writeAdobe:Z
ifne 351
350: iconst_0
goto 352
StackMap locals:
StackMap stack:
351: iconst_1
StackMap locals:
StackMap stack: int
352: istore 35
start local 35 353: iconst_1
istore 36
start local 36 354: iconst_1
istore 37
start local 37 355: aconst_null
astore 38
start local 38 356: aconst_null
astore 39
start local 39 357: iconst_0
istore 40
start local 40 358: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
ifnull 375
359: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
360: ldc Lcom/sun/imageio/plugins/jpeg/DQTMarkerSegment;
iconst_1
361: 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
362: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
363: ldc Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;
iconst_1
364: 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
365: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.metadata:Lcom/sun/imageio/plugins/jpeg/JPEGMetadata;
366: ldc Lcom/sun/imageio/plugins/jpeg/DRIMarkerSegment;
iconst_1
367: 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
368: astore 41
start local 41 369: aload 41
ifnull 371
370: aload 41
getfield com.sun.imageio.plugins.jpeg.DRIMarkerSegment.restartInterval:I
istore 40
371: 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 373
372: iconst_0
istore 36
373: StackMap locals:
StackMap stack:
aload 39
ifnonnull 375
374: iconst_0
istore 37
end local 41 375: StackMap locals:
StackMap stack:
aload 20
ifnonnull 386
376: aload 38
ifnull 379
377: 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
378: goto 386
StackMap locals:
StackMap stack:
379: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
ifnull 382
380: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamQTables:[Ljavax/imageio/plugins/jpeg/JPEGQTable;
astore 20
381: goto 386
StackMap locals:
StackMap stack:
382: aload 24
ifnull 385
aload 24
invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.areTablesSet:()Z
ifeq 385
383: aload 24
invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.getQTables:()[Ljavax/imageio/plugins/jpeg/JPEGQTable;
astore 20
384: goto 386
385: StackMap locals:
StackMap stack:
invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultQTables:()[Ljavax/imageio/plugins/jpeg/JPEGQTable;
astore 20
386: StackMap locals:
StackMap stack:
iload 23
ifne 401
387: aload 39
ifnull 391
iload 32
ifne 391
388: 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
389: 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
390: goto 401
StackMap locals:
StackMap stack:
391: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
ifnull 395
392: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamDCHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 21
393: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.streamACHuffmanTables:[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 22
394: goto 401
StackMap locals:
StackMap stack:
395: aload 24
ifnull 399
aload 24
invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.areTablesSet:()Z
ifeq 399
396: aload 24
invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.getDCHuffmanTables:()[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 21
397: aload 24
invokevirtual javax.imageio.plugins.jpeg.JPEGImageWriteParam.getACHuffmanTables:()[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 22
398: goto 401
399: StackMap locals:
StackMap stack:
iconst_1
invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultHuffmanTables:(Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 21
400: iconst_0
invokestatic com.sun.imageio.plugins.jpeg.JPEG.getDefaultHuffmanTables:(Z)[Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
astore 22
401: StackMap locals:
StackMap stack:
iload 9
newarray 10
astore 41
start local 41 402: iload 9
newarray 10
astore 42
start local 42 403: iload 9
newarray 10
astore 43
start local 43 404: iload 9
newarray 10
astore 44
start local 44 405: iconst_0
istore 45
start local 45 406: goto 412
407: 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
408: aload 42
iload 45
iconst_1
iastore
409: aload 43
iload 45
iconst_1
iastore
410: aload 44
iload 45
iconst_0
iastore
411: iinc 45 1
StackMap locals:
StackMap stack:
412: iload 45
iload 9
if_icmplt 407
end local 45 413: aload 31
ifnull 423
414: iconst_0
istore 45
start local 45 415: goto 422
416: StackMap locals:
StackMap stack:
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.forceJFIF:Z
ifne 418
417: 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
418: 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
419: 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
420: 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
421: iinc 45 1
StackMap locals:
StackMap stack:
422: iload 45
iload 9
if_icmplt 416
end local 45 423: 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
424: aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
iload 18
isub
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
425: aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
iload 19
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceYOffset:I
426: aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
iload 19
isub
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceHeight:I
427: 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 428: 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 429: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
iload 9
imul
istore 47
start local 47 430: new java.awt.image.DataBufferByte
dup
iload 47
invokespecial java.awt.image.DataBufferByte.<init>:(I)V
astore 48
start local 48 431: getstatic com.sun.imageio.plugins.jpeg.JPEG.bandOffsets:[[I
iload 9
iconst_1
isub
aaload
astore 49
start local 49 432: aload 0
aload 48
433: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
iconst_1
434: iload 47
435: iload 9
436: aload 49
437: aconst_null
438: 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;
439: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.clearAbortRequest:()V
440: 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
441: aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processImageStarted:(I)V
442: goto 446
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
443: astore 50
444: 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
445: aload 50
athrow
446: 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
447: iconst_0
istore 50
start local 50 448: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.debug:Z
ifeq 451
449: 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
450: 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
451: StackMap locals: int
StackMap stack:
aload 0
aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.structPointer:J
452: aload 48
invokevirtual java.awt.image.DataBufferByte.getData:()[B
453: iload 27
iload 28
454: iload 9
455: aload 12
456: aload 0
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.sourceWidth:I
457: iload 45
iload 46
458: iload 16
iload 17
459: aload 20
460: iload 36
461: aload 21
462: aload 22
463: iload 37
464: iload 23
465: iload 25
ifeq 466
iconst_1
goto 467
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
466: iconst_0
467: 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
468: aload 33
469: aload 41
470: aload 42
471: aload 43
472: aload 44
473: iload 35
474: iload 40
475: 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
476: 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
477: iload 50
ifeq 480
478: aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processWriteAborted:()V
479: goto 481
480: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.sun.imageio.plugins.jpeg.JPEGImageWriter.processImageComplete:()V
481: 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
482: goto 486
StackMap locals:
StackMap stack: java.lang.Throwable
483: astore 51
484: 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
485: aload 51
athrow
486: 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
487: aload 0
dup
getfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
iconst_1
iadd
putfield com.sun.imageio.plugins.jpeg.JPEGImageWriter.currentImage:I
488: 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 489 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 489 1 streamMetadata Ljavax/imageio/metadata/IIOMetadata;
0 489 2 image Ljavax/imageio/IIOImage;
0 489 3 param Ljavax/imageio/ImageWriteParam;
7 489 4 rasterOnly Z
8 489 5 rimage Ljava/awt/image/RenderedImage;
33 489 6 numSrcBands I
36 489 7 cm Ljava/awt/image/ColorModel;
37 489 8 cs Ljava/awt/color/ColorSpace;
52 489 9 numBandsUsed I
54 64 10 sBands [I
67 489 10 usingBandSubset Z
70 489 11 fullImage Z
71 489 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 489 13 destType Ljavax/imageio/ImageTypeSpecifier;
118 489 14 imageWidth I
119 489 15 imageHeight I
122 489 16 periodX I
123 489 17 periodY I
124 489 18 gridX I
125 489 19 gridY I
126 489 20 qTables [Ljavax/imageio/plugins/jpeg/JPEGQTable;
127 489 21 DCHuffmanTables [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
128 489 22 ACHuffmanTables [Ljavax/imageio/plugins/jpeg/JPEGHuffmanTable;
129 489 23 optimizeHuffman Z
130 489 24 jparam Ljavax/imageio/plugins/jpeg/JPEGImageWriteParam;
131 489 25 progressiveMode I
133 171 26 sourceRegion Ljava/awt/Rectangle;
139 144 27 imageBounds Ljava/awt/Rectangle;
155 164 27 quality F
172 489 26 mdata Ljavax/imageio/metadata/IIOMetadata;
182 188 27 type Ljavax/imageio/ImageTypeSpecifier;
196 489 27 inCsType I
197 489 28 outCsType I
198 489 29 jfif Lcom/sun/imageio/plugins/jpeg/JFIFMarkerSegment;
199 489 30 adobe Lcom/sun/imageio/plugins/jpeg/AdobeMarkerSegment;
200 489 31 sof Lcom/sun/imageio/plugins/jpeg/SOFMarkerSegment;
233 236 32 transform I
260 307 32 alpha Z
298 307 33 outCS I
303 307 34 subsampled Z
308 489 32 metadataProgressive Z
309 489 33 scans [I
326 489 34 numThumbs I
353 489 35 haveMetadata Z
354 489 36 writeDQT Z
355 489 37 writeDHT Z
356 489 38 dqt Lcom/sun/imageio/plugins/jpeg/DQTMarkerSegment;
357 489 39 dht Lcom/sun/imageio/plugins/jpeg/DHTMarkerSegment;
358 489 40 restartInterval I
369 375 41 dri Lcom/sun/imageio/plugins/jpeg/DRIMarkerSegment;
402 489 41 componentIds [I
403 489 42 HsamplingFactors [I
404 489 43 VsamplingFactors [I
405 489 44 QtableSelectors [I
406 413 45 i I
415 423 45 i I
428 489 45 destWidth I
429 489 46 destHeight I
430 489 47 lineSize I
431 489 48 buffer Ljava/awt/image/DataBufferByte;
432 489 49 bandOffs [I
448 489 50 aborted Z
Exception table:
from to target type
441 443 443 any
477 483 483 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=1, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
ifnull 12
2: aload 1
invokevirtual java.awt.image.ColorModel.hasAlpha:()Z
pop
3: aload 1
invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
astore 3
start local 3 4: aload 3
invokevirtual java.awt.color.ColorSpace.getType:()I
tableswitch { // 3 - 9
3: 9
4: 12
5: 7
6: 5
7: 12
8: 12
9: 11
default: 12
}
5: StackMap locals: int java.awt.color.ColorSpace
StackMap stack:
iconst_1
istore 2
6: goto 12
7: StackMap locals:
StackMap stack:
iconst_2
istore 2
8: goto 12
9: StackMap locals:
StackMap stack:
iconst_3
istore 2
10: goto 12
11: StackMap locals:
StackMap stack:
iconst_4
istore 2
end local 3 12: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 13 1 cm Ljava/awt/image/ColorModel;
1 13 2 retval I
4 12 3 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=1, locals=5, 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
pop
2: aload 2
invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: aload 3
invokevirtual java.awt.color.ColorSpace.getType:()I
tableswitch { // 3 - 9
3: 9
4: 12
5: 7
6: 5
7: 12
8: 12
9: 11
default: 12
}
5: StackMap locals: java.awt.image.ColorModel java.awt.color.ColorSpace int
StackMap stack:
iconst_1
istore 4
6: goto 12
7: StackMap locals:
StackMap stack:
iconst_2
istore 4
8: goto 12
9: StackMap locals:
StackMap stack:
iconst_3
istore 4
10: goto 12
11: StackMap locals:
StackMap stack:
iconst_4
istore 4
12: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 13 1 destType Ljavax/imageio/ImageTypeSpecifier;
1 13 2 cm Ljava/awt/image/ColorModel;
3 13 3 cs Ljava/awt/color/ColorSpace;
4 13 4 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=1, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
ifnull 12
2: aload 1
invokevirtual java.awt.image.ColorModel.hasAlpha:()Z
pop
3: aload 1
invokevirtual java.awt.image.ColorModel.getColorSpace:()Ljava/awt/color/ColorSpace;
astore 3
start local 3 4: aload 3
invokevirtual java.awt.color.ColorSpace.getType:()I
tableswitch { // 3 - 9
3: 9
4: 12
5: 7
6: 5
7: 12
8: 12
9: 11
default: 12
}
5: StackMap locals: int java.awt.color.ColorSpace
StackMap stack:
iconst_1
istore 2
6: goto 12
7: StackMap locals:
StackMap stack:
iconst_3
istore 2
8: goto 12
9: StackMap locals:
StackMap stack:
iconst_3
istore 2
10: goto 12
11: StackMap locals:
StackMap stack:
iconst_5
istore 2
end local 3 12: StackMap locals:
StackMap stack:
iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/sun/imageio/plugins/jpeg/JPEGImageWriter;
0 13 1 cm Ljava/awt/image/ColorModel;
1 13 2 retval I
4 12 3 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
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