mirror of https://github.com/mpv-player/mpv
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:
parent
362e0aa7d5
commit
a21cfddaab
|
@ -985,25 +985,6 @@
|
||||||
Only use bit-exact algorithms in all decoding steps (for codec
|
Only use bit-exact algorithms in all decoding steps (for codec
|
||||||
testing).
|
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>
|
debug=<value>
|
||||||
Display debugging information.
|
Display debugging information.
|
||||||
|
|
||||||
|
@ -1025,13 +1006,6 @@
|
||||||
greener.
|
greener.
|
||||||
:0x4000: Visualize block types.
|
: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)
|
fast (MPEG-2, MPEG-4, and H.264 only)
|
||||||
Enable optimizations which do not comply to the specification and
|
Enable optimizations which do not comply to the specification and
|
||||||
might potentially cause problems, like simpler dequantization, simpler
|
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
|
assuming YUV 4:2:0 and skipping a few checks to detect damaged
|
||||||
bitstreams.
|
bitstreams.
|
||||||
|
|
||||||
gray
|
|
||||||
grayscale only decoding (a bit faster than with color)
|
|
||||||
|
|
||||||
idct=<0-99>
|
idct=<0-99>
|
||||||
For best decoding quality use the same IDCT algorithm for decoding and
|
For best decoding quality use the same IDCT algorithm for decoding and
|
||||||
encoding. This may come at a price in accuracy, though.
|
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
|
unneeded and pass all unknown options through the AVOption system is
|
||||||
welcome. A full list of AVOptions can be found in the FFmpeg manual.
|
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``
|
*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)
|
skiploopfilter=<skipvalue> (H.264 only)
|
||||||
Skips the loop filter (AKA deblocking) during H.264 decoding. Since
|
Skips the loop filter (AKA deblocking) during H.264 decoding. Since
|
||||||
the filtered frame is supposed to be used as reference for decoding
|
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
|
supported depends on codec. 0 means autodetect number of cores on the
|
||||||
machine and use that, up to the maximum of 16. (default: 0)
|
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:...>
|
--lavfdopts=<option1:option2:...>
|
||||||
Specify parameters for libavformat demuxers (``--demuxer=lavf``). Separate
|
Specify parameters for libavformat demuxers (``--demuxer=lavf``). Separate
|
||||||
|
|
|
@ -92,10 +92,6 @@ void set_default_mplayer_options(struct MPOpts *opts)
|
||||||
|
|
||||||
.hwdec_codecs = "all",
|
.hwdec_codecs = "all",
|
||||||
|
|
||||||
.lavc_param = {
|
|
||||||
.workaround_bugs = 1, // autodetect
|
|
||||||
.error_concealment = 3,
|
|
||||||
},
|
|
||||||
.ad_lavc_param = {
|
.ad_lavc_param = {
|
||||||
.ac3drc = 1.,
|
.ac3drc = 1.,
|
||||||
.downmix = 1,
|
.downmix = 1,
|
||||||
|
|
|
@ -195,15 +195,7 @@ typedef struct MPOpts {
|
||||||
char *hwdec_codecs;
|
char *hwdec_codecs;
|
||||||
|
|
||||||
struct lavc_param {
|
struct lavc_param {
|
||||||
int workaround_bugs;
|
|
||||||
int error_resilience;
|
|
||||||
int error_concealment;
|
|
||||||
int gray;
|
|
||||||
int idct_algo;
|
|
||||||
int debug;
|
int debug;
|
||||||
int vismv;
|
|
||||||
int skip_top;
|
|
||||||
int skip_bottom;
|
|
||||||
int fast;
|
int fast;
|
||||||
char *skip_loop_filter_str;
|
char *skip_loop_filter_str;
|
||||||
char *skip_idct_str;
|
char *skip_idct_str;
|
||||||
|
|
|
@ -73,14 +73,7 @@ static void uninit(struct sh_video *sh);
|
||||||
#define OPT_BASE_STRUCT struct MPOpts
|
#define OPT_BASE_STRUCT struct MPOpts
|
||||||
|
|
||||||
const m_option_t lavc_decode_opts_conf[] = {
|
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("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_FLAG_CONSTANTS("fast", lavc_param.fast, 0, 0, CODEC_FLAG2_FAST),
|
||||||
OPT_STRING("skiploopfilter", lavc_param.skip_loop_filter_str, 0),
|
OPT_STRING("skiploopfilter", lavc_param.skip_loop_filter_str, 0),
|
||||||
OPT_STRING("skipidct", lavc_param.skip_idct_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->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->flags2 |= lavc_param->fast;
|
||||||
avctx->idct_algo = lavc_param->idct_algo;
|
|
||||||
avctx->error_concealment = lavc_param->error_concealment;
|
|
||||||
avctx->debug = lavc_param->debug;
|
avctx->debug = lavc_param->debug;
|
||||||
if (lavc_param->debug)
|
if (lavc_param->debug)
|
||||||
av_log_set_level(AV_LOG_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_loop_filter = str2AVDiscard(lavc_param->skip_loop_filter_str);
|
||||||
avctx->skip_idct = str2AVDiscard(lavc_param->skip_idct_str);
|
avctx->skip_idct = str2AVDiscard(lavc_param->skip_idct_str);
|
||||||
avctx->skip_frame = str2AVDiscard(lavc_param->skip_frame_str);
|
avctx->skip_frame = str2AVDiscard(lavc_param->skip_frame_str);
|
||||||
|
|
Loading…
Reference in New Issue