mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-12-23 12:43:46 +02:00
Add an experimental AVOption2 that uses an union instead of double for default_val.
Originally committed as revision 20248 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
parent
68677dd8ed
commit
f1cb9858b5
@ -85,6 +85,58 @@ typedef struct AVOption {
|
|||||||
const char *unit;
|
const char *unit;
|
||||||
} AVOption;
|
} AVOption;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* AVOption2.
|
||||||
|
* THIS IS NOT PART OF THE API/ABI YET!
|
||||||
|
* This is identical to AVOption except that default_val was replaced by
|
||||||
|
* an union, it should be compatible with AVOption on normal platforms.
|
||||||
|
*/
|
||||||
|
typedef struct AVOption2 {
|
||||||
|
const char *name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* short English help text
|
||||||
|
* @todo What about other languages?
|
||||||
|
*/
|
||||||
|
const char *help;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The offset relative to the context structure where the option
|
||||||
|
* value is stored. It should be 0 for named constants.
|
||||||
|
*/
|
||||||
|
int offset;
|
||||||
|
enum AVOptionType type;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* the default value for scalar options
|
||||||
|
*/
|
||||||
|
union {
|
||||||
|
double dbl;
|
||||||
|
const char *str;
|
||||||
|
} default_val;
|
||||||
|
|
||||||
|
double min; ///< minimum valid value for the option
|
||||||
|
double max; ///< maximum valid value for the option
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The logical unit to which the option belongs. Non-constant
|
||||||
|
* options and corresponding named constants share the same
|
||||||
|
* unit. May be NULL.
|
||||||
|
*/
|
||||||
|
const char *unit;
|
||||||
|
} AVOption2;
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Looks for an option in obj. Looks only for the options which
|
* Looks for an option in obj. Looks only for the options which
|
||||||
|
Loading…
Reference in New Issue
Block a user