[MPlayer-dev-eng] liba52 vs. libac3

Arpi arpi at thot.banki.hu
Mon Dec 17 18:03:20 CET 2001


Hi,

> On Monday 17 December 2001 16:23, Arpi wrote:
> [...]
> > 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
> SSE variant of imdct_do_512 is finished :)
> imdct_do_256 seems to be allmost unused (i need to check it with all files i 
> have though) ...
Afaik idct 256 is rarely used, it requires only for some 'difficult' sounds.

> > 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.
> coeff_get / coeff_get_coupling need 35% of the time, they should be optimized 
> ... but that isnt easy without knowing what they do ;) 
maybe ask Walken at a52dec-devel or private.

yet another thing to optimize: resample.c
i'll modify test.c to use it for testing. (mplayer uses resample.c already)
i think it's easy, it just converts 256 float blocks to 16bit short int
blocks and interleave them if >1 channels. mmx could help a lot here i think.

maybe the tricky float->int used in C version can be replaced real
float->int done by mmx/sse/3dnow code (if it's faster - i don't know)


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