[FFmpeg-devel] [PATCH 10/16] avfilter/vf_convolution: Deduplicate filter options
Andreas Rheinhardt
andreas.rheinhardt at gmail.com
Mon Jan 4 02:28:10 EET 2021
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at gmail.com>
---
I wonder whether one should add an AVFILTER_DEFINE_CLASS2 macro that
allows a custom options name.
libavfilter/vf_convolution.c | 24 ++++++++----------------
1 file changed, 8 insertions(+), 16 deletions(-)
diff --git a/libavfilter/vf_convolution.c b/libavfilter/vf_convolution.c
index 3674f5b590..0514c235a9 100644
--- a/libavfilter/vf_convolution.c
+++ b/libavfilter/vf_convolution.c
@@ -796,15 +796,18 @@ AVFilter ff_vf_convolution = {
#endif /* CONFIG_CONVOLUTION_FILTER */
-#if CONFIG_PREWITT_FILTER
+#if CONFIG_PREWITT_FILTER || CONFIG_ROBERTS_FILTER || CONFIG_SOBEL_FILTER
-static const AVOption prewitt_options[] = {
+static const AVOption prewitt_roberts_sobel_options[] = {
{ "planes", "set planes to filter", OFFSET(planes), AV_OPT_TYPE_INT, {.i64=15}, 0, 15, FLAGS},
{ "scale", "set scale", OFFSET(scale), AV_OPT_TYPE_FLOAT, {.dbl=1.0}, 0.0, 65535, FLAGS},
{ "delta", "set delta", OFFSET(delta), AV_OPT_TYPE_FLOAT, {.dbl=0}, -65535, 65535, FLAGS},
{ NULL }
};
+#if CONFIG_PREWITT_FILTER
+
+#define prewitt_options prewitt_roberts_sobel_options
AVFILTER_DEFINE_CLASS(prewitt);
AVFilter ff_vf_prewitt = {
@@ -824,13 +827,7 @@ AVFilter ff_vf_prewitt = {
#if CONFIG_SOBEL_FILTER
-static const AVOption sobel_options[] = {
- { "planes", "set planes to filter", OFFSET(planes), AV_OPT_TYPE_INT, {.i64=15}, 0, 15, FLAGS},
- { "scale", "set scale", OFFSET(scale), AV_OPT_TYPE_FLOAT, {.dbl=1.0}, 0.0, 65535, FLAGS},
- { "delta", "set delta", OFFSET(delta), AV_OPT_TYPE_FLOAT, {.dbl=0}, -65535, 65535, FLAGS},
- { NULL }
-};
-
+#define sobel_options prewitt_roberts_sobel_options
AVFILTER_DEFINE_CLASS(sobel);
AVFilter ff_vf_sobel = {
@@ -850,13 +847,7 @@ AVFilter ff_vf_sobel = {
#if CONFIG_ROBERTS_FILTER
-static const AVOption roberts_options[] = {
- { "planes", "set planes to filter", OFFSET(planes), AV_OPT_TYPE_INT, {.i64=15}, 0, 15, FLAGS},
- { "scale", "set scale", OFFSET(scale), AV_OPT_TYPE_FLOAT, {.dbl=1.0}, 0.0, 65535, FLAGS},
- { "delta", "set delta", OFFSET(delta), AV_OPT_TYPE_FLOAT, {.dbl=0}, -65535, 65535, FLAGS},
- { NULL }
-};
-
+#define roberts_options prewitt_roberts_sobel_options
AVFILTER_DEFINE_CLASS(roberts);
AVFilter ff_vf_roberts = {
@@ -873,3 +864,4 @@ AVFilter ff_vf_roberts = {
};
#endif /* CONFIG_ROBERTS_FILTER */
+#endif /* CONFIG_PREWITT_FILTER || CONFIG_ROBERTS_FILTER || CONFIG_SOBEL_FILTER */
--
2.25.1
More information about the ffmpeg-devel
mailing list