aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2015-01-26 23:46:44 +0100
committerMichael Niedermayer <michaelni@gmx.at>2015-01-26 23:46:44 +0100
commit530bf8ece6f828262b211edab1b97b873569b255 (patch)
treef13992517694bd4e6c49cdbe2e34d4ba3e9af5f3
parent5a1e524ba7e5a025e8d814f0ea9f81bdf8876081 (diff)
downloadffmpeg-530bf8ece6f828262b211edab1b97b873569b255.tar.gz
avfilter/vf_eq: Fix clipping code
Found-by: Christophe Gisquet <christophe.gisquet@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r--libavfilter/vf_eq.c2
-rw-r--r--libavfilter/x86/vf_eq.c2
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;
}