Я сейчас играю с ffmpeg libs, а именно libswscale
и libavcodec
.Моя цель - изменить размер GIF-файлов.Из моего нелепого понимания я думаю, что мне нужно
- декодировать GIF и получить AVFrame
- обрабатывать кадр с libswscale
- и снова кодировать в GIF
Но я застрял на шаге 1. Основываясь на официальной выборке на https://github.com/FFmpeg/FFmpeg/blob/master/doc/examples/decode_video.c, мне нужно получить парсер:
codec = avcodec_find_decoder(AV_CODEC_ID_GIF);
parser = av_parser_init(codec->id);
Но парсер не найден.Я не касаюсь парсера в моем вызове конфигурации, поэтому беру все:
Enabled parsers:
aac cavsvideo dvbsub h263 mpegvideo sipr xma
aac_latm cook dvd_nav h264 opus tak
ac3 dca dvdsub hevc png vc1
adx dirac flac mjpeg pnm vorbis
av1 dnxhd g729 mlp rv30 vp3
avs2 dpx gsm mpeg4video rv40 vp8
bmp dvaudio h261 mpegaudio sbc vp9
Что я делаю не так?Если это неправильный подход, то какой правильный?