diff options
author | Vitor Sessak <vitor1001@gmail.com> | 2008-06-29 11:19:50 +0000 |
---|---|---|
committer | Vitor Sessak <vitor1001@gmail.com> | 2008-06-29 11:19:50 +0000 |
commit | 8a1c868ee6f279d93310e590fbc13e54df12a040 (patch) | |
tree | 9771073c5804bb2a16c1dafff9448ad1c6a7c1ab /libavcodec | |
parent | a6ce3d3d2d40f4a24184a0693bb6ac2d69ba038c (diff) | |
download | ffmpeg-8a1c868ee6f279d93310e590fbc13e54df12a040.tar.gz |
Add a rounding parameter to ff_acelp_lp_synthesis_filter()
Originally committed as revision 14028 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec')
-rw-r--r-- | libavcodec/acelp_filters.c | 5 | ||||
-rw-r--r-- | libavcodec/acelp_filters.h | 4 |
2 files changed, 6 insertions, 3 deletions
diff --git a/libavcodec/acelp_filters.c b/libavcodec/acelp_filters.c index 2aedbddab3..fb52d0f8c9 100644 --- a/libavcodec/acelp_filters.c +++ b/libavcodec/acelp_filters.c @@ -116,13 +116,14 @@ int ff_acelp_lp_synthesis_filter( const int16_t* in, int buffer_length, int filter_length, - int stop_on_overflow) + int stop_on_overflow, + int rounder) { int i,n; for(n=0; n<buffer_length; n++) { - int sum = 0x800; + int sum = rounder; for(i=1; i<filter_length; i++) sum -= filter_coeffs[i] * out[n-i]; diff --git a/libavcodec/acelp_filters.h b/libavcodec/acelp_filters.h index 167faf72c3..a21fc88a49 100644 --- a/libavcodec/acelp_filters.h +++ b/libavcodec/acelp_filters.h @@ -128,6 +128,7 @@ void ff_acelp_convolve_circ( * \param filter_length filter length (11 for 10th order LP filter) * \param stop_on_overflow 1 - return immediately if overflow occurs * 0 - ignore overflows + * \param rounder the amount to add for rounding (usually 0x800 or 0xfff) * * \return 1 if overflow occurred, 0 - otherwise * @@ -142,7 +143,8 @@ int ff_acelp_lp_synthesis_filter( const int16_t* in, int buffer_length, int filter_length, - int stop_on_overflow); + int stop_on_overflow, + int rounder); /** * \brief Calculates coefficients of weighted A(z/weight) filter. |