53 int w = inlink->
w,
h = inlink->
h;
55 double var_values[
VARS_NB], res;
70 if (chroma_param->
power < 0)
78 if (alpha_param->
power < 0)
81 var_values[
VAR_W] = inlink->
w;
82 var_values[
VAR_H] = inlink->
h;
88 #define EVAL_RADIUS_EXPR(comp) \
89 expr = comp->radius_expr; \
90 ret = av_expr_parse_and_eval(&res, expr, var_names, var_values, \
91 NULL, NULL, NULL, NULL, NULL, 0, ctx); \
94 av_log(ctx, AV_LOG_ERROR, \
95 "Error when evaluating " #comp " radius expression '%s'\n", expr); \
104 "luma_radius:%d luma_power:%d "
105 "chroma_radius:%d chroma_power:%d "
106 "alpha_radius:%d alpha_power:%d "
107 "w:%d chroma_w:%d h:%d chroma_h:%d\n",
108 luma_param ->radius, luma_param ->power,
114 #define CHECK_RADIUS_VAL(w_, h_, comp) \
115 if (comp->radius < 0 || \
116 2*comp->radius > FFMIN(w_, h_)) { \
117 av_log(ctx, AV_LOG_ERROR, \
118 "Invalid " #comp " radius value %d, must be >= 0 and <= %d\n", \
119 comp->radius, FFMIN(w_, h_)/2); \
120 return AVERROR(EINVAL); \
#define EVAL_RADIUS_EXPR(comp)
int ff_boxblur_eval_filter_params(AVFilterLink *inlink, FilterParam *luma_param, FilterParam *chroma_param, FilterParam *alpha_param)
#define CHECK_RADIUS_VAL(w_, h_, comp)
static const char *const var_names[]
#define AV_LOG_VERBOSE
Detailed information.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
char * av_strdup(const char *s)
Duplicate a string.
const AVPixFmtDescriptor * av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
A link between two filters.
int w
agreed upon image width
int h
agreed upon image height
AVFilterContext * dst
dest filter
int format
agreed upon media format
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...