From 2f76157eb05bf63725f96167feda6b2e07501c7e Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sun, 15 May 2016 21:34:37 +0200 Subject: swresample/rematrix: Use clipping s16 rematrixing if overflows are possible Signed-off-by: Michael Niedermayer --- libswresample/rematrix_template.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'libswresample/rematrix_template.c') diff --git a/libswresample/rematrix_template.c b/libswresample/rematrix_template.c index 95a3b9a8c0..add65e3155 100644 --- a/libswresample/rematrix_template.c +++ b/libswresample/rematrix_template.c @@ -31,11 +31,16 @@ # define INTER double # define RENAME(x) x ## _double #elif defined(TEMPLATE_REMATRIX_S16) -# define R(x) (((x) + 16384)>>15) # define SAMPLE int16_t # define COEFF int # define INTER int +# ifdef TEMPLATE_CLIP +# define R(x) av_clip_int16(((x) + 16384)>>15) +# define RENAME(x) x ## _clip_s16 +# else +# define R(x) (((x) + 16384)>>15) # define RENAME(x) x ## _s16 +# endif #elif defined(TEMPLATE_REMATRIX_S32) # define R(x) (((x) + 16384)>>15) # define SAMPLE int32_t -- cgit v1.2.3