From d23e8f53ad01fde6d0dd96644c2a594f8dd7537e Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 28 Oct 2012 02:09:08 +0200 Subject: swr: use 64bit index/len for x86_64 mix Signed-off-by: Michael Niedermayer --- libswresample/swresample_internal.h | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'libswresample/swresample_internal.h') diff --git a/libswresample/swresample_internal.h b/libswresample/swresample_internal.h index ab17602c64..38b18d9d7e 100644 --- a/libswresample/swresample_internal.h +++ b/libswresample/swresample_internal.h @@ -23,13 +23,20 @@ #include "swresample.h" #include "libavutil/audioconvert.h" +#include "config.h" #define SQRT3_2 1.22474487139158904909 /* sqrt(3/2) */ -typedef void (mix_1_1_func_type)(void *out, const void *in, void *coeffp, int index, int len); -typedef void (mix_2_1_func_type)(void *out, const void *in1, const void *in2, void *coeffp, int index1, int index2, int len); +#if ARCH_X86_64 +typedef int64_t integer; +#else +typedef int integer; +#endif + +typedef void (mix_1_1_func_type)(void *out, const void *in, void *coeffp, integer index, integer len); +typedef void (mix_2_1_func_type)(void *out, const void *in1, const void *in2, void *coeffp, integer index1, integer index2, integer len); -typedef void (mix_any_func_type)(uint8_t **out, const uint8_t **in1, void *coeffp, int len); +typedef void (mix_any_func_type)(uint8_t **out, const uint8_t **in1, void *coeffp, integer len); typedef struct AudioData{ uint8_t *ch[SWR_CH_MAX]; ///< samples buffer per channel -- cgit v1.2.3