It causes division by zero crashes.

Signed-off-by: Andreas Cadhalpun <andreas.cadhal...@googlemail.com>
---
 libavcodec/aacsbr_fixed.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/aacsbr_fixed.c b/libavcodec/aacsbr_fixed.c
index b26314a..d2a7027 100644
--- a/libavcodec/aacsbr_fixed.c
+++ b/libavcodec/aacsbr_fixed.c
@@ -429,6 +429,10 @@ static void sbr_gain_calc(AACContext *ac, 
SpectralBandReplication *sbr,
                                                 av_add_sf(FLOAT_1, 
sbr->e_curr[e][m]),
                                                 av_add_sf(FLOAT_1, 
sbr->q_mapped[e][m]))));
                 }
+                if (sbr->gain[e][m].mant == 0) {
+                    sbr->gain[e][m] = FLOAT_1;
+                    sbr->gain[e][m].exp = MIN_EXP;
+                }
             }
             for (m = sbr->f_tablelim[k] - sbr->kx[1]; m < sbr->f_tablelim[k + 
1] - sbr->kx[1]; m++) {
                 sum[0] = av_add_sf(sum[0], sbr->e_origmapped[e][m]);
-- 
2.10.2
_______________________________________________
ffmpeg-devel mailing list
ffmpeg-devel@ffmpeg.org
http://ffmpeg.org/mailman/listinfo/ffmpeg-devel

Reply via email to