diff options
author | Seungha Yang <seungha@centricular.com> | 2021-02-21 17:35:40 +0900 |
---|---|---|
committer | Seungha Yang <seungha@centricular.com> | 2021-02-21 17:35:40 +0900 |
commit | 7330ea8dbf28669d1d5d0f869d671bc324b87643 (patch) | |
tree | 0ecc5803349db0c005b418847886a48bfcfecc4f /sys | |
parent | 2696a2795d642d6302ce8f89dbcd1c322e246d12 (diff) | |
download | gstreamer-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.cpp | 33 |
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); |