]> git.sesse.net Git - ffmpeg/blobdiff - libavfilter/vf_unsharp.c
Merge commit 'e48746deec48e9ff195841bc3266b4e153a878cd'
[ffmpeg] / libavfilter / vf_unsharp.c
index d264e24e3c7b307940ec9ee049ad2f4defef445d..7c600c91c1c096138e9cd27f797f04db6538d33f 100644 (file)
@@ -141,6 +141,10 @@ static av_cold int init(AVFilterContext *ctx)
     set_filter_param(&s->luma,   s->lmsize_x, s->lmsize_y, s->lamount);
     set_filter_param(&s->chroma, s->cmsize_x, s->cmsize_y, s->camount);
 
+    if (s->luma.scalebits >= 26 || s->chroma.scalebits >= 26) {
+        av_log(ctx, AV_LOG_ERROR, "luma or chroma matrix size too big\n");
+        return AVERROR(EINVAL);
+    }
     s->apply_unsharp = apply_unsharp_c;
     if (!CONFIG_OPENCL && s->opencl) {
         av_log(ctx, AV_LOG_ERROR, "OpenCL support was not enabled in this build, cannot be selected\n");
@@ -262,7 +266,7 @@ end:
 #define OFFSET(x) offsetof(UnsharpContext, x)
 #define FLAGS AV_OPT_FLAG_FILTERING_PARAM|AV_OPT_FLAG_VIDEO_PARAM
 #define MIN_SIZE 3
-#define MAX_SIZE 63
+#define MAX_SIZE 23
 static const AVOption unsharp_options[] = {
     { "luma_msize_x",   "set luma matrix horizontal size",   OFFSET(lmsize_x), AV_OPT_TYPE_INT,   { .i64 = 5 }, MIN_SIZE, MAX_SIZE, FLAGS },
     { "lx",             "set luma matrix horizontal size",   OFFSET(lmsize_x), AV_OPT_TYPE_INT,   { .i64 = 5 }, MIN_SIZE, MAX_SIZE, FLAGS },