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); \
const AVPixFmtDescriptor * av_pix_fmt_desc_get(enum AVPixelFormat pix_fmt)
int h
agreed upon image height
uint8_t log2_chroma_w
Amount to shift the luma width right to find the chroma width.
int ff_boxblur_eval_filter_params(AVFilterLink *inlink, FilterParam *luma_param, FilterParam *chroma_param, FilterParam *alpha_param)
#define AV_LOG_VERBOSE
Detailed information.
A link between two filters.
#define AV_LOG_ERROR
Something went wrong and cannot losslessly be recovered.
uint8_t log2_chroma_h
Amount to shift the luma height right to find the chroma height.
#define EVAL_RADIUS_EXPR(comp)
int w
agreed upon image width
int format
agreed upon media format
char * av_strdup(const char *s)
Duplicate a string.
Descriptor that unambiguously describes how the bits of a pixel are stored in the up to 4 data planes...
static const char *const var_names[]
AVFilterContext * dst
dest filter
#define CHECK_RADIUS_VAL(w_, h_, comp)