[FFmpeg-devel] [PATCH] E-AC-3 spectral extension (bump)

Christophe Gisquet christophe.gisquet
Wed Mar 24 02:39:22 CET 2010


2010/3/20 Justin Ruggles <justin.ruggles at gmail.com>:
> Also, each band has multiple sub-bands of 12 coeffs each. ?The copying
> is done in multiples of 12, but the wrapping can occur in the middle of
> a band. ?If we want to reduce calculations, we could accumulate sum of
> squared coeffs for each sub-band, then add them together for each band
> before dividing by bandsize and taking the square root.

So, the pseudo-code would be:
for (k=0; k<max(copy_size[i]); k+=12)
   compute sum of square for 12 coeffs starting at s->spx_copy_start_freq+k
   store it in some kind of array

Then actual RMS computation:
   for each SPX band:
     determine the subband(s) used,
     read the corresponding sum of square value(s),
     sum them and do the norm+sqrt

The more complex part is now "determine subbands". Probably not very
complex but I'll stay there for tonight.



More information about the ffmpeg-devel mailing list