[MPlayer-dev-eng] liba52 vs. libac3

Arpi arpi at thot.banki.hu
Mon Dec 17 16:23:18 CET 2001


Hi,

It is planned to remove libac3 (replace by liba52) as soon as possible.
Why?
- liba52 is better designed, its API is better for our needs
- liba52 is more standards (dolby etc conformant, and also supports more
modes and formats
- liba52 is maintained by Walken, libac3 is not.
- liba52 is faster at C level, thanks to some tricks (downmix in freq space etc)

But...
- libac3 has lots of 3dnow (mmx too?) optimization mostly by Nick
- libac3 has some sse optimization (by Nick & Atmos ?)

Why ASAP?
- maintaining 2 libs for teh same purpose in paralell is waste of time

We need these optimized functions ported to liba52, or re-optimizing new code.
I think it shouldn't be hard for imdct, as it's a simple, well defined
algorithm. But for downmix, we have different goals. downmix is now done by
decoder, but we need fast float array -> 16bit short int array conversion
and stereo channel interleaving. I think it should be done in 3dnow/sse/mmx.
See resample.c in liba52.

Maybe i'm wrong, and it's not so simple, tell me if so.

Comments welcomed...

A'rpi / Astral & ESP-team

--
mailto:arpi at thot.banki.hu
http://esp-team.scene.hu



More information about the MPlayer-dev-eng mailing list