help_mp-hu.h synced with r19462
[mplayer/greg.git] / cfg-common.h
blob35b804ed4f2ef8c78823d53e7e2f8b008c5960d3
1 #ifdef MAIN_CONF /* this will be included in conf[] */
3 // ------------------------- common options --------------------
4 {"quiet", &quiet, CONF_TYPE_FLAG, CONF_GLOBAL, 0, 1, NULL},
5 {"noquiet", &quiet, CONF_TYPE_FLAG, CONF_GLOBAL, 1, 0, NULL},
6 {"really-quiet", &verbose, CONF_TYPE_FLAG, CONF_GLOBAL, 0, -10, NULL},
7 {"v", cfg_inc_verbose, CONF_TYPE_FUNC, CONF_GLOBAL|CONF_NOSAVE, 0, 0, NULL},
8 {"msglevel", msgl_config, CONF_TYPE_SUBCONFIG, CONF_GLOBAL, 0, 0, NULL},
9 #ifdef USE_ICONV
10 {"msgcharset", &mp_msg_charset, CONF_TYPE_STRING, CONF_GLOBAL, 0, 0, NULL},
11 #endif
12 {"include", cfg_include, CONF_TYPE_FUNC_PARAM, CONF_NOSAVE, 0, 0, NULL},
13 #ifdef WIN32
14 {"priority", &proc_priority, CONF_TYPE_STRING, 0, 0, 0, NULL},
15 #endif
17 // ------------------------- stream options --------------------
19 #ifdef USE_STREAM_CACHE
20 {"cache", &stream_cache_size, CONF_TYPE_INT, CONF_RANGE, 32, 1048576, NULL},
21 {"nocache", &stream_cache_size, CONF_TYPE_FLAG, 0, 1, 0, NULL},
22 {"cache-min", &stream_cache_min_percent, CONF_TYPE_FLOAT, CONF_RANGE, 0, 99, NULL},
23 {"cache-seek-min", &stream_cache_seek_min_percent, CONF_TYPE_FLOAT, CONF_RANGE, 0, 99, NULL},
24 #else
25 {"cache", "MPlayer was compiled without cache2 support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
26 #endif
27 {"vcd", "-vcd N is deprecated, use vcd://N instead.\n", CONF_TYPE_PRINT, CONF_NOCFG ,0,0, NULL},
28 {"cuefile", "-cuefile is deprecated, use cue://filename:N where N is the track number.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
29 {"cdrom-device", &cdrom_device, CONF_TYPE_STRING, 0, 0, 0, NULL},
30 #if defined(USE_DVDREAD) || defined(USE_DVDNAV)
31 {"dvd-device", &dvd_device, CONF_TYPE_STRING, 0, 0, 0, NULL},
32 #else
33 {"dvd-device", "MPlayer was compiled without libdvdread support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
34 #endif
35 #ifdef USE_DVDREAD
36 {"dvd", "-dvd N is deprecated, use dvd://N instead.\n" , CONF_TYPE_PRINT, 0, 0, 0, NULL},
37 {"dvdangle", &dvd_angle, CONF_TYPE_INT, CONF_RANGE, 1, 99, NULL},
38 {"chapter", dvd_parse_chapter_range, CONF_TYPE_FUNC_PARAM, 0, 0, 0, NULL},
39 #else
40 {"dvd", "MPlayer was compiled without libdvdread support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
41 #endif
42 {"alang", &audio_lang, CONF_TYPE_STRING, 0, 0, 0, NULL},
43 {"slang", &dvdsub_lang, CONF_TYPE_STRING, 0, 0, 0, NULL},
45 {"dvdauth", "libcss is obsolete. Try libdvdread instead.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
46 {"dvdkey", "libcss is obsolete. Try libdvdread instead.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
47 {"csslib", "libcss is obsolete. Try libdvdread instead.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
49 #ifdef MPLAYER_NETWORK
50 {"user", &network_username, CONF_TYPE_STRING, 0, 0, 0, NULL},
51 {"passwd", &network_password, CONF_TYPE_STRING, 0, 0, 0, NULL},
52 {"bandwidth", &network_bandwidth, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL},
53 {"user-agent", &network_useragent, CONF_TYPE_STRING, 0, 0, 0, NULL},
54 {"cookies", &network_cookies_enabled, CONF_TYPE_FLAG, 0, 0, 1, NULL},
55 {"nocookies", &network_cookies_enabled, CONF_TYPE_FLAG, 0, 1, 0, NULL},
56 {"cookies-file", &cookies_file, CONF_TYPE_STRING, 0, 0, 0, NULL},
57 {"prefer-ipv4", &network_prefer_ipv4, CONF_TYPE_FLAG, 0, 0, 1, NULL},
58 {"ipv4-only-proxy", &network_ipv4_only_proxy, CONF_TYPE_FLAG, 0, 0, 1, NULL},
59 #ifdef HAVE_AF_INET6
60 {"prefer-ipv6", &network_prefer_ipv4, CONF_TYPE_FLAG, 0, 1, 0, NULL},
61 #else
62 {"prefer-ipv6", "MPlayer was compiled without IPv6 support.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
63 #endif
65 #else
66 {"user", "MPlayer was compiled without streaming (network) support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
67 {"passwd", "MPlayer was compiled without streaming (network) support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
68 {"bandwidth", "MPlayer was compiled without streaming (network) support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
69 {"user-agent", "MPlayer was compiled without streaming (network) support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
70 #endif
72 #ifdef STREAMING_LIVE555
73 {"sdp", "-sdp is obsolete, use sdp://file instead.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
74 // -rtsp-stream-over-tcp option, specifying TCP streaming of RTP/RTCP
75 {"rtsp-stream-over-tcp", &rtspStreamOverTCP, CONF_TYPE_FLAG, 0, 0, 1, NULL},
76 #else
77 {"rtsp-stream-over-tcp", "RTSP support requires the \"LIVE555 Streaming Media\" libraries.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
78 #endif
79 #ifdef MPLAYER_NETWORK
80 {"rtsp-port", &rtsp_port, CONF_TYPE_INT, CONF_RANGE, -1, 65535, NULL},
81 {"rtsp-destination", &rtsp_destination, CONF_TYPE_STRING, CONF_MIN, 0, 0, NULL},
82 #else
83 {"rtsp-port", "MPlayer was compiled without network support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
84 {"rtsp-destination", "MPlayer was compiled without network support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
85 #endif
87 // ------------------------- demuxer options --------------------
89 // number of frames to play/convert
90 {"frames", &play_n_frames_mf, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL},
92 // seek to byte/seconds position
93 {"sb", &seek_to_byte, CONF_TYPE_POSITION, CONF_MIN, 0, 0, NULL},
94 {"ss", &seek_to_sec, CONF_TYPE_STRING, CONF_MIN, 0, 0, NULL},
96 {"edl", &edl_filename, CONF_TYPE_STRING, 0, 0, 0, NULL},
98 // AVI specific: force non-interleaved mode
99 {"ni", &force_ni, CONF_TYPE_FLAG, 0, 0, 1, NULL},
100 {"noni", &force_ni, CONF_TYPE_FLAG, 0, 1, 0, NULL},
102 // AVI and Ogg only: (re)build index at startup
103 {"noidx", &index_mode, CONF_TYPE_FLAG, 0, -1, 0, NULL},
104 {"idx", &index_mode, CONF_TYPE_FLAG, 0, -1, 1, NULL},
105 {"forceidx", &index_mode, CONF_TYPE_FLAG, 0, -1, 2, NULL},
106 {"saveidx", &index_file_save, CONF_TYPE_STRING, 0, 0, 0, NULL},
107 {"loadidx", &index_file_load, CONF_TYPE_STRING, 0, 0, 0, NULL},
109 // select audio/video/subtitle stream
110 {"aid", &audio_id, CONF_TYPE_INT, CONF_RANGE, 0, 8190, NULL},
111 {"vid", &video_id, CONF_TYPE_INT, CONF_RANGE, 0, 8190, NULL},
112 {"sid", &dvdsub_id, CONF_TYPE_INT, CONF_RANGE, 0, 8190, NULL},
113 {"novideo", &video_id, CONF_TYPE_FLAG, 0, -1, -2, NULL},
115 { "hr-mp3-seek", &hr_mp3_seek, CONF_TYPE_FLAG, 0, 0, 1, NULL },
116 { "nohr-mp3-seek", &hr_mp3_seek, CONF_TYPE_FLAG, 0, 1, 0, NULL},
118 { "rawaudio", &demux_rawaudio_opts, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
119 { "rawvideo", &demux_rawvideo_opts, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
121 #ifdef HAVE_CDDA
122 { "cdda", &cdda_opts, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
123 #endif
125 // demuxer.c - select audio/sub file/demuxer
126 { "audiofile", &audio_stream, CONF_TYPE_STRING, 0, 0, 0, NULL },
127 { "audiofile-cache", &audio_stream_cache, CONF_TYPE_INT, CONF_RANGE, 50, 65536, NULL},
128 { "subfile", &sub_stream, CONF_TYPE_STRING, 0, 0, 0, NULL },
129 { "demuxer", &demuxer_name, CONF_TYPE_STRING, 0, 0, 0, NULL },
130 { "audio-demuxer", &audio_demuxer_name, CONF_TYPE_STRING, 0, 0, 0, NULL },
131 { "sub-demuxer", &sub_demuxer_name, CONF_TYPE_STRING, 0, 0, 0, NULL },
132 { "extbased", &extension_parsing, CONF_TYPE_FLAG, 0, 0, 1, NULL },
133 { "noextbased", &extension_parsing, CONF_TYPE_FLAG, 0, 1, 0, NULL },
135 {"mf", mfopts_conf, CONF_TYPE_SUBCONFIG, 0,0,0, NULL},
136 #ifdef USE_TV
137 {"tv", tvopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
138 #else
139 {"tv", "MPlayer was compiled without TV interface support.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
140 #endif
141 #ifdef HAVE_PVR
142 {"pvr", pvropts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
143 #else
144 {"pvr", "MPlayer was compiled without V4L2/PVR interface support.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
145 #endif
146 {"vivo", vivoopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
147 #ifdef HAS_DVBIN_SUPPORT
148 {"dvbin", dvbin_opts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
149 #endif
151 // ------------------------- a-v sync options --------------------
153 // AVI specific: A-V sync mode (bps vs. interleaving)
154 {"bps", &pts_from_bps, CONF_TYPE_FLAG, 0, 0, 1, NULL},
155 {"nobps", &pts_from_bps, CONF_TYPE_FLAG, 0, 1, 0, NULL},
157 // set A-V sync correction speed (0=disables it):
158 {"mc", &default_max_pts_correction, CONF_TYPE_FLOAT, CONF_RANGE, 0, 100, NULL},
160 // force video/audio rate:
161 {"fps", &force_fps, CONF_TYPE_FLOAT, CONF_MIN, 0, 0, NULL},
162 {"srate", &force_srate, CONF_TYPE_INT, CONF_RANGE, 1000, 8*48000, NULL},
163 {"channels", &audio_output_channels, CONF_TYPE_INT, CONF_RANGE, 1, 6, NULL},
164 {"format", &audio_output_format, CONF_TYPE_AFMT, 0, 0, 0, NULL},
165 {"speed", &playback_speed, CONF_TYPE_FLOAT, CONF_RANGE, 0.01, 100.0, NULL},
167 // set a-v distance
168 {"delay", &audio_delay, CONF_TYPE_FLOAT, CONF_RANGE, -100.0, 100.0, NULL},
170 // ignore header-specified delay (dwStart)
171 {"ignore-start", &ignore_start, CONF_TYPE_FLAG, 0, 0, 1, NULL},
172 {"noignore-start", &ignore_start, CONF_TYPE_FLAG, 0, 1, 0, NULL},
174 #ifdef USE_LIBA52
175 {"a52drc", &a52_drc_level, CONF_TYPE_FLOAT, CONF_RANGE, 0, 1, NULL},
176 #endif
178 // ------------------------- codec/vfilter options --------------------
180 // MP3-only: select stereo/left/right
181 #ifdef USE_FAKE_MONO
182 {"stereo", &fakemono, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL},
183 #endif
185 // disable audio
186 {"sound", &audio_id, CONF_TYPE_FLAG, 0, -2, -1, NULL},
187 {"nosound", &audio_id, CONF_TYPE_FLAG, 0, -1, -2, NULL},
189 {"af-adv", audio_filter_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
190 {"af", &af_cfg.list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
192 {"vop*", &vo_plugin_args, CONF_TYPE_OBJ_SETTINGS_LIST, 0, 0, 0,&vf_obj_list },
193 {"vf*", &vf_settings, CONF_TYPE_OBJ_SETTINGS_LIST, 0, 0, 0, &vf_obj_list},
194 // select audio/video codec (by name) or codec family (by number):
195 // {"afm", &audio_family, CONF_TYPE_INT, CONF_MIN, 0, 22, NULL}, // keep ranges in sync
196 // {"vfm", &video_family, CONF_TYPE_INT, CONF_MIN, 0, 29, NULL}, // with codec-cfg.c
197 // {"afm", &audio_fm, CONF_TYPE_STRING, 0, 0, 0, NULL},
198 {"afm", &audio_fm_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
199 {"vfm", &video_fm_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
200 // {"ac", &audio_codec, CONF_TYPE_STRING, 0, 0, 0, NULL},
201 {"ac", &audio_codec_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
202 {"vc", &video_codec_list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
204 // postprocessing:
205 #ifdef USE_LIBAVCODEC
206 {"pp", &divx_quality, CONF_TYPE_INT, 0, 0, 0, NULL},
207 #endif
208 #if defined(USE_LIBPOSTPROC) || defined(USE_LIBPOSTPROC_SO)
209 {"pphelp", &pp_help, CONF_TYPE_PRINT_INDIRECT, CONF_NOCFG, 0, 0, NULL},
210 #endif
212 // scaling:
213 {"sws", &sws_flags, CONF_TYPE_INT, 0, 0, 2, NULL},
214 {"ssf", scaler_filter_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
215 {"zoom", &softzoom, CONF_TYPE_FLAG, 0, 0, 1, NULL},
216 {"nozoom", &softzoom, CONF_TYPE_FLAG, 0, 1, 0, NULL},
217 {"aspect", &movie_aspect, CONF_TYPE_FLOAT, CONF_RANGE, 0.2, 3.0, NULL},
218 {"noaspect", &movie_aspect, CONF_TYPE_FLAG, 0, 0, 0, NULL},
219 {"xy", &screen_size_xy, CONF_TYPE_FLOAT, CONF_RANGE, 0.001, 4096, NULL},
221 {"flip", &flip, CONF_TYPE_FLAG, 0, -1, 1, NULL},
222 {"noflip", &flip, CONF_TYPE_FLAG, 0, -1, 0, NULL},
223 {"tsfastparse", "-tsfastparse is no longer a valid option.\n", CONF_TYPE_PRINT, CONF_NOCFG ,0,0, NULL
225 {"tsprog", &ts_prog, CONF_TYPE_INT, CONF_RANGE, 0, 65534, NULL},
226 #define TS_MAX_PROBE_SIZE 2000000 /* don't forget to change this in libmpdemux/demux_ts.c too */
227 {"tsprobe", &ts_probe, CONF_TYPE_POSITION, 0, 0, TS_MAX_PROBE_SIZE, NULL},
228 {"tskeepbroken", &ts_keep_broken, CONF_TYPE_FLAG, 0, 0, 1, NULL},
230 // draw by slices or whole frame (useful with libmpeg2/libavcodec)
231 {"slices", &vd_use_slices, CONF_TYPE_FLAG, 0, 0, 1, NULL},
232 {"noslices", &vd_use_slices, CONF_TYPE_FLAG, 0, 1, 0, NULL},
234 #ifdef USE_LIBAVCODEC
235 {"lavdopts", lavc_decode_opts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
236 #endif
237 #if defined(HAVE_XVID3) || defined(HAVE_XVID4)
238 {"xvidopts", xvid_dec_opts, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
239 #endif
240 {"codecs-file", &codecs_file, CONF_TYPE_STRING, 0, 0, 0, NULL},
241 // ------------------------- subtitles options --------------------
243 #ifdef USE_SUB
244 {"sub", &sub_name, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
245 #ifdef USE_FRIBIDI
246 {"fribidi-charset", &fribidi_charset, CONF_TYPE_STRING, 0, 0, 0, NULL},
247 {"flip-hebrew", &flip_hebrew, CONF_TYPE_FLAG, 0, 0, 1, NULL},
248 {"noflip-hebrew", &flip_hebrew, CONF_TYPE_FLAG, 0, 1, 0, NULL},
249 {"flip-hebrew-commas", &fribidi_flip_commas, CONF_TYPE_FLAG, 0, 1, 0, NULL},
250 {"noflip-hebrew-commas", &fribidi_flip_commas, CONF_TYPE_FLAG, 0, 0, 1, NULL},
251 #else
252 {"fribidi-charset", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
253 {"flip-hebrew", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
254 {"noflip-hebrew", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
255 {"flip-hebrew-commas", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
256 {"noflip-hebrew-commas", "MPlayer was compiled without FriBiDi support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
257 #endif
258 #ifdef USE_ICONV
259 {"subcp", &sub_cp, CONF_TYPE_STRING, 0, 0, 0, NULL},
260 #endif
261 {"subdelay", &sub_delay, CONF_TYPE_FLOAT, 0, 0.0, 10.0, NULL},
262 {"subfps", &sub_fps, CONF_TYPE_FLOAT, 0, 0.0, 10.0, NULL},
263 {"autosub", &sub_auto, CONF_TYPE_FLAG, 0, 0, 1, NULL},
264 {"noautosub", &sub_auto, CONF_TYPE_FLAG, 0, 1, 0, NULL},
265 {"unicode", &sub_unicode, CONF_TYPE_FLAG, 0, 0, 1, NULL},
266 {"nounicode", &sub_unicode, CONF_TYPE_FLAG, 0, 1, 0, NULL},
267 {"utf8", &sub_utf8, CONF_TYPE_FLAG, 0, 0, 1, NULL},
268 {"noutf8", &sub_utf8, CONF_TYPE_FLAG, 0, 1, 0, NULL},
269 {"forcedsubsonly", &forced_subs_only, CONF_TYPE_FLAG, 0, 0, 1, NULL},
270 // specify IFO file for VOBSUB subtitle
271 {"ifo", &spudec_ifo, CONF_TYPE_STRING, 0, 0, 0, NULL},
272 // enable Closed Captioning display
273 {"subcc", &subcc_enabled, CONF_TYPE_FLAG, 0, 0, 1, NULL},
274 {"nosubcc", &subcc_enabled, CONF_TYPE_FLAG, 0, 1, 0, NULL},
275 {"overlapsub", &suboverlap_enabled, CONF_TYPE_FLAG, 0, 0, 2, NULL},
276 {"nooverlapsub", &suboverlap_enabled, CONF_TYPE_FLAG, 0, 0, 0, NULL},
277 {"sub-bg-color", &sub_bg_color, CONF_TYPE_INT, CONF_RANGE, 0, 255, NULL},
278 {"sub-bg-alpha", &sub_bg_alpha, CONF_TYPE_INT, CONF_RANGE, 0, 255, NULL},
279 {"sub-no-text-pp", &sub_no_text_pp, CONF_TYPE_FLAG, 0, 0, 1, NULL},
280 {"sub-fuzziness", &sub_match_fuzziness, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL},
281 #endif
282 #ifdef USE_OSD
283 {"font", &font_name, CONF_TYPE_STRING, 0, 0, 0, NULL},
284 {"ffactor", &font_factor, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 10.0, NULL},
285 {"subpos", &sub_pos, CONF_TYPE_INT, CONF_RANGE, 0, 100, NULL},
286 {"subalign", &sub_alignment, CONF_TYPE_INT, CONF_RANGE, 0, 2, NULL},
287 {"subwidth", &sub_width_p, CONF_TYPE_INT, CONF_RANGE, 10, 100, NULL},
288 {"spualign", &spu_alignment, CONF_TYPE_INT, CONF_RANGE, -1, 2, NULL},
289 {"spuaa", &spu_aamode, CONF_TYPE_INT, CONF_RANGE, 0, 31, NULL},
290 {"spugauss", &spu_gaussvar, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 3.0, NULL},
291 #ifdef HAVE_FREETYPE
292 {"subfont-encoding", &subtitle_font_encoding, CONF_TYPE_STRING, 0, 0, 0, NULL},
293 {"subfont-text-scale", &text_font_scale_factor, CONF_TYPE_FLOAT, CONF_RANGE, 0, 100, NULL},
294 {"subfont-osd-scale", &osd_font_scale_factor, CONF_TYPE_FLOAT, CONF_RANGE, 0, 100, NULL},
295 {"subfont-blur", &subtitle_font_radius, CONF_TYPE_FLOAT, CONF_RANGE, 0, 8, NULL},
296 {"subfont-outline", &subtitle_font_thickness, CONF_TYPE_FLOAT, CONF_RANGE, 0, 8, NULL},
297 {"subfont-autoscale", &subtitle_autoscale, CONF_TYPE_INT, CONF_RANGE, 0, 3, NULL},
298 #endif
299 #ifdef USE_ASS
300 {"ass", &ass_enabled, CONF_TYPE_FLAG, 0, 0, 1, NULL},
301 {"noass", &ass_enabled, CONF_TYPE_FLAG, 0, 1, 0, NULL},
302 {"ass-font-scale", &ass_font_scale, CONF_TYPE_FLOAT, CONF_RANGE, 0, 100, NULL},
303 {"ass-line-spacing", &ass_line_spacing, CONF_TYPE_FLOAT, CONF_RANGE, -1000, 1000, NULL},
304 {"ass-top-margin", &ass_top_margin, CONF_TYPE_INT, CONF_RANGE, 0, 2000, NULL},
305 {"ass-bottom-margin", &ass_bottom_margin, CONF_TYPE_INT, CONF_RANGE, 0, 2000, NULL},
306 {"embeddedfonts", &extract_embedded_fonts, CONF_TYPE_FLAG, 0, 0, 1, NULL},
307 {"noembeddedfonts", &extract_embedded_fonts, CONF_TYPE_FLAG, 0, 1, 0, NULL},
308 #endif
309 #ifdef HAVE_FONTCONFIG
310 {"fontconfig", &font_fontconfig, CONF_TYPE_FLAG, 0, 0, 1, NULL},
311 {"nofontconfig", &font_fontconfig, CONF_TYPE_FLAG, 0, 1, 0, NULL},
312 #else
313 {"fontconfig", "MPlayer was compiled without fontconfig support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
314 {"nofontconfig", "MPlayer was compiled without fontconfig support.\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
315 #endif
316 #endif
318 #else
320 #include "config.h"
322 extern int quiet;
323 extern int verbose;
324 extern char *mp_msg_charset;
326 // codec/filter opts: (defined at libmpcodecs/vd.c)
327 extern float screen_size_xy;
328 extern float movie_aspect;
329 extern int softzoom;
330 extern int flip;
331 extern int vd_use_slices;
332 extern int divx_quality;
334 /* defined in codec-cfg.c */
335 extern char * codecs_file;
337 /* from dec_audio, currently used for ac3surround decoder only */
338 extern int audio_output_channels;
340 #ifdef MPLAYER_NETWORK
341 /* defined in network.c */
342 extern char *network_username;
343 extern char *network_password;
344 extern int network_bandwidth;
345 extern char *network_useragent;
346 extern int network_cookies_enabled;
347 extern char *cookies_file;
349 extern int network_prefer_ipv4;
350 extern int network_ipv4_only_proxy;
352 #endif
354 extern float a52_drc_level;
356 /* defined in libmpdemux: */
357 extern int hr_mp3_seek;
358 extern m_option_t demux_rawaudio_opts[];
359 extern m_option_t demux_rawvideo_opts[];
360 extern m_option_t cdda_opts[];
362 extern char* audio_stream;
363 extern char* sub_stream;
364 extern int demuxer_type, audio_demuxer_type, sub_demuxer_type;
365 extern int ts_prog;
366 extern int ts_keep_broken;
367 extern off_t ts_probe;
369 #include "stream/tv.h"
371 extern char* edl_filename;
372 extern char* edl_output_filename;
374 #ifdef USE_TV
375 m_option_t tvopts_conf[]={
376 {"on", "-tv on is deprecated, use tv:// instead.\n", CONF_TYPE_PRINT, 0, 0, 0, NULL},
377 {"immediatemode", &tv_param_immediate, CONF_TYPE_INT, CONF_RANGE, 0, 1, NULL},
378 {"noaudio", &tv_param_noaudio, CONF_TYPE_FLAG, 0, 0, 1, NULL},
379 {"audiorate", &tv_param_audiorate, CONF_TYPE_INT, 0, 0, 0, NULL},
380 {"driver", &tv_param_driver, CONF_TYPE_STRING, 0, 0, 0, NULL},
381 {"device", &tv_param_device, CONF_TYPE_STRING, 0, 0, 0, NULL},
382 {"freq", &tv_param_freq, CONF_TYPE_STRING, 0, 0, 0, NULL},
383 {"channel", &tv_param_channel, CONF_TYPE_STRING, 0, 0, 0, NULL},
384 {"chanlist", &tv_param_chanlist, CONF_TYPE_STRING, 0, 0, 0, NULL},
385 {"norm", &tv_param_norm, CONF_TYPE_STRING, 0, 0, 0, NULL},
386 #ifdef HAVE_TV_V4L2
387 {"normid", &tv_param_normid, CONF_TYPE_INT, 0, 0, 0, NULL},
388 #endif
389 {"width", &tv_param_width, CONF_TYPE_INT, 0, 0, 4096, NULL},
390 {"height", &tv_param_height, CONF_TYPE_INT, 0, 0, 4096, NULL},
391 {"input", &tv_param_input, CONF_TYPE_INT, 0, 0, 20, NULL},
392 {"outfmt", &tv_param_outfmt, CONF_TYPE_IMGFMT, 0, 0, 0, NULL},
393 {"fps", &tv_param_fps, CONF_TYPE_FLOAT, 0, 0, 100.0, NULL},
394 {"channels", &tv_param_channels, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
395 {"brightness", &tv_param_brightness, CONF_TYPE_INT, CONF_RANGE, -100, 100, NULL},
396 {"contrast", &tv_param_contrast, CONF_TYPE_INT, CONF_RANGE, -100, 100, NULL},
397 {"hue", &tv_param_hue, CONF_TYPE_INT, CONF_RANGE, -100, 100, NULL},
398 {"saturation", &tv_param_saturation, CONF_TYPE_INT, CONF_RANGE, -100, 100, NULL},
399 #if defined(HAVE_TV_V4L) || defined(HAVE_TV_V4L2)
400 {"amode", &tv_param_amode, CONF_TYPE_INT, CONF_RANGE, 0, 3, NULL},
401 {"volume", &tv_param_volume, CONF_TYPE_INT, CONF_RANGE, 0, 65535, NULL},
402 {"bass", &tv_param_bass, CONF_TYPE_INT, CONF_RANGE, 0, 65535, NULL},
403 {"treble", &tv_param_treble, CONF_TYPE_INT, CONF_RANGE, 0, 65535, NULL},
404 {"balance", &tv_param_balance, CONF_TYPE_INT, CONF_RANGE, 0, 65535, NULL},
405 {"forcechan", &tv_param_forcechan, CONF_TYPE_INT, CONF_RANGE, 1, 2, NULL},
406 {"forceaudio", &tv_param_force_audio, CONF_TYPE_FLAG, 0, 0, 1, NULL},
407 {"buffersize", &tv_param_buffer_size, CONF_TYPE_INT, CONF_RANGE, 16, 1024, NULL},
408 {"mjpeg", &tv_param_mjpeg, CONF_TYPE_FLAG, 0, 0, 1, NULL},
409 {"decimation", &tv_param_decimation, CONF_TYPE_INT, CONF_RANGE, 1, 4, NULL},
410 {"quality", &tv_param_quality, CONF_TYPE_INT, CONF_RANGE, 0, 100, NULL},
411 #if defined(HAVE_ALSA9) || defined(HAVE_ALSA1X)
412 {"alsa", &tv_param_alsa, CONF_TYPE_FLAG, 0, 0, 1, NULL},
413 #endif
414 {"adevice", &tv_param_adevice, CONF_TYPE_STRING, 0, 0, 0, NULL},
415 #endif
416 {"audioid", &tv_param_audio_id, CONF_TYPE_INT, CONF_RANGE, 0, 9, NULL},
417 {NULL, NULL, 0, 0, 0, 0, NULL}
419 #endif
421 #ifdef HAVE_PVR
422 extern int pvr_param_aspect_ratio;
423 extern int pvr_param_sample_rate;
424 extern int pvr_param_audio_layer;
425 extern int pvr_param_audio_bitrate;
426 extern char *pvr_param_audio_mode;
427 extern int pvr_param_bitrate;
428 extern char *pvr_param_bitrate_mode;
429 extern int pvr_param_bitrate_peak;
430 extern char *pvr_param_stream_type;
432 m_option_t pvropts_conf[]={
433 {"aspect", &pvr_param_aspect_ratio, CONF_TYPE_INT, 0, 1, 4, NULL},
434 {"arate", &pvr_param_sample_rate, CONF_TYPE_INT, 0, 32000, 48000, NULL},
435 {"alayer", &pvr_param_audio_layer, CONF_TYPE_INT, 0, 1, 2, NULL},
436 {"abitrate", &pvr_param_audio_bitrate, CONF_TYPE_INT, 0, 32, 448, NULL},
437 {"amode", &pvr_param_audio_mode, CONF_TYPE_STRING, 0, 0, 0, NULL},
438 {"vbitrate", &pvr_param_bitrate, CONF_TYPE_INT, 0, 0, 0, NULL},
439 {"vmode", &pvr_param_bitrate_mode, CONF_TYPE_STRING, 0, 0, 0, NULL},
440 {"vpeak", &pvr_param_bitrate_peak, CONF_TYPE_INT, 0, 0, 0, NULL},
441 {"fmt", &pvr_param_stream_type, CONF_TYPE_STRING, 0, 0, 0, NULL},
442 {NULL, NULL, 0, 0, 0, 0, NULL}
444 #endif
446 #ifdef HAS_DVBIN_SUPPORT
447 #include "stream/dvbin.h"
448 extern m_config_t dvbin_opts_conf[];
449 #endif
451 #ifdef USE_FRIBIDI
452 extern char *fribidi_charset;
453 extern int flip_hebrew;
454 #endif
456 #ifdef STREAMING_LIVE555
457 extern int rtspStreamOverTCP;
458 #endif
459 extern int rtsp_port;
460 extern char *rtsp_destination;
463 extern int audio_stream_cache;
465 extern int sws_chr_vshift;
466 extern int sws_chr_hshift;
467 extern float sws_chr_gblur;
468 extern float sws_lum_gblur;
469 extern float sws_chr_sharpen;
470 extern float sws_lum_sharpen;
472 m_option_t scaler_filter_conf[]={
473 {"lgb", &sws_lum_gblur, CONF_TYPE_FLOAT, 0, 0, 100.0, NULL},
474 {"cgb", &sws_chr_gblur, CONF_TYPE_FLOAT, 0, 0, 100.0, NULL},
475 {"cvs", &sws_chr_vshift, CONF_TYPE_INT, 0, 0, 0, NULL},
476 {"chs", &sws_chr_hshift, CONF_TYPE_INT, 0, 0, 0, NULL},
477 {"ls", &sws_lum_sharpen, CONF_TYPE_FLOAT, 0, -100.0, 100.0, NULL},
478 {"cs", &sws_chr_sharpen, CONF_TYPE_FLOAT, 0, -100.0, 100.0, NULL},
479 {NULL, NULL, 0, 0, 0, 0, NULL}
482 /* VIVO demuxer options: */
483 extern int vivo_param_version;
484 extern char *vivo_param_acodec;
485 extern int vivo_param_abitrate;
486 extern int vivo_param_samplerate;
487 extern int vivo_param_bytesperblock;
488 extern int vivo_param_width;
489 extern int vivo_param_height;
490 extern int vivo_param_vformat;
491 extern char *dvd_device, *cdrom_device;
493 m_option_t vivoopts_conf[]={
494 {"version", &vivo_param_version, CONF_TYPE_INT, 0, 0, 0, NULL},
495 /* audio options */
496 {"acodec", &vivo_param_acodec, CONF_TYPE_STRING, 0, 0, 0, NULL},
497 {"abitrate", &vivo_param_abitrate, CONF_TYPE_INT, 0, 0, 0, NULL},
498 {"samplerate", &vivo_param_samplerate, CONF_TYPE_INT, 0, 0, 0, NULL},
499 {"bytesperblock", &vivo_param_bytesperblock, CONF_TYPE_INT, 0, 0, 0, NULL},
500 /* video options */
501 {"width", &vivo_param_width, CONF_TYPE_INT, 0, 0, 0, NULL},
502 {"height", &vivo_param_height, CONF_TYPE_INT, 0, 0, 0, NULL},
503 {"vformat", &vivo_param_vformat, CONF_TYPE_INT, 0, 0, 0, NULL},
504 {NULL, NULL, 0, 0, 0, 0, NULL}
507 extern int mf_w;
508 extern int mf_h;
509 extern float mf_fps;
510 extern char * mf_type;
511 extern m_obj_settings_t* vf_settings;
512 extern m_obj_list_t vf_obj_list;
514 m_option_t mfopts_conf[]={
515 {"on", "-mf on is deprecated, use mf:// instead.\n", CONF_TYPE_PRINT, 0, 0, 1, NULL},
516 {"w", &mf_w, CONF_TYPE_INT, 0, 0, 0, NULL},
517 {"h", &mf_h, CONF_TYPE_INT, 0, 0, 0, NULL},
518 {"fps", &mf_fps, CONF_TYPE_FLOAT, 0, 0, 0, NULL},
519 {"type", &mf_type, CONF_TYPE_STRING, 0, 0, 0, NULL},
520 {NULL, NULL, 0, 0, 0, 0, NULL}
523 extern m_obj_settings_t* vo_plugin_args;
525 #include "libaf/af.h"
526 extern af_cfg_t af_cfg; // Audio filter configuration, defined in libmpcodecs/dec_audio.c
527 m_option_t audio_filter_conf[]={
528 {"list", &af_cfg.list, CONF_TYPE_STRING_LIST, 0, 0, 0, NULL},
529 {"force", &af_cfg.force, CONF_TYPE_INT, CONF_RANGE, 0, 7, NULL},
530 {NULL, NULL, 0, 0, 0, 0, NULL}
533 m_option_t msgl_config[]={
534 { "all", &mp_msg_level_all, CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL},
536 { "global", &mp_msg_levels[MSGT_GLOBAL], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
537 { "cplayer", &mp_msg_levels[MSGT_CPLAYER], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
538 { "gplayer", &mp_msg_levels[MSGT_GPLAYER], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
539 { "vo", &mp_msg_levels[MSGT_VO], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
540 { "ao", &mp_msg_levels[MSGT_AO], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
541 { "demuxer", &mp_msg_levels[MSGT_DEMUXER], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
542 { "ds", &mp_msg_levels[MSGT_DS], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
543 { "demux", &mp_msg_levels[MSGT_DEMUX], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
544 { "header", &mp_msg_levels[MSGT_HEADER], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
545 { "avsync", &mp_msg_levels[MSGT_AVSYNC], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
546 { "autoq", &mp_msg_levels[MSGT_AUTOQ], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
547 { "cfgparser", &mp_msg_levels[MSGT_CFGPARSER], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
548 { "decaudio", &mp_msg_levels[MSGT_DECAUDIO], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
549 { "decvideo", &mp_msg_levels[MSGT_DECVIDEO], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
550 { "seek", &mp_msg_levels[MSGT_SEEK], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
551 { "win32", &mp_msg_levels[MSGT_WIN32], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
552 { "open", &mp_msg_levels[MSGT_OPEN], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
553 { "dvd", &mp_msg_levels[MSGT_DVD], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
554 { "parsees", &mp_msg_levels[MSGT_PARSEES], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
555 { "lirc", &mp_msg_levels[MSGT_LIRC], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
556 { "stream", &mp_msg_levels[MSGT_STREAM], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
557 { "cache", &mp_msg_levels[MSGT_CACHE], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
558 { "mencoder", &mp_msg_levels[MSGT_MENCODER], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
559 { "xacodec", &mp_msg_levels[MSGT_XACODEC], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
560 { "tv", &mp_msg_levels[MSGT_TV], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
561 { "osdep", &mp_msg_levels[MSGT_OSDEP], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
562 { "spudec", &mp_msg_levels[MSGT_SPUDEC], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
563 { "playtree", &mp_msg_levels[MSGT_PLAYTREE], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
564 { "input", &mp_msg_levels[MSGT_INPUT], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
565 { "vfilter", &mp_msg_levels[MSGT_VFILTER], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
566 { "osd", &mp_msg_levels[MSGT_OSD], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
567 { "network", &mp_msg_levels[MSGT_NETWORK], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
568 { "cpudetect", &mp_msg_levels[MSGT_CPUDETECT], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
569 { "codeccfg", &mp_msg_levels[MSGT_CODECCFG], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
570 { "sws", &mp_msg_levels[MSGT_SWS], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
571 { "vobsub", &mp_msg_levels[MSGT_VOBSUB], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
572 { "subreader", &mp_msg_levels[MSGT_SUBREADER], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
573 { "afilter", &mp_msg_levels[MSGT_AFILTER], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
574 { "netst", &mp_msg_levels[MSGT_NETST], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
575 { "muxer", &mp_msg_levels[MSGT_MUXER], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
576 { "osd-menu", &mp_msg_levels[MSGT_OSD_MENU], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
577 { "identify", &mp_msg_levels[MSGT_IDENTIFY], CONF_TYPE_INT, CONF_RANGE, -1, 9, NULL },
578 {"help", "Available msg modules:\n"
579 " global - common player errors/information\n"
580 " cplayer - console player (mplayer.c)\n"
581 " gplayer - gui player\n"
582 " vo - libvo\n"
583 " ao - libao\n"
584 " demuxer - demuxer.c (general stuff)\n"
585 " ds - demux stream (add/read packet etc)\n"
586 " demux - fileformat-specific stuff (demux_*.c)\n"
587 " header - fileformat-specific header (*header.c)\n"
588 " avsync - mplayer.c timer stuff\n"
589 " autoq - mplayer.c auto-quality stuff\n"
590 " cfgparser - cfgparser.c\n"
591 " decaudio - av decoder\n"
592 " decvideo\n"
593 " seek - seeking code\n"
594 " win32 - win32 dll stuff\n"
595 " open - open.c (stream opening)\n"
596 " dvd - open.c (DVD init/read/seek)\n"
597 " parsees - parse_es.c (mpeg stream parser)\n"
598 " lirc - lirc_mp.c and input lirc driver\n"
599 " stream - stream.c\n"
600 " cache - cache2.c\n"
601 " mencoder\n"
602 " xacodec - XAnim codecs\n"
603 " tv - TV input subsystem\n"
604 " osdep - OS Dependant parts (linux/ for now)\n"
605 " spudec - spudec.c\n"
606 " playtree - Playtree handeling (playtree.c, playtreeparser.c)\n"
607 " input\n"
608 " vfilter\n"
609 " osd\n"
610 " network\n"
611 " cpudetect\n"
612 " codeccfg\n"
613 " sws\n"
614 " vobsub\n"
615 " subreader\n"
616 " osd-menu - OSD menu messages\n"
617 " afilter - Audio filter messages\n"
618 " netst - Netstream\n"
619 " muxer - muxer layer\n"
620 " identify - identify output\n"
621 "\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
622 {NULL, NULL, 0, 0, 0, 0, NULL}
626 #ifdef WIN32
628 extern char * proc_priority;
630 struct {
631 char* name;
632 int prio;
633 } priority_presets_defs[] = {
634 { "realtime", REALTIME_PRIORITY_CLASS},
635 { "high", HIGH_PRIORITY_CLASS},
636 #ifdef ABOVE_NORMAL_PRIORITY_CLASS
637 { "abovenormal", ABOVE_NORMAL_PRIORITY_CLASS},
638 #endif
639 { "normal", NORMAL_PRIORITY_CLASS},
640 #ifdef BELOW_NORMAL_PRIORITY_CLASS
641 { "belownormal", BELOW_NORMAL_PRIORITY_CLASS},
642 #endif
643 { "idle", IDLE_PRIORITY_CLASS},
644 { NULL, NORMAL_PRIORITY_CLASS} /* default */
646 #endif /* WIN32 */
648 #ifdef USE_LIBAVCODEC
649 extern m_option_t lavc_decode_opts_conf[];
650 #endif
652 #if defined(HAVE_XVID3) || defined(HAVE_XVID4)
653 extern m_option_t xvid_dec_opts[];
654 #endif
656 int dvd_parse_chapter_range(m_option_t*, const char*);
658 #endif