Mercurial > libavcodec.hg
diff aac.c @ 10848:b4aca3bfff0f libavcodec
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.
| author | mru |
|---|---|
| date | Mon, 11 Jan 2010 18:02:00 +0000 |
| parents | 3d011a01a6a0 |
| children | e8f4b9e41b7a |
line wrap: on
line diff
--- a/aac.c Mon Jan 11 16:41:03 2010 +0000 +++ b/aac.c Mon Jan 11 18:02:00 2010 +0000 @@ -942,9 +942,9 @@ 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; }
