Jump to content
How to Install Plugins ×
Paint.NET 5.1 is now available! ×

Recommended Posts

Posted

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.

 

btn_donate_SM.gif
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

  • Like 5
  • Thanks 1

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

Posted (edited)

Greatly appreciated!

 

Do you think metadata preservation (EXIF, XMP) will be possible in the future?..

Edited by mdnava
Posted
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.

  • Hooray 1

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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 changed the title to JPEG XL FileType (09-01-2022)
  • 1 month later...
Posted
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.

  • Like 1

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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 changed the title to JPEG XL FileType (11-05-2022)
Posted

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
  • Like 1
  • Upvote 1

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

  • 1 month later...
Posted
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?

Posted
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

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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 changed the title to JPEG XL FileType (01-28-2023)
  • null54 changed the title to JPEG XL FileType (08-27-2023)
Posted

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.
  • Like 1

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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 changed the title to JPEG XL FileType (10-17-2023)
  • 5 months later...
Posted (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 by VcSaJen
Posted
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.

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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

 

Posted
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).

  • 4 months later...
Posted
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.

PdnSig.png

Plugin Pack | PSFilterPdn | Content Aware Fill | G'MICPaint 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 changed the title to JPEG XL FileType (10-29-2024)

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...