1
0
mirror of https://github.com/mpv-player/mpv synced 2024-12-26 09:02:38 +00:00

options: remove some questionable -lavdopts suboptions

Most of these are rather questionable, the rest you rarely need to set
manually. You still can set all of them with -lavdopts-o (because
libavcodec has AVOptions for them).
This commit is contained in:
wm4 2013-05-29 14:53:10 +02:00
parent 362e0aa7d5
commit a21cfddaab
4 changed files with 4 additions and 70 deletions

View File

@ -985,25 +985,6 @@
Only use bit-exact algorithms in all decoding steps (for codec
testing).
bug=<value>
Manually work around encoder bugs.
:0: nothing
:1: autodetect bugs (default)
:2: (msmpeg4v3): some old lavc generated msmpeg4v3 files (no
autodetection)
:4: (mpeg4): Xvid interlacing bug (autodetected if fourcc==XVIX)
:8: (mpeg4): UMP4 (autodetected if fourcc==UMP4)
:16: (mpeg4): padding bug (autodetected)
:32: (mpeg4): illegal vlc bug (autodetected per fourcc)
:64: (mpeg4): Xvid and DivX qpel bug (autodetected per
fourcc/version)
:128: (mpeg4): old standard qpel (autodetected per fourcc/version)
:256: (mpeg4): another qpel bug (autodetected per fourcc/version)
:512: (mpeg4): direct-qpel-blocksize bug (autodetected per
fourcc/version)
:1024: (mpeg4): edge padding bug (autodetected per fourcc/version)
debug=<value>
Display debugging information.
@ -1025,13 +1006,6 @@
greener.
:0x4000: Visualize block types.
ec=<value>
Set error concealment strategy.
:1: Use strong deblock filter for damaged MBs.
:2: iterative motion vector (MV) search (slow)
:3: all (default)
fast (MPEG-2, MPEG-4, and H.264 only)
Enable optimizations which do not comply to the specification and
might potentially cause problems, like simpler dequantization, simpler
@ -1039,9 +1013,6 @@
assuming YUV 4:2:0 and skipping a few checks to detect damaged
bitstreams.
gray
grayscale only decoding (a bit faster than with color)
idct=<0-99>
For best decoding quality use the same IDCT algorithm for decoding and
encoding. This may come at a price in accuracy, though.
@ -1051,14 +1022,12 @@
unneeded and pass all unknown options through the AVOption system is
welcome. A full list of AVOptions can be found in the FFmpeg manual.
Some options which used to be direct options can be set with this
mechanism, like ``bug``, ``gray``, ``idct``, ``ec``, ``vismv``,
``skip_top`` (was ``st``), ``skip_bottom`` (was ``sb``).
*EXAMPLE*: ``o=debug=pict``
sb=<number> (MPEG-2 only)
Skip the given number of macroblock rows at the bottom.
st=<number> (MPEG-2 only)
Skip the given number of macroblock rows at the top.
skiploopfilter=<skipvalue> (H.264 only)
Skips the loop filter (AKA deblocking) during H.264 decoding. Since
the filtered frame is supposed to be used as reference for decoding
@ -1090,14 +1059,6 @@
supported depends on codec. 0 means autodetect number of cores on the
machine and use that, up to the maximum of 16. (default: 0)
vismv=<value>
Visualize motion vectors.
:0: disabled
:1: Visualize forward predicted MVs of P-frames.
:2: Visualize forward predicted MVs of B-frames.
:4: Visualize backward predicted MVs of B-frames.
--lavfdopts=<option1:option2:...>
Specify parameters for libavformat demuxers (``--demuxer=lavf``). Separate

View File

@ -92,10 +92,6 @@ void set_default_mplayer_options(struct MPOpts *opts)
.hwdec_codecs = "all",
.lavc_param = {
.workaround_bugs = 1, // autodetect
.error_concealment = 3,
},
.ad_lavc_param = {
.ac3drc = 1.,
.downmix = 1,

View File

@ -195,15 +195,7 @@ typedef struct MPOpts {
char *hwdec_codecs;
struct lavc_param {
int workaround_bugs;
int error_resilience;
int error_concealment;
int gray;
int idct_algo;
int debug;
int vismv;
int skip_top;
int skip_bottom;
int fast;
char *skip_loop_filter_str;
char *skip_idct_str;

View File

@ -73,14 +73,7 @@ static void uninit(struct sh_video *sh);
#define OPT_BASE_STRUCT struct MPOpts
const m_option_t lavc_decode_opts_conf[] = {
OPT_INTRANGE("bug", lavc_param.workaround_bugs, 0, -1, 999999),
OPT_FLAG("gray", lavc_param.gray, 0),
OPT_INTRANGE("idct", lavc_param.idct_algo, 0, 0, 99),
OPT_INTRANGE("ec", lavc_param.error_concealment, 0, 0, 99),
OPT_INTRANGE("debug", lavc_param.debug, 0, 0, 9999999),
OPT_INTRANGE("vismv", lavc_param.vismv, 0, 0, 9999999),
OPT_INTRANGE("st", lavc_param.skip_top, 0, 0, 999),
OPT_INTRANGE("sb", lavc_param.skip_bottom, 0, 0, 999),
OPT_FLAG_CONSTANTS("fast", lavc_param.fast, 0, 0, CODEC_FLAG2_FAST),
OPT_STRING("skiploopfilter", lavc_param.skip_loop_filter_str, 0),
OPT_STRING("skipidct", lavc_param.skip_idct_str, 0),
@ -331,18 +324,10 @@ static void init_avctx(sh_video_t *sh, const char *decoder, struct hwdec *hwdec)
avctx->flags |= lavc_param->bitexact;
avctx->workaround_bugs = lavc_param->workaround_bugs;
if (lavc_param->gray)
avctx->flags |= CODEC_FLAG_GRAY;
avctx->flags2 |= lavc_param->fast;
avctx->idct_algo = lavc_param->idct_algo;
avctx->error_concealment = lavc_param->error_concealment;
avctx->debug = lavc_param->debug;
if (lavc_param->debug)
av_log_set_level(AV_LOG_DEBUG);
avctx->debug_mv = lavc_param->vismv;
avctx->skip_top = lavc_param->skip_top;
avctx->skip_bottom = lavc_param->skip_bottom;
avctx->skip_loop_filter = str2AVDiscard(lavc_param->skip_loop_filter_str);
avctx->skip_idct = str2AVDiscard(lavc_param->skip_idct_str);
avctx->skip_frame = str2AVDiscard(lavc_param->skip_frame_str);