changeset 2865:3b999ce45b37 libavcodec

AVOption enumeration support and some flags to classify AVOptions
author michael
date Tue, 06 Sep 2005 21:32:18 +0000
parents 95bac7109ff0
children 5cbc5bdbfa61
files avcodec.h opt.c
diffstat 2 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/avcodec.h	Tue Sep 06 21:25:35 2005 +0000
+++ b/avcodec.h	Tue Sep 06 21:32:18 2005 +0000
@@ -21,8 +21,8 @@
 #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 @@
     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_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);
 
 
 /**
--- a/opt.c	Tue Sep 06 21:25:35 2005 +0000
+++ b/opt.c	Tue Sep 06 21:32:18 2005 +0000
@@ -46,6 +46,12 @@
     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;