X-Git-Url: https://git.sesse.net/?a=blobdiff_plain;f=libavcodec%2Fatrac3plus.c;h=f998a7f9ee7ea39e345af34d11e69a9fd1086635;hb=c97d30f02f34f9a9dce73446c365adc37472b612;hp=575a49373dd081f699ccef9bc3e13d6d974d84c6;hpb=a22da5e66903574754d637e5e4695c5f7f2ceaeb;p=ffmpeg diff --git a/libavcodec/atrac3plus.c b/libavcodec/atrac3plus.c index 575a49373dd..f998a7f9ee7 100644 --- a/libavcodec/atrac3plus.c +++ b/libavcodec/atrac3plus.c @@ -820,7 +820,7 @@ static void decode_qu_spectra(GetBitContext *gb, const Atrac3pSpecCodeTab *tab, int num_coeffs = tab->num_coeffs; int bits = tab->bits; int is_signed = tab->is_signed; - unsigned val, mask = (1 << bits) - 1; + unsigned val; for (pos = 0; pos < num_specs;) { if (group_size == 1 || get_bits1(gb)) { @@ -828,7 +828,7 @@ static void decode_qu_spectra(GetBitContext *gb, const Atrac3pSpecCodeTab *tab, val = get_vlc2(gb, vlc_tab->table, vlc_tab->bits, 1); for (i = 0; i < num_coeffs; i++) { - cf = val & mask; + cf = av_mod_uintp2(val, bits); if (is_signed) cf = sign_extend(cf, bits); else if (cf && get_bits1(gb))