diff options
author | Reinhard Nißl <rnissl@gmx.de> | 2007-04-12 23:36:51 +0200 |
---|---|---|
committer | Reinhard Nißl <rnissl@gmx.de> | 2007-04-12 23:36:51 +0200 |
commit | 7b50cbef25c8e2769bfbdd801b7318bb86047f87 (patch) | |
tree | 802fb4da1378365b7c9a00681136b3731a65d087 /win32 | |
parent | e8aa9780585fcec85b2a019af6e248687189e97c (diff) | |
download | xine-lib-7b50cbef25c8e2769bfbdd801b7318bb86047f87.tar.gz xine-lib-7b50cbef25c8e2769bfbdd801b7318bb86047f87.tar.bz2 |
Make bob deinterlacing more precisely and skip it on demand.
Bob deinterlacing is implemented as showing the top field, sleeping
for half the frame duration and showing the bottom field. Most
drivers tend to synchronize displaying a field on the VBI and thus
displaying a field may take up to half the frame duration in certain
cases.
According to the original code, the sleep took always half the
frame duration and therefore the second field could get displayed
too late. As a result, the driver was syncing to VBI most often,
so that things got even worse.
The changed code now calculates the sleep time in a way that the
second field gets displayed half the frame duration after the
first field. Moreover, it monitors how much time was spent to
display the first field and when this time exceeds 75 % of the
field time (= half the frame time), it skips displaying the second
field, as usually this is an indicator that the driver has no
more frame buffers left. So displaying the second field would just
make things go worse.
Diffstat (limited to 'win32')
0 files changed, 0 insertions, 0 deletions