[FFmpeg-devel] [PATCH] Common ACELP code & G.729 [1/7] - filters
Diego Biurrun
diego
Sat May 3 12:26:19 CEST 2008
On Sat, May 03, 2008 at 03:24:54PM +0700, Vladimir Voroshilov wrote:
>
> --- /dev/null
> +++ b/libavcodec/acelp_filters.c
> @@ -0,0 +1,132 @@
> +/*
> + * Various filters for ACELP-based codecs
various
> + /* Since there are few pulses over all subframe (i.e. almost all
subframeS
> + fc_in[i] are zero, in case of G.729D it is only two non-zero
> + samples of total 40), it is faster to swap two loops and process
> + non-zero samples only. This will reduce number of multiplications
the number
> + from 40*40 to 2*40 for G.729D */
.
> +++ b/libavcodec/acelp_filters.h
> @@ -0,0 +1,104 @@
> +/*
> + * Various filters for ACELP-based codecs
various
> + * \brief Circularly convolve fixed vector with a phase dispersion impulse
> + * response filter (D.6.2 of G.729 and 6.1.5 of AMR)
.
> + * \return 1 if overflow occurred, 0 - otherwise
.
> + * \note output buffer must contain 10 samples of past
> + * speech data before pointer
.
> + * Routine applies 1/A(z) filter to given speech data
.
> + * \brief Calculates coefficients of weighted A(z/weight) filter
.
> + * Filter has cut-off frequency 100Hz
.
> + * \remark It is safe to pass the same array in in and out parameters
.
Diego
More information about the ffmpeg-devel
mailing list