diff --git a/libavfilter/vf_vignette.c b/libavfilter/vf_vignette.c
index 806bd72b5fae1fc28bef6371228d3c599a4c9dad..5f4c5fa8e581f70f487dab2d1c2547c5b9e112ee 100644
--- a/libavfilter/vf_vignette.c
+++ b/libavfilter/vf_vignette.c
@@ -51,11 +51,17 @@ enum var_name {
     VAR_NB
 };
 
+enum EvalMode {
+    EVAL_MODE_INIT,
+    EVAL_MODE_FRAME,
+    EVAL_MODE_NB
+};
+
 typedef struct {
     const AVClass *class;
     const AVPixFmtDescriptor *desc;
     int backward;
-    enum EvalMode { EVAL_MODE_INIT, EVAL_MODE_FRAME, EVAL_MODE_NB } eval_mode;
+    int eval_mode;                      ///< EvalMode
 #define DEF_EXPR_FIELDS(name) AVExpr *name##_pexpr; char *name##_expr; double name
     DEF_EXPR_FIELDS(angle);
     DEF_EXPR_FIELDS(x0);