[FFmpeg-devel] [PATCH] AAC Pulse data boundaries

Alex Converse alex.converse
Mon Sep 15 04:48:17 CEST 2008


On Sun, Sep 14, 2008 at 8:55 PM, Michael Niedermayer <michaelni at gmx.at>wrote:

> On Mon, Sep 15, 2008 at 12:36:21AM +0100, Robert Swain wrote:
> > 2008/9/14 Alex Converse <alex.converse at gmail.com>:
> > > Currently the AAC pulse_data tool can try to apply pulses to offsets
> outside
> > > of the boundaries of the spectral coefficients. This leads to a crash
> > > (SIGSEGV) with a stream generated wit the following command:
> > > zzuf -s16 -r0.001:0.1 -b1193- <
> > > mpeg4audio-conformance/compressedMp4/al04_08.mp4 > fuzzed.mp4
> > >
> > > Attached is a patch to clip pulse positioning to 1023.
> >
> > The code changes look OK but is clipping the best solution to this or
> > should those pulses rather be discarded? Michael?
> >
> > It would seem to me that if there are multiple pulses, clipping them
> > could lead to multiple pulses being applied to position 1023. Is a
> > spike in the spectral data better than no spike or vice versa? My
> > guess is that ignoring incorrectly positioned pulses may be a better
> > option.
>
> Well as you ask :)
> Bitstream errors should cause the data until the next resync possibility
> to be discarded. It also should discard some of the pevious data as the
> bitstream error likely happened earlier.
> In practice that likely means replacing the current frame by silence, that
> is before the windowing. Or maybe to duplicate the last frame.
>

I was under the impression that the MPEG-4 Visual decoder accepts all kinds
of things that aren't quite legal.

[...]

Anyway, I have a new patch that sends the error upward.

--Alex
-------------- next part --------------
A non-text attachment was scrubbed...
Name: aac-pulse-data-invalid.diff
Type: text/x-diff
Size: 1654 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20080914/73fc0727/attachment.diff>



More information about the ffmpeg-devel mailing list