[FFmpeg-devel] [PATCH] avfilter/palettegen: export color quantization ratio

Clément Bœsch u at pkh.me
Wed Feb 25 16:14:11 CET 2015


On Wed, Feb 25, 2015 at 03:43:23PM +0100, Nicolas George wrote:
> Le septidi 7 ventôse, an CCXXIII, Clement Boesch a écrit :
> > +    float ratio = (float)nb_out / nb_in;
> > +    snprintf(buf, sizeof(buf), "%f", ratio);
> 
> I wonder if both values could be useful instead individually. If so, either
> set the string to %d/%d or set two metadata keys.
> 

The numerator is the user input, so only one value is necessary. We could
export the number of colors found in the input (nb_in), but this code is
all about the quantization process so I think the ratio is actually more
relevant.

> If not, use double instead of float, float is very rarely useful. And in
> this particular case it will be converted to double by the vararg call.

Sure, OK

> 
> > +    av_log(ctx, AV_LOG_INFO, "%d%s colors generated out of %d colors; ratio=%f\n",
> > +           s->nb_boxes, s->reserve_transparent ? "(+1)" : "", s->nb_refs,
> > +           set_colorquant_ratio_meta(out, s->nb_boxes, s->nb_refs));
> 
> This is your code, but I must say that I find returning the double value as
> a secondary effect of a function called set_something() not very readable.

The alternative was to have the ratio declared on top of the function (far
away), or pass the context to set_colorquant_ratio_meta() to make it log
as well. This is really a cosmetic issue, maybe I'll just declare ratio on
top so it's more readable.

-- 
Clément B.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 473 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20150225/1c152701/attachment.asc>


More information about the ffmpeg-devel mailing list