Isn’t it funny how one sometimes get stuck in old thinking. One typical way this happens is that you base a decision on some assumptions, the assumptions change, but there is no “traceability” from your decision to the assumptions so the decision remains intact. It becomes “old thinking”.
This happened to me with GothPlayer, the video player that I’ve been developing on and off the last couple of years. One of the basic assumptions for the main design decision was that I was going to watch TV with it. Since the “claim of fame” of the GothPlayer is that it synchronizes the video and the display (see the GothPlayer pages), that assumption meant that I needed to adjust the display refresh rate. (There was for obvious reasons no way I could adjust the framerate of the incoming TV stream.)
 |
| Some more options |
I have come to realize that I use my set-top box for all my TV watching. The satellite feed is encrypted by the operator. Perhaps there are TV cards that can decrypt the video but as the set-top box came for free, works fine (it seems to be framelocked), and the SAF (spouse acceptance factor) is much higher than for the HTPC, it stays. The assumption that I need to synchronize to live sources thus goes.
This means that I can leave the display refresh rate alone and adjust the video framerate instead. I can still use the very exact timing information from my renderer as control input. It took me a few hours to implement the alternative solution which is based on an adjustable reference clock generator (the reference clock determines the speed of the video playback).
The big advantage with this solution is that it doesn’t require anything else from your display than that it can synchronize to an exact multiple of the framerate of the video. So computer displays running VGA are fine with the new solution. Also interlaced high-definition displays that seemed hard to get to synchronize with the first sync mechanism work fine with the new.
The new executables and sources files can be found here.
There is one important release note: if you have had the previous version of the player installed, you need to delete all the .ini files typically found under: C:\Documents and Settings\User\Application Data\SyncVMR9, …\SyncPlayer, and …\TestGen. The player may crash the first time if you don’t do this.
Also, the player has not been extensively tested so have some patience. If you do, there is a fair chance that you will get totally tear-free and judder-free fullscreen video. I have.