summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/avcodec.h10
-rw-r--r--libavcodec/opt.c6
2 files changed, 14 insertions, 2 deletions
diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h
index fdb8daeb36..44e91150e9 100644
--- a/libavcodec/avcodec.h
+++ b/libavcodec/avcodec.h
@@ -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);
/**
diff --git a/libavcodec/opt.c b/libavcodec/opt.c
index 4d49570930..f273c1607b 100644
--- a/libavcodec/opt.c
+++ b/libavcodec/opt.c
@@ -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;