AVOption enumeration support and some flags to classify AVOptions

Originally committed as revision 4568 to svn://svn.ffmpeg.org/ffmpeg/trunk
pull/126/head
Michael Niedermayer 20 years ago
parent 79396ac685
commit 3735e82f2d
  1. 10
      libavcodec/avcodec.h
  2. 6
      libavcodec/opt.c

@ -21,8 +21,8 @@ extern "C" {
#define AV_STRINGIFY(s) AV_TOSTRING(s) #define AV_STRINGIFY(s) AV_TOSTRING(s)
#define AV_TOSTRING(s) #s #define AV_TOSTRING(s) #s
#define LIBAVCODEC_VERSION_INT ((49<<16)+(1<<8)+0) #define LIBAVCODEC_VERSION_INT ((49<<16)+(2<<8)+0)
#define LIBAVCODEC_VERSION 49.1.0 #define LIBAVCODEC_VERSION 49.2.0
#define LIBAVCODEC_BUILD LIBAVCODEC_VERSION_INT #define LIBAVCODEC_BUILD LIBAVCODEC_VERSION_INT
#define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION) #define LIBAVCODEC_IDENT "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION)
@ -698,6 +698,11 @@ typedef struct AVOption {
double default_val; double default_val;
double min; double min;
double max; double max;
int flags;
#define AV_OPT_FLAG_ENCODING_PARAM 1 ///< a generic parameter which can be set by the user for muxing or encoding
#define AV_OPT_FLAG_DECODING_PARAM 2 ///< a generic parameter which can be set by the user for demuxing or decoding
#define AV_OPT_FLAG_METADATA 4 ///< some data extracted or inserted into the file like title, comment, ...
} AVOption; } AVOption;
/** /**
@ -1883,6 +1888,7 @@ int av_set_q(void *obj, const char *name, AVRational n);
int av_set_int(void *obj, const char *name, int64_t n); int av_set_int(void *obj, const char *name, int64_t n);
const char *av_get_string(void *obj, const char *name); const char *av_get_string(void *obj, const char *name);
double av_get_double(void *obj, const char *name); double av_get_double(void *obj, const char *name);
AVOption *av_next_option(void *obj, AVOption *last);
/** /**

@ -46,6 +46,12 @@ static AVOption *find_opt(void *v, const char *name){
return NULL; return NULL;
} }
AVOption *av_next_option(void *obj, AVOption *last){
if(last && last[1].name) return ++last;
else if(last) return NULL;
else return (*(AVClass**)obj)->option;
}
static int av_set_number(void *obj, const char *name, double num, int den, int64_t intnum){ static int av_set_number(void *obj, const char *name, double num, int den, int64_t intnum){
AVOption *o= find_opt(obj, name); AVOption *o= find_opt(obj, name);
void *dst; void *dst;

Loading…
Cancel
Save