null54 Posted August 29, 2022 Share 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.0.13+ 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 Link to comment Share on other sites More sharing options...
mdnava Posted August 31, 2022 Share 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 Link to comment Share on other sites More sharing options...
null54 Posted August 31, 2022 Author Share 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 Link to comment Share on other sites More sharing options...
null54 Posted September 1, 2022 Author Share 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 Link to comment Share on other sites More sharing options...
0.NRG Posted October 6, 2022 Share 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 Link to comment Share on other sites More sharing options...
null54 Posted October 6, 2022 Author Share 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 Link to comment Share on other sites More sharing options...
null54 Posted November 5, 2022 Author Share 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 Link to comment Share on other sites More sharing options...
VcSaJen Posted December 22, 2022 Share 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 Link to comment Share on other sites More sharing options...
null54 Posted December 22, 2022 Author Share 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 Link to comment Share on other sites More sharing options...
null54 Posted January 28, 2023 Author Share 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 Link to comment Share on other sites More sharing options...
null54 Posted August 27, 2023 Author Share 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 Link to comment Share on other sites More sharing options...
null54 Posted October 17, 2023 Author Share 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 Link to comment Share on other sites More sharing options...
VcSaJen Posted April 6 Share 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 Link to comment Share on other sites More sharing options...
null54 Posted April 6 Author Share 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 Link to comment Share on other sites More sharing options...
VcSaJen Posted April 6 Share 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 Link to comment Share on other sites More sharing options...
RasterizedMuffins Posted August 31 Share 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 Link to comment Share on other sites More sharing options...
null54 Posted August 31 Author Share 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 Link to comment Share on other sites More sharing options...
RasterizedMuffins Posted August 31 Share Posted August 31 Ah. Fair enough. Thanks for the quick response! Do you have any plans to introduce said support, by chance? Quote Link to comment Share on other sites More sharing options...
null54 Posted August 31 Author Share 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 Link to comment Share on other sites More sharing options...
RasterizedMuffins Posted September 7 Share Posted September 7 Fair enough. Thanks for all your hard work regardless. I appreciate it. Quote Link to comment Share on other sites More sharing options...
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.