AVOption enumeration support and some flags to classify AVOptions
authorMichael Niedermayer <michaelni@gmx.at>
Tue, 6 Sep 2005 21:32:18 +0000 (21:32 +0000)
committerMichael Niedermayer <michaelni@gmx.at>
Tue, 6 Sep 2005 21:32:18 +0000 (21:32 +0000)
Originally committed as revision 4568 to svn://svn.ffmpeg.org/ffmpeg/trunk

libavcodec/avcodec.h
libavcodec/opt.c

index fdb8dae..44e9115 100644 (file)
@@ -21,8 +21,8 @@ extern "C" {
 #define AV_STRINGIFY(s)        AV_TOSTRING(s)
 #define AV_TOSTRING(s) #s
 
-#define LIBAVCODEC_VERSION_INT ((49<<16)+(1<<8)+0)
-#define LIBAVCODEC_VERSION     49.1.0
+#define LIBAVCODEC_VERSION_INT ((49<<16)+(2<<8)+0)
+#define LIBAVCODEC_VERSION     49.2.0
 #define LIBAVCODEC_BUILD       LIBAVCODEC_VERSION_INT
 
 #define LIBAVCODEC_IDENT       "Lavc" AV_STRINGIFY(LIBAVCODEC_VERSION)
@@ -698,6 +698,11 @@ typedef struct AVOption {
     double default_val;
     double min;
     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;
 
 /**
@@ -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);
 const char *av_get_string(void *obj, const char *name);
 double av_get_double(void *obj, const char *name);
+AVOption *av_next_option(void *obj, AVOption *last);
 
 
 /**
index 4d49570..f273c16 100644 (file)
@@ -46,6 +46,12 @@ static AVOption *find_opt(void *v, const char *name){
     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){
     AVOption *o= find_opt(obj, name);
     void *dst;