summaryrefslogtreecommitdiff
path: root/libswresample/rematrix_template.c
diff options
context:
space:
mode:
authorClément Bœsch <ubitux@gmail.com>2012-11-14 23:02:12 +0100
committerClément Bœsch <ubitux@gmail.com>2012-11-15 21:24:49 +0100
commit5e68bf9b927ef377f271a0d12185aac6172e5658 (patch)
tree601ed64a23c5338831737d1c7808078f95bebe9d /libswresample/rematrix_template.c
parent8ea8833979d2ffa9b7a792a2a758144d9b2c3da2 (diff)
swr/rematrix: move templating parameters to template itself.
Diffstat (limited to 'libswresample/rematrix_template.c')
-rw-r--r--libswresample/rematrix_template.c30
1 files changed, 30 insertions, 0 deletions
diff --git a/libswresample/rematrix_template.c b/libswresample/rematrix_template.c
index 61d3fe9cc9..a0d3fd1e82 100644
--- a/libswresample/rematrix_template.c
+++ b/libswresample/rematrix_template.c
@@ -18,6 +18,29 @@
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
*/
+#if defined(TEMPLATE_REMATRIX_FLT)
+# define ONE (1.0)
+# define R(x) x
+# define SAMPLE float
+# define COEFF float
+# define INTER float
+# define RENAME(x) x ## _float
+#elif defined(TEMPLATE_REMATRIX_DBL)
+# define ONE (1.0)
+# define R(x) x
+# define SAMPLE double
+# define COEFF double
+# define INTER double
+# define RENAME(x) x ## _double
+#elif defined(TEMPLATE_REMATRIX_S16)
+# define ONE (-32768)
+# define R(x) (((x) + 16384)>>15)
+# define SAMPLE int16_t
+# define COEFF int
+# define INTER int
+# define RENAME(x) x ## _s16
+#endif
+
typedef void (RENAME(mix_any_func_type))(SAMPLE **out, const SAMPLE **in1, COEFF *coeffp, integer len);
static void RENAME(sum2)(SAMPLE *out, const SAMPLE *in1, const SAMPLE *in2, COEFF *coeffp, integer index1, integer index2, integer len){
@@ -72,3 +95,10 @@ static RENAME(mix_any_func_type) *RENAME(get_mix_any_func)(SwrContext *s){
return NULL;
}
+
+#undef ONE
+#undef R
+#undef SAMPLE
+#undef COEFF
+#undef INTER
+#undef RENAME