[SCM] libav/experimental: AAC: escape_sequence is 21 bits max
siretart at users.alioth.debian.org
siretart at users.alioth.debian.org
Sun Jun 30 16:57:21 UTC 2013
The following commit has been merged in the experimental branch:
commit 7c8af53f871c3e32ee265fd84d7166cbcbcc0a35
Author: Måns Rullgård <mans at mansr.com>
Date: Mon Jan 11 18:02:00 2010 +0000
AAC: escape_sequence is 21 bits max
The maximum length of escape_sequence is 21 bits, so adjust limit in
code to match this. Also fix the comment.
Originally committed as revision 21151 to svn://svn.ffmpeg.org/ffmpeg/trunk
diff --git a/libavcodec/aac.c b/libavcodec/aac.c
index 2bb05b8..d23d4da 100644
--- a/libavcodec/aac.c
+++ b/libavcodec/aac.c
@@ -942,9 +942,9 @@ static int decode_spectrum_and_dequant(AACContext *ac, float coef[1024],
if (vq_ptr[j] == 64.0f) {
int n = 4;
/* The total length of escape_sequence must be < 22 bits according
- to the specification (i.e. max is 11111111110xxxxxxxxxx). */
- while (get_bits1(gb) && n < 15) n++;
- if (n == 15) {
+ to the specification (i.e. max is 111111110xxxxxxxxxxxx). */
+ while (get_bits1(gb) && n < 13) n++;
+ if (n == 13) {
av_log(ac->avccontext, AV_LOG_ERROR, "error in spectral data, ESC overflow\n");
return -1;
}
--
Libav/FFmpeg packaging
More information about the pkg-multimedia-commits
mailing list