[FFmpeg-devel] [PATCH] lavu/opt: change the way ranges are printed

Stefano Sabatini stefasab at gmail.com
Sat Dec 8 19:59:46 CET 2012


On date Saturday 2012-12-08 19:16:36 +0100, Clément Bœsch encoded:
> On Sat, Dec 08, 2012 at 07:14:31PM +0100, Stefano Sabatini wrote:
> > ---
> >  libavutil/opt.c |   15 ++++++++-------
> >  1 file changed, 8 insertions(+), 7 deletions(-)
> > 
> > diff --git a/libavutil/opt.c b/libavutil/opt.c
> > index b8ad36f..d388b7d 100644
> > --- a/libavutil/opt.c
> > +++ b/libavutil/opt.c
> > @@ -750,7 +750,7 @@ static void log_value(void *av_log_obj, int level, double d)
> >      } else if (d == FLT_MIN) {
> >          av_log(av_log_obj, level, "FLT_MIN");
> >      } else {
> > -        av_log(av_log_obj, level, "%7.2g", d);
> > +        av_log(av_log_obj, level, "%g", d);
> >      }
> >  }
> >  
> > @@ -826,6 +826,9 @@ static void opt_list(void *obj, void *av_log_obj, const char *unit,
> >          av_log(av_log_obj, AV_LOG_INFO, "%c", (opt->flags & AV_OPT_FLAG_AUDIO_PARAM   ) ? 'A' : '.');
> >          av_log(av_log_obj, AV_LOG_INFO, "%c", (opt->flags & AV_OPT_FLAG_SUBTITLE_PARAM) ? 'S' : '.');
> >  
> > +        if (opt->help)
> > +            av_log(av_log_obj, AV_LOG_INFO, " %s", opt->help);
> > +
> >          if (av_opt_query_ranges(&r, obj, opt->name, AV_OPT_SEARCH_FAKE_OBJ) >= 0) {
> >              switch (opt->type) {
> >              case AV_OPT_TYPE_INT:
> > @@ -833,20 +836,18 @@ static void opt_list(void *obj, void *av_log_obj, const char *unit,
> >              case AV_OPT_TYPE_DOUBLE:
> >              case AV_OPT_TYPE_FLOAT:
> >              case AV_OPT_TYPE_RATIONAL:
> > -                for (i = 0; i <r->nb_ranges; i++) {
> > -                    av_log(av_log_obj, AV_LOG_INFO, "[");
> > +                for (i = 0; i < r->nb_ranges; i++) {
> > +                    av_log(av_log_obj, AV_LOG_INFO, " (from ");
> >                      log_value(av_log_obj, AV_LOG_INFO, r->range[i]->value_min);
> > -                    av_log(av_log_obj, AV_LOG_INFO, ", ");
> > +                    av_log(av_log_obj, AV_LOG_INFO, " to ");
> >                      log_value(av_log_obj, AV_LOG_INFO, r->range[i]->value_max);
> > -                    av_log(av_log_obj, AV_LOG_INFO, "]");
> > +                    av_log(av_log_obj, AV_LOG_INFO, ")");
> 

> Lines can be long, you may want to drop the "from".

That would harm intelligibility.

> Also, if there are
> multiple ranges, what about "(1 to 10, 15 to 50, 80 to 120)"?

Do we have options which such multiple ranges? If not I'm going to
push this variant before overdesigning it, unless you want to pick the
patch and improve it yourself.
-- 
FFmpeg = Fabulous & Faithful Multimedia Philosophical Eccentric Guru


More information about the ffmpeg-devel mailing list