From: Mark Thompson Date: Sat, 24 Mar 2018 13:56:16 +0000 (+0000) Subject: vf_avgblur_opencl: Don't run kernel on pixels outside the image X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=213839edffbf3982570e4e06ca713f8547dd336a;p=ffmpeg vf_avgblur_opencl: Don't run kernel on pixels outside the image The output frame size is larger than the image containing a subsampled plane - use the actual size of the image being written rather than the dimensions of the intended output frame. Reviewed-by: Dylan Fernando --- diff --git a/libavfilter/vf_avgblur_opencl.c b/libavfilter/vf_avgblur_opencl.c index 5ee66c0ba21..3a5b4a28ca5 100644 --- a/libavfilter/vf_avgblur_opencl.c +++ b/libavfilter/vf_avgblur_opencl.c @@ -170,8 +170,10 @@ static int avgblur_opencl_filter_frame(AVFilterLink *inlink, AVFrame *input) goto fail; } - global_work[0] = output->width; - global_work[1] = output->height; + err = ff_opencl_filter_work_size_from_image(avctx, global_work, + intermediate, p, 0); + if (err < 0) + goto fail; av_log(avctx, AV_LOG_DEBUG, "Run kernel on plane %d " "(%"SIZE_SPECIFIER"x%"SIZE_SPECIFIER").\n", @@ -206,8 +208,10 @@ static int avgblur_opencl_filter_frame(AVFilterLink *inlink, AVFrame *input) goto fail; } - global_work[0] = output->width; - global_work[1] = output->height; + err = ff_opencl_filter_work_size_from_image(avctx, global_work, + output, p, 0); + if (err < 0) + goto fail; av_log(avctx, AV_LOG_DEBUG, "Run kernel on plane %d " "(%"SIZE_SPECIFIER"x%"SIZE_SPECIFIER").\n",