@@ -6138,17 +6138,27 @@ <h2>GPU renderer options</h2>
6138
6138
</dd>
6139
6139
<dt><tt class="docutils literal"><span class="pre">--interpolation-threshold=<0..1,-1></span></tt></dt>
6140
6140
<dd><p class="first">Threshold below which frame ratio interpolation gets disabled (default:
6141
- <tt class="docutils literal">0.0001 </tt>). This is calculated as <tt class="docutils literal">abs(disphz/vfps - 1) < threshold</tt>,
6141
+ <tt class="docutils literal">0.01 </tt>). This is calculated as <tt class="docutils literal">abs(disphz/vfps - 1) < threshold</tt>,
6142
6142
where <tt class="docutils literal">vfps</tt> is the speed-adjusted video FPS, and <tt class="docutils literal">disphz</tt> the
6143
6143
display refresh rate. (The speed-adjusted video FPS is roughly equal to
6144
6144
the normal video FPS, but with slowdown and speedup applied. This matters
6145
6145
if you use <tt class="docutils literal"><span class="pre">--video-sync=display-resample</span></tt> to make video run synchronously
6146
6146
to the display FPS, or if you change the <tt class="docutils literal">speed</tt> property.)</p>
6147
- <p>The default is intended to almost always enable interpolation if the
6148
- playback rate is even slightly different from the display refresh rate. But
6149
- note that if you use e.g. <tt class="docutils literal"><span class="pre">--video-sync=display-vdrop</span></tt>, small deviations
6150
- in the rate can disable interpolation and introduce a discontinuity every
6151
- other minute.</p>
6147
+ <p>The default is intended to enable interpolation in scenarios where
6148
+ retiming with the <tt class="docutils literal"><span class="pre">--video-sync=display-*</span></tt> cannot adjust the speed of
6149
+ the video sufficiently for smooth playback. For example if a video is
6150
+ 60.00 FPS and your display refresh rate is 59.94 Hz, interpolation will
6151
+ never be activated, since the mismatch is within 1% of the refresh
6152
+ rate. The default also handles the scenario when mpv cannot determine the
6153
+ container FPS, such as during certain live streams, and may dynamically
6154
+ toggle interpolation on and off. In this scenario, the default would be to
6155
+ not use interpolation but rather to allow <tt class="docutils literal"><span class="pre">--video-sync=display-*</span></tt> to
6156
+ retime the video to match display refresh rate. See
6157
+ <tt class="docutils literal"><span class="pre">--video-sync-max-video-change</span></tt> for more information about how mpv
6158
+ will retime video.</p>
6159
+ <p>Also note that if you use e.g. <tt class="docutils literal"><span class="pre">--video-sync=display-vdrop</span></tt>, small
6160
+ deviations in the rate can disable interpolation and introduce a
6161
+ discontinuity every other minute.</p>
6152
6162
<p class="last">Set this to <tt class="docutils literal"><span class="pre">-1</span></tt> to disable this logic.</p>
6153
6163
</dd>
6154
6164
<dt><tt class="docutils literal"><span class="pre">--opengl-pbo</span></tt></dt>
@@ -7478,6 +7488,8 @@ <h2>Miscellaneous</h2>
7478
7488
<p>For example, if this is set to 1, the video FPS is forced to an integer
7479
7489
multiple of the display FPS, as long as the speed change does not exceed
7480
7490
the value set by <tt class="docutils literal"><span class="pre">--video-sync-max-video-change</span></tt>.</p>
7491
+ <p>See <tt class="docutils literal"><span class="pre">--interpolation-threshold</span></tt> for how this option affects
7492
+ interpolation.</p>
7481
7493
<p class="last">This is mostly for testing, and the option may be randomly changed in the
7482
7494
future without notice.</p>
7483
7495
</dd>
0 commit comments