KaOSx / apps

KDE SC and applications
https://kaosx.us/packages/packages.php?sortby=name&sordir=asc&repo=apps
27 stars 20 forks source link

AVIF support in kimageformats #203

Closed novomesk closed 3 years ago

novomesk commented 3 years ago

Hello, I would suggest to build kimageformats with AVIF formats support.

It would be necessary to add libavif as dependency and the libavif must be build with av1 encoders/decoders (libaom and dav1d).

demmm commented 3 years ago

So far no-one in KaOS has mentioned a need for AVIF formats. Care to elaborate what the benefits are? Since KaOS has limited repos (https://kaosx.us/#goals), thus adding 3-4 extra packages for one option needs to benefit more then one user. Adding new also means removing others, repos won't just expand.

novomesk commented 3 years ago

AVIF is modern image format which is excellent in preserving acceptable image quality when file size is very small.

AVIF can be used by websites, browsers have partial support already:

https://caniuse.com/avif

https://jakearchibald.com/2020/avif-has-landed/

https://medium.com/vimeo-engineering-blog/upgrading-images-on-vimeo-620f79da8605

https://netflixtechblog.com/avif-for-next-generation-image-coding-b1d75675fe4

GIMP supports AVIF, Krita 5 will support it too.

KaOS supports another new image format JXL (via jpeg-xl and my qt-jpegxl-image-plugin) while other distros support AVIF and haven't added Jpeg XL yet.

I think it will be good to support both AVIF and JXL, to make these new formats successful.

libavif itself is a small library. dav1d is already in KaOS.

So if you add one package (libavif built with dav1d support), plug-in in kimageformats will have read-only AVIF support easily.

AVIF test files: https://github.com/AOMediaCodec/av1-avif/tree/master/testFiles

demmm commented 3 years ago

Thanks for the detailed description, implemented.