[FFmpeg-devel] [PATCH] DCA: simplify lfe_interpolation_fir()

Vitor Sessak vitor1001
Mon Apr 12 03:09:23 CEST 2010


Mans Rullgard wrote:
> This reorders the lfe_fir tables, and drops the mirrored half,
> such that the loops in lfe_interpolation_fir() can be simplified.
> The new loop structure should be easier to implement with SIMD.
> Static data size is reduced by 2kB.
> 3% faster on Cortex-A8.
> ---

[...]

> --- a/libavcodec/dcadata.h
> +++ b/libavcodec/dcadata.h
> @@ -7319,517 +7319,261 @@ DECLARE_ALIGNED(16, static const float, fir_32bands_nonperfect)[] =
>  static const float lfe_fir_64[] =
>  {
>  2.6584343868307770E-004,
> -8.1793652498163280E-005,
> -9.4393239123746760E-005,
> -1.0821702744578940E-004,
> -1.2333714403212070E-004,
> -1.3974857574794440E-004,
> -1.5759580128360540E-004,
> -1.7699223826639360E-004,

[...]

> +8.1793652498163280E-005,
> +9.4509534537792200E-003,
> +8.1348828971385960E-002,
> +2.4519388377666480E-001,
> +3.4295973181724550E-001,
> +2.3711597919464110E-001,
> +7.5564362108707430E-002,

Since you are already practically replacing all lines, it is a nice 
opportunity to reformat it in a less line-hungry way (avoiding the extra 
rightmost 0 would be nice too)...

-Vitor



More information about the ffmpeg-devel mailing list