diff options
author | Reinhard Nißl <rnissl@gmx.de> | 2007-04-13 00:01:57 +0200 |
---|---|---|
committer | Reinhard Nißl <rnissl@gmx.de> | 2007-04-13 00:01:57 +0200 |
commit | 42db183b596601354643b6e8f4997109b2324f6d (patch) | |
tree | c02169399cf434fe9d19d47460c4fd7e0ad94b35 /src | |
parent | d49cccb9b200afb0505723e9cbab6d614a5e30c8 (diff) | |
download | xine-lib-42db183b596601354643b6e8f4997109b2324f6d.tar.gz xine-lib-42db183b596601354643b6e8f4997109b2324f6d.tar.bz2 |
Disable bob deinterlacing on a per frame decision (continued).
One can assume that a still frame is to show when there are no more
frames left to display.
The changed code uses _x_query_buffer_usage() to retrieve the number
of frames waiting to be displayed to integrate this information into
the decision.
Diffstat (limited to 'src')
-rw-r--r-- | src/video_out/video_out_xxmc.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/video_out/video_out_xxmc.c b/src/video_out/video_out_xxmc.c index 20ce00a5e..11bfc7e1a 100644 --- a/src/video_out/video_out_xxmc.c +++ b/src/video_out/video_out_xxmc.c @@ -1605,7 +1605,9 @@ static void xxmc_display_frame (vo_driver_t *this_gen, vo_frame_t *frame_gen) || !frame->vo_frame.stream || xine_get_param(frame->vo_frame.stream, XINE_PARAM_FINE_SPEED) != XINE_FINE_SPEED_NORMAL; if (!disable_deinterlace) { - /* TODO: still frame detection */ + int vo_bufs_in_fifo = 0; + _x_query_buffer_usage(frame->vo_frame.stream, NULL, NULL, &vo_bufs_in_fifo, NULL); + disable_deinterlace = (vo_bufs_in_fifo <= 0); } } |