[FFmpeg-devel] [PATCH] flac: add GIF image support
leo60228
leo at 60228.dev
Fri Jan 29 17:54:09 EET 2021
The FLAC specification requires GIF images to contain their number of
colors. While I can't find a specific reference to that effect, I'm
assuming that's why GIF images were previously unsupported. This was
implemented by just writing AVPALETTE_COUNT for paletted images.
---
libavformat/flacenc.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/libavformat/flacenc.c b/libavformat/flacenc.c
index 1c983486aa..c9834b7d93 100644
--- a/libavformat/flacenc.c
+++ b/libavformat/flacenc.c
@@ -155,7 +155,10 @@ static int flac_write_picture(struct AVFormatContext *s, AVPacket *pkt)
avio_wb32(pb, av_get_bits_per_pixel(pixdesc));
else
avio_wb32(pb, 0);
- avio_wb32(pb, 0);
+ if (st->codecpar->format == AV_PIX_FMT_PAL8)
+ avio_wb32(pb, AVPALETTE_COUNT);
+ else
+ avio_wb32(pb, 0);
avio_wb32(pb, pkt->size);
avio_write(pb, pkt->data, pkt->size);
@@ -218,9 +221,6 @@ static int flac_init(struct AVFormatContext *s)
if (!(st->disposition & AV_DISPOSITION_ATTACHED_PIC)) {
av_log(s, AV_LOG_WARNING, "Video stream #%d is not an attached picture. Ignoring\n", i);
continue;
- } else if (st->codecpar->codec_id == AV_CODEC_ID_GIF) {
- av_log(s, AV_LOG_ERROR, "GIF image support is not implemented.\n");
- return AVERROR_PATCHWELCOME;
} else if (!c->write_header) {
av_log(s, AV_LOG_ERROR, "Can't write attached pictures without a header.\n");
return AVERROR(EINVAL);
--
2.28.0
More information about the ffmpeg-devel
mailing list