MiikaHweb - Blender Temp-vse-fast-scrubbing Branch MiikaHweb - Blender Temp-vse-fast-scrubbing Branch fi Tue, 26 Oct 21 12:57:12 +0000 MiikaHweb RSS contact at <![CDATA[[e1fc6c2]: Merge branch 'master' into temp-vse-fast-scrubbing]]> e1fc6c2
Branches : temp-vse-fast-scrubbing
Author : Richard Antalik (ISS)
Merge branch 'master' into temp-vse-fast-scrubbing

0 Paths Changed]]>
Fri, 26 Feb 2021 02:09:47 +0000 Antalik
<![CDATA[[2522e0d]: VSE/FFmpeg: Scrubbing performance optimization]]> 2522e0d
Branches : temp-vse-fast-scrubbing
Author : Richard Antalik (ISS)
VSE/FFmpeg: Scrubbing performance optimization

Decode only I-frames when scrubbing

This means, that scrubbing is as fast as possible, but not precise.

With some files with extreme GOP lengths, this may be not optimal, as
seeking would jump from one place to another.
Another issue is, that when zoomed in to movie strip, fine scrubbing is
not possible.

Both issues can be resolved by decoding exact frame on second request.
In first case this would cause UI to be laggy. In both cases this may
also cause glitchy behavior.

To eliminate glitchy behavior, there would have to be a buffer where
previous frames are stored and determine if seek has to be precise or
not. This analysis would have to be heuristic ultimately, and it could
significantly increase code complexity.

Also this analysis would be best done from VSE, because with imprecise
seeking, cache needs to be disabled, because image does not correspond
to what should be displayed.
If analysis is done on VSE side, when switching to precise scrubbing,
cache can remain active and scrubbing backwards, which is very likely
can be aided by cache. FFmpeg can't seek backwards efficiently.

Ultimately this patch assumes that files are encoded with fairly short
GOP sizes. If file is not optimal, proxy system is best solution for
achieving best performance.

9 Paths Changed]]>
Fri, 26 Feb 2021 01:54:47 +0000 Antalik