From 7e13022a4dfd412229ccca4adb6f60b8331b5adf Mon Sep 17 00:00:00 2001 From: Jason Garrett-Glaser Date: Thu, 5 Aug 2010 20:03:54 +0000 Subject: [PATCH] VP8: fix bug in prefetch Motion vectors in VP8 are qpel, not fullpel. Originally committed as revision 24707 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavcodec/vp8.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/vp8.c b/libavcodec/vp8.c index 329e6053f8..56bfbbb656 100644 --- a/libavcodec/vp8.c +++ b/libavcodec/vp8.c @@ -1155,8 +1155,8 @@ static av_always_inline void prefetch_motion(VP8Context *s, VP8Macroblock *mb, i /* Don't prefetch refs that haven't been used very often this frame. */ if (s->ref_count[ref-1] > (mb_xy >> 5)) { int x_off = mb_x << 4, y_off = mb_y << 4; - int mx = mb->mv.x + x_off + 8; - int my = mb->mv.y + y_off; + int mx = (mb->mv.x>>2) + x_off + 8; + int my = (mb->mv.y>>2) + y_off; uint8_t **src= s->framep[ref]->data; int off= mx + (my + (mb_x&3)*4)*s->linesize + 64; s->dsp.prefetch(src[0]+off, s->linesize, 4);