From: Alex Converse Date: Fri, 12 Sep 2008 14:32:49 +0000 (+0000) Subject: Only read some of TNS bitstream data in the case that the TNS filter order is X-Git-Tag: v0.5~2550 X-Git-Url: http://git.osdn.net/view?a=commitdiff_plain;h=516736477799ce406913e0165413c69c3019e96b;p=coroid%2Flibav_saccubus.git Only read some of TNS bitstream data in the case that the TNS filter order is non-zero as per the specification. Patch by Alex Converse (alex converse gmail com) Fixes another issue pertaining to issue632 Originally committed as revision 15303 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavcodec/aac.c b/libavcodec/aac.c index cc069ed7c..18c2cbc6d 100644 --- a/libavcodec/aac.c +++ b/libavcodec/aac.c @@ -629,6 +629,7 @@ static int decode_tns(AACContext * ac, TemporalNoiseShaping * tns, tns->order[w][filt] = 0; return -1; } + if (tns->order[w][filt]) { tns->direction[w][filt] = get_bits1(gb); coef_compress = get_bits1(gb); coef_len = coef_res + 3 - coef_compress; @@ -636,6 +637,7 @@ static int decode_tns(AACContext * ac, TemporalNoiseShaping * tns, for (i = 0; i < tns->order[w][filt]; i++) tns->coef[w][filt][i] = tns_tmp2_map[tmp2_idx][get_bits(gb, coef_len)]; + } } } }