mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-06 07:28:53 +00:00
msdk: Do not expose DMA buffer caps feature on Windows
On Windows, DMA buffer is not supported. PadTemplate with actually supported feature seems to more make sense.
This commit is contained in:
parent
afe3c7e3ef
commit
9ec62418c3
3 changed files with 36 additions and 12 deletions
|
@ -44,6 +44,13 @@
|
||||||
GST_DEBUG_CATEGORY_EXTERN (gst_msdkdec_debug);
|
GST_DEBUG_CATEGORY_EXTERN (gst_msdkdec_debug);
|
||||||
#define GST_CAT_DEFAULT gst_msdkdec_debug
|
#define GST_CAT_DEFAULT gst_msdkdec_debug
|
||||||
|
|
||||||
|
#ifndef _WIN32
|
||||||
|
#define DMABUF_CAPS_STR \
|
||||||
|
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF, "{ NV12 }")
|
||||||
|
#else
|
||||||
|
#define DMABUF_CAPS_STR ""
|
||||||
|
#endif
|
||||||
|
|
||||||
static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
|
static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
|
||||||
GST_PAD_SRC,
|
GST_PAD_SRC,
|
||||||
GST_PAD_ALWAYS,
|
GST_PAD_ALWAYS,
|
||||||
|
@ -51,9 +58,7 @@ static GstStaticPadTemplate src_factory = GST_STATIC_PAD_TEMPLATE ("src",
|
||||||
"format = (string) { NV12 }, "
|
"format = (string) { NV12 }, "
|
||||||
"framerate = (fraction) [0, MAX], "
|
"framerate = (fraction) [0, MAX], "
|
||||||
"width = (int) [ 1, MAX ], height = (int) [ 1, MAX ],"
|
"width = (int) [ 1, MAX ], height = (int) [ 1, MAX ],"
|
||||||
"interlace-mode = (string) progressive;"
|
"interlace-mode = (string) progressive;" DMABUF_CAPS_STR)
|
||||||
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF,
|
|
||||||
"{ NV12 }") ";")
|
|
||||||
);
|
);
|
||||||
|
|
||||||
#define PROP_HARDWARE_DEFAULT TRUE
|
#define PROP_HARDWARE_DEFAULT TRUE
|
||||||
|
|
|
@ -76,6 +76,13 @@ static void gst_msdkenc_close_encoder (GstMsdkEnc * thiz);
|
||||||
GST_DEBUG_CATEGORY_EXTERN (gst_msdkenc_debug);
|
GST_DEBUG_CATEGORY_EXTERN (gst_msdkenc_debug);
|
||||||
#define GST_CAT_DEFAULT gst_msdkenc_debug
|
#define GST_CAT_DEFAULT gst_msdkenc_debug
|
||||||
|
|
||||||
|
#ifndef _WIN32
|
||||||
|
#define DMABUF_CAPS_STR \
|
||||||
|
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF, "{ NV12 }")
|
||||||
|
#else
|
||||||
|
#define DMABUF_CAPS_STR ""
|
||||||
|
#endif
|
||||||
|
|
||||||
static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
|
static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
|
||||||
GST_PAD_SINK,
|
GST_PAD_SINK,
|
||||||
GST_PAD_ALWAYS,
|
GST_PAD_ALWAYS,
|
||||||
|
@ -83,9 +90,8 @@ static GstStaticPadTemplate sink_factory = GST_STATIC_PAD_TEMPLATE ("sink",
|
||||||
"format = (string) { NV12, I420, YV12, YUY2, UYVY, BGRA }, "
|
"format = (string) { NV12, I420, YV12, YUY2, UYVY, BGRA }, "
|
||||||
"framerate = (fraction) [0, MAX], "
|
"framerate = (fraction) [0, MAX], "
|
||||||
"width = (int) [ 16, MAX ], height = (int) [ 16, MAX ],"
|
"width = (int) [ 16, MAX ], height = (int) [ 16, MAX ],"
|
||||||
"interlace-mode = (string) progressive" ";"
|
"interlace-mode = (string) progressive" ";" DMABUF_CAPS_STR)
|
||||||
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF,
|
);
|
||||||
"{ NV12 }")));
|
|
||||||
|
|
||||||
#define PROP_HARDWARE_DEFAULT TRUE
|
#define PROP_HARDWARE_DEFAULT TRUE
|
||||||
#define PROP_ASYNC_DEPTH_DEFAULT 4
|
#define PROP_ASYNC_DEPTH_DEFAULT 4
|
||||||
|
|
|
@ -69,23 +69,36 @@ GST_DEBUG_CATEGORY_EXTERN (gst_msdkvpp_debug);
|
||||||
"{ NV12, BGRA, YUY2, UYVY, VUYA, P010_10LE}"
|
"{ NV12, BGRA, YUY2, UYVY, VUYA, P010_10LE}"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#ifndef _WIN32
|
||||||
|
#define DMABUF_SINK_CAPS_STR \
|
||||||
|
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF, \
|
||||||
|
SUPPORTED_DMABUF_FORMAT)
|
||||||
|
#else
|
||||||
|
#define DMABUF_SINK_CAPS_STR ""
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef _WIN32
|
||||||
|
#define DMABUF_SRC_CAPS_STR \
|
||||||
|
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF, \
|
||||||
|
"{ BGRA, YUY2, UYVY, NV12, VUYA, BGRx, P010_10LE" EXT_FORMATS "}") ";"
|
||||||
|
#else
|
||||||
|
#define DMABUF_SRC_CAPS_STR ""
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
static GstStaticPadTemplate gst_msdkvpp_sink_factory =
|
static GstStaticPadTemplate gst_msdkvpp_sink_factory =
|
||||||
GST_STATIC_PAD_TEMPLATE ("sink",
|
GST_STATIC_PAD_TEMPLATE ("sink",
|
||||||
GST_PAD_SINK,
|
GST_PAD_SINK,
|
||||||
GST_PAD_ALWAYS,
|
GST_PAD_ALWAYS,
|
||||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (SUPPORTED_SYSTEM_FORMAT)
|
GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE (SUPPORTED_SYSTEM_FORMAT)
|
||||||
", " "interlace-mode = (string){ progressive, interleaved, mixed }" ";"
|
", " "interlace-mode = (string){ progressive, interleaved, mixed }" ";"
|
||||||
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF,
|
DMABUF_SINK_CAPS_STR));
|
||||||
SUPPORTED_DMABUF_FORMAT)));
|
|
||||||
|
|
||||||
static GstStaticPadTemplate gst_msdkvpp_src_factory =
|
static GstStaticPadTemplate gst_msdkvpp_src_factory =
|
||||||
GST_STATIC_PAD_TEMPLATE ("src",
|
GST_STATIC_PAD_TEMPLATE ("src",
|
||||||
GST_PAD_SRC,
|
GST_PAD_SRC,
|
||||||
GST_PAD_ALWAYS,
|
GST_PAD_ALWAYS,
|
||||||
GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE_WITH_FEATURES
|
GST_STATIC_CAPS (DMABUF_SRC_CAPS_STR
|
||||||
(GST_CAPS_FEATURE_MEMORY_DMABUF,
|
|
||||||
"{ BGRA, YUY2, UYVY, NV12, VUYA, BGRx, P010_10LE" EXT_FORMATS "}")
|
|
||||||
";"
|
|
||||||
GST_VIDEO_CAPS_MAKE ("{ BGRA, NV12, YUY2, UYVY, VUYA, BGRx, P010_10LE"
|
GST_VIDEO_CAPS_MAKE ("{ BGRA, NV12, YUY2, UYVY, VUYA, BGRx, P010_10LE"
|
||||||
EXT_FORMATS "}") ", "
|
EXT_FORMATS "}") ", "
|
||||||
"interlace-mode = (string){ progressive, interleaved, mixed }" ";"));
|
"interlace-mode = (string){ progressive, interleaved, mixed }" ";"));
|
||||||
|
|
Loading…
Reference in a new issue