[FFmpeg-cvslog] r19649 - in trunk/libavcodec: acelp_filters.c acelp_filters.h
Reimar Döffinger
Reimar.Doeffinger
Sat Aug 15 13:44:58 CEST 2009
On Sat, Aug 15, 2009 at 01:22:55PM +0200, superdump wrote:
> Author: superdump
> Date: Sat Aug 15 13:22:55 2009
> New Revision: 19649
>
> Log:
> Add a function that can apply an order 2 rational transfer function in-place.
> This function will be used in the upcoming AMR-NB floating point decoder for
> high-pass filtering.
>
> Patch by Colin McQuillan ( m.niloc googlemail com )
>
> Modified:
> trunk/libavcodec/acelp_filters.c
> trunk/libavcodec/acelp_filters.h
>
> Modified: trunk/libavcodec/acelp_filters.c
> ==============================================================================
> --- trunk/libavcodec/acelp_filters.c Sat Aug 15 13:12:47 2009 (r19648)
> +++ trunk/libavcodec/acelp_filters.c Sat Aug 15 13:22:55 2009 (r19649)
> @@ -93,3 +93,20 @@ void ff_acelp_high_pass_filter(int16_t*
> hpf_f[0] = tmp;
> }
> }
> +
> +void ff_acelp_apply_order_2_transfer_function(float *buf,
> + const float zero_coeffs[2],
> + const float pole_coeffs[2],
> + float gain, float mem[2], int n)
> +{
> + int i;
> + float tmp;
> +
> + for (i = 0; i < n; i++) {
> + tmp = gain * buf[i] - pole_coeffs[0] * mem[0] - pole_coeffs[1] * mem[1];
Why not merge declaration and initialization? That also makes it clear
that the value is not reused over loop iterations.
More information about the ffmpeg-cvslog
mailing list