Browse Source

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>
tags/n4.0
Mark Thompson 8 years ago
parent
commit
213839edff
1 changed files with 8 additions and 4 deletions
  1. +8
    -4
      libavfilter/vf_avgblur_opencl.c

+ 8
- 4
libavfilter/vf_avgblur_opencl.c View File

@@ -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",


Loading…
Cancel
Save