From 2d23fecd5dfbf544d8ddc0cada2e09d4ddce2a92 Mon Sep 17 00:00:00 2001
From: Alex Converse <alex.converse@gmail.com>
Date: Fri, 30 Apr 2010 23:32:42 +0000
Subject: [PATCH] Enforce time border monotonicity.

Thanks to Chromium.

Originally committed as revision 23000 to svn://svn.ffmpeg.org/ffmpeg/trunk
---
 libavcodec/aacsbr.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/libavcodec/aacsbr.c b/libavcodec/aacsbr.c
index bc6cb003cbf..130e3ed1217 100644
--- a/libavcodec/aacsbr.c
+++ b/libavcodec/aacsbr.c
@@ -720,6 +720,13 @@ static int read_sbr_grid(AACContext *ac, SpectralBandReplication *sbr,
         return -1;
     }
 
+    for (i = 1; i <= ch_data->bs_num_env; i++) {
+        if (ch_data->t_env[i-1] > ch_data->t_env[i]) {
+            av_log(ac->avccontext, AV_LOG_ERROR, "Non monotone time borders\n");
+            return -1;
+        }
+    }
+
     ch_data->bs_num_noise = (ch_data->bs_num_env > 1) + 1;
 
     ch_data->t_q[0]                     = ch_data->t_env[0];
-- 
GitLab