videocrop: Move supported format list into private header
authorMarkus Ebner <info@ebner-markus.de>
Wed, 7 Apr 2021 15:52:34 +0000 (17:52 +0200)
committerGStreamer Marge Bot <gitlab-merge-bot@gstreamer-foundation.org>
Sat, 10 Apr 2021 11:26:59 +0000 (11:26 +0000)
- Moved declaration of supported pixel formats to private header, which
  can be shared between videocrop and aspectvideocrop

Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-good/-/merge_requests/515>

gst/videocrop/gstaspectratiocrop.c
gst/videocrop/gstvideocrop-private.h [new file with mode: 0644]
gst/videocrop/gstvideocrop.c

index 999dcd2..9df2e5e 100644 (file)
@@ -44,6 +44,8 @@
 #include "gstvideocrop.h"
 #include "gstvideocropelements.h"
 #include "gstaspectratiocrop.h"
+/* include private header which contains the supported formats */
+#include "gstvideocrop-private.h"
 
 #include "gst/glib-compat-private.h"
 
@@ -56,12 +58,8 @@ enum
   PROP_ASPECT_RATIO_CROP,
 };
 
-/* we support the same caps as videocrop (sync changes) */
-#define ASPECT_RATIO_CROP_CAPS                        \
-  GST_VIDEO_CAPS_MAKE ("{ RGBx, xRGB, BGRx, xBGR, "    \
-      "RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, " \
-      "YVYU, UYVY, I420, YV12, RGB16, RGB15, GRAY8, "  \
-      "NV12, NV21, GRAY16_LE, GRAY16_BE }")
+/* we support the same caps as videocrop */
+#define ASPECT_RATIO_CROP_CAPS VIDEO_CROP_CAPS
 
 static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
diff --git a/gst/videocrop/gstvideocrop-private.h b/gst/videocrop/gstvideocrop-private.h
new file mode 100644 (file)
index 0000000..7cae3b1
--- /dev/null
@@ -0,0 +1,20 @@
+#ifndef __GST_VIDEO_CROP_PRIVATE_H__
+#define __GST_VIDEO_CROP_PRIVATE_H__
+
+/* aspectvideocrop and videocrop support the same pixel formats, since
+ * aspectvideocrop uses videocrop internally.
+ * The definitions of supported pixe formats can thus be shared
+ * between both, avoiding the need of manual synchronization
+ */
+
+#define VIDEO_CROP_CAPS                                \
+  GST_VIDEO_CAPS_MAKE ("{ RGBx, xRGB, BGRx, xBGR, "    \
+         "RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, Y444, " \
+         "Y42B, Y41B, YVYU, UYVY, I420, YV12, RGB16, RGB15, "  \
+         "GRAY8, NV12, NV21, GRAY16_LE, GRAY16_BE }") "; "     \
+  "video/x-raw(ANY), "                                      \
+         "width = " GST_VIDEO_SIZE_RANGE ", "                  \
+         "height = " GST_VIDEO_SIZE_RANGE ", "                 \
+         "framerate = " GST_VIDEO_FPS_RANGE
+
+#endif /* __GST_VIDEO_CROP_PRIVATE_H__ */
index 4f37970..c9223e8 100644 (file)
@@ -63,6 +63,8 @@
 #include "gstvideocrop.h"
 #include "gstvideocropelements.h"
 #include "gstaspectratiocrop.h"
+/* include private header which contains the supported formats */
+#include "gstvideocrop-private.h"
 
 #include <string.h>
 
@@ -76,17 +78,6 @@ enum
   PROP_BOTTOM
 };
 
-/* we support the same caps as aspectratiocrop (sync changes) */
-#define VIDEO_CROP_CAPS                                \
-  GST_VIDEO_CAPS_MAKE ("{ RGBx, xRGB, BGRx, xBGR, "    \
-      "RGBA, ARGB, BGRA, ABGR, RGB, BGR, AYUV, YUY2, Y444, " \
-      "Y42B, Y41B, YVYU, UYVY, I420, YV12, RGB16, RGB15, "  \
-      "GRAY8, NV12, NV21, GRAY16_LE, GRAY16_BE }") "; "     \
-  "video/x-raw(ANY), "                                      \
-      "width = " GST_VIDEO_SIZE_RANGE ", "                  \
-      "height = " GST_VIDEO_SIZE_RANGE ", "                 \
-      "framerate = " GST_VIDEO_FPS_RANGE
-
 static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
     GST_PAD_SRC,
     GST_PAD_ALWAYS,