62 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
		
			1.8 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
 |