[FFmpeg-devel] [Issue 664] [PATCH] Fix AAC PNS Scaling

Michael Niedermayer michaelni
Tue Oct 21 20:26:02 CEST 2008


On Tue, Oct 21, 2008 at 07:18:30PM +0100, Robert Swain wrote:
> 2008/10/21 Michael Niedermayer <michaelni at gmx.at>:
> > On Tue, Oct 21, 2008 at 06:50:02PM +0100, Robert Swain wrote:
> >> 2008/10/21 Alex Converse <alex.converse at gmail.com>:
> >> > On Tue, Oct 21, 2008 at 1:29 PM, Alex Converse <alex.converse at gmail.com> wrote:
> >> >> On Tue, Sep 30, 2008 at 11:25 PM, Alex Converse <alex.converse at gmail.com> wrote:
> >> >>> The attached patch should fix AAC PNS scaling [Issue 664]. It will not
> >> >>> fix PNS conformance.
> >> >>
> >> >> Here is my understanding of the current situation:
> >> >> 1) PNS is part of the MPEG-4 AAC-LC object type
> >> >> 2) PNS is part of the most commonly used family of 14496-3sp4
> >> >> profiles, the AAC family of profiles (the AAC profile, the HE-AAC, and
> >> >> the HE-AACv2 profile)
> >> >> 3) PNS is *broken* in FFMPEG svn [Issue 664], *regardless of per band scaling*
> >> >> 4) (For better or worse) PNS requires per band scaling in the latest
> >> >> standard (ISO/IEC 14496-3:2005)
> >> >> 5) PNS is a low bitrate tool
> >> >> (<http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=34652&view=findpost&p=305762>,
> >> >> <http://www.hydrogenaudio.org/forums/index.php?s=&showtopic=53340&view=findpost&p=478068>)
> >> >> 6) ffaac is enabled by default in FFmpeg
> >> >>
> >> >> It seems counterproductive to let this broken situation remain while
> >> >> arguing the merits of square roots and other normalization schemes.
> >> >>
> >> >> I propose we:
> >> >> A) Fix PNS using one sqrtf() per band (aac-pns-scale-v3.diff)
> >> >
> >> > Apologies, I attached the reversed diff. The patch attached to this
> >> > message is what I actually propose.
> >> >
> >> >> B) People interesting in a non-inner-most-loop optimal 1/sqrt can duke
> >> >> it out afterwards. Alternative normalization schemes (like
> >> >> pregenerating noise) can also be explored by interested parties
> >> >>
> >> >> This will allow users to immediately stop using broken PNS
> >> >> accidentally (6,1, 2, 3) while the computational hit of one sqrtf per
> >> >> band (A) should be mitigated by the decreased complexity in decoding a
> >> >> low bitrate stream (5).
> >> >>
> >> >> Thoughts?
> >>
> >> I'm happy with this patch.
> >
> > then apply it, you are aac maintainer
> > or do you think one of my patch application monkeies will do it for you? ;)
> 
> No, I'll do it, but I didn't know if you'd object. I think we need to

iam not 100% happy with it but i agree with alex that the sqrtf() isnt worth
to hold this bug fix up ...

[...]

-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

The educated differ from the uneducated as much as the living from the
dead. -- Aristotle 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20081021/a396d939/attachment.pgp>



More information about the ffmpeg-devel mailing list