From 085c7106b9a1ee996cec89d747702dbe7eb29fb7 Mon Sep 17 00:00:00 2001 From: wm4 Date: Fri, 24 May 2019 19:17:31 +0200 Subject: demux: change backward-overlap to keyframe ranges instead of packets This seems more useful in general. This change also happens to fix a miscounting of preroll packets when some of them were "rounded" away, and which could make it stuck. Also a simple intra-refresh encode with x264 (and muxed to mkv by it) seems to work now. I guess I misinterpreted earlier results. --- DOCS/man/options.rst | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'DOCS/man/options.rst') diff --git a/DOCS/man/options.rst b/DOCS/man/options.rst index 99bb8cad8d..0631fd6a12 100644 --- a/DOCS/man/options.rst +++ b/DOCS/man/options.rst @@ -543,7 +543,8 @@ Playback Control accept suffixes such as ``KiB`` and ``MiB``. ``--video-backward-overlap=``, ``--audio-backward-overlap=`` - Number of overlapping packets to use for backward decoding (default: auto). + Number of overlapping keyframe ranges to use for backward decoding (default: + auto) ("keyframe" to be understood as in the mpv/ffmpeg specific meaning). Backward decoding works by forward decoding in small steps. Some codecs cannot restart decoding from any packet (even if it's marked as seek point), which becomes noticeable with backward decoding (in theory this is a problem @@ -554,10 +555,9 @@ Playback Control discard the output. This option controls how many packets to feed. The ``auto`` choice is currently hardcoded to 1 for audio, and 0 for video. - ``--video-backward-overlap`` was intended to handle intra-refresh video, but - which does not work since libavcodec silently drops frames even with - ``--vd-lavc-show-all``, and it's too messy to accurately guess which frames - have been dropped. + ``--video-backward-overlap`` can potentially handle intra-refresh video, + depending on the exact conditions. You may have to use the + ``--vd-lavc-show-all`` option as well. ``--demuxer-backward-playback-step=`` Number of seconds the demuxer should seek back to get new packets during -- cgit v1.2.3