Browse Source

VP8: fix broken sign bias code in MV pred

Apparently the official conformance test vectors don't test this feature,
even though libvpx uses it.

Originally committed as revision 24456 to svn://svn.ffmpeg.org/ffmpeg/trunk
tags/n0.8
Jason Garrett-Glaser 15 years ago
parent
commit
0087aa47d0
1 changed files with 2 additions and 1 deletions
  1. +2
    -1
      libavcodec/vp8.c

+ 2
- 1
libavcodec/vp8.c View File

@@ -557,7 +557,8 @@ static void find_near_mvs(VP8Context *s, VP8Macroblock *mb, int mb_x, int mb_y,
if (mv) {\
if (cur_sign_bias != sign_bias[edge_ref]) {\
/* SWAR negate of the values in mv. */\
mv = ((mv&0x80008000) + 0x00010001) ^ (mv&0x7fff7fff);\
mv = ~mv;\
mv = ((mv&0x7fff7fff) + 0x00010001) ^ (mv&0x80008000);\
}\
if (!n || mv != AV_RN32A(&near_mv[idx]))\
AV_WN32A(&near_mv[++idx], mv);\


Loading…
Cancel
Save