[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