diff --git a/gst/videocrop/gstaspectratiocrop.c b/gst/videocrop/gstaspectratiocrop.c index 999dcd2877..9df2e5e245 100644 --- a/gst/videocrop/gstaspectratiocrop.c +++ b/gst/videocrop/gstaspectratiocrop.c @@ -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 index 0000000000..7cae3b1ec9 --- /dev/null +++ b/gst/videocrop/gstvideocrop-private.h @@ -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__ */ diff --git a/gst/videocrop/gstvideocrop.c b/gst/videocrop/gstvideocrop.c index 4f37970426..c9223e83bc 100644 --- a/gst/videocrop/gstvideocrop.c +++ b/gst/videocrop/gstvideocrop.c @@ -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 @@ -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,