[FFmpeg-devel] [PATCH] AAC: use table for cbrtf(n)*n

Alex Converse alex.converse
Mon Jan 11 18:48:41 CET 2010


2010/1/11 M?ns Rullg?rd <mans at mansr.com>:
> Alex Converse <alex.converse at gmail.com> writes:
>
>> On Mon, Jan 11, 2010 at 8:31 AM, Mans Rullgard <mans at mansr.com> wrote:
>>> The maximum length of escape_sequence is 21 bits, so adjust limit in
>>> code to match this.
>>>
>>> @@ -942,14 +947,14 @@ 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;
>>> ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? }
>>
>> ^^ This chunk changes decoder output on some illegal files and as
>> such should probably be committed separately.
>
> Fine by me. ?OK to commit that right away?
>

yes



More information about the ffmpeg-devel mailing list