annotate cfg-mencoder.h @ 3985:701d18898835

updated/extended some parts, based on RMFF (also initial ATRAC3 hackings and notes)
author alex
date Fri, 04 Jan 2002 19:32:58 +0000
parents a14b3a600b81
children 9ff9f6ce6799
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);
3272
7e4399d1eb65 horizontal up/downscale linear & cubic
michael
parents: 3236
diff changeset
16
3663
9092546e7765 made divx4 optional (also configure checking needed) and added avcodec_close
alex
parents: 3657
diff changeset
17 #ifdef HAVE_DIVX4ENCORE
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
18 struct config divx4opts_conf[]={
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
19 {"br", &divx4_param.bitrate, CONF_TYPE_INT, CONF_RANGE, 4, 24000000},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
20 {"rc_period", &divx4_param.rc_period, CONF_TYPE_INT, 0,0,0},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
21 {"rc_reaction_period", &divx4_param.rc_reaction_period, CONF_TYPE_INT, 0,0,0},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
22 {"rc_reaction_ratio", &divx4_param.rc_reaction_ratio, CONF_TYPE_INT, 0,0,0},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
23 {"min_quant", &divx4_param.min_quantizer, CONF_TYPE_INT, CONF_RANGE,0,32},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
24 {"max_quant", &divx4_param.max_quantizer, CONF_TYPE_INT, CONF_RANGE,0,32},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
25 {"key", &divx4_param.max_key_interval, CONF_TYPE_INT, CONF_MIN,0,0},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
26 {"deinterlace", &divx4_param.deinterlace, CONF_TYPE_FLAG, 0,0,1},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
27 {"q", &divx4_param.quality, CONF_TYPE_INT, CONF_RANGE, 1, 5},
2643
9d0a638e211a divx4 2-pass support, -frames option
arpi
parents: 2626
diff changeset
28 {"crispness", &divx4_crispness, CONF_TYPE_INT, CONF_RANGE,0,100},
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
29 {"help", "TODO: divx4opts help!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
30 {NULL, NULL, 0, 0, 0, 0}
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
31 };
3663
9092546e7765 made divx4 optional (also configure checking needed) and added avcodec_close
alex
parents: 3657
diff changeset
32 #endif
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
33
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
34 #ifdef HAVE_MP3LAME
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
35 struct config lameopts_conf[]={
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
36 {"q", &lame_param_quality, CONF_TYPE_INT, CONF_RANGE, 0, 9},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
37 {"vbr", &lame_param_vbr, CONF_TYPE_INT, CONF_RANGE, 0, vbr_max_indicator},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
38 {"cbr", &lame_param_vbr, CONF_TYPE_FLAG, 0, 0, 0},
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
39 {"abr", &lame_param_vbr, CONF_TYPE_FLAG, 0, 0, vbr_abr},
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
40 {"mode", &lame_param_mode, CONF_TYPE_INT, CONF_RANGE, 0, MAX_INDICATOR},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
41 {"padding", &lame_param_padding, CONF_TYPE_INT, CONF_RANGE, 0, PAD_MAX_INDICATOR},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
42 {"br", &lame_param_br, CONF_TYPE_INT, CONF_RANGE, 0, 1024},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
43 {"ratio", &lame_param_ratio, CONF_TYPE_INT, CONF_RANGE, 0, 100},
2661
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
44 {"help", "TODO: lameopts help!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0},
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
45 {NULL, NULL, 0, 0, 0, 0}
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
46 };
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
47 #endif
2661
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
48
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 #ifdef USE_LIBAVCODEC
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 struct config lavcopts_conf[]={
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 {"vcodec", &lavc_param_vcodec, CONF_TYPE_STRING, 0, 0, 0},
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
52 {"vbitrate", &lavc_param_vbitrate, CONF_TYPE_INT, CONF_RANGE, 4, 24000000},
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 {"vhq", &lavc_param_vhq, CONF_TYPE_FLAG, 0, 0, 1},
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 {"keyint", &lavc_param_keyint, CONF_TYPE_INT, 0, 0, 0},
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
55 {NULL, NULL, 0, 0, 0, 0}
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
56 };
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
57 #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
58
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
59 #ifdef USE_WIN32DLL
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
60 struct config vfwopts_conf[]={
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
61 {NULL, NULL, 0, 0, 0, 0}
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
62 };
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
63 #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
64
2661
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
65 struct config ovc_conf[]={
3384
cff2875ad6e6 fixed framecopy
alex
parents: 3376
diff changeset
66 {"copy", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_COPY},
3361
5d70491f438c new video codec: frameno (just the number of frame - for 3-pass encoding)
arpi
parents: 3357
diff changeset
67 {"frameno", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_FRAMENO},
2661
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
68 {"divx4", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_DIVX4},
3480
9943dbacb48e vcodec_raw added
alex
parents: 3386
diff changeset
69 {"raw", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_RAW},
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
70 {"lavc", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_LIBAVCODEC},
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
71 {"help", "\nAvailable codecs:\n copy\n frameno\n divx4\n raw\n lavc\n\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0},
2661
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
72 {NULL, NULL, 0, 0, 0, 0}
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
73 };
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
74
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
75 struct config oac_conf[]={
3386
245d32959ebe ACODEC_COPY
alex
parents: 3384
diff changeset
76 {"copy", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_COPY},
2661
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
77 {"pcm", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_PCM},
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
78 #ifdef HAVE_MP3LAME
2661
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
79 {"mp3lame", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_VBRMP3},
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
80 {"help", "\nAvailable codecs:\n copy\n pcm\n mp3lame\n\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0},
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
81 #else
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
82 {"mp3lame", "MPlayer was compiled without libmp3lame support!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0},
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
83 {"help", "\nAvailable codecs:\n copy\n pcm\n\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0},
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
84 #endif
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
85 {NULL, NULL, 0, 0, 0, 0}
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
86 };
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
87
2618
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
88 struct config conf[]={
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
89 /* name, pointer, type, flags, min, max */
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
90 {"include", cfg_include, CONF_TYPE_FUNC_PARAM, 0, 0, 0}, /* this must be the first!!! */
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
91
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
92 {"ofps", &force_ofps, CONF_TYPE_FLOAT, CONF_MIN, 0, 0},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
93 {"o", &out_filename, CONF_TYPE_STRING, 0, 0, 0},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
94
3236
1774d0530a6d yv12 scaling (-x & -y)
michael
parents: 2790
diff changeset
95 {"x", &vo_w, CONF_TYPE_INT, CONF_RANGE, 0, 4096},
1774d0530a6d yv12 scaling (-x & -y)
michael
parents: 2790
diff changeset
96 {"y", &vo_h, CONF_TYPE_INT, CONF_RANGE, 0, 4096},
1774d0530a6d yv12 scaling (-x & -y)
michael
parents: 2790
diff changeset
97
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
98 {"mp3file", &mp3_filename, CONF_TYPE_STRING, 0, 0, 0},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
99 {"ac3file", &ac3_filename, CONF_TYPE_STRING, 0, 0, 0},
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
100
2661
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
101 // {"oac", &out_audio_codec, CONF_TYPE_STRING, 0, 0, 0},
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
102 // {"ovc", &out_video_codec, CONF_TYPE_STRING, 0, 0, 0},
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
103 {"oac", oac_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0},
11f4c2b2b70f -oac/-ovc (fake:))
arpi
parents: 2643
diff changeset
104 {"ovc", ovc_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0},
2643
9d0a638e211a divx4 2-pass support, -frames option
arpi
parents: 2626
diff changeset
105
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
106 {"ffourcc", &force_fourcc, CONF_TYPE_STRING, 0, 4, 4},
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
107
3663
9092546e7765 made divx4 optional (also configure checking needed) and added avcodec_close
alex
parents: 3657
diff changeset
108 #ifdef HAVE_DIVX4ENCORE
2643
9d0a638e211a divx4 2-pass support, -frames option
arpi
parents: 2626
diff changeset
109 {"pass", &pass, CONF_TYPE_INT, CONF_RANGE,0,2},
3376
2266e20ba821 selectable 2pass logfilename
alex
parents: 3361
diff changeset
110 {"passlogfile", &passtmpfile, CONF_TYPE_STRING, 0, 0, 0},
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
111
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
112 {"divx4opts", divx4opts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0},
3663
9092546e7765 made divx4 optional (also configure checking needed) and added avcodec_close
alex
parents: 3657
diff changeset
113 #endif
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
114 #ifdef HAVE_MP3LAME
2626
da9777831e1b divx4 and lame subconfig support
arpi
parents: 2618
diff changeset
115 {"lameopts", lameopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0},
3357
1fa5d7dda911 libmp3lame optional
arpi
parents: 3272
diff changeset
116 #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
117 #ifdef USE_LIBAVCODEC
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
118 {"lavcopts", lavcopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0},
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
119 #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
120 #ifdef USE_WIN32DLL
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
121 {"vfwopts", vfwopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0},
af1f8e2d693a added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents: 3480
diff changeset
122 #endif
2618
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
123
2790
98769cea155c added tv subsystem
alex
parents: 2661
diff changeset
124 #define MAIN_CONF
2618
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
125 #include "cfg-common.h"
2790
98769cea155c added tv subsystem
alex
parents: 2661
diff changeset
126 #undef MAIN_CONF
2618
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
127
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
128 // {"quiet", &quiet, CONF_TYPE_FLAG, 0, 0, 1},
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
129 {"verbose", &verbose, CONF_TYPE_INT, CONF_RANGE, 0, 100},
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
130 {"v", cfg_inc_verbose, CONF_TYPE_FUNC, 0, 0, 0},
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
131 // {"-help", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0},
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
132 // {"help", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0},
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
133 // {"h", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0},
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
134 {NULL, NULL, 0, 0, 0, 0}
47a338888698 mencoder commandline handling
arpi
parents:
diff changeset
135 };