From 233f6f889ea310c2213f1f678b68e424791bf843 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 11 Sep 2005 14:22:42 +0000 Subject: flags and named constants with type checking of course for AVOption spliting AVOption specific stuff out of avcodec.h into opt.h Originally committed as revision 4581 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/avcodec.h | 50 +------------------------------------------------- 1 file changed, 1 insertion(+), 49 deletions(-) (limited to 'libavcodec/avcodec.h') diff --git a/libavcodec/avcodec.h b/libavcodec/avcodec.h index cdd42c3aea..7542e643ef 100644 --- a/libavcodec/avcodec.h +++ b/libavcodec/avcodec.h @@ -12,6 +12,7 @@ extern "C" { #endif #include "avutil.h" +#include "opt.h" #include /* size_t */ //FIXME the following 2 really dont belong in here @@ -671,44 +672,6 @@ typedef struct AVFrame { #define DEFAULT_FRAME_RATE_BASE 1001000 -enum AVOptionType{ - 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 -} AVOption; - /** * Used by av_log */ @@ -1887,17 +1850,6 @@ typedef struct AVCodecContext { enum AVDiscard skip_frame; } AVCodecContext; -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, FILE *f); - /** * AVCodec. */ -- cgit v1.2.3