[FFmpeg-devel] [PATCH] [Issue 632] AAC pulse data is applied incorrectly

Robert Swain robert.swain
Thu Sep 11 03:27:40 CEST 2008


2008/9/11 Alex Converse <alex.converse at gmail.com>:
> On Wed, Sep 10, 2008 at 8:54 PM, Robert Swain <robert.swain at gmail.com> wrote:
>> 2008/9/11 Alex Converse <alex.converse at gmail.com>:
>>> This patch is pretty straight forward if you look at the relevant
>>> section if 14496-3. Basically the pulse data should be applied to
>>> match the sign of the underlying spectral coefficient (counting zero
>>> as negative). While requantizing the spectral coefficient we must be
>>> sure to not divide by zero.
>>
>> Indeed. It looks good to me, Michael?
>>
>> I wonder how the original author of that bit of code missed the two
>> cases. Though in my copy of the spec, the true and false cases are
>> either side of a page break.
>
> It'll happen. But to try to minimize damage, I think we should test
> all applicable streams from the conformance suite.

I agree. Ideally the appropriate (i.e. conformance streams with
supported features) should be added as a test to FATE eventually, but
I'm sure a simple script for local testing could be cooked up. I
expect there to be some differences in the case of the 'meaningless'
transitions as we handle those differently to the spec. However, I
hope that we're otherwise conforming.

>>> Note: This does not fix all the problems with the stream in Issue 632;
>>> there is still some bitstream decoding issue and possibly a TNS issue.
>>
>> Are you using any special tools to locate these issues or just
>> printf(), gdb and your brain? :) I'm appreciative of any helpful
>> debugging/analysis tools or techniques of which I may not know.
>
> I find the debug switches in mp4mcDec very useful. Particularity "-DV"
> to get all the tool combinations used. Then I start looking at all
> those tools one a time.
>
> Example:
>
> $ mp4audec_mc -DV al04_44.mp4 ref.wav 2>&1 | sort | uniq
> debug option V enabled
> # DSE detected
> # DSE PulseData detected
> # DSE PulseData TNS detected
> # DSE PulseData WndShapeSW detected
> # DSE PulseData WndShapeSW TNS detected
> End of bitstream
>
> The options v, h, n, and N also tend to be useful.

I don't really like their feature naming scheme, but I'll have to look
up this program as it seems rather useful. :) Thank you.

Rob




More information about the ffmpeg-devel mailing list