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

Alex Converse alex.converse
Thu Sep 11 03:09:50 CEST 2008

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.

>> 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.


$ 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.


More information about the ffmpeg-devel mailing list