avcodec/ac3: Fix undefined shift in ff_ac3_bit_alloc_calc_mask()

Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu@google.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
pull/125/head
Michael Niedermayer 10 years ago
parent 94ccbad488
commit e3f5b6f16d
  1. 4
      libavcodec/ac3.c

@ -200,9 +200,9 @@ int ff_ac3_bit_alloc_calc_mask(AC3BitAllocParameters *s, int16_t *band_psd,
if (band >= AC3_CRITICAL_BANDS || dba_lengths[seg] > AC3_CRITICAL_BANDS-band) if (band >= AC3_CRITICAL_BANDS || dba_lengths[seg] > AC3_CRITICAL_BANDS-band)
return -1; return -1;
if (dba_values[seg] >= 4) { if (dba_values[seg] >= 4) {
delta = (dba_values[seg] - 3) << 7; delta = (dba_values[seg] - 3) * 128;
} else { } else {
delta = (dba_values[seg] - 4) << 7; delta = (dba_values[seg] - 4) * 128;
} }
for (i = 0; i < dba_lengths[seg]; i++) { for (i = 0; i < dba_lengths[seg]; i++) {
mask[band++] += delta; mask[band++] += delta;

Loading…
Cancel
Save