aboutsummaryrefslogtreecommitdiffstats
path: root/libavfilter/f_select.c
diff options
context:
space:
mode:
authorStefano Sabatini <stefasab@gmail.com>2013-04-15 21:02:14 +0200
committerStefano Sabatini <stefasab@gmail.com>2013-04-17 22:39:04 +0200
commit8bfd8781519bb1ca7d88952b0c201aadc028a736 (patch)
treef871eb6204f7e5a92c575bbc0e53ca6a850370e6 /libavfilter/f_select.c
parentdcc1b3236168cc7baf97ae9074b9d1b90a03be9b (diff)
downloadffmpeg-8bfd8781519bb1ca7d88952b0c201aadc028a736.tar.gz
lavfi/select: factorize options definition between select and aselect
Diffstat (limited to 'libavfilter/f_select.c')
-rw-r--r--libavfilter/f_select.c31
1 files changed, 12 insertions, 19 deletions
diff --git a/libavfilter/f_select.c b/libavfilter/f_select.c
index 9413f059c2..0421349ff8 100644
--- a/libavfilter/f_select.c
+++ b/libavfilter/f_select.c
@@ -141,6 +141,16 @@ typedef struct {
int nb_outputs;
} SelectContext;
+#define OFFSET(x) offsetof(SelectContext, x)
+#define DEFINE_OPTIONS(filt_name, FLAGS) \
+static const AVOption filt_name##_options[] = { \
+ { "expr", "set an expression to use for selecting frames", OFFSET(expr_str), AV_OPT_TYPE_STRING, { .str = "1" }, .flags=FLAGS }, \
+ { "e", "set an expression to use for selecting frames", OFFSET(expr_str), AV_OPT_TYPE_STRING, { .str = "1" }, .flags=FLAGS }, \
+ { "outputs", "set the number of outputs", OFFSET(nb_outputs), AV_OPT_TYPE_INT, {.i64 = 1}, 1, INT_MAX, .flags=FLAGS }, \
+ { "n", "set the number of outputs", OFFSET(nb_outputs), AV_OPT_TYPE_INT, {.i64 = 1}, 1, INT_MAX, .flags=FLAGS }, \
+ { NULL } \
+}
+
static int request_frame(AVFilterLink *outlink);
static av_cold int init(AVFilterContext *ctx)
@@ -416,15 +426,7 @@ static int query_formats(AVFilterContext *ctx)
#if CONFIG_ASELECT_FILTER
-#define OFFSET(x) offsetof(SelectContext, x)
-#define AFLAGS AV_OPT_FLAG_FILTERING_PARAM | AV_OPT_FLAG_AUDIO_PARAM
-static const AVOption aselect_options[] = {
- { "expr", "An expression to use for selecting frames", OFFSET(expr_str), AV_OPT_TYPE_STRING, { .str = "1" }, .flags = AFLAGS },
- { "e", "An expression to use for selecting frames", OFFSET(expr_str), AV_OPT_TYPE_STRING, { .str = "1" }, .flags = AFLAGS },
- { "outputs", "set the number of outputs", OFFSET(nb_outputs), AV_OPT_TYPE_INT, {.i64 = 1}, 1, INT_MAX, AFLAGS },
- { "n", "set the number of outputs", OFFSET(nb_outputs), AV_OPT_TYPE_INT, {.i64 = 1}, 1, INT_MAX, AFLAGS },
- { NULL },
-};
+DEFINE_OPTIONS(aselect, AV_OPT_FLAG_AUDIO_PARAM|AV_OPT_FLAG_FILTERING_PARAM);
AVFILTER_DEFINE_CLASS(aselect);
static av_cold int aselect_init(AVFilterContext *ctx)
@@ -468,16 +470,7 @@ AVFilter avfilter_af_aselect = {
#if CONFIG_SELECT_FILTER
-#define OFFSET(x) offsetof(SelectContext, x)
-#define FLAGS AV_OPT_FLAG_FILTERING_PARAM | AV_OPT_FLAG_VIDEO_PARAM
-static const AVOption select_options[] = {
- { "expr", "An expression to use for selecting frames", OFFSET(expr_str), AV_OPT_TYPE_STRING, { .str = "1" }, .flags = FLAGS },
- { "e", "An expression to use for selecting frames", OFFSET(expr_str), AV_OPT_TYPE_STRING, { .str = "1" }, .flags = FLAGS },
- { "outputs", "set the number of outputs", OFFSET(nb_outputs), AV_OPT_TYPE_INT, {.i64 = 1}, 1, INT_MAX, FLAGS },
- { "n", "set the number of outputs", OFFSET(nb_outputs), AV_OPT_TYPE_INT, {.i64 = 1}, 1, INT_MAX, FLAGS },
- { NULL },
-};
-
+DEFINE_OPTIONS(select, AV_OPT_FLAG_VIDEO_PARAM|AV_OPT_FLAG_FILTERING_PARAM);
AVFILTER_DEFINE_CLASS(select);
static av_cold int select_init(AVFilterContext *ctx)