diff --git a/libswresample/resample_template.c b/libswresample/resample_template.c index 069b19cafd..7e80ef995a 100644 --- a/libswresample/resample_template.c +++ b/libswresample/resample_template.c @@ -52,8 +52,8 @@ # define FELEM2 int64_t # define FELEM_MAX INT32_MAX # define FELEM_MIN INT32_MIN -# define OUT(d, v) v = (v + (1<<(FILTER_SHIFT-1)))>>FILTER_SHIFT;\ - d = (uint64_t)(v + 0x80000000) > 0xFFFFFFFF ? (v>>63) ^ 0x7FFFFFFF : v +# define OUT(d, v) (v) = ((v) + (1<<(FILTER_SHIFT-1)))>>FILTER_SHIFT;\ + (d) = (uint64_t)((v) + 0x80000000) > 0xFFFFFFFF ? ((v)>>63) ^ 0x7FFFFFFF : (v) #elif defined(TEMPLATE_RESAMPLE_S16) @@ -65,8 +65,8 @@ # define FELEML int64_t # define FELEM_MAX INT16_MAX # define FELEM_MIN INT16_MIN -# define OUT(d, v) v = (v + (1<<(FILTER_SHIFT-1)))>>FILTER_SHIFT;\ - d = (unsigned)(v + 32768) > 65535 ? (v>>31) ^ 32767 : v +# define OUT(d, v) (v) = ((v) + (1<<(FILTER_SHIFT-1)))>>FILTER_SHIFT;\ + (d) = (unsigned)((v) + 32768) > 65535 ? ((v)>>31) ^ 32767 : (v) #endif