diff --git a/DOCS/man/en/options.rst b/DOCS/man/en/options.rst index 9841e15b11..d98fe960e6 100644 --- a/DOCS/man/en/options.rst +++ b/DOCS/man/en/options.rst @@ -985,25 +985,6 @@ Only use bit-exact algorithms in all decoding steps (for codec testing). - bug= - 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= Display debugging information. @@ -1025,13 +1006,6 @@ greener. :0x4000: Visualize block types. - ec= - 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= (MPEG-2 only) - Skip the given number of macroblock rows at the bottom. - - st= (MPEG-2 only) - Skip the given number of macroblock rows at the top. - skiploopfilter= (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= - 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= Specify parameters for libavformat demuxers (``--demuxer=lavf``). Separate diff --git a/core/defaultopts.c b/core/defaultopts.c index b55dea99f8..c4e2a0fa98 100644 --- a/core/defaultopts.c +++ b/core/defaultopts.c @@ -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, diff --git a/core/options.h b/core/options.h index 25aa82791a..d870ab9677 100644 --- a/core/options.h +++ b/core/options.h @@ -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; diff --git a/video/decode/vd_lavc.c b/video/decode/vd_lavc.c index 2e5d4115b3..fff44edaed 100644 --- a/video/decode/vd_lavc.c +++ b/video/decode/vd_lavc.c @@ -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);