diff --git a/doc/filters.texi b/doc/filters.texi index 9b39ea50ef..88888c60e3 100644 --- a/doc/filters.texi +++ b/doc/filters.texi @@ -1142,7 +1142,7 @@ The filter takes two optional parameters, separated by ':': @var{strength} is the maximum amount by which the filter will change any one pixel. Also the threshold for detecting nearly flat -regions. Acceptable values range from .51 to 255, default value is +regions. Acceptable values range from .51 to 64, default value is 1.2, out-of-range values will be clipped to the valid range. @var{radius} is the neighborhood to fit the gradient to. A larger diff --git a/libavfilter/vf_gradfun.c b/libavfilter/vf_gradfun.c index 80b7e412e3..900ef604e8 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); diff --git a/libavfilter/x86/vf_gradfun.c b/libavfilter/x86/vf_gradfun.c index b4ca86c617..75c117a9a2 100644 --- a/libavfilter/x86/vf_gradfun.c +++ b/libavfilter/x86/vf_gradfun.c @@ -62,8 +62,8 @@ static void gradfun_filter_line_mmxext(uint8_t *dst, uint8_t *src, uint16_t *dc, "pminsw %%mm7, %%mm2 \n" // m = -max(0, 127-m) "pmullw %%mm2, %%mm2 \n" "paddw %%mm4, %%mm0 \n" // pix += dither - "pmulhw %%mm2, %%mm1 \n" "psllw $2, %%mm1 \n" // m = m*m*delta >> 14 + "pmulhw %%mm2, %%mm1 \n" "paddw %%mm1, %%mm0 \n" // pix += m "psraw $7, %%mm0 \n" "packuswb %%mm0, %%mm0 \n"