diff --git a/lib/webp4j-1.1.0.jar b/lib/webp4j-1.1.0.jar deleted file mode 100644 index f072fb8b8..000000000 Binary files a/lib/webp4j-1.1.0.jar and /dev/null differ diff --git a/lib/webp4j-1.2.0.jar b/lib/webp4j-1.2.0.jar new file mode 100644 index 000000000..0f3f03ae4 Binary files /dev/null and b/lib/webp4j-1.2.0.jar differ diff --git a/libsrc/ffdec_lib/lib/webp4j-1.1.0.jar b/libsrc/ffdec_lib/lib/webp4j-1.1.0.jar deleted file mode 100644 index f072fb8b8..000000000 Binary files a/libsrc/ffdec_lib/lib/webp4j-1.1.0.jar and /dev/null differ diff --git a/libsrc/ffdec_lib/lib/webp4j-1.2.0.jar b/libsrc/ffdec_lib/lib/webp4j-1.2.0.jar new file mode 100644 index 000000000..0f3f03ae4 Binary files /dev/null and b/libsrc/ffdec_lib/lib/webp4j-1.2.0.jar differ diff --git a/libsrc/ffdec_lib/nbproject/project.xml b/libsrc/ffdec_lib/nbproject/project.xml index ceb64bc37..c95b273f5 100644 --- a/libsrc/ffdec_lib/nbproject/project.xml +++ b/libsrc/ffdec_lib/nbproject/project.xml @@ -242,7 +242,7 @@ auxiliary.show.customizer.message= src - ../../src;lib/LZMA.jar;lib/avi.jar;lib/cmykjpeg.jar;lib/ddsreader.jar;lib/gif.jar;lib/gnujpdf.jar;lib/jlayer-1.0.2.jar;lib/jpacker.jar;lib/nellymoser.jar;lib/sfntly.jar;lib/tga.jar;lib/ttf.jar;lib/vlcj-4.7.3.jar;lib/vlcj-natives-4.7.0.jar;lib/flashdebugger.jar;lib/jna-3.5.1.jar;lib/jna-platform-3.5.1.jar;lib/gifreader.jar;lib/miterstroke.jar;lib/decimal.jar;lib/flacomdoc.jar;lib/tomlj-1.1.1.jar;lib/decimal.jar;lib/webp4j-1.1.0.jar + ../../src;lib/LZMA.jar;lib/avi.jar;lib/cmykjpeg.jar;lib/ddsreader.jar;lib/gif.jar;lib/gnujpdf.jar;lib/jlayer-1.0.2.jar;lib/jpacker.jar;lib/nellymoser.jar;lib/sfntly.jar;lib/tga.jar;lib/ttf.jar;lib/vlcj-4.7.3.jar;lib/vlcj-natives-4.7.0.jar;lib/flashdebugger.jar;lib/jna-3.5.1.jar;lib/jna-platform-3.5.1.jar;lib/gifreader.jar;lib/miterstroke.jar;lib/decimal.jar;lib/flacomdoc.jar;lib/tomlj-1.1.1.jar;lib/decimal.jar;lib/webp4j-1.2.0.jar build reports dist diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FrameExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FrameExporter.java index 0e2d7abd9..ce675957b 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FrameExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/FrameExporter.java @@ -566,7 +566,7 @@ public class FrameExporter { BufferedImage img = frameImages.next(); if (img != null) { try (FileOutputStream fos = new FileOutputStream(f)) { - fos.write(WebPCodec.encodeImage(img, 100f)); + fos.write(WebPCodec.encodeLosslessImage(img)); } } ret.add(f); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/ImageExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/ImageExporter.java index b22b7d5c7..1a20e8778 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/ImageExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/ImageExporter.java @@ -129,7 +129,13 @@ public class ImageExporter { BMPFile.saveBitmap(imageTag.getImageCached().getBufferedImage(), file); } else if (ffileFormat == ImageFormat.WEBP) { try (OutputStream fos = new BufferedOutputStream(new FileOutputStream(file))) { - fos.write(WebPCodec.encodeImage(imageTag.getImageCached().getBufferedImage(), 100f)); + byte[] webPData; + if (originalFormat == ImageFormat.PNG || originalFormat == ImageFormat.GIF) { + webPData = WebPCodec.encodeLosslessImage(imageTag.getImageCached().getBufferedImage()); + } else { + webPData = WebPCodec.encodeImage(imageTag.getImageCached().getBufferedImage(), 100f); + } + fos.write(webPData); } } else { ImageHelper.write(imageTag.getImageCached().getBufferedImage(), ffileFormat, file); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/MorphShapeExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/MorphShapeExporter.java index 398df45d2..791592515 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/MorphShapeExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/MorphShapeExporter.java @@ -209,7 +209,7 @@ public class MorphShapeExporter { ImageHelper.write(img.getBufferedImage(), ImageFormat.PNG, fileEnd); } else if (settings.mode == MorphShapeExportMode.WEBP_START_END) { try (FileOutputStream fos = new FileOutputStream(fileEnd)) { - fos.write(WebPCodec.encodeImage(img.getBufferedImage(), 100f)); + fos.write(WebPCodec.encodeLosslessImage(img.getBufferedImage())); } } else { BMPFile.saveBitmap(img.getBufferedImage(), fileEnd); diff --git a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/ShapeExporter.java b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/ShapeExporter.java index 9349343e9..ed9695d53 100644 --- a/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/ShapeExporter.java +++ b/libsrc/ffdec_lib/src/com/jpexs/decompiler/flash/exporters/ShapeExporter.java @@ -141,7 +141,7 @@ public class ShapeExporter { ImageHelper.write(img.getBufferedImage(), ImageFormat.PNG, file); } else if (settings.mode == ShapeExportMode.WEBP) { try (FileOutputStream fos = new FileOutputStream(file)) { - fos.write(WebPCodec.encodeImage(img.getBufferedImage(), 100f)); + fos.write(WebPCodec.encodeLosslessImage(img.getBufferedImage())); } } else { BMPFile.saveBitmap(img.getBufferedImage(), file); diff --git a/nbproject/project.xml b/nbproject/project.xml index 849b5e675..d437d13b9 100644 --- a/nbproject/project.xml +++ b/nbproject/project.xml @@ -329,7 +329,7 @@ src - lib/jpproxy.jar;lib/trident-6.2.jar;lib/substance-flamingo-6.2.jar;lib/flamingo-6.2.jar;lib/substance-fix.jar;lib/substance-6.2.jar;libsrc/ffdec_lib/src;lib/tablelayout.jar;lib/jsyntaxpane-0.9.5.jar;lib/JavactiveX.jar;lib/flashdebugger.jar;lib/treetable.jar;lib/minimal-json-0.9.5.jar;libsrc/ffdec_lib/lib/gnujpdf.jar;libsrc/ffdec_lib/lib/jna-3.5.1.jar;libsrc/ffdec_lib/lib/jna-platform-3.5.1.jar;libsrc/ffdec_lib/lib/flashdebugger.jar;lib/gifreader.jar;lib/jansi-2.4.0.jar;lib/decimal.jar;lib/webp4j-1.1.0.jar + lib/jpproxy.jar;lib/trident-6.2.jar;lib/substance-flamingo-6.2.jar;lib/flamingo-6.2.jar;lib/substance-fix.jar;lib/substance-6.2.jar;libsrc/ffdec_lib/src;lib/tablelayout.jar;lib/jsyntaxpane-0.9.5.jar;lib/JavactiveX.jar;lib/flashdebugger.jar;lib/treetable.jar;lib/minimal-json-0.9.5.jar;libsrc/ffdec_lib/lib/gnujpdf.jar;libsrc/ffdec_lib/lib/jna-3.5.1.jar;libsrc/ffdec_lib/lib/jna-platform-3.5.1.jar;libsrc/ffdec_lib/lib/flashdebugger.jar;lib/gifreader.jar;lib/jansi-2.4.0.jar;lib/decimal.jar;lib/webp4j-1.2.0.jar build javadoc reports