[FFmpeg-cvslog] dvdec: fix lowres=3 with yuv 4:1:1

Michael Niedermayer git at videolan.org
Sun Mar 31 20:44:59 CEST 2013


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Sun Mar 31 20:37:11 2013 +0200| [ac126a98e56c1d1354bcbd3644af46a842ac51c3] | committer: Michael Niedermayer

dvdec: fix lowres=3 with yuv 4:1:1

Fixes Ticket2390

Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=ac126a98e56c1d1354bcbd3644af46a842ac51c3
---

 libavcodec/dvdec.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavcodec/dvdec.c b/libavcodec/dvdec.c
index 5cc205c..48cbbfc 100644
--- a/libavcodec/dvdec.c
+++ b/libavcodec/dvdec.c
@@ -287,9 +287,9 @@ static int dv_decode_video_segment(AVCodecContext *avctx, void *arg)
                   int x, y;
                   mb->idct_put(pixels, 8, block);
                   for (y = 0; y < (1 << log2_blocksize); y++, c_ptr += s->picture.linesize[j], pixels += 8) {
-                      ptr1   = pixels + (1 << (log2_blocksize - 1));
+                      ptr1   = pixels + ((1 << (log2_blocksize))>>1);
                       c_ptr1 = c_ptr + (s->picture.linesize[j] << log2_blocksize);
-                      for (x = 0; x < (1 << (log2_blocksize - 1)); x++) {
+                      for (x = 0; x < (1 << FFMAX(log2_blocksize - 1, 0)); x++) {
                           c_ptr[x]  = pixels[x];
                           c_ptr1[x] = ptr1[x];
                       }



More information about the ffmpeg-cvslog mailing list