[FFmpeg-devel] [PATCH] E-AC-3 spectral extension

Justin Ruggles justin.ruggles
Sun May 17 20:23:34 CEST 2009


I was recently made aware that some French TV station(s) will soon (if
not already) start using E-AC-3 streams in their broadcasts which
utilize spectral extension.  I was also given some samples (thanks j-b
and Anthony), which I uploaded to mphq:

So I decided to revisit my SPX patch.  The previous version was done
with all integer arithmetic, but it turns out that it's really not
accurate enough for spectal extension processing.  The resulting decoded
output had a max bandwidth of about 2kHz less when using 24-bit fixed
point vs. floating point, and was only slightly higher than without any
SPX processing at all.  Making just the square roots floating point
raised the bandwidth about 1kHz, and making the rest (noise/signal
scaling, spx coords, and notch filters) floating point added about
another 1kHz.

I was able to compare the output to Nero's E-AC-3 decoder (thanks
madshi), and the results are very close considering that AC-3 uses
random noise for zero-bit mantissas:
stddev:  131.16 PSNR: 53.96
PEAQ ODG: -0.44

One thing I'm unsure about is whether I should add optional runtime
generation of the attenuation table rather than always hardcoding it.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: eac3_spx.diff
Type: text/x-diff
Size: 19504 bytes
Desc: not available
URL: <http://lists.mplayerhq.hu/pipermail/ffmpeg-devel/attachments/20090517/34f603ac/attachment.diff>

More information about the ffmpeg-devel mailing list