[Ffmpeg-devel] [PATCH][RFC] ac3 decoder
Michel Lespinasse
walken
Sun Sep 24 13:13:30 CEST 2006
On Sun, Sep 24, 2006 at 01:06:06AM -0600, Loren Merritt wrote:
> versions tested:
> a52: liba52 as present in ffmpeg svn
> a52mp: liba52 as present in mplayer svn
> soc: Kartikey's codec, including the attached patch to enable simd mdct
It'd be interesting to compare with liba52.sf.net CVS too.
(Just suggesting, I dont know what the result would be. There were
improvements to the C code but ffmpeg never picked them up due to the
sse differences, I think. I suspect it'd win in C implementations
but lose compared to SSE ones).
> test content: the audio track of The Matrix. AC3 stereo 192kbps 8179sec.
> cpu: Athlon64 2.2GHz
Also I believe the different decoders will differ in performance when
downmixing from 5 to 2 channels. That'd be interesting as a separate test.
> pairwise differences:
> psnr:101.06 mse: 0.34 max: 91 c_a52.wav c_a52mp.wav
> psnr: 78.63 mse: 58.85 max: 6647 c_a52.wav sse_a52mp.wav
> psnr: 78.66 mse: 58.52 max: 6647 c_a52mp.wav sse_a52mp.wav
> psnr: 53.16 mse:20758.59 max:26788 c_soc.wav c_a52.wav
> psnr: 53.16 mse:20750.29 max:26788 c_soc.wav c_a52mp.wav
> psnr: 53.16 mse:20745.67 max:26788 c_soc.wav sse_a52mp.wav
> psnr: inf mse: 0.00 max: 0 c_soc.wav sse_soc.wav
That part can be more easily explained as a52 sometimes specifies
a noise components and different implementations will differ in their
noise generator implementations.
(BTW it looks like the SOC noise generator has a short period, which is
a bummer. Clearly the code looks like the noise array should be refilled
once in a while, but I can't see where that happens).
--
Michel "Walken" Lespinasse
"Bill Gates is a monocle and a Persian cat away from being the villain
in a James Bond movie." -- Dennis Miller
More information about the ffmpeg-devel
mailing list