jcupitt / vipsdisp

Tiny libvips / gtk+4 image viewer
MIT License
130 stars 10 forks source link

avif support #13

Open G2G2G2G opened 1 year ago

G2G2G2G commented 1 year ago

On the lib it says there is AVIF support. On the readme of this it does not say that.

Is it supposed to have it or missing something?

My install method is flatpak if it matters, seems you're maybe involved there too https://github.com/flathub/org.libvips.vipsdisp (unless it's automated)

jcupitt commented 1 year ago

Hi @G2G2G2G,

Yes, the flatpak build supports AVIF load and save, with a few missing features. Most things should work though.

image

G2G2G2G commented 1 year ago

Do I need something else? I used convert (imagemagik) and avifenc (libavif I think)

wget https://user-images.githubusercontent.com/580843/223641035-50ae6821-43ab-4f36-b68d-240c68c2a31a.png

convert 223641035-50ae6821-43ab-4f36-b68d-240c68c2a31a.png test.avif

avifenc 223641035-50ae6821-43ab-4f36-b68d-240c68c2a31a.png test2.avif

org.libvips.vipsdisp test2.avif 
F: Not sharing "/usr/share/themes" with sandbox: Path "/usr" is reserved by Flatpak
(vipsdisp:2): VIPS-WARNING **: 14:58:26.858: heifload: ignoring nclx profile
(vipsdisp:2): VIPS-WARNING **: 14:58:26.858: heifload: ignoring nclx profile
(vipsdisp:2): VIPS-WARNING **: 14:58:26.859: heifload: ignoring nclx profile
(vipsdisp:2): VIPS-WARNING **: 14:58:26.859: heifload: ignoring nclx profile
(vipsdisp:2): VIPS-WARNING **: 14:58:26.864: error in tile 0 x 0

org.libvips.vipsdisp test.avif 
F: Not sharing "/usr/share/themes" with sandbox: Path "/usr" is reserved by Flatpak
(vipsdisp:2): VIPS-WARNING **: 14:58:50.568: heifload: ignoring nclx profile
(vipsdisp:2): VIPS-WARNING **: 14:58:50.568: heifload: ignoring nclx profile
(vipsdisp:2): VIPS-WARNING **: 14:58:50.569: heifload: ignoring nclx profile
(vipsdisp:2): VIPS-WARNING **: 14:58:50.569: heifload: ignoring nclx profile
(vipsdisp:2): VIPS-WARNING **: 14:58:50.574: error in tile 0 x 0

my file manager shows them though image

github won't let me attach any types of files.. here is the base64 of the imagemagik one are me encodings bad? or is my flatpak bad?

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
DObsfMpLC1IcGc9wvX9XAQydr96A

(if you put the above in a file and run base64 --decode file.txt should make an avif file)

using the file command

file test*
test.avif:  ISO Media, AVIF Image
test2.avif: ISO Media, AVIF Image
jcupitt commented 1 year ago

Hi again, it works for me. I see:

$ wget https://user-images.githubusercontent.com/580843/223641035-50ae6821-43ab-4f36-b68d-240c68c2a31a.png
--2023-03-08 22:38:16--  https://user-images.githubusercontent.com/580843/223641035-50ae6821-43ab-4f36-b68d-240c68c2a31a.png
...
$ convert 223641035-50ae6821-43ab-4f36-b68d-240c68c2a31a.png test.avif
$ flatpak run org.libvips.vipsdisp test.avif 

(vipsdisp:2): VIPS-WARNING **: 22:38:38.482: heifload: ignoring nclx profile

(vipsdisp:2): VIPS-WARNING **: 22:38:38.482: heifload: ignoring nclx profile

(vipsdisp:2): VIPS-WARNING **: 22:38:38.483: heifload: ignoring nclx profile

(vipsdisp:2): VIPS-WARNING **: 22:38:38.483: heifload: ignoring nclx profile

And it displays fine.

Do you have an old imagemagick? I see:

$ convert --version
Version: ImageMagick 6.9.11-60 Q16 x86_64 2021-01-25 https://imagemagick.org
jcupitt commented 1 year ago

Your base64 encoded avif also displays for me in vipsdisp.

G2G2G2G commented 1 year ago

yea something must be wrong with my flatpak I do not know about flatpak, I thought it "just works" and has all the libs and stuff it needs

I compile my imagemagick for jxl (which ironically still doesn't work even though it's there in the output below) so it is pretty recent (just so there's no confusion when I say "it doesn't work" I mean imagemagick doesn't make a jxl file, it makes a .jxl with jpeg data.. vipsdisp does display jxl fine for me. I use cjxl via libjxl to make them.)

convert --version
Version: ImageMagick 7.1.0-62 Q16-HDRI x86_64 20885 https://imagemagick.org
Copyright: (C) 1999 ImageMagick Studio LLC
License: https://imagemagick.org/script/license.php
Features: Cipher DPC HDRI Modules OpenCL OpenMP(4.5) 
Delegates (built-in): bzlib cairo djvu fontconfig freetype heic jbig jng jp2 jpeg jxl lcms lqr ltdl lzma openexr pangocairo png raqm raw rsvg tiff webp wmf x xml zip zlib
Compiler: gcc (12.2)

avif doesn't get listed there but that image does work.. also you said it works so that's double confirm.

Anything I can run/do to test the flatpak? It opens with this (forgot to mention) basically says it is 1x1 p/mm? I assume that's the error it outputs with tile 0 x 0

image

it does work with every other image format though.. I have converted it to several others and it opens fine

jcupitt commented 9 months ago

I've updated the flatpak again, I don't suppose that helped?