diff options
author | Simon Farnsworth <simon.farnsworth@onelan.co.uk> | 2008-07-23 11:13:20 +0100 |
---|---|---|
committer | Simon Farnsworth <simon.farnsworth@onelan.co.uk> | 2008-07-23 11:13:20 +0100 |
commit | a9cbcc9a321b8baaf71b9a19d2b8ffde4390c6f9 (patch) | |
tree | 854351a4585c165c410435b60e75089de23b5075 | |
parent | f1382ea01b368dc1d8044b368f602aad87f6468e (diff) | |
download | xine-lib-a9cbcc9a321b8baaf71b9a19d2b8ffde4390c6f9.tar.gz xine-lib-a9cbcc9a321b8baaf71b9a19d2b8ffde4390c6f9.tar.bz2 |
Xv deinterlacing was looking at the input image size, not the output image size.
This works fine on some chipsets, but on others, it causes image corruption.
-rw-r--r-- | ChangeLog | 3 | ||||
-rw-r--r-- | src/video_out/video_out_xv.c | 2 |
2 files changed, 4 insertions, 1 deletions
@@ -3,6 +3,9 @@ xine-lib (1.1.15) 2008-??-?? * V4L: Don't segfault if asked for an input that doesn't exist * Recognise AMR audio (normally found in 3GP files). * Recognise Snow video. + * Xv deinterlacing didn't take the size of the deinterlaced image into + account; on some chipsets, this would cause image corruption, while on + others, there would be no problem. xine-lib (1.1.14) 2008-06-29 * DVB changes: diff --git a/src/video_out/video_out_xv.c b/src/video_out/video_out_xv.c index 8f5da8ea0..6a11ebc34 100644 --- a/src/video_out/video_out_xv.c +++ b/src/video_out/video_out_xv.c @@ -524,7 +524,7 @@ static void xv_deinterlace_frame (xv_driver_t *this) { for( i = 0; i < VO_NUM_RECENT_FRAMES; i++ ) if( this->recent_frames[i] && this->recent_frames[i]->width == frame->width && this->recent_frames[i]->height == frame->height ) - recent_bitmaps[i] = this->recent_frames[i]->image->data + frame->width*frame->height; + recent_bitmaps[i] = this->recent_frames[i]->image->data + this->deinterlace_frame.image->width*frame->height; else recent_bitmaps[i] = NULL; |