mirror of
https://github.com/mpv-player/mpv
synced 2024-12-15 03:15:52 +00:00
2d28fdd64c
remove opendivx #ifdefs remove rk1 filter remove unused / obsolete stuff add -1,4,2,4,-1 deinterlacing filter (ffmpeg uses that) threadsafe / no more non-const globals some optimizations different strides for Y,U,V possible remove ebx usage (someone really should fix gcc, this is really lame) change the dering filter slightly (tell me if its worse for any files) git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@7947 b3059339-0415-0410-9bf9-f77b7e298cf2
191 lines
7.3 KiB
C
191 lines
7.3 KiB
C
/*
|
|
* config for cfgparser
|
|
*/
|
|
|
|
#include "cfg-common.h"
|
|
|
|
#ifdef USE_FAKE_MONO
|
|
extern int fakemono; // defined in dec_audio.c
|
|
#endif
|
|
#ifdef HAVE_ODIVX_POSTPROCESS
|
|
extern int use_old_pp;
|
|
#endif
|
|
|
|
extern int sws_flags;
|
|
extern int readPPOpt(void *, char *arg);
|
|
extern void revertPPOpt(void *conf, char* opt);
|
|
|
|
#ifdef HAVE_DIVX4ENCORE
|
|
extern struct config divx4opts_conf[];
|
|
#endif
|
|
|
|
#ifdef HAVE_MP3LAME
|
|
struct config lameopts_conf[]={
|
|
{"q", &lame_param_quality, CONF_TYPE_INT, CONF_RANGE, 0, 9, NULL},
|
|
{"aq", &lame_param_algqual, CONF_TYPE_INT, CONF_RANGE, 0, 9, NULL},
|
|
{"vbr", &lame_param_vbr, CONF_TYPE_INT, CONF_RANGE, 0, vbr_max_indicator, NULL},
|
|
{"cbr", &lame_param_vbr, CONF_TYPE_FLAG, 0, 0, 0, NULL},
|
|
{"abr", &lame_param_vbr, CONF_TYPE_FLAG, 0, 0, vbr_abr, NULL},
|
|
{"mode", &lame_param_mode, CONF_TYPE_INT, CONF_RANGE, 0, MAX_INDICATOR, NULL},
|
|
{"padding", &lame_param_padding, CONF_TYPE_INT, CONF_RANGE, 0, PAD_MAX_INDICATOR, NULL},
|
|
{"br", &lame_param_br, CONF_TYPE_INT, CONF_RANGE, 0, 1024, NULL},
|
|
{"ratio", &lame_param_ratio, CONF_TYPE_INT, CONF_RANGE, 0, 100, NULL},
|
|
{"vol", &lame_param_scale, CONF_TYPE_FLOAT, CONF_RANGE, 0, 10, NULL},
|
|
{"help", "TODO: lameopts help!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
|
{NULL, NULL, 0, 0, 0, 0, NULL}
|
|
};
|
|
#endif
|
|
|
|
#ifdef USE_LIBAVCODEC
|
|
extern struct config lavcopts_conf[];
|
|
#endif
|
|
|
|
#ifdef USE_WIN32DLL
|
|
extern struct config vfwopts_conf[];
|
|
#endif
|
|
|
|
#ifdef HAVE_XVID
|
|
extern struct config xvidencopts_conf[];
|
|
#endif
|
|
|
|
struct config ovc_conf[]={
|
|
{"copy", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_COPY, NULL},
|
|
{"frameno", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_FRAMENO, NULL},
|
|
{"divx4", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_DIVX4, NULL},
|
|
// {"raw", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_RAW, NULL},
|
|
{"lavc", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_LIBAVCODEC, NULL},
|
|
// {"null", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_NULL, NULL},
|
|
{"rawrgb", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_RAWRGB, NULL},
|
|
{"vfw", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_VFW, NULL},
|
|
{"libdv", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_LIBDV, NULL},
|
|
{"xvid", &out_video_codec, CONF_TYPE_FLAG, 0, 0, VCODEC_XVID, NULL},
|
|
{"help", "\nAvailable codecs:\n"
|
|
" copy - frame copy, without re-encoding. doesn't work with filters!\n"
|
|
" frameno - special audio-only file for 3-pass encoding, see DOCS!\n"
|
|
" rawrgb - uncompressed RGB 24bpp video\n"
|
|
#ifdef HAVE_DIVX4ENCORE
|
|
" divx4 - using divx4linux/divx5linux or xvid (depends on configuration)\n"
|
|
#endif
|
|
#ifdef USE_LIBAVCODEC
|
|
" lavc - using libavcodec codecs - best quality!\n"
|
|
#endif
|
|
#ifdef USE_WIN32DLL
|
|
" vfw - using VfW DLLs, currently only AVID is supported\n"
|
|
#endif
|
|
#ifdef HAVE_LIBDV095
|
|
" libdv - DV encoding using libdv v0.9.5\n"
|
|
#endif
|
|
#ifdef HAVE_XVID
|
|
" xvid\n"
|
|
#endif
|
|
"\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
|
{NULL, NULL, 0, 0, 0, 0, NULL}
|
|
};
|
|
|
|
struct config oac_conf[]={
|
|
{"copy", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_COPY, NULL},
|
|
{"pcm", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_PCM, NULL},
|
|
#ifdef HAVE_MP3LAME
|
|
{"mp3lame", &out_audio_codec, CONF_TYPE_FLAG, 0, 0, ACODEC_VBRMP3, NULL},
|
|
#else
|
|
{"mp3lame", "MPlayer was compiled without libmp3lame support!\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
|
#endif
|
|
{"help", "\nAvailable codecs:\n"
|
|
" copy - frame copy, without re-encoding (usefull for AC3)\n"
|
|
" pcm - uncompressed PCM audio\n"
|
|
#ifdef HAVE_MP3LAME
|
|
" mp3lame - cbr/abr/vbr MP3 using libmp3lame\n"
|
|
#endif
|
|
"\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
|
{NULL, NULL, 0, 0, 0, 0, NULL}
|
|
};
|
|
|
|
struct config info_conf[]={
|
|
{"name", &info_name, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
|
{"artist", &info_artist, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
|
{"genre", &info_genre, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
|
{"subject", &info_subject, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
|
{"copyright", &info_copyright, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
|
{"srcform", &info_sourceform, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
|
{"comment", &info_comment, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
|
{"help", "\nAvailable INFO fields:\n"
|
|
" name - title of the subject of the file\n"
|
|
" artist - artist or author of the original subject of the file\n"
|
|
" genre - original work category\n"
|
|
" subject - contents of the file\n"
|
|
" copyright - copyright information for the file\n"
|
|
" srcform - original form of the material that was digitized\n"
|
|
" comment - general comments about the file or the subject of the file\n"
|
|
"\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
|
{NULL, NULL, 0, 0, 0, 0, NULL}
|
|
};
|
|
|
|
static config_t mencoder_opts[]={
|
|
/* name, pointer, type, flags, min, max */
|
|
{"include", cfg_include, CONF_TYPE_FUNC_PARAM, CONF_NOSAVE, 0, 0, NULL}, /* this must be the first!!! */
|
|
|
|
{"endpos", parse_end_at, CONF_TYPE_FUNC_PARAM, 0, 0, 0, NULL},
|
|
|
|
// set output framerate - recommended for variable fps (.asf etc) files
|
|
// and for 29.97fps progressive mpeg2 streams
|
|
{"ofps", &force_ofps, CONF_TYPE_FLOAT, CONF_MIN, 0, 0, NULL},
|
|
{"o", &out_filename, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
|
|
|
// limit number of skippable frames after a non-skipped one
|
|
{"skiplimit", &skip_limit, CONF_TYPE_INT, 0, 0, 0, NULL},
|
|
{"noskiplimit", &skip_limit, CONF_TYPE_FLAG, 0, 0, -1, NULL},
|
|
{"noskip", &skip_limit, CONF_TYPE_FLAG, 0, 0, 0, NULL},
|
|
|
|
{"audio-density", &audio_density, CONF_TYPE_INT, CONF_RANGE, 1, 50, NULL},
|
|
{"audio-preload", &audio_preload, CONF_TYPE_FLOAT, CONF_RANGE, 0, 2, NULL},
|
|
{"audio-delay", &audio_delay, CONF_TYPE_FLOAT, CONF_MIN, 0, 0, NULL},
|
|
|
|
{"x", "This option is obsolete, use -vop scale=w:h for scaling\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
|
{"xsize", "This option is obsolete, use -vop crop=w:h:x0:y0 for cropping\n", CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
|
|
|
// outut audio/video codec selection
|
|
{"oac", oac_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
|
|
{"ovc", ovc_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
|
|
|
|
// override FOURCC in output file
|
|
{"ffourcc", &force_fourcc, CONF_TYPE_STRING, 0, 4, 4, NULL},
|
|
|
|
{"pass", &pass, CONF_TYPE_INT, CONF_RANGE,0,2, NULL},
|
|
{"passlogfile", &passtmpfile, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
|
|
|
{"vobsubout", &vobsub_out, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
|
{"vobsuboutindex", &vobsub_out_index, CONF_TYPE_INT, CONF_RANGE, 0, 31, NULL},
|
|
{"vobsuboutid", &vobsub_out_id, CONF_TYPE_STRING, 0, 0, 0, NULL},
|
|
|
|
// info header strings
|
|
{"info", info_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
|
|
|
|
#ifdef HAVE_DIVX4ENCORE
|
|
{"divx4opts", divx4opts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
|
|
#endif
|
|
#ifdef HAVE_MP3LAME
|
|
{"lameopts", lameopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
|
|
#endif
|
|
#ifdef USE_LIBAVCODEC
|
|
{"lavcopts", lavcopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
|
|
#endif
|
|
#ifdef USE_WIN32DLL
|
|
{"vfwopts", vfwopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
|
|
#endif
|
|
#ifdef HAVE_XVID
|
|
{"xvidencopts", xvidencopts_conf, CONF_TYPE_SUBCONFIG, 0, 0, 0, NULL},
|
|
#endif
|
|
|
|
#define MAIN_CONF
|
|
#include "cfg-common.h"
|
|
#undef MAIN_CONF
|
|
|
|
// {"quiet", &quiet, CONF_TYPE_FLAG, 0, 0, 1, NULL},
|
|
{"verbose", &verbose, CONF_TYPE_INT, CONF_RANGE|CONF_GLOBAL, 0, 100, NULL},
|
|
{"v", cfg_inc_verbose, CONF_TYPE_FUNC, CONF_GLOBAL, 0, 0, NULL},
|
|
// {"-help", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
|
// {"help", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
|
// {"h", help_text, CONF_TYPE_PRINT, CONF_NOCFG, 0, 0, NULL},
|
|
{NULL, NULL, 0, 0, 0, 0, NULL}
|
|
};
|