00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022 #ifndef AVUTIL_OPT_H
00023 #define AVUTIL_OPT_H
00024
00030 #include "rational.h"
00031 #include "avutil.h"
00032
00033 enum AVOptionType{
00034 FF_OPT_TYPE_FLAGS,
00035 FF_OPT_TYPE_INT,
00036 FF_OPT_TYPE_INT64,
00037 FF_OPT_TYPE_DOUBLE,
00038 FF_OPT_TYPE_FLOAT,
00039 FF_OPT_TYPE_STRING,
00040 FF_OPT_TYPE_RATIONAL,
00041 FF_OPT_TYPE_BINARY,
00042 FF_OPT_TYPE_CONST=128,
00043 };
00044
00048 typedef struct AVOption {
00049 const char *name;
00050
00055 const char *help;
00056
00061 int offset;
00062 enum AVOptionType type;
00063
00067 double default_val;
00068 double min;
00069 double max;
00070
00071 int flags;
00072 #define AV_OPT_FLAG_ENCODING_PARAM 1
00073 #define AV_OPT_FLAG_DECODING_PARAM 2
00074 #define AV_OPT_FLAG_METADATA 4
00075 #define AV_OPT_FLAG_AUDIO_PARAM 8
00076 #define AV_OPT_FLAG_VIDEO_PARAM 16
00077 #define AV_OPT_FLAG_SUBTITLE_PARAM 32
00078
00079
00085 const char *unit;
00086 } AVOption;
00087
00094 typedef struct AVOption2 {
00095 const char *name;
00096
00101 const char *help;
00102
00107 int offset;
00108 enum AVOptionType type;
00109
00113 union {
00114 double dbl;
00115 const char *str;
00116 } default_val;
00117
00118 double min;
00119 double max;
00120
00121 int flags;
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00137 const char *unit;
00138 } AVOption2;
00139
00140
00153 const AVOption *av_find_opt(void *obj, const char *name, const char *unit, int mask, int flags);
00154
00182 int av_set_string3(void *obj, const char *name, const char *val, int alloc, const AVOption **o_out);
00183
00184 const AVOption *av_set_double(void *obj, const char *name, double n);
00185 const AVOption *av_set_q(void *obj, const char *name, AVRational n);
00186 const AVOption *av_set_int(void *obj, const char *name, int64_t n);
00187 double av_get_double(void *obj, const char *name, const AVOption **o_out);
00188 AVRational av_get_q(void *obj, const char *name, const AVOption **o_out);
00189 int64_t av_get_int(void *obj, const char *name, const AVOption **o_out);
00190 const char *av_get_string(void *obj, const char *name, const AVOption **o_out, char *buf, int buf_len);
00191 const AVOption *av_next_option(void *obj, const AVOption *last);
00192
00202 int av_opt_show2(void *obj, void *av_log_obj, int req_flags, int rej_flags);
00203
00204 void av_opt_set_defaults(void *s);
00205 void av_opt_set_defaults2(void *s, int mask, int flags);
00206
00223 int av_set_options_string(void *ctx, const char *opts,
00224 const char *key_val_sep, const char *pairs_sep);
00225
00226 #endif