Mercurial > mplayer.hg
annotate cfg-mencoder.h @ 7418:2f6fd8f05bc8
sync
author | jaf |
---|---|
date | Mon, 16 Sep 2002 16:48:20 +0000 |
parents | 3854945aefbb |
children | c65cb0d256c3 |
rev | line source |
---|---|
2618 | 1 /* |
2 * config for cfgparser | |
3 */ | |
4 | |
2790 | 5 #include "cfg-common.h" |
6 | |
2618 | 7 #ifdef USE_FAKE_MONO |
8 extern int fakemono; // defined in dec_audio.c | |
9 #endif | |
10 #ifdef HAVE_ODIVX_POSTPROCESS | |
11 extern int use_old_pp; | |
12 #endif | |
13 | |
3272 | 14 extern int sws_flags; |
3771 | 15 extern int readPPOpt(void *, char *arg); |
4256
bbaa26821fdf
Added reverting support for -aa* -zr* -pp and -npp options
albeu
parents:
4207
diff
changeset
|
16 extern int readNPPOpt(void *conf, char *arg); |
bbaa26821fdf
Added reverting support for -aa* -zr* -pp and -npp options
albeu
parents:
4207
diff
changeset
|
17 extern void revertPPOpt(void *conf, char* opt); |
3272 | 18 |
3663
9092546e7765
made divx4 optional (also configure checking needed) and added avcodec_close
alex
parents:
3657
diff
changeset
|
19 #ifdef HAVE_DIVX4ENCORE |
5553
38697931adf4
video codecs moved to libmpencoders, crop/scale removed, use -vop for that
arpi
parents:
5390
diff
changeset
|
20 extern struct config divx4opts_conf[]; |
3663
9092546e7765
made divx4 optional (also configure checking needed) and added avcodec_close
alex
parents:
3657
diff
changeset
|
21 #endif |
2626 | 22 |
3357 | 23 #ifdef HAVE_MP3LAME |
2626 | 24 struct config lameopts_conf[]={ |
4157 | 25 {"q", &lame_param_quality, CONF_TYPE_INT, CONF_RANGE, 0, 9, NULL}, |
5922
30eea1bd1b64
fixed bogus overloaded "q" parameter for lame mp3 encoding
rfelker
parents:
5848
diff
changeset
|
26 {"aq", &lame_param_algqual, CONF_TYPE_INT, CONF_RANGE, 0, 9, NULL}, |
4157 | 27 {"vbr", &lame_param_vbr, CONF_TYPE_INT, CONF_RANGE, 0, vbr_max_indicator, NULL}, |
28 {"cbr", &lame_param_vbr, CONF_TYPE_FLAG, 0, 0, 0, NULL}, | |
29 {"abr", &lame_param_vbr, CONF_TYPE_FLAG, 0, 0, vbr_abr, NULL}, | |
30 {"mode", &lame_param_mode, CONF_TYPE_INT, CONF_RANGE, 0, MAX_INDICATOR, NULL}, | |
31 {"padding", &lame_param_padding, CONF_TYPE_INT, CONF_RANGE, 0, PAD_MAX_INDICATOR, NULL}, | |
32 {"br", &lame_param_br, CONF_TYPE_INT, CONF_RANGE, 0, 1024, NULL}, | |
33 {"ratio", &lame_param_ratio, CONF_TYPE_INT, CONF_RANGE, 0, 100, NULL}, | |
5848
48a0667742b9
volume setting with lame - patch by silicon@falcon.sch.bme.hu
arpi
parents:
5780
diff
changeset
|
34 {"vol", &lame_param_scale, CONF_TYPE_FLOAT, CONF_RANGE, 0, 10, NULL}, |
4157 | 35 {"help", "TODO: lameopts help!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, |
36 {NULL, NULL, 0, 0, 0, 0, NULL} | |
2661 | 37 }; |
3357 | 38 #endif |
2661 | 39 |
3657
af1f8e2d693a
added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents:
3480
diff
changeset
|
40 #ifdef USE_LIBAVCODEC |
5553
38697931adf4
video codecs moved to libmpencoders, crop/scale removed, use -vop for that
arpi
parents:
5390
diff
changeset
|
41 extern struct config lavcopts_conf[]; |
3657
af1f8e2d693a
added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents:
3480
diff
changeset
|
42 #endif |
af1f8e2d693a
added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents:
3480
diff
changeset
|
43 |
af1f8e2d693a
added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents:
3480
diff
changeset
|
44 #ifdef USE_WIN32DLL |
6084 | 45 extern struct config vfwopts_conf[]; |
3657
af1f8e2d693a
added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents:
3480
diff
changeset
|
46 #endif |
af1f8e2d693a
added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents:
3480
diff
changeset
|
47 |
2661 | 48 struct config ovc_conf[]={ |
4157 | 49 {"copy", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_COPY, NULL}, |
50 {"frameno", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_FRAMENO, NULL}, | |
51 {"divx4", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_DIVX4, NULL}, | |
5553
38697931adf4
video codecs moved to libmpencoders, crop/scale removed, use -vop for that
arpi
parents:
5390
diff
changeset
|
52 // {"raw", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_RAW, NULL}, |
4157 | 53 {"lavc", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_LIBAVCODEC, NULL}, |
5553
38697931adf4
video codecs moved to libmpencoders, crop/scale removed, use -vop for that
arpi
parents:
5390
diff
changeset
|
54 // {"null", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_NULL, NULL}, |
4575 | 55 {"rawrgb", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_RAWRGB, NULL}, |
56 {"vfw", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_VFW, NULL}, | |
5578 | 57 {"libdv", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_LIBDV, NULL}, |
6923
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
58 {"help", "\nAvailable codecs:\n" |
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
59 " copy - frame copy, without re-encoding. doesn't work with filters!\n" |
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
60 " frameno - special audio-only file for 3-pass encoding, see DOCS!\n" |
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
61 " rawrgb - uncompressed RGB 24bpp video\n" |
5678 | 62 #ifdef HAVE_DIVX4ENCORE |
6923
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
63 " divx4 - using divx4linux/divx5linux or xvid (depends on configuration)\n" |
5678 | 64 #endif |
65 #ifdef USE_LIBAVCODEC | |
6923
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
66 " lavc - using libavcodec codecs - best quality!\n" |
5678 | 67 #endif |
68 #ifdef USE_WIN32DLL | |
6923
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
69 " vfw - using VfW DLLs, currently only AVID is supported\n" |
5678 | 70 #endif |
71 #ifdef HAVE_LIBDV095 | |
6923
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
72 " libdv - DV encoding using libdv v0.9.5\n" |
5678 | 73 #endif |
74 "\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, | |
4157 | 75 {NULL, NULL, 0, 0, 0, 0, NULL} |
2661 | 76 }; |
77 | |
78 struct config oac_conf[]={ | |
4157 | 79 {"copy", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_COPY, NULL}, |
80 {"pcm", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_PCM, NULL}, | |
3357 | 81 #ifdef HAVE_MP3LAME |
4157 | 82 {"mp3lame", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_VBRMP3, NULL}, |
3357 | 83 #else |
4157 | 84 {"mp3lame", "MPlayer was compiled without libmp3lame support!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, |
3357 | 85 #endif |
6923
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
86 {"help", "\nAvailable codecs:\n" |
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
87 " copy - frame copy, without re-encoding (usefull for AC3)\n" |
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
88 " pcm - uncompressed PCM audio\n" |
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
89 #ifdef HAVE_MP3LAME |
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
90 " mp3lame - cbr/abr/vbr MP3 using libmp3lame\n" |
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
91 #endif |
60374fa581fc
no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents:
6862
diff
changeset
|
92 "\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, |
4157 | 93 {NULL, NULL, 0, 0, 0, 0, NULL} |
2626 | 94 }; |
95 | |
7145
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
96 struct config info_conf[]={ |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
97 {"name", &info_name, CONF_TYPE_STRING, 0, 0, 0, NULL}, |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
98 {"artist", &info_artist, CONF_TYPE_STRING, 0, 0, 0, NULL}, |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
99 {"genre", &info_genre, CONF_TYPE_STRING, 0, 0, 0, NULL}, |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
100 {"subject", &info_subject, CONF_TYPE_STRING, 0, 0, 0, NULL}, |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
101 {"copyright", &info_copyright, CONF_TYPE_STRING, 0, 0, 0, NULL}, |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
102 {"srcform", &info_sourceform, CONF_TYPE_STRING, 0, 0, 0, NULL}, |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
103 {"comment", &info_comment, CONF_TYPE_STRING, 0, 0, 0, NULL}, |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
104 {"help", "\nAvailable INFO fields:\n" |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
105 " name - title of the subject of the file\n" |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
106 " artist - artist or author of the original subject of the file\n" |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
107 " genre - original work category\n" |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
108 " subject - contents of the file\n" |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
109 " copyright - copyright information for the file\n" |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
110 " srcform - original form of the material that was digitized\n" |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
111 " comment - general comments about the file or the subject of the file\n" |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
112 "\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
113 {NULL, NULL, 0, 0, 0, 0, NULL} |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
114 }; |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
115 |
4162 | 116 static config_t mencoder_opts[]={ |
2618 | 117 /* name, pointer, type, flags, min, max */ |
4158
479c7828edbb
GLOBAL flags and other changes for new config - patch by Alban Bedel <albeu@free.fr>
arpi
parents:
4157
diff
changeset
|
118 {"include", cfg_include, CONF_TYPE_FUNC_PARAM, CONF_NOSAVE, 0, 0, NULL}, /* this must be the first!!! */ |
2618 | 119 |
4159
42fec596fe7c
-endpos option, patch by Fredrik Kuivinen <freku045@student.liu.se>
arpi
parents:
4158
diff
changeset
|
120 {"endpos", parse_end_at, CONF_TYPE_FUNC_PARAM, 0, 0, 0, NULL}, |
5974 | 121 |
122 // set output framerate - recommended for variable fps (.asf etc) files | |
123 // and for 29.97fps progressive mpeg2 streams | |
4157 | 124 {"ofps", &force_ofps, CONF_TYPE_FLOAT, CONF_MIN, 0, 0, NULL}, |
125 {"o", &out_filename, CONF_TYPE_STRING, 0, 0, 0, NULL}, | |
2626 | 126 |
5974 | 127 // limit number of skippable frames after a non-skipped one |
5629 | 128 {"skiplimit", &skip_limit, CONF_TYPE_INT, 0, 0, 0, NULL}, |
129 {"noskiplimit", &skip_limit, CONF_TYPE_FLAG, 0, 0, -1, NULL}, | |
130 {"noskip", &skip_limit, CONF_TYPE_FLAG, 0, 0, 0, NULL}, | |
131 | |
6861 | 132 {"audio-density", &audio_density, CONF_TYPE_INT, CONF_RANGE, 1, 50, NULL}, |
133 {"audio-preload", &audio_preload, CONF_TYPE_FLOAT, CONF_RANGE, 0, 2, NULL}, | |
6862 | 134 {"audio-delay", &audio_delay, CONF_TYPE_FLOAT, CONF_MIN, 0, 0, NULL}, |
6861 | 135 |
5780 | 136 {"x", "This option is obsolete, use -vop scale=w:h for scaling\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, |
137 {"xsize", "This option is obsolete, use -vop crop=w:h:x0:y0 for cropping\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, | |
5270 | 138 |
5974 | 139 // outut audio/video codec selection |
4157 | 140 {"oac", oac_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL}, |
141 {"ovc", ovc_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL}, | |
2643 | 142 |
5974 | 143 // override FOURCC in output file |
4157 | 144 {"ffourcc", &force_fourcc, CONF_TYPE_STRING, 0, 4, 4, NULL}, |
3657
af1f8e2d693a
added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents:
3480
diff
changeset
|
145 |
4157 | 146 {"pass", &pass, CONF_TYPE_INT, CONF_RANGE,0,2, NULL}, |
147 {"passlogfile", &passtmpfile, CONF_TYPE_STRING, 0, 0, 0, NULL}, | |
2626 | 148 |
6674
f8551f89dd48
MEncoder vobsub ripping support, currently not compatible with windows vobsub, some bugs to be fixed. However it already works with mplayer, so it's a start.
atmos4
parents:
6671
diff
changeset
|
149 {"vobsubout", &vobsub_out, CONF_TYPE_STRING, 0, 0, 0, NULL}, |
f8551f89dd48
MEncoder vobsub ripping support, currently not compatible with windows vobsub, some bugs to be fixed. However it already works with mplayer, so it's a start.
atmos4
parents:
6671
diff
changeset
|
150 {"vobsuboutindex", &vobsub_out_index, CONF_TYPE_INT, CONF_RANGE, 0, 31, NULL}, |
f8551f89dd48
MEncoder vobsub ripping support, currently not compatible with windows vobsub, some bugs to be fixed. However it already works with mplayer, so it's a start.
atmos4
parents:
6671
diff
changeset
|
151 {"vobsuboutid", &vobsub_out_id, CONF_TYPE_STRING, 0, 0, 0, NULL}, |
f8551f89dd48
MEncoder vobsub ripping support, currently not compatible with windows vobsub, some bugs to be fixed. However it already works with mplayer, so it's a start.
atmos4
parents:
6671
diff
changeset
|
152 |
7145
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
153 // info header strings |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
154 {"info", info_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL}, |
3854945aefbb
new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents:
6923
diff
changeset
|
155 |
5390
386f6fcc92d5
libavcodec 2pass broke mencoder if divx4encore was not available. fixed.
rfelker
parents:
5376
diff
changeset
|
156 #ifdef HAVE_DIVX4ENCORE |
4157 | 157 {"divx4opts", divx4opts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL}, |
3663
9092546e7765
made divx4 optional (also configure checking needed) and added avcodec_close
alex
parents:
3657
diff
changeset
|
158 #endif |
3357 | 159 #ifdef HAVE_MP3LAME |
4157 | 160 {"lameopts", lameopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL}, |
3357 | 161 #endif |
3657
af1f8e2d693a
added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents:
3480
diff
changeset
|
162 #ifdef USE_LIBAVCODEC |
4157 | 163 {"lavcopts", lavcopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL}, |
3657
af1f8e2d693a
added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents:
3480
diff
changeset
|
164 #endif |
af1f8e2d693a
added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents:
3480
diff
changeset
|
165 #ifdef USE_WIN32DLL |
4157 | 166 {"vfwopts", vfwopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL}, |
3657
af1f8e2d693a
added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents:
3480
diff
changeset
|
167 #endif |
2618 | 168 |
2790 | 169 #define MAIN_CONF |
2618 | 170 #include "cfg-common.h" |
2790 | 171 #undef MAIN_CONF |
2618 | 172 |
4157 | 173 // {"quiet", &quiet, CONF_TYPE_FLAG, 0, 0, 1, NULL}, |
4158
479c7828edbb
GLOBAL flags and other changes for new config - patch by Alban Bedel <albeu@free.fr>
arpi
parents:
4157
diff
changeset
|
174 {"verbose", &verbose, CONF_TYPE_INT, CONF_RANGE|CONF_GLOBAL, 0, 100, NULL}, |
479c7828edbb
GLOBAL flags and other changes for new config - patch by Alban Bedel <albeu@free.fr>
arpi
parents:
4157
diff
changeset
|
175 {"v", cfg_inc_verbose, CONF_TYPE_FUNC, CONF_GLOBAL, 0, 0, NULL}, |
4157 | 176 // {"-help", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, |
177 // {"help", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, | |
178 // {"h", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, | |
179 {NULL, NULL, 0, 0, 0, 0, NULL} | |
2618 | 180 }; |