[FFmpeg-devel] [Issue 664] [PATCH] Fix AAC PNS Scaling
Tue Oct 7 02:22:05 CEST 2008
On Mon, Oct 06, 2008 at 03:46:55PM -0400, Alex Converse wrote:
> On Tue, Sep 30, 2008 at 11:25 PM, Alex Converse <alex.converse at gmail.com> wrote:
> > Hi,
> > The attached patch should fix AAC PNS scaling [Issue 664]. It will not
> > fix PNS conformance.
> Here's a sightly updated patch (sqrtf instead of sqrt). The current
> method of PNS will never conform because sample energy simpl doesn't
> converge to it's mean fast enough. The spec explicitly states that PNS
> should be normalized per band. Not doing it that way causes PNS-1
> conformance to fail for 45 bands.
elaborate, what part of the spec says what?
what is PNS-1 conformance ?
the part that feels a little odd is normalizing random data on arbitrary
and artificial bands, this simply makes things non random.
This would be most extreemly vissibly with really short bands of 1 or 2
another way to see the issue is to take 100 coeffs and split them into
10 bands, if you now normalize litterally these 10 bands then the 100
coeffs will no longer be random at all, they will be significantly
correlated. This may be inaudible, it may or may not sound better and
may or may not be what the spec wants but still it feels somewhat wrong
to me ...
> However with this patch there appears to be no audible difference
> between the approaches.
> I don't know the ideal mean energy so I'm
> using the sample mean energy for 1024 iterations of the LCG.
i assume cpu cycles got more expensive if people can only spare a few
anyway, without looking at the old thread (i would if i remembered the subj)
and without redoing the math ...
i suspect we have a 2^31 * 3^0.5 vs 2^31 / 3^0.5 issue somewhere
Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB
The misfortune of the wise is better than the prosperity of the fool.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Digital signature
More information about the ffmpeg-devel