lavfi/opencl: replace SHIFTUP with FF_CEIL_RSHIFT.
This commit is contained in:
parent
f0250cc463
commit
4db84bac13
libavfilter
@ -30,9 +30,6 @@
|
|||||||
#define MIN_MATRIX_SIZE 3
|
#define MIN_MATRIX_SIZE 3
|
||||||
#define MAX_MATRIX_SIZE 63
|
#define MAX_MATRIX_SIZE 63
|
||||||
|
|
||||||
/* right-shift and round-up */
|
|
||||||
#define SHIFTUP(x,shift) (-((-(x))>>(shift)))
|
|
||||||
|
|
||||||
#if CONFIG_OPENCL
|
#if CONFIG_OPENCL
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "unsharp_opencl.h"
|
#include "unsharp_opencl.h"
|
||||||
|
#include "libavutil/common.h"
|
||||||
#include "libavutil/opencl_internal.h"
|
#include "libavutil/opencl_internal.h"
|
||||||
|
|
||||||
#define PLANE_NUM 3
|
#define PLANE_NUM 3
|
||||||
@ -152,8 +153,8 @@ int ff_opencl_apply_unsharp(AVFilterContext *ctx, AVFrame *in, AVFrame *out)
|
|||||||
AVFilterLink *link = ctx->inputs[0];
|
AVFilterLink *link = ctx->inputs[0];
|
||||||
UnsharpContext *unsharp = ctx->priv;
|
UnsharpContext *unsharp = ctx->priv;
|
||||||
cl_int status;
|
cl_int status;
|
||||||
int cw = SHIFTUP(link->w, unsharp->hsub);
|
int cw = FF_CEIL_RSHIFT(link->w, unsharp->hsub);
|
||||||
int ch = SHIFTUP(link->h, unsharp->vsub);
|
int ch = FF_CEIL_RSHIFT(link->h, unsharp->vsub);
|
||||||
const size_t global_work_size = link->w * link->h + 2 * ch * cw;
|
const size_t global_work_size = link->w * link->h + 2 * ch * cw;
|
||||||
FFOpenclParam opencl_param = {0};
|
FFOpenclParam opencl_param = {0};
|
||||||
|
|
||||||
@ -245,7 +246,7 @@ int ff_opencl_unsharp_process_inout_buf(AVFilterContext *ctx, AVFrame *in, AVFra
|
|||||||
int ret = 0;
|
int ret = 0;
|
||||||
AVFilterLink *link = ctx->inputs[0];
|
AVFilterLink *link = ctx->inputs[0];
|
||||||
UnsharpContext *unsharp = ctx->priv;
|
UnsharpContext *unsharp = ctx->priv;
|
||||||
int ch = SHIFTUP(link->h, unsharp->vsub);
|
int ch = FF_CEIL_RSHIFT(link->h, unsharp->vsub);
|
||||||
|
|
||||||
if ((!unsharp->opencl_ctx.cl_inbuf) || (!unsharp->opencl_ctx.cl_outbuf)) {
|
if ((!unsharp->opencl_ctx.cl_inbuf) || (!unsharp->opencl_ctx.cl_outbuf)) {
|
||||||
unsharp->opencl_ctx.in_plane_size[0] = (in->linesize[0] * in->height);
|
unsharp->opencl_ctx.in_plane_size[0] = (in->linesize[0] * in->height);
|
||||||
|
@ -114,9 +114,9 @@ static int apply_unsharp_c(AVFilterContext *ctx, AVFrame *in, AVFrame *out)
|
|||||||
int i, plane_w[3], plane_h[3];
|
int i, plane_w[3], plane_h[3];
|
||||||
UnsharpFilterParam *fp[3];
|
UnsharpFilterParam *fp[3];
|
||||||
plane_w[0] = inlink->w;
|
plane_w[0] = inlink->w;
|
||||||
plane_w[1] = plane_w[2] = SHIFTUP(inlink->w, unsharp->hsub);
|
plane_w[1] = plane_w[2] = FF_CEIL_RSHIFT(inlink->w, unsharp->hsub);
|
||||||
plane_h[0] = inlink->h;
|
plane_h[0] = inlink->h;
|
||||||
plane_h[1] = plane_h[2] = SHIFTUP(inlink->h, unsharp->vsub);
|
plane_h[1] = plane_h[2] = FF_CEIL_RSHIFT(inlink->h, unsharp->vsub);
|
||||||
fp[0] = &unsharp->luma;
|
fp[0] = &unsharp->luma;
|
||||||
fp[1] = fp[2] = &unsharp->chroma;
|
fp[1] = fp[2] = &unsharp->chroma;
|
||||||
for (i = 0; i < 3; i++) {
|
for (i = 0; i < 3; i++) {
|
||||||
@ -207,7 +207,7 @@ static int config_props(AVFilterLink *link)
|
|||||||
ret = init_filter_param(link->dst, &unsharp->luma, "luma", link->w);
|
ret = init_filter_param(link->dst, &unsharp->luma, "luma", link->w);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
ret = init_filter_param(link->dst, &unsharp->chroma, "chroma", SHIFTUP(link->w, unsharp->hsub));
|
ret = init_filter_param(link->dst, &unsharp->chroma, "chroma", FF_CEIL_RSHIFT(link->w, unsharp->hsub));
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
return ret;
|
return ret;
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user