diff --git a/libavcodec/alsdec.c b/libavcodec/alsdec.c index 960c55c653..13bd52f297 100644 --- a/libavcodec/alsdec.c +++ b/libavcodec/alsdec.c @@ -761,7 +761,7 @@ static int read_var_block_data(ALSDecContext *ctx, ALSBlockData *bd) } for (k = 2; k < opt_order; k++) - quant_cof[k] = (quant_cof[k] << 14) + (add_base << 13); + quant_cof[k] = (quant_cof[k] * (1 << 14)) + (add_base << 13); } } @@ -866,7 +866,7 @@ static int read_var_block_data(ALSDecContext *ctx, ALSBlockData *bd) res >>= 1; if (cur_k) { - res <<= cur_k; + res *= 1 << cur_k; res |= get_bits_long(gb, cur_k); } }