--- libavfilter/vf_eq.c | 56 ++++++++++++++--------------------------------------- 1 file changed, 15 insertions(+), 41 deletions(-)
diff --git a/libavfilter/vf_eq.c b/libavfilter/vf_eq.c index 980e9ca..e1aa206 100644 --- a/libavfilter/vf_eq.c +++ b/libavfilter/vf_eq.c @@ -282,48 +282,22 @@ static int process_command(AVFilterContext *ctx, const char *cmd, const char *ar EQContext *eq = ctx->priv; int ret; - if (!strcmp(cmd, "contrast")) { - ret = set_expr(&eq->contrast_pexpr, args, cmd, ctx); - set_contrast(eq); - return ret; - } - else if (!strcmp(cmd, "brightness")) { - ret = set_expr(&eq->brightness_pexpr, args, cmd, ctx); - set_brightness(eq); - return ret; - } - else if (!strcmp(cmd, "saturation")) { - ret = set_expr(&eq->saturation_pexpr, args, cmd, ctx); - set_saturation(eq); - return ret; - } - else if (!strcmp(cmd, "gamma")) { - ret = set_expr(&eq->gamma_pexpr, args, cmd, ctx); - set_gamma(eq); - return ret; - } - else if (!strcmp(cmd, "gamma_r")) { - ret = set_expr(&eq->gamma_r_pexpr, args, cmd, ctx); - set_gamma(eq); - return ret; +#define SET_PARAM(param_name, set_name) \ + if (!strcmp(cmd, #param_name)) { \ + ret = set_expr(&eq->param_name##_pexpr, args, cmd, ctx); \ + set_##set_name(eq); \ + return ret; \ } - else if (!strcmp(cmd, "gamma_g")) { - ret = set_expr(&eq->gamma_g_pexpr, args, cmd, ctx); - set_gamma(eq); - return ret; - } - else if (!strcmp(cmd, "gamma_b")) { - ret = set_expr(&eq->gamma_b_pexpr, args, cmd, ctx); - set_gamma(eq); - return ret; - } - else if (!strcmp(cmd, "gamma_weight")) { - ret = set_expr(&eq->gamma_weight_pexpr, args, cmd, ctx); - set_gamma(eq); - return ret; - } - else - return AVERROR(ENOSYS); + + SET_PARAM(contrast, contrast) + else SET_PARAM(brightness, brightness) + else SET_PARAM(saturation, saturation) + else SET_PARAM(gamma, gamma) + else SET_PARAM(gamma_r, gamma) + else SET_PARAM(gamma_g, gamma) + else SET_PARAM(gamma_b, gamma) + else SET_PARAM(gamma_weight, gamma) + else return AVERROR(ENOSYS); } static const AVFilterPad eq_inputs[] = { -- 1.8.3.2 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-devel