summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libavcodec/ac3.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavcodec/ac3.c b/libavcodec/ac3.c
index a1415a570c..132ea0f8b5 100644
--- a/libavcodec/ac3.c
+++ b/libavcodec/ac3.c
@@ -157,8 +157,8 @@ void ff_ac3_bit_alloc_calc_mask(AC3BitAllocParameters *s, int16_t *band_psd,
if (dba_mode == DBA_REUSE || dba_mode == DBA_NEW) {
int band, seg, delta;
band = 0;
- for (seg = 0; seg < dba_nsegs; seg++) {
- band += dba_offsets[seg];
+ for (seg = 0; seg < FFMIN(8, dba_nsegs); seg++) {
+ band = FFMIN(49, band + dba_offsets[seg]);
if (dba_values[seg] >= 4) {
delta = (dba_values[seg] - 3) << 7;
} else {