annotate cfg-mencoder.h @ 10252:d275152390ee

I've found some time to implement the encoding support for the new DivX API. Now it's possible to play and encode movies with the latest DivX release. One thing that doesn't work is the new Video Buffer Verifier (VBV) multipass encoding. The encoder segfaults. Maybe it just isn't supported with the standard profile of the released binary encoder. Andreas Hess <jaska@gmx.net>
author arpi
date Fri, 06 Jun 2003 19:57:37 +0000
parents 2860f7c9d9ca
children d94cb807c793
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2618
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
1 /*
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
2 * config for cfgparser
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
3 */
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
4
2790
98769cea155c added tv subsystem
alex
parents: 2661
diff changeset
5 #include "cfg-common.h"
98769cea155c added tv subsystem
alex
parents: 2661
diff changeset
6
2618
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
7 #ifdef USE_FAKE_MONO
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
8 extern int fakemono; // defined in dec_audio.c
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
9 #endif
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
10 #ifdef HAVE_ODIVX_POSTPROCESS
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
11 extern int use_old_pp;
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
12 #endif
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
13
3272
7e4399d1eb65 horizontal up/downscale linear & cubic
michael
parents: 3236
diff changeset
14 extern int sws_flags;
3771
a14b3a600b81 new -pp options stuff (-npp ...)
michael
parents: 3663
diff changeset
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 void revertPPOpt(void *conf, char* opt);
8736
michael
parents: 8585
diff changeset
17 extern char *pp_help;
3272
7e4399d1eb65 horizontal up/downscale linear & cubic
michael
parents: 3236
diff changeset
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
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
22
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
23 #ifdef HAVE_MP3LAME
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
24 struct config lameopts_conf[]={
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
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
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
27 {"vbr", &lame_param_vbr, CONF_TYPE_INT, CONF_RANGE, 0, vbr_max_indicator, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
28 {"cbr", &lame_param_vbr, CONF_TYPE_FLAG, 0, 0, 0, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
29 {"abr", &lame_param_vbr, CONF_TYPE_FLAG, 0, 0, vbr_abr, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
30 {"mode", &lame_param_mode, CONF_TYPE_INT, CONF_RANGE, 0, MAX_INDICATOR, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
31 {"padding", &lame_param_padding, CONF_TYPE_INT, CONF_RANGE, 0, PAD_MAX_INDICATOR, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
32 {"br", &lame_param_br, CONF_TYPE_INT, CONF_RANGE, 0, 1024, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
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},
8517
bcf1b010bf14 Presets are an easy way, to use hard to access lame options and to give
arpi
parents: 8471
diff changeset
35 #if HAVE_MP3LAME >= 392
bcf1b010bf14 Presets are an easy way, to use hard to access lame options and to give
arpi
parents: 8471
diff changeset
36 {"fast", &lame_param_fast, CONF_TYPE_FLAG, 0, 0, 1, NULL},
bcf1b010bf14 Presets are an easy way, to use hard to access lame options and to give
arpi
parents: 8471
diff changeset
37 {"preset", &lame_param_preset, CONF_TYPE_STRING, 0, 0, 0, NULL},
8568
186d3ee01012 eviv bulgroz <ebulgroz@yahoo.com>:
diego
parents: 8567
diff changeset
38 #else
186d3ee01012 eviv bulgroz <ebulgroz@yahoo.com>:
diego
parents: 8567
diff changeset
39 {"fast", "MPlayer was built without -lameopts fast support (requires libmp3lame >=3.92)!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
186d3ee01012 eviv bulgroz <ebulgroz@yahoo.com>:
diego
parents: 8567
diff changeset
40 {"preset", "MPlayer was built without -lameopts preset support (requires libmp3lame >=3.92)!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
8517
bcf1b010bf14 Presets are an easy way, to use hard to access lame options and to give
arpi
parents: 8471
diff changeset
41 #endif
8896
ba967edb7580 add prelim -lameopts help
arpi
parents: 8736
diff changeset
42 {"help", MSGTR_MEncoderMP3LameHelp, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
43 {NULL, NULL, 0, 0, 0, 0, NULL}
2661
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
44 };
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
45 #endif
2661
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
46
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
47 #ifdef USE_LIBAVCODEC
5553
38697931adf4 video codecs moved to libmpencoders, crop/scale removed, use -vop for that
arpi
parents: 5390
diff changeset
48 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
49 #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
50
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
51 #ifdef USE_WIN32DLL
6084
b34f4ef001f0 vfwopts_conf has moved to vw_vfw.c
alex
parents: 5974
diff changeset
52 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
53 #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
54
7457
c65cb0d256c3 Support for XviD encoding
kmkaplan
parents: 7145
diff changeset
55 #ifdef HAVE_XVID
c65cb0d256c3 Support for XviD encoding
kmkaplan
parents: 7145
diff changeset
56 extern struct config xvidencopts_conf[];
c65cb0d256c3 Support for XviD encoding
kmkaplan
parents: 7145
diff changeset
57 #endif
c65cb0d256c3 Support for XviD encoding
kmkaplan
parents: 7145
diff changeset
58
9520
2860f7c9d9ca A new nuppel video encoder. Mainly for RT encoding on slow box.
albeu
parents: 9300
diff changeset
59 extern struct config nuvopts_conf[];
2860f7c9d9ca A new nuppel video encoder. Mainly for RT encoding on slow box.
albeu
parents: 9300
diff changeset
60
2661
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
61 struct config ovc_conf[]={
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
62 {"copy", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_COPY, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
63 {"frameno", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_FRAMENO, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
64 {"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
65 // {"raw", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_RAW, NULL},
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
66 {"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
67 // {"null", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_NULL, NULL},
4575
0245a06f9efd VfW encoding support (very alpha yet)
arpi
parents: 4427
diff changeset
68 {"rawrgb", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_RAWRGB, NULL},
0245a06f9efd VfW encoding support (very alpha yet)
arpi
parents: 4427
diff changeset
69 {"vfw", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_VFW, NULL},
5578
acfcb903b778 -ovc libdv support
arpi
parents: 5553
diff changeset
70 {"libdv", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_LIBDV, NULL},
7457
c65cb0d256c3 Support for XviD encoding
kmkaplan
parents: 7145
diff changeset
71 {"xvid", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_XVID, NULL},
8471
0b7839c27be9 Sorenson 1/3 encoding just for fun :)
arpi
parents: 8298
diff changeset
72 {"qtvideo", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_QTVIDEO, NULL},
9520
2860f7c9d9ca A new nuppel video encoder. Mainly for RT encoding on slow box.
albeu
parents: 9300
diff changeset
73 {"nuv", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_NUV, NULL},
6923
60374fa581fc no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents: 6862
diff changeset
74 {"help", "\nAvailable codecs:\n"
60374fa581fc no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents: 6862
diff changeset
75 " 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
76 " 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
77 " rawrgb - uncompressed RGB 24bpp video\n"
5678
8849904de1db -ovc help fixed
arpi
parents: 5629
diff changeset
78 #ifdef HAVE_DIVX4ENCORE
9300
32be26de0d7c cleanup detection of various divx4 versions/alternatives
arpi
parents: 9099
diff changeset
79 #ifdef ENCORE_XVID
32be26de0d7c cleanup detection of various divx4 versions/alternatives
arpi
parents: 9099
diff changeset
80 " divx4 - using XviD (divx4linux compat. mode)\n"
32be26de0d7c cleanup detection of various divx4 versions/alternatives
arpi
parents: 9099
diff changeset
81 #else
32be26de0d7c cleanup detection of various divx4 versions/alternatives
arpi
parents: 9099
diff changeset
82 " divx4 - using divx4linux/divx5linux lib (depends on configuration)\n"
32be26de0d7c cleanup detection of various divx4 versions/alternatives
arpi
parents: 9099
diff changeset
83 #endif
5678
8849904de1db -ovc help fixed
arpi
parents: 5629
diff changeset
84 #endif
8849904de1db -ovc help fixed
arpi
parents: 5629
diff changeset
85 #ifdef USE_LIBAVCODEC
6923
60374fa581fc no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents: 6862
diff changeset
86 " lavc - using libavcodec codecs - best quality!\n"
5678
8849904de1db -ovc help fixed
arpi
parents: 5629
diff changeset
87 #endif
8849904de1db -ovc help fixed
arpi
parents: 5629
diff changeset
88 #ifdef USE_WIN32DLL
6923
60374fa581fc no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents: 6862
diff changeset
89 " vfw - using VfW DLLs, currently only AVID is supported\n"
8567
917130ff78bb Three typos, two of them noticed by Arpad Biro <biro_arpad@yahoo.com>.
diego
parents: 8517
diff changeset
90 " qtvideo - using QuickTime DLLs, currently only SVQ1/3 are supported\n"
5678
8849904de1db -ovc help fixed
arpi
parents: 5629
diff changeset
91 #endif
8849904de1db -ovc help fixed
arpi
parents: 5629
diff changeset
92 #ifdef HAVE_LIBDV095
6923
60374fa581fc no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents: 6862
diff changeset
93 " libdv - DV encoding using libdv v0.9.5\n"
5678
8849904de1db -ovc help fixed
arpi
parents: 5629
diff changeset
94 #endif
7457
c65cb0d256c3 Support for XviD encoding
kmkaplan
parents: 7145
diff changeset
95 #ifdef HAVE_XVID
8298
3dfaa9b97035 Added xvid description in "mencoder -ovc help".
rguyom
parents: 8033
diff changeset
96 " xvid - xvid encoding\n"
7457
c65cb0d256c3 Support for XviD encoding
kmkaplan
parents: 7145
diff changeset
97 #endif
5678
8849904de1db -ovc help fixed
arpi
parents: 5629
diff changeset
98 "\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
99 {NULL, NULL, 0, 0, 0, 0, NULL}
2661
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
100 };
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
101
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
102 struct config oac_conf[]={
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
103 {"copy", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_COPY, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
104 {"pcm", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_PCM, NULL},
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
105 #ifdef HAVE_MP3LAME
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
106 {"mp3lame", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_VBRMP3, NULL},
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
107 #else
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
108 {"mp3lame", "MPlayer was compiled without libmp3lame support!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
109 #endif
6923
60374fa581fc no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents: 6862
diff changeset
110 {"help", "\nAvailable codecs:\n"
8567
917130ff78bb Three typos, two of them noticed by Arpad Biro <biro_arpad@yahoo.com>.
diego
parents: 8517
diff changeset
111 " copy - frame copy, without re-encoding (useful for AC3)\n"
6923
60374fa581fc no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents: 6862
diff changeset
112 " pcm - uncompressed PCM audio\n"
60374fa581fc no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents: 6862
diff changeset
113 #ifdef HAVE_MP3LAME
60374fa581fc no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents: 6862
diff changeset
114 " 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
115 #endif
60374fa581fc no default oac/ovc (it just confuses users), more detailed -oac/-ovc help
arpi
parents: 6862
diff changeset
116 "\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
117 {NULL, NULL, 0, 0, 0, 0, NULL}
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
118 };
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
119
7145
3854945aefbb new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents: 6923
diff changeset
120 struct config info_conf[]={
3854945aefbb new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents: 6923
diff changeset
121 {"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
122 {"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
123 {"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
124 {"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
125 {"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
126 {"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
127 {"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
128 {"help", "\nAvailable INFO fields:\n"
3854945aefbb new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents: 6923
diff changeset
129 " 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
130 " 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
131 " genre - original work category\n"
3854945aefbb new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents: 6923
diff changeset
132 " 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
133 " 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
134 " 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
135 " 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
136 "\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
137 {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
138 };
3854945aefbb new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents: 6923
diff changeset
139
8585
27da710563c2 the long-waited MUXER layer, and new MPEG-PS muxer
arpi
parents: 8568
diff changeset
140 struct config of_conf[]={
27da710563c2 the long-waited MUXER layer, and new MPEG-PS muxer
arpi
parents: 8568
diff changeset
141 {"avi", &out_file_format, CONF_TYPE_FLAG, 0, 0, MUXER_TYPE_AVI, NULL},
27da710563c2 the long-waited MUXER layer, and new MPEG-PS muxer
arpi
parents: 8568
diff changeset
142 {"mpeg", &out_file_format, CONF_TYPE_FLAG, 0, 0, MUXER_TYPE_MPEG, NULL},
27da710563c2 the long-waited MUXER layer, and new MPEG-PS muxer
arpi
parents: 8568
diff changeset
143 {"help", "\nAvailable output formats:\n"
27da710563c2 the long-waited MUXER layer, and new MPEG-PS muxer
arpi
parents: 8568
diff changeset
144 " avi - Microsoft Audio/Video Interleaved\n"
27da710563c2 the long-waited MUXER layer, and new MPEG-PS muxer
arpi
parents: 8568
diff changeset
145 " mpeg - MPEG-1 system stream format\n"
27da710563c2 the long-waited MUXER layer, and new MPEG-PS muxer
arpi
parents: 8568
diff changeset
146 "\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
27da710563c2 the long-waited MUXER layer, and new MPEG-PS muxer
arpi
parents: 8568
diff changeset
147 {NULL, NULL, 0, 0, 0, 0, NULL}
27da710563c2 the long-waited MUXER layer, and new MPEG-PS muxer
arpi
parents: 8568
diff changeset
148 };
27da710563c2 the long-waited MUXER layer, and new MPEG-PS muxer
arpi
parents: 8568
diff changeset
149
4162
ccd4cd552cfc 10l. gimme\!
arpi
parents: 4159
diff changeset
150 static config_t mencoder_opts[]={
2618
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
151 /* 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
152 {"include", cfg_include, CONF_TYPE_FUNC_PARAM, CONF_NOSAVE, 0, 0, NULL}, /* this must be the first!!! */
2618
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
153
4159
42fec596fe7c -endpos option, patch by Fredrik Kuivinen <freku045@student.liu.se>
arpi
parents: 4158
diff changeset
154 {"endpos", parse_end_at, CONF_TYPE_FUNC_PARAM, 0, 0, 0, NULL},
5974
4396ead317d3 re-ordering options, add comemnts
arpi
parents: 5922
diff changeset
155
4396ead317d3 re-ordering options, add comemnts
arpi
parents: 5922
diff changeset
156 // set output framerate - recommended for variable fps (.asf etc) files
4396ead317d3 re-ordering options, add comemnts
arpi
parents: 5922
diff changeset
157 // and for 29.97fps progressive mpeg2 streams
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
158 {"ofps", &force_ofps, CONF_TYPE_FLOAT, CONF_MIN, 0, 0, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
159 {"o", &out_filename, CONF_TYPE_STRING, 0, 0, 0, NULL},
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
160
5974
4396ead317d3 re-ordering options, add comemnts
arpi
parents: 5922
diff changeset
161 // limit number of skippable frames after a non-skipped one
5629
9b422f216fb5 -skiplimit/-noskip options to disable fps correction
arpi
parents: 5626
diff changeset
162 {"skiplimit", &skip_limit, CONF_TYPE_INT, 0, 0, 0, NULL},
9b422f216fb5 -skiplimit/-noskip options to disable fps correction
arpi
parents: 5626
diff changeset
163 {"noskiplimit", &skip_limit, CONF_TYPE_FLAG, 0, 0, -1, NULL},
9b422f216fb5 -skiplimit/-noskip options to disable fps correction
arpi
parents: 5626
diff changeset
164 {"noskip", &skip_limit, CONF_TYPE_FLAG, 0, 0, 0, NULL},
9b422f216fb5 -skiplimit/-noskip options to disable fps correction
arpi
parents: 5626
diff changeset
165
6861
79f54159ca15 audio preload/density/delay configurable
arpi
parents: 6674
diff changeset
166 {"audio-density", &audio_density, CONF_TYPE_INT, CONF_RANGE, 1, 50, NULL},
79f54159ca15 audio preload/density/delay configurable
arpi
parents: 6674
diff changeset
167 {"audio-preload", &audio_preload, CONF_TYPE_FLOAT, CONF_RANGE, 0, 2, NULL},
6862
fe7095e0adec negative delay won't work
arpi
parents: 6861
diff changeset
168 {"audio-delay", &audio_delay, CONF_TYPE_FLOAT, CONF_MIN, 0, 0, NULL},
6861
79f54159ca15 audio preload/density/delay configurable
arpi
parents: 6674
diff changeset
169
5780
aae45ee17fc3 obsoleted options
arpi
parents: 5678
diff changeset
170 {"x", "This option is obsolete, use -vop scale=w:h for scaling\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
aae45ee17fc3 obsoleted options
arpi
parents: 5678
diff changeset
171 {"xsize", "This option is obsolete, use -vop crop=w:h:x0:y0 for cropping\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
5270
870e932096ff Support for cropping in mencoder. New options:
ksorim
parents: 5259
diff changeset
172
8567
917130ff78bb Three typos, two of them noticed by Arpad Biro <biro_arpad@yahoo.com>.
diego
parents: 8517
diff changeset
173 // output audio/video codec selection
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
174 {"oac", oac_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
175 {"ovc", ovc_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
2643
9d0a638e211a divx4 2-pass support, -frames option
arpi
parents: 2626
diff changeset
176
8585
27da710563c2 the long-waited MUXER layer, and new MPEG-PS muxer
arpi
parents: 8568
diff changeset
177 // output file format
27da710563c2 the long-waited MUXER layer, and new MPEG-PS muxer
arpi
parents: 8568
diff changeset
178 {"of", of_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
27da710563c2 the long-waited MUXER layer, and new MPEG-PS muxer
arpi
parents: 8568
diff changeset
179
5974
4396ead317d3 re-ordering options, add comemnts
arpi
parents: 5922
diff changeset
180 // override FOURCC in output file
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
181 {"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
182
8033
2d1ed4487af7 added obsolete message for -pass
rfelker
parents: 8032
diff changeset
183 {"pass", "The -pass option is obsolete. Use -lavcopts vpass=n or -divx4opts pass=n!\nRTFM!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
184 {"passlogfile", &passtmpfile, CONF_TYPE_STRING, 0, 0, 0, NULL},
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
185
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
186 {"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
187 {"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
188 {"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
189
9076
92014b66ed3d ability to disable the nonsense expand filter is a must! otherwise
rfelker
parents: 8896
diff changeset
190 {"autoexpand", &auto_expand, CONF_TYPE_FLAG, 0, 0, 1, NULL},
92014b66ed3d ability to disable the nonsense expand filter is a must! otherwise
rfelker
parents: 8896
diff changeset
191 {"noautoexpand", &auto_expand, CONF_TYPE_FLAG, 0, 1, 0, NULL},
92014b66ed3d ability to disable the nonsense expand filter is a must! otherwise
rfelker
parents: 8896
diff changeset
192
7145
3854945aefbb new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents: 6923
diff changeset
193 // info header strings
3854945aefbb new mencoder option -info, to store copyright, title, encoder version etc in AVI
arpi
parents: 6923
diff changeset
194 {"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
195
5390
386f6fcc92d5 libavcodec 2pass broke mencoder if divx4encore was not available. fixed.
rfelker
parents: 5376
diff changeset
196 #ifdef HAVE_DIVX4ENCORE
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
197 {"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
198 #endif
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
199 #ifdef HAVE_MP3LAME
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
200 {"lameopts", lameopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
201 #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
202 #ifdef USE_LIBAVCODEC
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
203 {"lavcopts", lavcopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
9099
905a741d5dd6 error msg for -alvcopts if no libavcodec avail
arpi
parents: 9076
diff changeset
204 #else
905a741d5dd6 error msg for -alvcopts if no libavcodec avail
arpi
parents: 9076
diff changeset
205 {"lavcopts", "MPlayer was compiled without libavcodec! See README or DOCS!\n", CONF_TYPE_PRINT, CONF_NOCFG, 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
206 #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
207 #ifdef USE_WIN32DLL
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
208 {"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
209 #endif
7457
c65cb0d256c3 Support for XviD encoding
kmkaplan
parents: 7145
diff changeset
210 #ifdef HAVE_XVID
c65cb0d256c3 Support for XviD encoding
kmkaplan
parents: 7145
diff changeset
211 {"xvidencopts", xvidencopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
c65cb0d256c3 Support for XviD encoding
kmkaplan
parents: 7145
diff changeset
212 #endif
2618
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
213
9520
2860f7c9d9ca A new nuppel video encoder. Mainly for RT encoding on slow box.
albeu
parents: 9300
diff changeset
214 {"nuvopts", nuvopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
2860f7c9d9ca A new nuppel video encoder. Mainly for RT encoding on slow box.
albeu
parents: 9300
diff changeset
215
2790
98769cea155c added tv subsystem
alex
parents: 2661
diff changeset
216 #define MAIN_CONF
2618
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
217 #include "cfg-common.h"
2790
98769cea155c added tv subsystem
alex
parents: 2661
diff changeset
218 #undef MAIN_CONF
2618
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
219
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
220 // {"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
221 {"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
222 {"v", cfg_inc_verbose, CONF_TYPE_FUNC, CONF_GLOBAL, 0, 0, NULL},
4157
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
223 // {"-help", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
224 // {"help", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
225 // {"h", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
9ff9f6ce6799 extra NULL field appended
arpi
parents: 3771
diff changeset
226 {NULL, NULL, 0, 0, 0, 0, NULL}
2618
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
227 };