mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-06-30 21:08:59 +08:00
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
This commit is contained in:
@ -942,9 +942,9 @@ static int decode_spectrum_and_dequant(AACContext *ac, float coef[1024],
|
|||||||
if (vq_ptr[j] == 64.0f) {
|
if (vq_ptr[j] == 64.0f) {
|
||||||
int n = 4;
|
int n = 4;
|
||||||
/* The total length of escape_sequence must be < 22 bits according
|
/* The total length of escape_sequence must be < 22 bits according
|
||||||
to the specification (i.e. max is 11111111110xxxxxxxxxx). */
|
to the specification (i.e. max is 111111110xxxxxxxxxxxx). */
|
||||||
while (get_bits1(gb) && n < 15) n++;
|
while (get_bits1(gb) && n < 13) n++;
|
||||||
if (n == 15) {
|
if (n == 13) {
|
||||||
av_log(ac->avccontext, AV_LOG_ERROR, "error in spectral data, ESC overflow\n");
|
av_log(ac->avccontext, AV_LOG_ERROR, "error in spectral data, ESC overflow\n");
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user