diff --git a/libavcodec/ac3.c b/libavcodec/ac3.c index f0f14e360c..72312c7ed2 100644 --- a/libavcodec/ac3.c +++ b/libavcodec/ac3.c @@ -228,7 +228,7 @@ void ff_ac3_bit_alloc_calc_bap(int16_t *mask, int16_t *psd, int start, int end, band = bin_to_band_tab[start]; do { int m = (FFMAX(mask[band] - snr_offset - floor, 0) & 0x1FE0) + floor; - int band_end = FFMIN(bin + ff_ac3_critical_band_size_tab[band], end); + int band_end = FFMIN(band_start_tab[band] + ff_ac3_critical_band_size_tab[band], end); for (; bin < band_end; bin++) { int address = av_clip((psd[bin] - m) >> 5, 0, 63); bap[bin] = bap_tab[address];