[FFmpeg-cvslog] aacenc_tns: fix triggering an assertion with assert-level=2
Rostislav Pehlivanov
git at videolan.org
Sat Aug 29 20:26:07 CEST 2015
ffmpeg | branch: master | Rostislav Pehlivanov <atomnuker at gmail.com> | Sat Aug 29 19:01:59 2015 +0100| [0818705bf37e2c62de1947f1c06ad63262e51fc6] | committer: Rostislav Pehlivanov
aacenc_tns: fix triggering an assertion with assert-level=2
It also made no sense to actually make the filter span the entire
window including the first band of the next window.
Signed-off-by: Rostislav Pehlivanov <atomnuker at gmail.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=0818705bf37e2c62de1947f1c06ad63262e51fc6
---
libavcodec/aacenc_tns.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavcodec/aacenc_tns.c b/libavcodec/aacenc_tns.c
index 912229e..e948b32 100644
--- a/libavcodec/aacenc_tns.c
+++ b/libavcodec/aacenc_tns.c
@@ -173,7 +173,7 @@ void ff_aac_search_for_tns(AACEncContext *s, SingleChannelElement *sce)
const int is8 = sce->ics.window_sequence[0] == EIGHT_SHORT_SEQUENCE;
const int tns_max_order = is8 ? 7 : s->profile == FF_PROFILE_AAC_LOW ? 12 : TNS_MAX_ORDER;
- for (w = 0; w < sce->ics.num_windows; w += sce->ics.group_len[w]) {
+ for (w = 0; w < sce->ics.num_windows; w++) {
int order = 0, filters = 1;
int sfb_start = 0, sfb_len = 0;
int coef_start = 0, coef_len = 0;
@@ -197,7 +197,7 @@ void ff_aac_search_for_tns(AACEncContext *s, SingleChannelElement *sce)
threshold += band->threshold;
}
if (!sfb_len) {
- sfb_len = (w+sce->ics.group_len[w])*16+g - sfb_start;
+ sfb_len = (w+1)*16+g - sfb_start - 1;
coef_len = sce->ics.swb_offset[sfb_start + sfb_len] - coef_start;
}
}
More information about the ffmpeg-cvslog
mailing list