summaryrefslogtreecommitdiff
path: root/sys
diff options
context:
space:
mode:
authorSeungha Yang <seungha@centricular.com>2021-02-21 17:35:40 +0900
committerSeungha Yang <seungha@centricular.com>2021-02-21 17:35:40 +0900
commit7330ea8dbf28669d1d5d0f869d671bc324b87643 (patch)
tree0ecc5803349db0c005b418847886a48bfcfecc4f /sys
parent2696a2795d642d6302ce8f89dbcd1c322e246d12 (diff)
downloadgstreamer-plugins-bad-7330ea8dbf28669d1d5d0f869d671bc324b87643.tar.gz
d3d11deinterlace: Add missing system memory caps features on templates
This element can support system memory Part-of: <https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2029>
Diffstat (limited to 'sys')
-rw-r--r--sys/d3d11/gstd3d11deinterlace.cpp33
1 files changed, 26 insertions, 7 deletions
diff --git a/sys/d3d11/gstd3d11deinterlace.cpp b/sys/d3d11/gstd3d11deinterlace.cpp
index 85b5b5261..170d88a65 100644
--- a/sys/d3d11/gstd3d11deinterlace.cpp
+++ b/sys/d3d11/gstd3d11deinterlace.cpp
@@ -1894,7 +1894,14 @@ static GstElementClass *bin_parent_class = NULL;
#define GST_D3D11_DEINTERLACE_BIN_GET_CLASS(object) \
(G_TYPE_INSTANCE_GET_CLASS ((object),G_TYPE_FROM_INSTANCE (object), \
GstD3D11DeinterlaceBinClass))
-#define GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE(features,format) \
+
+#define GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE(format) \
+ "video/x-raw, " \
+ "format = (string) " format ", " \
+ "width = (int) [64, 8192], " \
+ "height = (int) [64, 8192] "
+
+#define GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE_WITH_FEATURES(features,format) \
"video/x-raw(" features "), " \
"format = (string) " format ", " \
"width = (int) [64, 8192], " \
@@ -1904,23 +1911,35 @@ static GstStaticPadTemplate bin_sink_template_caps =
GST_STATIC_PAD_TEMPLATE ("sink",
GST_PAD_SINK,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS (GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE
+ GST_STATIC_CAPS (GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE_WITH_FEATURES
(GST_CAPS_FEATURE_MEMORY_D3D11_MEMORY, GST_D3D11_SINK_FORMATS) "; "
- GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE
+ GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE_WITH_FEATURES
(GST_CAPS_FEATURE_MEMORY_D3D11_MEMORY ","
GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION,
- GST_D3D11_SINK_FORMATS)));
+ GST_D3D11_SINK_FORMATS) "; "
+ GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE (GST_D3D11_SINK_FORMATS) "; "
+ GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE_WITH_FEATURES
+ (GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY ","
+ GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION,
+ GST_D3D11_SINK_FORMATS)
+ ));
static GstStaticPadTemplate bin_src_template_caps =
GST_STATIC_PAD_TEMPLATE ("src",
GST_PAD_SRC,
GST_PAD_ALWAYS,
- GST_STATIC_CAPS (GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE
+ GST_STATIC_CAPS (GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE_WITH_FEATURES
(GST_CAPS_FEATURE_MEMORY_D3D11_MEMORY, GST_D3D11_SRC_FORMATS) "; "
- GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE
+ GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE_WITH_FEATURES
(GST_CAPS_FEATURE_MEMORY_D3D11_MEMORY ","
GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION,
- GST_D3D11_SRC_FORMATS)));
+ GST_D3D11_SRC_FORMATS) "; "
+ GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE (GST_D3D11_SRC_FORMATS) "; "
+ GST_D3D11_DEINTERLACE_BIN_CAPS_MAKE_WITH_FEATURES
+ (GST_CAPS_FEATURE_MEMORY_SYSTEM_MEMORY ","
+ GST_CAPS_FEATURE_META_GST_VIDEO_OVERLAY_COMPOSITION,
+ GST_D3D11_SRC_FORMATS)
+ ));
static void gst_d3d11_deinterlace_bin_set_property (GObject * object,
guint prop_id, const GValue * value, GParamSpec * pspec);