pqiv icon indicating copy to clipboard operation
pqiv copied to clipboard

APNG support

Open Granitosaurus opened this issue 5 years ago • 4 comments
trafficstars

APNG is a animated png format that is becoming quite popular. pqiv however doesn't support displaying animations or at least animation_continue() does nothing.
Currently it's supported by major browsers and many applications - thus I think it would be addition to pqiv as well.

Granitosaurus avatar Mar 22 '20 10:03 Granitosaurus

libav supports apng. Could you check what happens if you disable all backends but ffmpeg/libav (see man page)?

If that works it might be as simple as hardcoding apng files to map to libav.

phillipberndt avatar Mar 22 '20 12:03 phillipberndt

I'm getting this error:

$ pqiv ~/pictures/bugcat-sticker/55.apng --disable-backends=archive,archive_cbx,gdkpixbuf,poppler,spectre,webp,wand   
Didn't recognize file `/home/dex/pictures/bugcat-sticker/55.apng': Both its extension and MIME-type `image/png' are unknown. Fall-back to default file handler.
Segmentation fault (core dumped)

Seems like it's using gdkpixbuf backend for opening this apng file.

Granitosaurus avatar Mar 22 '20 12:03 Granitosaurus

Any way to get around this?

Granitosaurus avatar Mar 27 '20 04:03 Granitosaurus

Sorry for the delay, and thanks for the reminder.

The same command works fine for me, and I can view an animated PNG. The core dump looks like there's something wrong either in pqiv or libav with the version you are using.

Are you familiar with debugging applications? If you can get your hands on a pqiv with debug symbols (when you compile yourself it'll have) you could generate a stacktrace for the crash, by running pqiv as gdb --args pqiv ~/pictures/bugcat-sticker/55.apng --disable-backends=archive,archive_cbx,gdkpixbuf,poppler,spectre,webp,wand and typing r<enter> to start it. Upon the crash, it'll fall back to a command line where you can generate a trace by typing bt<enter>.

If not, let me know which distribution (version) you have. I can send you a custom compiled binary with the necessary debugging information for me to make sense out of a stacktrace.

phillipberndt avatar Mar 27 '20 16:03 phillipberndt