Mercurial > libavcodec.hg
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 |