mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2025-02-08 07:38:30 +00:00
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
This commit is contained in:
parent
3ae079a3c8
commit
0087aa47d0
@ -557,7 +557,8 @@ static void find_near_mvs(VP8Context *s, VP8Macroblock *mb, int mb_x, int mb_y,
|
|||||||
if (mv) {\
|
if (mv) {\
|
||||||
if (cur_sign_bias != sign_bias[edge_ref]) {\
|
if (cur_sign_bias != sign_bias[edge_ref]) {\
|
||||||
/* SWAR negate of the values in mv. */\
|
/* 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]))\
|
if (!n || mv != AV_RN32A(&near_mv[idx]))\
|
||||||
AV_WN32A(&near_mv[++idx], mv);\
|
AV_WN32A(&near_mv[++idx], mv);\
|
||||||
|
Loading…
Reference in New Issue
Block a user