annotate opt.h @ 4443:54bed3ee58f3 libavcodec

simpify state and make code 2% faster reimar, dont hesitate to flame me for not sending patches and feel free to revert any or all of my changes to lzo.c if you dont like them
author michael
date Wed, 31 Jan 2007 10:34:13 +0000
parents e10acab2322a
children b0016ed89048
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
1 /*
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
2 * AVOptions
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
3 * copyright (c) 2005 Michael Niedermayer <michaelni@gmx.at>
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
4 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3702
diff changeset
5 * This file is part of FFmpeg.
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3702
diff changeset
6 *
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3702
diff changeset
7 * FFmpeg is free software; you can redistribute it and/or
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
8 * modify it under the terms of the GNU Lesser General Public
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
9 * License as published by the Free Software Foundation; either
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3702
diff changeset
10 * version 2.1 of the License, or (at your option) any later version.
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
11 *
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3702
diff changeset
12 * FFmpeg is distributed in the hope that it will be useful,
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
13 * but WITHOUT ANY WARRANTY; without even the implied warranty of
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
15 * Lesser General Public License for more details.
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
16 *
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
17 * You should have received a copy of the GNU Lesser General Public
3947
c8c591fe26f8 Change license headers to say 'FFmpeg' instead of 'this program/this library'
diego
parents: 3702
diff changeset
18 * License along with FFmpeg; if not, write to the Free Software
3699
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
19 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
20 */
c537a97eec66 Add official LGPL license headers to the files that were missing them.
diego
parents: 2967
diff changeset
21
2874
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
22 #ifndef AVOPT_H
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
23 #define AVOPT_H
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
24
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
25 /**
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
26 * @file opt.h
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
27 * AVOptions
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
28 */
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
29
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
30 enum AVOptionType{
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
31 FF_OPT_TYPE_FLAGS,
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
32 FF_OPT_TYPE_INT,
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
33 FF_OPT_TYPE_INT64,
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
34 FF_OPT_TYPE_DOUBLE,
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
35 FF_OPT_TYPE_FLOAT,
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
36 FF_OPT_TYPE_STRING,
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
37 FF_OPT_TYPE_RATIONAL,
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
38 FF_OPT_TYPE_CONST=128,
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
39 };
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
40
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
41 /**
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
42 * AVOption.
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
43 */
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
44 typedef struct AVOption {
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
45 const char *name;
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
46
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
47 /**
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
48 * short English text help.
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
49 * @fixme what about other languages
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
50 */
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
51 const char *help;
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2876
diff changeset
52 int offset; ///< offset to context structure where the parsed value should be stored
2874
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
53 enum AVOptionType type;
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2876
diff changeset
54
2874
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
55 double default_val;
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
56 double min;
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
57 double max;
2967
ef2149182f1c COSMETICS: Remove all trailing whitespace.
diego
parents: 2876
diff changeset
58
2874
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
59 int flags;
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
60 #define AV_OPT_FLAG_ENCODING_PARAM 1 ///< a generic parameter which can be set by the user for muxing or encoding
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
61 #define AV_OPT_FLAG_DECODING_PARAM 2 ///< a generic parameter which can be set by the user for demuxing or decoding
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
62 #define AV_OPT_FLAG_METADATA 4 ///< some data extracted or inserted into the file like title, comment, ...
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
63 #define AV_OPT_FLAG_AUDIO_PARAM 8
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
64 #define AV_OPT_FLAG_VIDEO_PARAM 16
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
65 #define AV_OPT_FLAG_SUBTITLE_PARAM 32
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
66 //FIXME think about enc-audio, ... style flags
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
67 const char *unit;
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
68 } AVOption;
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
69
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
70
4369
e10acab2322a Constantize AVOption, solve few warnings, patch from flameeyes@gentoo.org aka "the other Diego"
lu_zero
parents: 3947
diff changeset
71 const AVOption *av_set_string(void *obj, const char *name, const char *val);
e10acab2322a Constantize AVOption, solve few warnings, patch from flameeyes@gentoo.org aka "the other Diego"
lu_zero
parents: 3947
diff changeset
72 const AVOption *av_set_double(void *obj, const char *name, double n);
e10acab2322a Constantize AVOption, solve few warnings, patch from flameeyes@gentoo.org aka "the other Diego"
lu_zero
parents: 3947
diff changeset
73 const AVOption *av_set_q(void *obj, const char *name, AVRational n);
e10acab2322a Constantize AVOption, solve few warnings, patch from flameeyes@gentoo.org aka "the other Diego"
lu_zero
parents: 3947
diff changeset
74 const AVOption *av_set_int(void *obj, const char *name, int64_t n);
e10acab2322a Constantize AVOption, solve few warnings, patch from flameeyes@gentoo.org aka "the other Diego"
lu_zero
parents: 3947
diff changeset
75 double av_get_double(void *obj, const char *name, const AVOption **o_out);
e10acab2322a Constantize AVOption, solve few warnings, patch from flameeyes@gentoo.org aka "the other Diego"
lu_zero
parents: 3947
diff changeset
76 AVRational av_get_q(void *obj, const char *name, const AVOption **o_out);
e10acab2322a Constantize AVOption, solve few warnings, patch from flameeyes@gentoo.org aka "the other Diego"
lu_zero
parents: 3947
diff changeset
77 int64_t av_get_int(void *obj, const char *name, const AVOption **o_out);
e10acab2322a Constantize AVOption, solve few warnings, patch from flameeyes@gentoo.org aka "the other Diego"
lu_zero
parents: 3947
diff changeset
78 const char *av_get_string(void *obj, const char *name, const AVOption **o_out, char *buf, int buf_len);
e10acab2322a Constantize AVOption, solve few warnings, patch from flameeyes@gentoo.org aka "the other Diego"
lu_zero
parents: 3947
diff changeset
79 const AVOption *av_next_option(void *obj, const AVOption *last);
2876
8026edf6a349 avoid stdio.h
michael
parents: 2874
diff changeset
80 int av_opt_show(void *obj, void *av_log_obj);
3702
7e7d8a3fe080 make AVOptions default value field work.
gpoirier
parents: 3699
diff changeset
81 void av_opt_set_defaults(void *s);
2874
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
82
b6def74f5811 flags and named constants with type checking of course for AVOption
michael
parents:
diff changeset
83 #endif