summaryrefslogtreecommitdiff
path: root/libavcodec/acelp_filters.h
diff options
context:
space:
mode:
authorVitor Sessak <vitor1001@gmail.com>2009-10-27 23:53:18 +0000
committerVitor Sessak <vitor1001@gmail.com>2009-10-27 23:53:18 +0000
commit504eee37debbf7ce6ec3b79ae8825727258c3fd7 (patch)
tree094306ce1889f1e9ddf817f67e6d86c681ed6aa4 /libavcodec/acelp_filters.h
parent2be414c8dee911744268341b5bd94b9e6a96f67c (diff)
downloadffmpeg-504eee37debbf7ce6ec3b79ae8825727258c3fd7.tar.gz
Commit some functions that are used by both SIPR and AMR.
Based on AMR SoC code by Robert Swain and Colin McQuillan. Originally committed as revision 20392 to svn://svn.ffmpeg.org/ffmpeg/trunk
Diffstat (limited to 'libavcodec/acelp_filters.h')
-rw-r--r--libavcodec/acelp_filters.h19
1 files changed, 19 insertions, 0 deletions
diff --git a/libavcodec/acelp_filters.h b/libavcodec/acelp_filters.h
index 2cbe9bb17d..c5be5a6cb1 100644
--- a/libavcodec/acelp_filters.h
+++ b/libavcodec/acelp_filters.h
@@ -56,6 +56,14 @@ void ff_acelp_interpolate(int16_t* out, const int16_t* in,
int frac_pos, int filter_length, int length);
/**
+ * Floating point version of ff_acelp_interpolate()
+ */
+void ff_acelp_interpolatef(float *out, const float *in,
+ const float *filter_coeffs, int precision,
+ int frac_pos, int filter_length, int length);
+
+
+/**
* high-pass filtering and upscaling (4.2.5 of G.729).
* @param out [out] output buffer for filtered speech data
* @param hpf_f [in/out] past filtered data from previous (2 items long)
@@ -97,4 +105,15 @@ void ff_acelp_apply_order_2_transfer_function(float *samples,
float gain,
float mem[2], int n);
+/**
+ * Apply tilt compensation filter, 1 - tilt * z-1.
+ *
+ * @param mem pointer to the filter's state (one single float)
+ * @param tilt tilt factor
+ * @param samples array where the filter is applied
+ * @param size the size of the samples array
+ */
+void ff_tilt_compensation(float *mem, float tilt, float *samples, int size);
+
+
#endif /* AVCODEC_ACELP_FILTERS_H */