From 530bf8ece6f828262b211edab1b97b873569b255 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Mon, 26 Jan 2015 23:46:44 +0100 Subject: [PATCH] avfilter/vf_eq: Fix clipping code Found-by: Christophe Gisquet Signed-off-by: Michael Niedermayer --- libavfilter/vf_eq.c | 2 +- libavfilter/x86/vf_eq.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/libavfilter/vf_eq.c b/libavfilter/vf_eq.c index 0c2f0cef4e..7bbbaee2c5 100644 --- a/libavfilter/vf_eq.c +++ b/libavfilter/vf_eq.c @@ -91,7 +91,7 @@ static void process_c(EQParameters *param, uint8_t *dst, int dst_stride, for (x = 0; x < w; x++) { pel = ((src[y * src_stride + x] * contrast) >> 12) + brightness; - if (pel & 768) + if (pel & ~255) pel = (-pel) >> 31; dst[y * dst_stride + x] = pel; diff --git a/libavfilter/x86/vf_eq.c b/libavfilter/x86/vf_eq.c index cfcc18f495..2e42cdf5ba 100644 --- a/libavfilter/x86/vf_eq.c +++ b/libavfilter/x86/vf_eq.c @@ -72,7 +72,7 @@ static void process_MMX(EQParameters *param, uint8_t *dst, int dst_stride, for (i = w&7; i; i--) { pel = ((*src++ * contrast) >> 12) + brightness; - if (pel & 768) + if (pel & ~255) pel = (-pel) >> 31; *dst++ = pel; }