How to play 24 fps video smoothly on a 60Hz display? (or which player supports frame interpolation?)
Posted
by
netvope
on Super User
See other posts from Super User
or by netvope
Published on 2010-12-25T22:05:35Z
Indexed on
2010/12/25
22:56 UTC
Read the original article
Hit count: 266
I use mpc-hc to play videos on Win7 x64. With the default settings (#1), video playback is great most of the time. But for panning shots, playback is not smooth. I stepped through the video frame by frame and found that the panning movement is smooth (e.g. each frame shifts horizontally by 10 pixels), so the problem is how the 23.976 fps video is interpolated to 60Hz.
The judder looks like what would be caused by a "2:3 pulldown", where the frames are played unevenly like:
frame 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, etc
(#2)
Using "optimal renderer settings" (#3) instead of the default disables the Aero theme and causes tearing.
Setting my LCD display to 50Hz may have improved the judder slightly (but I can't really tell). My display does not support 24Hz or 48Hz, and forcing them in the Nvidia control panel gives blurry screen.
I've tried other video players (VLC and KMPlayer), the ReClock Directshow Filter, video files from different sources (#4), turning on/off DXVA, and a computer with a different GPU, but the judder in the playback is similar. None of them solved the problem.
So, how can I play 23.976 or 24 fps video smoothly on a 60Hz display?
I think a video player could make the video smoother by doing linear interpolation, such as:
1. 100% frame 1
2. 60% frame 1 + 40% frame 2
3. 20% frame 1 + 80% frame 2
4. 80% frame 2 + 20% frame 3
5. 40% frame 2 + 60% frame 3
6. 100% frame 3
7. 60% frame 3 + 40% frame 4
.. etc
Can any existing video player do this?
Footnotes:
(#1) Video renderer: EVR Custom Pres.
(#2) This example converts a 24 fps video into 30 fps
(#3) View > Renderer settings > Reset > Reset to optimal renderer settings
(#4) The files I have are all H.264 mkv files, but I don't think the file format/encoding matters.
© Super User or respective owner