# HG changeset patch # User darkshikari # Date 1279836943 0 # Node ID 00a4a6b56c7f7ec578bee2bdb95a0d01524a1627 # Parent cf675a4d51956cfa5fa81dcdfbdf7241ed4d6453 Fix stupid bug in VP8 prefetching code diff -r cf675a4d5195 -r 00a4a6b56c7f vp8.c --- a/vp8.c Thu Jul 22 22:08:09 2010 +0000 +++ b/vp8.c Thu Jul 22 22:15:43 2010 +0000 @@ -1083,15 +1083,13 @@ * Optimized for 64-byte cache lines. Inspired by ffh264 prefetch_motion. */ static inline void prefetch_motion(VP8Context *s, VP8Macroblock *mb, int mb_x, int mb_y, int x_off, int y_off, int ref) { - if (mb->ref_frame != VP56_FRAME_CURRENT) { - int mx = mb->mv.x + x_off + 8; - int my = mb->mv.y + y_off; - uint8_t **src= s->framep[mb->ref_frame]->data; - int off= mx + (my + (mb_x&3)*4)*s->linesize + 64; - s->dsp.prefetch(src[0]+off, s->linesize, 4); - off= (mx>>1) + ((my>>1) + (mb_x&7))*s->uvlinesize + 64; - s->dsp.prefetch(src[1]+off, src[2]-src[1], 2); - } + int mx = mb->mv.x + x_off + 8; + int my = mb->mv.y + 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); + off= (mx>>1) + ((my>>1) + (mb_x&7))*s->uvlinesize + 64; + s->dsp.prefetch(src[1]+off, src[2]-src[1], 2); } /**