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+ 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 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 Author Share Posted January 28 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...
DavidPeterson Posted August 8 Share Posted August 8 (edited) On 1/28/2023 at 6:57 PM, null54 said: Release version 1.0.3. This release is for Paint.NET 5.0+. Changes: Updated to libjxl version 0.8.0. Thanks, I will try it. Edit: I tried it and I really like it. Edited September 8 by DavidPeterson Quote Link to comment Share on other sites More sharing options...
null54 Posted August 27 Author Share Posted August 27 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...
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.