I’ve been working on some pro video player in an attempt at improving 24Hz playback performance. It turns out that the cause of the uneven framerate issue was the 24Hz modeline I was using. The TV and ??computer were not well synchronized, or something. The supposed “standard” modeline is:
ModeLine “1920x1080@23.976” 74.175 1920 2558 2602 2750 1080 1084 1089 1125 +hsync +vsync
Through painful experimentation, I tweaked the dot clock, the delay between drawing lines, and the delay between drawing frames. The resulting modeline,
Modeline “1920x1080@23.976” 74.19 1920 2558 2602 2751 1080 1084 1089 1124 +hsync +vsync
appears to work well, but I need to test this further. This reference on modelines was immensely helpful.
Update: I had to change an XFlush() call to XSync() in mplayer’s xv output driver, but now double buffering + direct rendering appear to work correctly. Approx. 0 glitches noticed so far…