+#define CFG_PREFIX "grain-"
+
+#define VARIANCE_MIN (0.0)
+#define VARIANCE_MAX (10.0)
+#define VARIANCE_TEXT N_("Variance")
+#define VARIANCE_LONGTEXT N_("Variance of the gaussian noise")
+
+#define PERIOD_MIN 1
+#define PERIOD_MAX BANK_SIZE
+#define PERIOD_MIN_TEXT N_("Minimal period")
+#define PERIOD_MIN_LONGTEXT N_("Minimal period of the noise grain in pixel")
+#define PERIOD_MAX_TEXT N_("Maximal period")
+#define PERIOD_MAX_LONGTEXT N_("Maximal period of the noise grain in pixel")
+
+vlc_module_begin()
+ set_description(N_("Grain video filter"))
+ set_shortname( N_("Grain"))
+ set_help(N_("Adds filtered gaussian noise"))
+ set_capability( "video filter2", 0 )
+ set_category(CAT_VIDEO)
+ set_subcategory(SUBCAT_VIDEO_VFILTER)
+ add_float_with_range(CFG_PREFIX "variance", 2.0, VARIANCE_MIN, VARIANCE_MAX,
+ NULL, VARIANCE_TEXT, VARIANCE_LONGTEXT, false)
+ add_integer_with_range(CFG_PREFIX "period-min", 1, PERIOD_MIN, PERIOD_MAX,
+ NULL, PERIOD_MIN_TEXT, PERIOD_MIN_LONGTEXT, false)
+ add_integer_with_range(CFG_PREFIX "period-max", 3*PERIOD_MAX/4, PERIOD_MIN, PERIOD_MAX,
+ NULL, PERIOD_MAX_TEXT, PERIOD_MAX_LONGTEXT, false)
+ set_callbacks(Open, Close)
+vlc_module_end()