Jump to content

Plugins for newish image file formats desired


Crissov

Recommended Posts

There are several image formats out there which I cannot find a Paint.net I/O plugin for yet. I wish there were:

  • AVIF, which is AV1-based HEIF (built upon ISOBMMF), unlike the default HEVC/H.265 in HEIC that is supported since 4.2 (if Windows supports it). There is a free download for an AV1 video extension in the MS Store, which might be enough already in combination with the HEIF download. (Edit: 4.2.2+)
  • BPG, HEVC i-frames in a different container
  • JPEG XL (JXL) and JPEG XT (JXT), incremental, partially backwards-compatible enhancements of classic JPEG
  • FLIF, a free format using MANIAC
  • JNG, i.e. JPEG in PNG, is usually considered a subset of MNG. Both formats are almost twenty years old now and can be considered to have failed to gain acceptance.
Edited by Crissov
Link to comment
Share on other sites

I'm pretty sure it uses HEVC when saving. The HEIF codec doesn't have any configuration settings -- and I mean at the code level, there aren't any that Microsoft lets me configure.

 

The codec does support *.avci but I don't know what they specifically mean by that. I'm not really certain what the HEIF codec actually supports since it's pretty clear they phoned it in. You could try renaming an *.avci file to *.heic and see if Paint.NET (or even Paint) will load it though.

 

image.png

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

Someone would need to write a plugin for this. I can't really bundle things with the app because there are licensing issues and royalties. This stuff ain't free, in other words. Because charging money is a great way to ensure your new codec gets adopted, right? 🤦‍♂️🤦‍♀️

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

5 hours ago, Rick Brewster said:

Someone would need to write a plugin for this. I can't really bundle things with the app because there are licensing issues and royalties. This stuff ain't free, in other words.

 

Based onto the x265 Licensing FAQ, it appears that a plugin would also require a commercial use license for HEVC encoding.

 

  • 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

 

Link to comment
Share on other sites

19 minutes ago, Rick Brewster said:

What a shame.

 

I agree.

 

19 minutes ago, Rick Brewster said:

But, GPLv2 is not going to permit that.

 

IANAL, but it looks like the GPL license would prevent proprietary applications from using open-source plugins as a workaround.

 

From the x265 Licensing FAQ:

Quote

Can I add support for x265 to my product, encouraging my end-users to download the GPL version of x265 and plug it in on their own?

We don’t regard this attempted “workaround” to the conditions imposed by the GPL v2 to be any different than distributing x265 in your product directly.  See https://www.gnu.org/licenses/old-licenses/gpl-2.0-faq.en.html#LinkingWithGPL

 

Quote

Are there exceptions for dynamic linking instead of static linking x265?

No. Linking a GPL covered work statically or dynamically with other modules is making a combined work based on the GPL covered work. Thus, the terms and conditions of the GNU General Public License cover the whole combination.  See https://www.gnu.org/licenses/gpl-faq.html#GPLStaticVsDynamic

 

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

 

Link to comment
Share on other sites

I'm pretty sure it's OK to allow 3rd-party plugins that are GPL licensed. Otherwise you wouldn't be able to have GPL plugins for, say, Photoshop. However, there couldn't be anything in the app that encourages you to go and get that plugin (from what I understand).

 

So, it's fine if you develop a GPL-licensed plugin for whatever file type, host the source on (e.g.) GitHub, and then publish it here on the forum. However, it's not okay if there's then a stub in the app for that file type that, when the user attempts to use it, causes a pop-up that says "Hey here's where you go and get the plugin for this file type: [link to that GPL plugin]."

 

The best I think I can do is add some way for a plugin to override the built-in HEIC file type -- either through the hidden setting similar to what the AVIF beta plugin is using (not great user experience), or through the IFileTypeHost interface.

The Paint.NET Blog: https://blog.getpaint.net/

Donations are always appreciated! https://www.getpaint.net/donate.html

forumSig_bmwE60.jpg

Link to comment
Share on other sites

  • 1 year later...

Is there any interest in supporting jpeg xl? It seems to be the technically superior format, and most browsers support it behind a flag. Bitstream is frozen as well.

Link to comment
Share on other sites

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