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 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

View File

@ -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,

View File

@ -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;

View File

@ -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);