Mercurial > mplayer.hg
annotate cfg-mencoder.h @ 7256:ec6dd0a29d93
Add the code that chooses a good X11 truecolor visual to the vo_x11 config()
function. This is useful for framebuffers on Sun hardware, where we have
multiple truecolor visuals of different depths available, and the root
window typically runs at depth 8, yet there are 24 bit true color visuals
available as well.
author | jkeil |
---|---|
date | Tue, 03 Sep 2002 18:10:42 +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 }; |