diff options
author | Mark Thompson <sw@jkqxz.net> | 2018-03-24 16:56:16 +0300 |
---|---|---|
committer | Mark Thompson <sw@jkqxz.net> | 2018-03-27 00:28:24 +0300 |
commit | 213839edffbf3982570e4e06ca713f8547dd336a (patch) | |
tree | 8345d7073a509f4c2889434d3f7c115457de63d8 /libavfilter/vf_avgblur_opencl.c | |
parent | 9f17875134754eef899aefd30500904635edec9e (diff) |
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 <dylanf123@gmail.com>
Diffstat (limited to 'libavfilter/vf_avgblur_opencl.c')
-rw-r--r-- | libavfilter/vf_avgblur_opencl.c | 12 |
1 files changed, 8 insertions, 4 deletions
diff --git a/libavfilter/vf_avgblur_opencl.c b/libavfilter/vf_avgblur_opencl.c index 5ee66c0ba2..3a5b4a28ca 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", |