]> git.sesse.net Git - ffmpeg/blob - libavcodec/opt.h
* bugfixing call reference
[ffmpeg] / libavcodec / opt.h
1 #ifndef AVOPT_H
2 #define AVOPT_H
3
4 /**
5  * @file opt.h
6  * AVOptions
7  */
8
9 enum AVOptionType{
10     FF_OPT_TYPE_FLAGS,
11     FF_OPT_TYPE_INT,
12     FF_OPT_TYPE_INT64,
13     FF_OPT_TYPE_DOUBLE,
14     FF_OPT_TYPE_FLOAT,
15     FF_OPT_TYPE_STRING,
16     FF_OPT_TYPE_RATIONAL,
17     FF_OPT_TYPE_CONST=128,
18 };
19
20 /**
21  * AVOption.
22  */
23 typedef struct AVOption {
24     const char *name;
25
26     /**
27      * short English text help.
28      * @fixme what about other languages
29      */
30     const char *help;
31     int offset;             ///< offset to context structure where the parsed value should be stored
32     enum AVOptionType type;
33
34     double default_val;
35     double min;
36     double max;
37
38     int flags;
39 #define AV_OPT_FLAG_ENCODING_PARAM  1   ///< a generic parameter which can be set by the user for muxing or encoding
40 #define AV_OPT_FLAG_DECODING_PARAM  2   ///< a generic parameter which can be set by the user for demuxing or decoding
41 #define AV_OPT_FLAG_METADATA        4   ///< some data extracted or inserted into the file like title, comment, ...
42 #define AV_OPT_FLAG_AUDIO_PARAM     8
43 #define AV_OPT_FLAG_VIDEO_PARAM     16
44 #define AV_OPT_FLAG_SUBTITLE_PARAM  32
45 //FIXME think about enc-audio, ... style flags
46     const char *unit;
47 } AVOption;
48
49
50 AVOption *av_set_string(void *obj, const char *name, const char *val);
51 AVOption *av_set_double(void *obj, const char *name, double n);
52 AVOption *av_set_q(void *obj, const char *name, AVRational n);
53 AVOption *av_set_int(void *obj, const char *name, int64_t n);
54 double av_get_double(void *obj, const char *name, AVOption **o_out);
55 AVRational av_get_q(void *obj, const char *name, AVOption **o_out);
56 int64_t av_get_int(void *obj, const char *name, AVOption **o_out);
57 const char *av_get_string(void *obj, const char *name, AVOption **o_out, char *buf, int buf_len);
58 AVOption *av_next_option(void *obj, AVOption *last);
59 int av_opt_show(void *obj, void *av_log_obj);
60
61 #endif