comparison opt.h @ 2874:b6def74f5811 libavcodec

flags and named constants with type checking of course for AVOption spliting AVOption specific stuff out of avcodec.h into opt.h
author michael
date Sun, 11 Sep 2005 14:22:42 +0000
parents
children 8026edf6a349
comparison
equal deleted inserted replaced
2873:55809f38eb63 2874:b6def74f5811
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, FILE *f);
60
61 #endif