avcodec/snowenc: Fix invalid left shift of negative numbers

Affected the vsynth(1|2|_lena)-snow(|-hpel) tests.

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
This commit is contained in:
Andreas Rheinhardt 2022-10-21 17:14:19 +02:00
parent 882a17068f
commit a14c5af58d

View File

@ -935,7 +935,7 @@ static av_always_inline int check_block_inter(SnowContext *s, int mb_x, int mb_y
av_assert2(mb_x < b_stride);
index = (p0 + 31 * p1) & (ME_CACHE_SIZE-1);
value = s->me_cache_generation + (p0 >> 10) + (p1 << 6) + (block->ref << 12);
value = s->me_cache_generation + (p0 >> 10) + p1 * (1 << 6) + (block->ref << 12);
if (s->me_cache[index] == value)
return 0;
s->me_cache[index] = value;