[FFmpeg-cvslog] aacenc_pred: disable PNS SFBs and disable right predictors with IS

Rostislav Pehlivanov git at videolan.org
Sun Sep 6 16:31:41 CEST 2015


ffmpeg | branch: master | Rostislav Pehlivanov <atomnuker at gmail.com> | Sun Sep  6 15:10:28 2015 +0100| [8848c8440eb5816d5a9c3d38e0e20342867ef2cc] | committer: Rostislav Pehlivanov

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 at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8848c8440eb5816d5a9c3d38e0e20342867ef2cc
---

 libavcodec/aacenc_pred.c |    4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/libavcodec/aacenc_pred.c b/libavcodec/aacenc_pred.c
index eb8e7f7..c0e5e6e 100644
--- a/libavcodec/aacenc_pred.c
+++ b/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 */



More information about the ffmpeg-cvslog mailing list