gif playback pipeline

Jesper Jensen jesper at jnsn.dev
Mon Jul 3 20:31:14 UTC 2023


Hey,

Does anyone have a working gif decoding pipeline? I've been trying to get one
working, but I'm having a hard time getting gstreamer to accuratly decode and
play the entire gif. It seems to get stuck halfway through every time, and
fiddling with it only gets it to go a little futher.

I'm using the libav based gif decoder, and I've tested that the gif itself works
fine in ffmpeg. In fact it looks to work fine in libav in gstreamer as well,
with all my issues coming from QoS.

The basic pipeline is:
gst-launch-1.0 filesrc location=<file> ! avdemux_gif ! avdec_gif ! videoconvert ! autovideosink
This gets me 1 frame of decoded output with the rest dropped for QoS (the debug
log reveals this).

If I add videorate and switch to glimagesink with qos disabled, I can get it to
decode everything but the last frame:
gst-launch-1.0 filesrc location=<file> ! avdemux_gif ! avdec_gif ! videoconvert ! videorate ! glimagesink qos=false
This seems to be the best I can get gstreamer to do, but I'm also pretty new to
this whole thing. Has anybody been able to do better? I'm especially interested
in doing better with playbin (which seems particularly useless for gif decoding).

Regards,

-- 
Jesper Jensen
PGP Fingerprint: DC1E 2882 4A1B 9821 B7E4  3D3D F1FB F142 B815 2A85
http://keybase.io/delusional
Damstræde 90
9220 Aalborg Øst

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/gstreamer-devel/attachments/20230703/b5b2db58/attachment-0001.sig>


More information about the gstreamer-devel mailing list