summaryrefslogtreecommitdiff
path: root/libavfilter/vf_gradfun.c
diff options
context:
space:
mode:
authorClément Bœsch <ubitux@gmail.com>2012-12-18 21:44:51 +0100
committerClément Bœsch <ubitux@gmail.com>2012-12-19 03:13:26 +0100
commit3bdd70fc661feaf915ae438e05f66cce75334673 (patch)
tree43fe01862cc4b47b4b008d75aae067d7e429d35a /libavfilter/vf_gradfun.c
parent63e1fc25884fe7cf3f66a8b99602ca98a47fb763 (diff)
lavfi/gradfun: reduce up limit for threshold.
This will prevent an overflow in the SSSE3 and MMX filter_line code: delta is expressed as an u16 being shifted by 2 to the left. If it overflows, having a strength not above 64 will make sure that m is set to 0 (making the m*m*delta >> 14 expression void). A value above 64 should not make any sense unless gradfun is used as a blur filter.
Diffstat (limited to 'libavfilter/vf_gradfun.c')
-rw-r--r--libavfilter/vf_gradfun.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavfilter/vf_gradfun.c b/libavfilter/vf_gradfun.c
index 9255f614a2..6319bf7d28 100644
--- a/libavfilter/vf_gradfun.c
+++ b/libavfilter/vf_gradfun.c
@@ -128,7 +128,7 @@ static av_cold int init(AVFilterContext *ctx, const char *args)
if (args)
sscanf(args, "%f:%d", &thresh, &radius);
- thresh = av_clipf(thresh, 0.51, 255);
+ thresh = av_clipf(thresh, 0.51, 64);
gf->thresh = (1 << 15) / thresh;
gf->radius = av_clip((radius + 1) & ~1, 4, 32);