[LAD] [ANN] lv2fil version 2.0 "New hope" released

Fons Adriaensen fons at kokkinizita.net
Sun Jun 14 16:44:21 UTC 2009


On Sun, Jun 14, 2009 at 06:17:20PM +0200, Jens M Andreasen wrote:

> ...
>
> This is called for each of the four filters like:
> 
>     for (j = 0; j < bands_count; j++)
>     {
>       param_sect_proc(filter_ptr->sect + j, k,
> 	 sig, sfreq[j], sband[j], sgain[j]);
>     }
> 
> .. where the parameters are unique for each filter but the input signal
> is the result of the previous run, which creates an unfortunate
> dependency.
> 
> If sig instead had been splatted out on the 4 elements of an SSE vector,
> all 4 filters could have been calculated in parallel, quite possibly
> auto-vectorizable.
> 
>      param_sect_proc(filter_ptr->sect + j, k,
> 	 sig[j], sfreq[j], sband[j], sgain[j]);

Which would not be a correct implementation. Results will
be similar only if the frequency bands handled by each
section do not overlap. For example two filters with
the same F and B and opposite gains would not cancel.

Ciao,


-- 
FA

Io lo dico sempre: l'Italia è troppo stretta e lunga.




More information about the Linux-audio-dev mailing list