diff --git a/libavcodec/mss2.c b/libavcodec/mss2.c index f57685d7b1a7d6f3f3aa59de3f161e8ce6613410..f788143dd066b1d25e82cefb03aa4f9905f1513f 100644 --- a/libavcodec/mss2.c +++ b/libavcodec/mss2.c @@ -52,9 +52,9 @@ static void arith2_normalise(ArithCoder *c) c->value ^= 0x8000; c->low ^= 0x8000; } - c->high = c->high << 8 & 0xFFFFFF | 0xFF; - c->value = c->value << 8 & 0xFFFFFF | bytestream2_get_byte(c->gbc.gB); - c->low = c->low << 8 & 0xFFFFFF; + c->high = (uint16_t)c->high << 8 | 0xFF; + c->value = (uint16_t)c->value << 8 | bytestream2_get_byte(c->gbc.gB); + c->low = (uint16_t)c->low << 8; } }