"i_mv_range_thread" ?? - sehe ich nicht mit x264 --fullhelp. Ist das im CLI vllt. --sync-lookahead Oder doch eher --mvrange-thread? (Denke mal, ja.) Was SIND eigentlich eigentlich vernünftige Werte? Default=-1=AUTO heißt in der Praxis ... was?
Ich war beim Quellcode, d.h. die Variable heißt "i_mv_range_thread", die entsprechende CLI Option wäre "--mvrange-thread".
Default heißt, dass x264 den "optimalen" i_mv_range_thread Wert für die jeweilige Anzahl der Threads wählt. Und ich würde in diesem Punkt mal den Entwicklern vertrauen
- RC-lookahead / MB-tree ist mir, *besonders* in Verbindung mit Multi-Threading, auch nicht ganz selbstverständlich. Diese beiden sind miteinander gekoppelt, ja? Nein? Die --help - Erklärung zu rc-lookahead nennt ja ausdrücklich nur "frametype decision" ...
MB-Tree steuert die Qualität auf Makroblock-Ebene. Blöcke die in der "Zukunft" häufig referenziert werden, die werden entsprechend weniger stark komprimiert, als solche, die nur selten referenziert werden. Dabei steuert die Option "--rc-lookahead" um wie viele Frames MB-Tree voraus schaut. Siehe dazu auch die Commit Message:
ZitatAlles anzeigenMacroblock-tree ratecontrol
On by default; can be turned off with --no-mbtree.
Uses a large lookahead to track temporal propagation of data and weight quality accordingly.
Requires a very large separate statsfile (2 bytes per macroblock) in multi-pass mode.
Doesn't work with b-pyramid yet.
Note that MB-tree inherently measures quality different from the standard qcomp method, so bitrates produced by CRF may change somewhat.
This makes the "medium" preset a bit slower. Accordingly, make "fast" slower as well, and introduce a new preset "faster" between "fast" and "veryfast".
All presets "fast" and above will have MB-tree on.
Add a new option, --rc-lookahead, to control the distance MB tree looks ahead to perform propagation analysis.
Die "--sync-lookahead" Option hat etwas mit dem Threaded Lookahead zu tun:
ZitatThreaded lookahead
Move lookahead into a separate thread, set to higher priority than the other threads, for optimal performance.
Reduces the amount that lookahead bottlenecks encoding, greatly increasing performance with lookahead-intensive settings (e.g. b-adapt 2) on many-core CPUs.
Buffer size can be controlled with --sync-lookahead, which defaults to auto (threads+bframes buffer size).
Note that this buffer is separate from the rc-lookahead value.