Mercurial > mplayer.hg
annotate cfg-mencoder.h @ 5396:28aacc467e13
better opendivx-divx4 interface explanation
author | gabucino |
---|---|
date | Fri, 29 Mar 2002 22:37:14 +0000 |
parents | 386f6fcc92d5 |
children | 38697931adf4 |
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 |
2626 | 20 struct config divx4opts_conf[]={ |
4157 | 21 {"br", &divx4_param.bitrate, CONF_TYPE_INT, CONF_RANGE, 4, 24000000, NULL}, |
22 {"rc_period", &divx4_param.rc_period, CONF_TYPE_INT, 0,0,0, NULL}, | |
23 {"rc_reaction_period", &divx4_param.rc_reaction_period, CONF_TYPE_INT, 0,0,0, NULL}, | |
24 {"rc_reaction_ratio", &divx4_param.rc_reaction_ratio, CONF_TYPE_INT, 0,0,0, NULL}, | |
25 {"min_quant", &divx4_param.min_quantizer, CONF_TYPE_INT, CONF_RANGE,0,32, NULL}, | |
26 {"max_quant", &divx4_param.max_quantizer, CONF_TYPE_INT, CONF_RANGE,0,32, NULL}, | |
27 {"key", &divx4_param.max_key_interval, CONF_TYPE_INT, CONF_MIN,0,0, NULL}, | |
28 {"deinterlace", &divx4_param.deinterlace, CONF_TYPE_FLAG, 0,0,1, NULL}, | |
29 {"q", &divx4_param.quality, CONF_TYPE_INT, CONF_RANGE, 1, 5, NULL}, | |
30 {"crispness", &divx4_crispness, CONF_TYPE_INT, CONF_RANGE,0,100, NULL}, | |
31 {"help", "TODO: divx4opts help!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, | |
32 {NULL, NULL, 0, 0, 0, 0, NULL} | |
2626 | 33 }; |
3663
9092546e7765
made divx4 optional (also configure checking needed) and added avcodec_close
alex
parents:
3657
diff
changeset
|
34 #endif |
2626 | 35 |
3357 | 36 #ifdef HAVE_MP3LAME |
2626 | 37 struct config lameopts_conf[]={ |
4157 | 38 {"q", &lame_param_quality, CONF_TYPE_INT, CONF_RANGE, 0, 9, NULL}, |
39 {"vbr", &lame_param_vbr, CONF_TYPE_INT, CONF_RANGE, 0, vbr_max_indicator, NULL}, | |
40 {"cbr", &lame_param_vbr, CONF_TYPE_FLAG, 0, 0, 0, NULL}, | |
41 {"abr", &lame_param_vbr, CONF_TYPE_FLAG, 0, 0, vbr_abr, NULL}, | |
42 {"mode", &lame_param_mode, CONF_TYPE_INT, CONF_RANGE, 0, MAX_INDICATOR, NULL}, | |
43 {"padding", &lame_param_padding, CONF_TYPE_INT, CONF_RANGE, 0, PAD_MAX_INDICATOR, NULL}, | |
44 {"br", &lame_param_br, CONF_TYPE_INT, CONF_RANGE, 0, 1024, NULL}, | |
45 {"ratio", &lame_param_ratio, CONF_TYPE_INT, CONF_RANGE, 0, 100, NULL}, | |
46 {"help", "TODO: lameopts help!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, | |
47 {NULL, NULL, 0, 0, 0, 0, NULL} | |
2661 | 48 }; |
3357 | 49 #endif |
2661 | 50 |
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
|
51 #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
|
52 struct config lavcopts_conf[]={ |
4157 | 53 {"vcodec", &lavc_param_vcodec, CONF_TYPE_STRING, 0, 0, 0, NULL}, |
54 {"vbitrate", &lavc_param_vbitrate, CONF_TYPE_INT, CONF_RANGE, 4, 24000000, NULL}, | |
5166
f99487594e08
supporting ffmpegs "hopefully better bitrate control"
michael
parents:
4620
diff
changeset
|
55 {"vratetol", &lavc_param_vrate_tolerance, CONF_TYPE_INT, CONF_RANGE, 4, 24000000, NULL}, |
4157 | 56 {"vhq", &lavc_param_vhq, CONF_TYPE_FLAG, 0, 0, 1, NULL}, |
5376 | 57 {"v4mv", &lavc_param_v4mv, CONF_TYPE_FLAG, 0, 0, 1, NULL}, |
5259 | 58 {"vme", &lavc_param_vme, CONF_TYPE_INT, CONF_RANGE, 0, 5, NULL}, |
4408
291832d8d984
added constant-qscale encoding support with lavc, fixed slightly incorrect definition for the vme lavc option
rfelker
parents:
4355
diff
changeset
|
59 {"vqscale", &lavc_param_vqscale, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, |
5166
f99487594e08
supporting ffmpegs "hopefully better bitrate control"
michael
parents:
4620
diff
changeset
|
60 {"vqmin", &lavc_param_vqmin, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, |
f99487594e08
supporting ffmpegs "hopefully better bitrate control"
michael
parents:
4620
diff
changeset
|
61 {"vqmax", &lavc_param_vqmax, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, |
f99487594e08
supporting ffmpegs "hopefully better bitrate control"
michael
parents:
4620
diff
changeset
|
62 {"vqdiff", &lavc_param_vqdiff, CONF_TYPE_INT, CONF_RANGE, 1, 31, NULL}, |
f99487594e08
supporting ffmpegs "hopefully better bitrate control"
michael
parents:
4620
diff
changeset
|
63 {"vqcomp", &lavc_param_vqcompress, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 1.0, NULL}, |
f99487594e08
supporting ffmpegs "hopefully better bitrate control"
michael
parents:
4620
diff
changeset
|
64 {"vqblur", &lavc_param_vqblur, CONF_TYPE_FLOAT, CONF_RANGE, 0.0, 1.0, NULL}, |
4157 | 65 {"keyint", &lavc_param_keyint, CONF_TYPE_INT, 0, 0, 0, NULL}, |
66 {NULL, NULL, 0, 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
|
67 }; |
af1f8e2d693a
added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents:
3480
diff
changeset
|
68 #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
|
69 |
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 #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
|
71 struct config vfwopts_conf[]={ |
4157 | 72 {NULL, NULL, 0, 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
|
73 }; |
af1f8e2d693a
added libavcodec support (mjpeg,h263,rv10,mpeg1 codecs tested&working) and added -ffourcc option (force fourcc in ouput)
alex
parents:
3480
diff
changeset
|
74 #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
|
75 |
2661 | 76 struct config ovc_conf[]={ |
4157 | 77 {"copy", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_COPY, NULL}, |
78 {"frameno", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_FRAMENO, NULL}, | |
79 {"divx4", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_DIVX4, NULL}, | |
80 {"raw", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_RAW, NULL}, | |
81 {"lavc", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_LIBAVCODEC, NULL}, | |
4355 | 82 {"null", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_NULL, NULL}, |
4575 | 83 {"rawrgb", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_RAWRGB, NULL}, |
84 {"vfw", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_VFW, NULL}, | |
85 {"help", "\nAvailable codecs:\n copy\n frameno\n divx4\n raw\n lavc\n rawrgb\n vfw\n null\n\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, | |
4157 | 86 {NULL, NULL, 0, 0, 0, 0, NULL} |
2661 | 87 }; |
88 | |
89 struct config oac_conf[]={ | |
4157 | 90 {"copy", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_COPY, NULL}, |
91 {"pcm", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_PCM, NULL}, | |
3357 | 92 #ifdef HAVE_MP3LAME |
4157 | 93 {"mp3lame", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_VBRMP3, NULL}, |
94 {"help", "\nAvailable codecs:\n copy\n pcm\n mp3lame\n\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, | |
3357 | 95 #else |
4157 | 96 {"mp3lame", "MPlayer was compiled without libmp3lame support!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, |
97 {"help", "\nAvailable codecs:\n copy\n pcm\n\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, | |
3357 | 98 #endif |
4157 | 99 {NULL, NULL, 0, 0, 0, 0, NULL} |
2626 | 100 }; |
101 | |
4162 | 102 static config_t mencoder_opts[]={ |
2618 | 103 /* 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
|
104 {"include", cfg_include, CONF_TYPE_FUNC_PARAM, CONF_NOSAVE, 0, 0, NULL}, /* this must be the first!!! */ |
2618 | 105 |
4620 | 106 // {"sb", &seek_to_byte, CONF_TYPE_INT, CONF_MIN, 0, 0, NULL}, |
107 {"ss", &seek_to_sec, CONF_TYPE_STRING, CONF_MIN, 0, 0, NULL}, | |
4159
42fec596fe7c
-endpos option, patch by Fredrik Kuivinen <freku045@student.liu.se>
arpi
parents:
4158
diff
changeset
|
108 {"endpos", parse_end_at, CONF_TYPE_FUNC_PARAM, 0, 0, 0, NULL}, |
42fec596fe7c
-endpos option, patch by Fredrik Kuivinen <freku045@student.liu.se>
arpi
parents:
4158
diff
changeset
|
109 |
4157 | 110 {"ofps", &force_ofps, CONF_TYPE_FLOAT, CONF_MIN, 0, 0, NULL}, |
111 {"o", &out_filename, CONF_TYPE_STRING, 0, 0, 0, NULL}, | |
2626 | 112 |
4157 | 113 {"x", &vo_w, CONF_TYPE_INT, CONF_RANGE, 0, 4096, NULL}, |
114 {"y", &vo_h, CONF_TYPE_INT, CONF_RANGE, 0, 4096, NULL}, | |
3236 | 115 |
5270 | 116 {"x0", &crop_x0, CONF_TYPE_INT, CONF_RANGE, 0, 4096, NULL}, |
117 {"y0", &crop_y0, CONF_TYPE_INT, CONF_RANGE, 0, 4096, NULL}, | |
118 | |
119 {"xsize", &crop_width, CONF_TYPE_INT, CONF_RANGE, 0, 4096, NULL}, | |
120 {"ysize", &crop_height, CONF_TYPE_INT, CONF_RANGE, 0, 4096, NULL}, | |
121 | |
4157 | 122 {"mp3file", &mp3_filename, CONF_TYPE_STRING, 0, 0, 0, NULL}, |
123 {"ac3file", &ac3_filename, CONF_TYPE_STRING, 0, 0, 0, NULL}, | |
2626 | 124 |
4157 | 125 // {"oac", &out_audio_codec, CONF_TYPE_STRING, 0, 0, 0, NULL}, |
126 // {"ovc", &out_video_codec, CONF_TYPE_STRING, 0, 0, 0, NULL}, | |
127 {"oac", oac_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL}, | |
128 {"ovc", ovc_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL}, | |
2643 | 129 |
4157 | 130 {"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
|
131 |
4157 | 132 {"pass", &pass, CONF_TYPE_INT, CONF_RANGE,0,2, NULL}, |
133 {"passlogfile", &passtmpfile, CONF_TYPE_STRING, 0, 0, 0, NULL}, | |
2626 | 134 |
5390
386f6fcc92d5
libavcodec 2pass broke mencoder if divx4encore was not available. fixed.
rfelker
parents:
5376
diff
changeset
|
135 #ifdef HAVE_DIVX4ENCORE |
4157 | 136 {"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
|
137 #endif |
3357 | 138 #ifdef HAVE_MP3LAME |
4157 | 139 {"lameopts", lameopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL}, |
3357 | 140 #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
|
141 #ifdef USE_LIBAVCODEC |
4157 | 142 {"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
|
143 #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
|
144 #ifdef USE_WIN32DLL |
4157 | 145 {"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
|
146 #endif |
2618 | 147 |
2790 | 148 #define MAIN_CONF |
2618 | 149 #include "cfg-common.h" |
2790 | 150 #undef MAIN_CONF |
2618 | 151 |
4157 | 152 // {"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
|
153 {"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
|
154 {"v", cfg_inc_verbose, CONF_TYPE_FUNC, CONF_GLOBAL, 0, 0, NULL}, |
4157 | 155 // {"-help", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, |
156 // {"help", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, | |
157 // {"h", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL}, | |
158 {NULL, NULL, 0, 0, 0, 0, NULL} | |
2618 | 159 }; |