mirror of https://git.ffmpeg.org/ffmpeg.git
62 lines
1.9 KiB
C
62 lines
1.9 KiB
C
#ifndef AVOPT_H
|
|
#define AVOPT_H
|
|
|
|
/**
|
|
* @file opt.h
|
|
* AVOptions
|
|
*/
|
|
|
|
enum AVOptionType{
|
|
FF_OPT_TYPE_FLAGS,
|
|
FF_OPT_TYPE_INT,
|
|
FF_OPT_TYPE_INT64,
|
|
FF_OPT_TYPE_DOUBLE,
|
|
FF_OPT_TYPE_FLOAT,
|
|
FF_OPT_TYPE_STRING,
|
|
FF_OPT_TYPE_RATIONAL,
|
|
FF_OPT_TYPE_CONST=128,
|
|
};
|
|
|
|
/**
|
|
* AVOption.
|
|
*/
|
|
typedef struct AVOption {
|
|
const char *name;
|
|
|
|
/**
|
|
* short English text help.
|
|
* @fixme what about other languages
|
|
*/
|
|
const char *help;
|
|
int offset; ///< offset to context structure where the parsed value should be stored
|
|
enum AVOptionType type;
|
|
|
|
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, ...
|
|
#define AV_OPT_FLAG_AUDIO_PARAM 8
|
|
#define AV_OPT_FLAG_VIDEO_PARAM 16
|
|
#define AV_OPT_FLAG_SUBTITLE_PARAM 32
|
|
//FIXME think about enc-audio, ... style flags
|
|
const char *unit;
|
|
} AVOption;
|
|
|
|
|
|
AVOption *av_set_string(void *obj, const char *name, const char *val);
|
|
AVOption *av_set_double(void *obj, const char *name, double n);
|
|
AVOption *av_set_q(void *obj, const char *name, AVRational n);
|
|
AVOption *av_set_int(void *obj, const char *name, int64_t n);
|
|
double av_get_double(void *obj, const char *name, AVOption **o_out);
|
|
AVRational av_get_q(void *obj, const char *name, AVOption **o_out);
|
|
int64_t av_get_int(void *obj, const char *name, AVOption **o_out);
|
|
const char *av_get_string(void *obj, const char *name, AVOption **o_out, char *buf, int buf_len);
|
|
AVOption *av_next_option(void *obj, AVOption *last);
|
|
int av_opt_show(void *obj, void *av_log_obj);
|
|
|
|
#endif
|