Browse Source

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
tags/v0.5
Michael Niedermayer 18 years ago
parent
commit
20e708cbbe
2 changed files with 8 additions and 1 deletions
  1. +7
    -1
      libavcodec/opt.c
  2. +1
    -0
      libavcodec/opt.h

+ 7
- 1
libavcodec/opt.c View File

@@ -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 * @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; const AVOption *opt = NULL;
while ((opt = av_next_option(s, opt)) != NULL) { while ((opt = av_next_option(s, opt)) != NULL) {
if((opt->flags & mask) != flags)
continue;
switch(opt->type) { switch(opt->type) {
case FF_OPT_TYPE_CONST: case FF_OPT_TYPE_CONST:
/* Nothing to be done here */ /* 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);
}


+ 1
- 0
libavcodec/opt.h View File

@@ -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); const AVOption *av_next_option(void *obj, const AVOption *last);
int av_opt_show(void *obj, void *av_log_obj); int av_opt_show(void *obj, void *av_log_obj);
void av_opt_set_defaults(void *s); void av_opt_set_defaults(void *s);
void av_opt_set_defaults2(void *s, int mask, int flags);


#endif #endif

Loading…
Cancel
Save