sön 2019-02-17 klockan 23:22 +0100 skrev Tomas Härdin: > tor 2019-01-17 klockan 11:14 +0100 skrev Michael Niedermayer: > > On Thu, Jan 17, 2019 at 09:44:47AM +0100, Clément Bœsch wrote: > > > On Wed, Jan 16, 2019 at 01:40:20PM +0100, Tomas Härdin wrote: > > > > Hi > > > > > > > > I was helping the fine folks at peppercarrot.com with web video > > > > nonsense, and I notice palettegen outputs more colors than it > > > > should > > > > due to padding the generated palette with pure black. > > > > > > > > Compare this (ffmpeg version 3.2.12-1~deb9u1): > > > > http://www.härdin.se/files/peppercarrot_gif/output-blackspecks-64 > > > > .gif > > > > with this (282a471 with this patch applied): > > > > http://www.härdin.se/files/peppercarrot_gif/output-fixed-64.gif > > > > > > > > The attached patch fixes this by padding with the last color > > > > instead of > > > > black. > > > > > > > > /Tomas > > > > From 3a01f62fdcc95cc7afaf5aa6e439b8742cce43bc Mon Sep 17 00:00:00 > > > > 2001 > > > > > > > > From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= <tjop...@acc.umu.se> > > > > Date: Wed, 16 Jan 2019 13:07:48 +0100 > > > > Subject: [PATCH] palettegen: Fill with last color, not black > > > > > > > > If we fill with black then the generated palette will have one > > > > color more > > > > than what the user requested. This also resulted in unwanted > > > > black specks in > > > > the output of paletteuse, especially when generating small > > > > palettes. > > > > --- > > > > libavfilter/vf_palettegen.c | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/libavfilter/vf_palettegen.c > > > > b/libavfilter/vf_palettegen.c > > > > index 5ff73e6b2b..44323782d2 100644 > > > > --- a/libavfilter/vf_palettegen.c > > > > +++ b/libavfilter/vf_palettegen.c > > > > @@ -245,7 +245,7 @@ static void write_palette(AVFilterContext > > > > *ctx, AVFrame *out) > > > > av_log(ctx, AV_LOG_WARNING, "Dupped color: > > > > %08"PRIX32"\n", pal[x]); > > > > last_color = pal[x]; > > > > } else { > > > > - pal[x] = 0xff000000; // pad with black > > > > + pal[x] = last_color; // pad with last color > > > > } > > > > } > > > > pal += pal_linesize; > > > > > > Code LGTM, thanks > > > > > > No FATE change? > > > > > > --- ./tests/ref/fate/filter-palettegen-2 2019-01-15 > > 01:24:17.530911114 +0100 > > > > +++ tests/data/fate/filter-palettegen-2 2019-01-17 > > 11:13:21.077198948 +0100 > > @@ -3,4 +3,4 @@ > > #codec_id 0: rawvideo > > #dimensions 0: 16x16 > > #sar 0: 1/1 > > -0, 0, 0, 1, 1024, 0x906ff5aa > > +0, 0, 0, 1, 1024, 0x23e072c8 > > Test filter-palettegen-2 failed. Look at tests/data/fate/filter- > > palettegen-2.err for details. > > make: *** [fate-filter-palettegen-2] Error 1 > > Finally got around to fixing this. Updated patch attached, passes FATE > for me. I'll push in a day or two
Pushed /Tomas _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel