5 #include "cfg-common.h"
8 extern int fakemono
; // defined in dec_audio.c
10 #ifdef HAVE_ODIVX_POSTPROCESS
11 extern int use_old_pp
;
15 extern int readPPOpt(void *, char *arg
);
16 extern void revertPPOpt(void *conf
, char* opt
);
19 #ifdef HAVE_DIVX4ENCORE
20 extern m_option_t divx4opts_conf
[];
24 m_option_t lameopts_conf
[]={
25 {"q", &lame_param_quality
, CONF_TYPE_INT
, CONF_RANGE
, 0, 9, NULL
},
26 {"aq", &lame_param_algqual
, CONF_TYPE_INT
, CONF_RANGE
, 0, 9, NULL
},
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
},
34 {"vol", &lame_param_scale
, CONF_TYPE_FLOAT
, CONF_RANGE
, 0, 10, NULL
},
35 {"lowpassfreq",&lame_param_lowpassfreq
, CONF_TYPE_INT
, CONF_RANGE
, -1, 48000,0},
36 {"highpassfreq",&lame_param_highpassfreq
, CONF_TYPE_INT
, CONF_RANGE
, -1, 48000,0},
37 #if HAVE_MP3LAME >= 392
38 {"fast", &lame_param_fast
, CONF_TYPE_FLAG
, 0, 0, 1, NULL
},
39 {"preset", &lame_param_preset
, CONF_TYPE_STRING
, 0, 0, 0, NULL
},
41 {"fast", "MPlayer was built without -lameopts fast support (requires libmp3lame >=3.92)!\n", CONF_TYPE_PRINT
, CONF_NOCFG
, 0, 0, NULL
},
42 {"preset", "MPlayer was built without -lameopts preset support (requires libmp3lame >=3.92)!\n", CONF_TYPE_PRINT
, CONF_NOCFG
, 0, 0, NULL
},
44 {"help", MSGTR_MEncoderMP3LameHelp
, CONF_TYPE_PRINT
, CONF_NOCFG
, 0, 0, NULL
},
45 {NULL
, NULL
, 0, 0, 0, 0, NULL
}
50 extern m_option_t lavcopts_conf
[];
54 extern m_option_t vfwopts_conf
[];
57 #if defined(HAVE_XVID3) || defined(HAVE_XVID4)
58 extern m_option_t xvidencopts_conf
[];
61 extern m_option_t nuvopts_conf
[];
63 m_option_t ovc_conf
[]={
64 {"copy", &out_video_codec
, CONF_TYPE_FLAG
, 0, 0, VCODEC_COPY
, NULL
},
65 {"frameno", &out_video_codec
, CONF_TYPE_FLAG
, 0, 0, VCODEC_FRAMENO
, NULL
},
66 {"divx4", &out_video_codec
, CONF_TYPE_FLAG
, 0, 0, VCODEC_DIVX4
, NULL
},
67 // {"raw", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_RAW, NULL},
68 {"lavc", &out_video_codec
, CONF_TYPE_FLAG
, 0, 0, VCODEC_LIBAVCODEC
, NULL
},
69 // {"null", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_NULL, NULL},
70 {"raw", &out_video_codec
, CONF_TYPE_FLAG
, 0, 0, VCODEC_RAW
, NULL
},
71 {"vfw", &out_video_codec
, CONF_TYPE_FLAG
, 0, 0, VCODEC_VFW
, NULL
},
72 {"libdv", &out_video_codec
, CONF_TYPE_FLAG
, 0, 0, VCODEC_LIBDV
, NULL
},
73 {"xvid", &out_video_codec
, CONF_TYPE_FLAG
, 0, 0, VCODEC_XVID
, NULL
},
74 {"qtvideo", &out_video_codec
, CONF_TYPE_FLAG
, 0, 0, VCODEC_QTVIDEO
, NULL
},
75 {"nuv", &out_video_codec
, CONF_TYPE_FLAG
, 0, 0, VCODEC_NUV
, NULL
},
76 {"help", "\nAvailable codecs:\n"
77 " copy - frame copy, without re-encoding. doesn't work with filters!\n"
78 " frameno - special audio-only file for 3-pass encoding, see DOCS!\n"
79 " raw - uncompressed video. Use fourcc option to set format explicitly.\n"
80 " nuv - nuppel video\n"
81 #ifdef HAVE_DIVX4ENCORE
83 " divx4 - using XviD (divx4linux compat. mode)\n"
85 " divx4 - using divx4linux/divx5linux lib (depends on configuration)\n"
89 " lavc - using libavcodec codecs - best quality!\n"
92 " vfw - using VfW DLLs, currently only AVID is supported\n"
93 " qtvideo - using QuickTime DLLs, currently only SVQ1/3 are supported\n"
96 " libdv - DV encoding using libdv v0.9.5\n"
98 #if defined(HAVE_XVID3) || defined(HAVE_XVID4)
99 " xvid - xvid encoding\n"
101 "\n", CONF_TYPE_PRINT
, CONF_NOCFG
, 0, 0, NULL
},
102 {NULL
, NULL
, 0, 0, 0, 0, NULL
}
105 m_option_t oac_conf
[]={
106 {"copy", &out_audio_codec
, CONF_TYPE_FLAG
, 0, 0, ACODEC_COPY
, NULL
},
107 {"pcm", &out_audio_codec
, CONF_TYPE_FLAG
, 0, 0, ACODEC_PCM
, NULL
},
109 {"mp3lame", &out_audio_codec
, CONF_TYPE_FLAG
, 0, 0, ACODEC_VBRMP3
, NULL
},
111 {"mp3lame", "MPlayer was compiled without libmp3lame support!\n", CONF_TYPE_PRINT
, CONF_NOCFG
, 0, 0, NULL
},
113 #ifdef USE_LIBAVCODEC
114 {"lavc", &out_audio_codec
, CONF_TYPE_FLAG
, 0, 0, ACODEC_LAVC
, NULL
},
116 {"lavc", "MPlayer was compiled without libavcodec! See README or DOCS!\n", CONF_TYPE_PRINT
, CONF_NOCFG
, 0, 0, NULL
},
118 {"help", "\nAvailable codecs:\n"
119 " copy - frame copy, without re-encoding (useful for AC3)\n"
120 " pcm - uncompressed PCM audio\n"
122 " mp3lame - cbr/abr/vbr MP3 using libmp3lame\n"
124 #ifdef USE_LIBAVCODEC
125 " lavc - ffmpeg audio encoder (mp2, ac3, ...)\n"
127 "\n", CONF_TYPE_PRINT
, CONF_NOCFG
, 0, 0, NULL
},
128 {NULL
, NULL
, 0, 0, 0, 0, NULL
}
131 m_option_t info_conf
[]={
132 {"name", &info_name
, CONF_TYPE_STRING
, 0, 0, 0, NULL
},
133 {"artist", &info_artist
, CONF_TYPE_STRING
, 0, 0, 0, NULL
},
134 {"genre", &info_genre
, CONF_TYPE_STRING
, 0, 0, 0, NULL
},
135 {"subject", &info_subject
, CONF_TYPE_STRING
, 0, 0, 0, NULL
},
136 {"copyright", &info_copyright
, CONF_TYPE_STRING
, 0, 0, 0, NULL
},
137 {"srcform", &info_sourceform
, CONF_TYPE_STRING
, 0, 0, 0, NULL
},
138 {"comment", &info_comment
, CONF_TYPE_STRING
, 0, 0, 0, NULL
},
139 {"help", "\nAvailable INFO fields:\n"
140 " name - title of the subject of the file\n"
141 " artist - artist or author of the original subject of the file\n"
142 " genre - original work category\n"
143 " subject - contents of the file\n"
144 " copyright - copyright information for the file\n"
145 " srcform - original form of the material that was digitized\n"
146 " comment - general comments about the file or the subject of the file\n"
147 "\n", CONF_TYPE_PRINT
, CONF_NOCFG
, 0, 0, NULL
},
148 {NULL
, NULL
, 0, 0, 0, 0, NULL
}
151 m_option_t of_conf
[]={
152 {"avi", &out_file_format
, CONF_TYPE_FLAG
, 0, 0, MUXER_TYPE_AVI
, NULL
},
153 {"mpeg", &out_file_format
, CONF_TYPE_FLAG
, 0, 0, MUXER_TYPE_MPEG
, NULL
},
154 {"rawvideo", &out_file_format
, CONF_TYPE_FLAG
, 0, 0, MUXER_TYPE_RAWVIDEO
, NULL
},
155 {"help", "\nAvailable output formats:\n"
156 " avi - Microsoft Audio/Video Interleaved\n"
157 " mpeg - MPEG-1 system stream format\n"
158 " rawvideo - (video only, one stream only) raw stream, no muxing\n"
159 "\n", CONF_TYPE_PRINT
, CONF_NOCFG
, 0, 0, NULL
},
160 {NULL
, NULL
, 0, 0, 0, 0, NULL
}
163 m_option_t mencoder_opts
[]={
164 /* name, pointer, type, flags, min, max */
166 {"endpos", parse_end_at
, CONF_TYPE_FUNC_PARAM
, 0, 0, 0, NULL
},
168 // set output framerate - recommended for variable fps (.asf etc) files
169 // and for 29.97fps progressive mpeg2 streams
170 {"ofps", &force_ofps
, CONF_TYPE_FLOAT
, CONF_MIN
, 0, 0, NULL
},
171 {"o", &out_filename
, CONF_TYPE_STRING
, 0, 0, 0, NULL
},
173 // limit number of skippable frames after a non-skipped one
174 {"skiplimit", &skip_limit
, CONF_TYPE_INT
, 0, 0, 0, NULL
},
175 {"noskiplimit", &skip_limit
, CONF_TYPE_FLAG
, 0, 0, -1, NULL
},
176 {"noskip", &skip_limit
, CONF_TYPE_FLAG
, 0, 0, 0, NULL
},
178 {"audio-density", &audio_density
, CONF_TYPE_INT
, CONF_RANGE
, 1, 50, NULL
},
179 {"audio-preload", &audio_preload
, CONF_TYPE_FLOAT
, CONF_RANGE
, 0, 2, NULL
},
180 {"audio-delay", &audio_delay
, CONF_TYPE_FLOAT
, CONF_MIN
, 0, 0, NULL
},
182 {"x", "This option is obsolete, use -vf scale=w:h for scaling.\n", CONF_TYPE_PRINT
, CONF_NOCFG
, 0, 0, NULL
},
183 {"xsize", "This option is obsolete, use -vf crop=w:h:x0:y0 for cropping.\n", CONF_TYPE_PRINT
, CONF_NOCFG
, 0, 0, NULL
},
185 // output audio/video codec selection
186 {"oac", oac_conf
, CONF_TYPE_SUBCONFIG
, 0, 0, 0, NULL
},
187 {"ovc", ovc_conf
, CONF_TYPE_SUBCONFIG
, 0, 0, 0, NULL
},
189 // output file format
190 {"of", of_conf
, CONF_TYPE_SUBCONFIG
, 0, 0, 0, NULL
},
192 // override FOURCC in output file
193 {"ffourcc", &force_fourcc
, CONF_TYPE_STRING
, 0, 4, 4, NULL
},
195 {"pass", "The -pass option is obsolete. Use -lavcopts vpass=n or -divx4opts pass=n!\nRTFM!\n", CONF_TYPE_PRINT
, CONF_NOCFG
, 0, 0, NULL
},
196 {"passlogfile", &passtmpfile
, CONF_TYPE_STRING
, 0, 0, 0, NULL
},
198 {"vobsubout", &vobsub_out
, CONF_TYPE_STRING
, 0, 0, 0, NULL
},
199 {"vobsuboutindex", &vobsub_out_index
, CONF_TYPE_INT
, CONF_RANGE
, 0, 31, NULL
},
200 {"vobsuboutid", &vobsub_out_id
, CONF_TYPE_STRING
, 0, 0, 0, NULL
},
202 {"autoexpand", &auto_expand
, CONF_TYPE_FLAG
, 0, 0, 1, NULL
},
203 {"noautoexpand", &auto_expand
, CONF_TYPE_FLAG
, 0, 1, 0, NULL
},
205 // info header strings
206 {"info", info_conf
, CONF_TYPE_SUBCONFIG
, 0, 0, 0, NULL
},
208 #ifdef HAVE_DIVX4ENCORE
209 {"divx4opts", divx4opts_conf
, CONF_TYPE_SUBCONFIG
, 0, 0, 0, NULL
},
212 {"lameopts", lameopts_conf
, CONF_TYPE_SUBCONFIG
, 0, 0, 0, NULL
},
214 #ifdef USE_LIBAVCODEC
215 {"lavcopts", lavcopts_conf
, CONF_TYPE_SUBCONFIG
, 0, 0, 0, NULL
},
217 {"lavcopts", "MPlayer was compiled without libavcodec! See README or DOCS!\n", CONF_TYPE_PRINT
, CONF_NOCFG
, 0, 0, NULL
},
220 {"vfwopts", vfwopts_conf
, CONF_TYPE_SUBCONFIG
, 0, 0, 0, NULL
},
222 #if defined(HAVE_XVID3) || defined(HAVE_XVID4)
223 {"xvidencopts", xvidencopts_conf
, CONF_TYPE_SUBCONFIG
, 0, 0, 0, NULL
},
226 {"nuvopts", nuvopts_conf
, CONF_TYPE_SUBCONFIG
, 0, 0, 0, NULL
},
229 #include "cfg-common.h"
232 // {"-help", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
233 // {"help", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
234 // {"h", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
235 {NULL
, NULL
, 0, 0, 0, 0, NULL
}