Mercurial > libavcodec.hg
annotate opt.h @ 4167:a3134db4857e libavcodec
store a identifer and the first header in extradata
with this mp3 should be binary identical to what you had before header compression
support mp3 with crc (by droping the crc and putting it back during header decompress, currently its just random tough, does any deocoder even check it?)
author | michael |
---|---|
date | Fri, 10 Nov 2006 11:31:02 +0000 |
parents | c8c591fe26f8 |
children | e10acab2322a |
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 | 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 | 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 | 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 |
b6def74f5811
flags and named constants with type checking of course for AVOption
michael
parents:
diff
changeset
|
71 AVOption *av_set_string(void *obj, const char *name, const char *val); |
b6def74f5811
flags and named constants with type checking of course for AVOption
michael
parents:
diff
changeset
|
72 AVOption *av_set_double(void *obj, const char *name, double n); |
b6def74f5811
flags and named constants with type checking of course for AVOption
michael
parents:
diff
changeset
|
73 AVOption *av_set_q(void *obj, const char *name, AVRational n); |
b6def74f5811
flags and named constants with type checking of course for AVOption
michael
parents:
diff
changeset
|
74 AVOption *av_set_int(void *obj, const char *name, int64_t n); |
b6def74f5811
flags and named constants with type checking of course for AVOption
michael
parents:
diff
changeset
|
75 double av_get_double(void *obj, const char *name, AVOption **o_out); |
b6def74f5811
flags and named constants with type checking of course for AVOption
michael
parents:
diff
changeset
|
76 AVRational av_get_q(void *obj, const char *name, AVOption **o_out); |
b6def74f5811
flags and named constants with type checking of course for AVOption
michael
parents:
diff
changeset
|
77 int64_t av_get_int(void *obj, const char *name, AVOption **o_out); |
b6def74f5811
flags and named constants with type checking of course for AVOption
michael
parents:
diff
changeset
|
78 const char *av_get_string(void *obj, const char *name, AVOption **o_out, char *buf, int buf_len); |
b6def74f5811
flags and named constants with type checking of course for AVOption
michael
parents:
diff
changeset
|
79 AVOption *av_next_option(void *obj, AVOption *last); |
2876 | 80 int av_opt_show(void *obj, void *av_log_obj); |
3702 | 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 |