null54 Posted August 29, 2022 Posted August 29, 2022 This plugin allows JPEG XL images to be loaded and saved using libjxl. The plugin only supports single frame images, animated images will generate an error when loading. I strongly recommend you save your work in another format before exporting to JXL using this plugin. If libjxl encounters an unexpected error it may cause paint.net close without warning. Compatibility: 5.1+ Installation: 1. Close Paint.NET. 2. Place JpegXLFileType.dll, JpegXLFileTypeIO_ARM64.dll and JpegXLFileTypeIO_x64.dll in the Paint.NET FileTypes folder which is usually located in one the following locations depending on the Paint.NET version you have installed. Classic: C:\Program Files\Paint.NET\FileTypes Microsoft Store: Documents\paint.net App Files\FileTypes Portable: <Paint.NET folder>\FileTypes 3. Restart Paint.NET. 4. The filetype should now be available as the "JPEG XL" item in the open and save dialogs. Download: JpegXLFileType.zip Source Code: https://github.com/0xC0000054/pdn-jpegxl 5 1 Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
mdnava Posted August 31, 2022 Posted August 31, 2022 (edited) Greatly appreciated! Do you think metadata preservation (EXIF, XMP) will be possible in the future?.. Edited August 31, 2022 by mdnava Quote
null54 Posted August 31, 2022 Author Posted August 31, 2022 34 minutes ago, mdnava said: Do you think metadata preservation (EXIF, XMP) will be possible in the future?.. It should be once libjxl version 0.7 is released and available in vcpkg. According to the libjxl release notes on GitHub, the EXIF and XMP metadata API was added in the libjxl version 0.7 release candidate. 1 Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
null54 Posted September 1, 2022 Author Posted September 1, 2022 Release version 1.0.1. Changes: Fixed lossless encoding Reduced memory usage when decoding 2 1 Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
0.NRG Posted October 6, 2022 Posted October 6, 2022 Hi, @null54. Any idea when you might be updating this plugin based on libjxl v0.7 which was released a couple of weeks ago? Thank you for your work on this plugin. Quote
null54 Posted October 6, 2022 Author Posted October 6, 2022 3 hours ago, 0.NRG said: Any idea when you might be updating this plugin based on libjxl v0.7 which was released a couple of weeks ago? When the libjxl version in vcpkg is updated. I opened an issue requesting this, but the PR that fixes it has not been merged yet. 1 Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
null54 Posted November 5, 2022 Author Posted November 5, 2022 Release version 1.0.2. Changes: Updated to libjxl version 0.7.0. Added support for EXIF and XMP metadata Changed the encoder speed slider behavior to match cjxl Fixed a potential infinite loop when reading a truncated file 1 1 Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
VcSaJen Posted December 22, 2022 Posted December 22, 2022 On 8/29/2022 at 4:06 PM, null54 said: I strongly recommend you save your work in another format before exporting to JXL using this plugin. If libjxl encounters an unexpected error it may cause paint.net close without warning. Are there any example *.jxl files that would cause crash? Quote
null54 Posted December 22, 2022 Author Posted December 22, 2022 4 hours ago, VcSaJen said: Are there any example *.jxl files that would cause crash? I have not seen any files that cause a crash when opening or saving, but I have encountered a crash when changing the encoder parameters in a debug build of the plugin. That warning is due to the fact that libjxl calls the C runtime abort() function as part of its error handling. Because of this libjxl could terminate the Paint.NET process if it encounters any unexpected error, e.g. out of memory or a corrupt file. The libjxl repository has an open issue related to removing the abort code: https://github.com/libjxl/libjxl/issues/1450 Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
null54 Posted January 28, 2023 Author Posted January 28, 2023 Release version 1.0.3. This release is for Paint.NET 5.0+. Changes: Updated to libjxl version 0.8.0. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
null54 Posted August 27, 2023 Author Posted August 27, 2023 Release version 1.0.4. This release is for Paint.NET 5.0+. Changes: Update libjxl to version 0.8.2. Added the plugin and libjxl versions to the save UI. Ignore corrupted EXIF data. 1 Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
null54 Posted October 17, 2023 Author Posted October 17, 2023 Release version 1.0.5. Changes: Convert XYB encoded images to sRGB when loading. Fixed saving images with embedded color profiles. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
VcSaJen Posted April 6 Posted April 6 (edited) 0.10.x is pretty exciting, can't wait for an update! P.S. Any chance for jpegli plugin? It's an alternative to mozjpeg. Edited April 6 by VcSaJen Quote
null54 Posted April 6 Author Posted April 6 6 hours ago, VcSaJen said: 1.10.x is pretty exciting, can't wait for an update! I am waiting for version 1.0 to be released, that way I won't have to repeatedly update the plugin for the libjxl API changes. 6 hours ago, VcSaJen said: P.S. Any chance for jpegli plugin? It's an alternative to mozjpeg. I have no plans to make a jpegli plugin. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
VcSaJen Posted April 6 Posted April 6 Quote I am waiting Just FYI, there was a serious bug in the decoding part, so all old versions are non-compliant to the file format standard (all old versions fail to decode some jxl files). Quote
RasterizedMuffins Posted August 31 Posted August 31 According to the official JPEG working group's site, the JPEGXL format supports layers, but when I try to save using this plugin as that format it always prompts me to flatten the image. Am I misunderstanding something? Quote
null54 Posted August 31 Author Posted August 31 55 minutes ago, RasterizedMuffins said: Am I misunderstanding something? The JPEG XL format supports layers, but this plugin currently does not. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
RasterizedMuffins Posted August 31 Posted August 31 Ah. Fair enough. Thanks for the quick response! Do you have any plans to introduce said support, by chance? Quote
null54 Posted August 31 Author Posted August 31 2 hours ago, RasterizedMuffins said: Do you have any plans to introduce said support, by chance? No. I am not ruling it out as a possibility, but it would be a long-term feature. There is also an issue requesting multi-layer support on GitHub. Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
RasterizedMuffins Posted September 7 Posted September 7 Fair enough. Thanks for all your hard work regardless. I appreciate it. Quote
null54 Posted October 30 Author Posted October 30 Release version 1.0.6, which updates libjxl to version 0.11.0. 2 Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
user.by Posted October 30 Posted October 30 43 minutes ago, null54 said: Release version 1.0.6, which updates libjxl to version 0.11.0. JpegXLFileType.pdb file is missing. Quote
null54 Posted October 30 Author Posted October 30 7 minutes ago, user.by said: JpegXLFileType.pdb file is missing. I didn't include the PDB with this release. 1 Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
user.by Posted October 30 Posted October 30 10 minutes ago, null54 said: I didn't include the PDB with this release. we can remove before pdb file from filetype folder. Quote
null54 Posted October 30 Author Posted October 30 29 minutes ago, user.by said: we can remove before pdb file from filetype folder. Yes. 1 Quote Plugin Pack | PSFilterPdn | Content Aware Fill | G'MIC | Paint Shop Pro Filetype | RAW Filetype | WebP Filetype The small increase in performance you get coding in C++ over C# is hardly enough to offset the headache of coding in the C++ language. ~BoltBait
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.