diff options
author | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2010-03-10 19:14:22 +0000 |
---|---|---|
committer | Darren Salt <linux@youmustbejoking.demon.co.uk> | 2010-03-10 19:14:22 +0000 |
commit | 8c0b202a58fbce2a96ce3d02eea24b0e1e786e7a (patch) | |
tree | 7a0b771db2925715579a9937b8ac1d3c9d75283f | |
parent | a51de094aba9e272e6f216a705fc9259553dc9cc (diff) | |
download | xine-lib-8c0b202a58fbce2a96ce3d02eea24b0e1e786e7a.tar.gz xine-lib-8c0b202a58fbce2a96ce3d02eea24b0e1e786e7a.tar.bz2 |
Handle odd widths properly (for ffmpeg-decoded video).
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | src/combined/ffmpeg/ff_video_decoder.c | 7 |
2 files changed, 2 insertions, 6 deletions
@@ -3,6 +3,7 @@ xine-lib (1.1.18.1) 2010-03-06 * Fix up V4L/V4L2 compilation. Some non-Linux have V4L2 but not V4L. * Fix a size check (wrong variable, causing int/ptr comparison) in rmff.c. * Fix build with the old, outdated and deprecated internal ffmpeg. + * Handle odd widths properly (for ffmpeg-decoded video). xine-lib (1.1.18) 2010-02-23 * Bump the FLAC decoder's priority above ffmpegaudio. This should fix diff --git a/src/combined/ffmpeg/ff_video_decoder.c b/src/combined/ffmpeg/ff_video_decoder.c index 8c604e047..7d0d74b77 100644 --- a/src/combined/ffmpeg/ff_video_decoder.c +++ b/src/combined/ffmpeg/ff_video_decoder.c @@ -309,11 +309,6 @@ static void init_video_codec (ff_video_decoder_t *this, unsigned int codec_type) lprintf("lavc decoder found\n"); - /* force (width % 8 == 0), otherwise there will be - * display problems with Xv. - */ - this->bih.biWidth = (this->bih.biWidth + 1) & (~1); - this->context->width = this->bih.biWidth; this->context->height = this->bih.biHeight; this->context->stream_codec_tag = this->context->codec_tag = @@ -1389,7 +1384,7 @@ static void ff_handle_buffer (ff_video_decoder_t *this, buf_element_t *buf) { (this->context->pix_fmt == PIX_FMT_RGB24) || (this->context->pix_fmt == PIX_FMT_PAL8)) { this->output_format = XINE_IMGFMT_YUY2; - init_yuv_planes(&this->yuv, this->bih.biWidth, this->bih.biHeight); + init_yuv_planes(&this->yuv, (this->bih.biWidth + 15) & ~15, this->bih.biHeight); this->yuv_init = 1; } this->cs_convert_init = 1; |