aacenc_pred: disable PNS SFBs and disable right predictors with IS

Since PNS generates coefficients it doesn't make sense to send
the predicted ones as well. Also the specifications explicitly
state to disable right channel IS predictors.

Signed-off-by: Rostislav Pehlivanov <atomnuker@gmail.com>
pull/148/head
Rostislav Pehlivanov 9 years ago
parent a71f7de95b
commit 8848c8440e
  1. 4
      libavcodec/aacenc_pred.c

@ -262,7 +262,9 @@ void ff_aac_search_for_pred(AACEncContext *s, SingleChannelElement *sce)
const int num_coeffs = sce->ics.swb_offset[sfb + 1] - start_coef;
const FFPsyBand *band = &s->psy.ch[s->cur_channel].psy_bands[sfb];
if (start_coef + num_coeffs > MAX_PREDICTORS)
if (start_coef + num_coeffs > MAX_PREDICTORS ||
(s->cur_channel && sce->band_type[sfb] >= INTENSITY_BT2) ||
sce->band_type[sfb] == NOISE_BT)
continue;
/* Normal coefficients */

Loading…
Cancel
Save