[MPlayer-dev-eng] liba52 vs. libac3

Michael Niedermayer michaelni at gmx.at
Mon Dec 17 17:52:54 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) ...

> 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 ;) 

>
> Comments welcomed...
[...]
gprof output, might be interresting ... perhaps
its from Canyon-5.1-48khz-448kbit.ac3 IIRC ;)
Each sample counts as 0.01 seconds.
  %   cumulative   self              self     total           
 time   seconds   seconds    calls  ns/call  ns/call  name    
 27.78      0.35     0.35    14300 24475.52 24475.52  imdct_do_512
 20.63      0.61     0.26    42732  6084.43  6554.41  coeff_get
 15.08      0.80     0.19     7122 26677.90 26730.42  coeff_get_coupling
 12.70      0.96     0.16                             main
 11.11      1.10     0.14    10673 13117.21 13117.21  bit_allocate
  6.35      1.18     0.08     7152 11185.68 11185.68  mix32to2
  2.38      1.21     0.03   416450    72.04    72.04  bitstream_get_bh
  2.38      1.24     0.03     7122  4212.30 154426.98  a52_block
  0.79      1.25     0.01    10631   940.65  1284.52  parse_exponents
  0.79      1.26     0.01     7122  1404.10  1404.10  downmix_coeff
  0.00      1.26     0.00   114139     0.00     0.00  bitstream_get_bh_2
  0.00      1.26     0.00     7152     0.00 11185.68  downmix
  0.00      1.26     0.00     1187     0.00   144.07  a52_frame
  0.00      1.26     0.00     1187     0.00     0.00  a52_syncinfo
  0.00      1.26     0.00     1187     0.00    72.04  bitstream_set_ptr
  0.00      1.26     0.00     1187     0.00     0.00  downmix_init
  0.00      1.26     0.00       31     0.00     0.00  imdct_do_256
  0.00      1.26     0.00       29     0.00     0.00  upmix
  0.00      1.26     0.00        1     0.00     0.00  a52_init
  0.00      1.26     0.00        1     0.00     0.00  imdct_init

Michael



More information about the MPlayer-dev-eng mailing list