From 20e708cbbeffcc3e55f77cbb0d4ae85a54196d62 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer <michaelni@gmx.at> Date: Wed, 7 Mar 2007 02:21:35 +0000 Subject: [PATCH] add av_opt_set_defaults2() which sets just defaults from AVOptions whos flags match a user specified & mask = flags Originally committed as revision 8280 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/opt.c | 8 +++++++- libavcodec/opt.h | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/libavcodec/opt.c b/libavcodec/opt.c index bbfc42b2b79..ed7aaa0f86f 100644 --- a/libavcodec/opt.c +++ b/libavcodec/opt.c @@ -343,10 +343,12 @@ int av_opt_show(void *obj, void *av_log_obj){ * * @param s AVCodecContext or AVFormatContext for which the defaults will be set */ -void av_opt_set_defaults(void *s) +void av_opt_set_defaults2(void *s, int mask, int flags) { const AVOption *opt = NULL; while ((opt = av_next_option(s, opt)) != NULL) { + if((opt->flags & mask) != flags) + continue; switch(opt->type) { case FF_OPT_TYPE_CONST: /* Nothing to be done here */ @@ -379,3 +381,7 @@ void av_opt_set_defaults(void *s) } } +void av_opt_set_defaults(void *s){ + av_opt_set_defaults2(s, 0, 0); +} + diff --git a/libavcodec/opt.h b/libavcodec/opt.h index 1d750ff2964..151dbb788eb 100644 --- a/libavcodec/opt.h +++ b/libavcodec/opt.h @@ -80,5 +80,6 @@ const char *av_get_string(void *obj, const char *name, const AVOption **o_out, c const AVOption *av_next_option(void *obj, const AVOption *last); int av_opt_show(void *obj, void *av_log_obj); void av_opt_set_defaults(void *s); +void av_opt_set_defaults2(void *s, int mask, int flags); #endif -- GitLab