54 int w = inlink->
w,
h = inlink->
h;
56 double var_values[
VARS_NB], res;
71 if (chroma_param->
power < 0)
79 if (alpha_param->
power < 0)
82 var_values[
VAR_W] = inlink->
w;
83 var_values[
VAR_H] = inlink->
h;
89#define EVAL_RADIUS_EXPR(comp) \
90 expr = comp->radius_expr; \
91 ret = av_expr_parse_and_eval(&res, expr, var_names, var_values, \
92 NULL, NULL, NULL, NULL, NULL, 0, ctx); \
95 av_log(ctx, AV_LOG_ERROR, \
96 "Error when evaluating " #comp " radius expression '%s'\n", expr); \
105 "luma_radius:%d luma_power:%d "
106 "chroma_radius:%d chroma_power:%d "
107 "alpha_radius:%d alpha_power:%d "
108 "w:%d chroma_w:%d h:%d chroma_h:%d\n",
109 luma_param ->radius, luma_param ->
power,
115#define CHECK_RADIUS_VAL(w_, h_, comp) \
116 if (comp->radius < 0 || \
117 2*comp->radius >= FFMIN(w_, h_)) { \
118 av_log(ctx, AV_LOG_ERROR, \
119 "Invalid " #comp " radius value %d, must be >= 0 and < %d\n", \
120 comp->radius, FFMIN(w_, h_)/2); \
121 return AVERROR(EINVAL); \
static AVFormatContext * ctx
#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)
#define AV_LOG_VERBOSE
Detailed information.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
Memory handling functions.
static const char *const var_names[]
const AVPixFmtDescriptor * av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
static float power(float r, float g, float b, float max)
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...