X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fopt.h;h=b79f462660362909fa0f4f2d80dba3ab203a062d;hb=c2675d4a69899998dcfa95b85eb63a7fa393e29f;hp=c84db00fed7e11b2adea028b1d1a7f948368f9e7;hpb=a1689e2f19957c45b6f2b2fc0063b304826a8887;p=ffmpeg diff --git a/libavcodec/opt.h b/libavcodec/opt.h index c84db00fed7..b79f4626603 100644 --- a/libavcodec/opt.h +++ b/libavcodec/opt.h @@ -1,3 +1,24 @@ +/* + * AVOptions + * copyright (c) 2005 Michael Niedermayer + * + * This file is part of FFmpeg. + * + * FFmpeg is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. + * + * FFmpeg is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. + * + * You should have received a copy of the GNU Lesser General Public + * License along with FFmpeg; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + */ + #ifndef AVOPT_H #define AVOPT_H @@ -6,6 +27,8 @@ * AVOptions */ +#include "rational.h" + enum AVOptionType{ FF_OPT_TYPE_FLAGS, FF_OPT_TYPE_INT, @@ -25,16 +48,16 @@ typedef struct AVOption { /** * short English text help. - * @fixme what about other languages + * @todo what about other languages */ const char *help; - int offset; ///< offset to context structure where the parsed value should be stored + 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 @@ -47,15 +70,18 @@ typedef struct AVOption { } 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); +const AVOption *av_find_opt(void *obj, const char *name, const char *unit, int mask, int flags); +const AVOption *av_set_string(void *obj, const char *name, const char *val); +const AVOption *av_set_double(void *obj, const char *name, double n); +const AVOption *av_set_q(void *obj, const char *name, AVRational n); +const AVOption *av_set_int(void *obj, const char *name, int64_t n); +double av_get_double(void *obj, const char *name, const AVOption **o_out); +AVRational av_get_q(void *obj, const char *name, const AVOption **o_out); +int64_t av_get_int(void *obj, const char *name, const AVOption **o_out); +const char *av_get_string(void *obj, const char *name, const AVOption **o_out, char *buf, int buf_len); +const AVOption *av_next_option(void *obj, const AVOption *last); int av_opt_show(void *obj, void *av_log_obj); +void av_opt_set_defaults(void *s); +void av_opt_set_defaults2(void *s, int mask, int flags); #endif