On Sun, Sep 06, 2015 at 07:43:47PM +0200, Clément Bœsch wrote: > TODO: bump lavu minor > --- > libavutil/opt.c | 69 > +++++++++++++++++++++++++++++++++++++++++++++++++++++- > libavutil/opt.h | 1 + > tests/ref/fate/opt | 22 +++++++++++++++-- > 3 files changed, 89 insertions(+), 3 deletions(-) > > diff --git a/libavutil/opt.c b/libavutil/opt.c > index 4030fa8..9912d9e 100644 > --- a/libavutil/opt.c > +++ b/libavutil/opt.c > @@ -60,6 +60,7 @@ static int read_number(const AVOption *o, const void *dst, > double *num, int *den > case AV_OPT_TYPE_FLAGS: *intnum = *(unsigned int*)dst;return 0; > case AV_OPT_TYPE_PIXEL_FMT: *intnum = *(enum AVPixelFormat *)dst;return > 0; > case AV_OPT_TYPE_SAMPLE_FMT:*intnum = *(enum AVSampleFormat*)dst;return > 0; > + case AV_OPT_TYPE_BOOL: > case AV_OPT_TYPE_INT: *intnum = *(int *)dst;return 0; > case AV_OPT_TYPE_CHANNEL_LAYOUT: > case AV_OPT_TYPE_DURATION: > @@ -96,6 +97,7 @@ static int write_number(void *obj, const AVOption *o, void > *dst, double num, int > switch (o->type) { > case AV_OPT_TYPE_PIXEL_FMT: *(enum AVPixelFormat *)dst = llrint(num/den) > * intnum; break; > case AV_OPT_TYPE_SAMPLE_FMT:*(enum AVSampleFormat*)dst = llrint(num/den) > * intnum; break; > + case AV_OPT_TYPE_BOOL: > case AV_OPT_TYPE_FLAGS: > case AV_OPT_TYPE_INT: *(int *)dst= llrint(num/den)*intnum; break; > case AV_OPT_TYPE_DURATION: > @@ -297,6 +299,49 @@ static int set_string_color(void *obj, const AVOption > *o, const char *val, uint8 > return 0; > } > > +static const char *get_bool_name(int val) > +{ > + if (val < 0) > + return "auto"; > + return val ? "true" : "false"; > +} > +
> +static int parse_bool(void *log_ctx, const char *val, int *dst) > +{ > + int i; > + static const char * const str_y[] = {"1", "true", "y", "yes", "enable", > "enabled"}; > + static const char * const str_n[] = {"0", "false", "n", "no", > "disable", "disabled"}; > + > + if (!strcmp(val, "auto")) { > + *dst = -1; > + return 0; > + } > + > + for (i = 0; i < FF_ARRAY_ELEMS(str_y); i++) { > + if (!strcmp(val, str_y[i])) { > + *dst = 1; > + return 0; > + } > + } > + > + for (i = 0; i < FF_ARRAY_ELEMS(str_n); i++) { > + if (!strcmp(val, str_n[i])) { > + *dst = 0; > + return 0; > + } > + } > + this can be simplified with av_match_name() or something similar patch LGTM [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB The real ebay dictionary, page 3 "Rare item" - "Common item with rare defect or maybe just a lie" "Professional" - "'Toy' made in china, not functional except as doorstop" "Experts will know" - "The seller hopes you are not an expert"
signature.asc
Description: Digital signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel