diff --git a/libraries/dl-streamer/docs/source/elements/gvagenai.md b/libraries/dl-streamer/docs/source/elements/gvagenai.md index 30271772d..fe21be7fa 100644 --- a/libraries/dl-streamer/docs/source/elements/gvagenai.md +++ b/libraries/dl-streamer/docs/source/elements/gvagenai.md @@ -108,6 +108,11 @@ Pad Templates: width: [ 1, 2147483647 ] height: [ 1, 2147483647 ] framerate: [ 0/1, 2147483647/1 ] + video/x-raw(memory:D3D11Memory) + format: { (string)NV12 } + width: [ 1, 2147483647 ] + height: [ 1, 2147483647 ] + framerate: [ 0/1, 2147483647/1 ] SRC template: 'src' Availability: Always diff --git a/libraries/dl-streamer/src/monolithic/gst/elements/gvagenai/gstgvagenai.cpp b/libraries/dl-streamer/src/monolithic/gst/elements/gvagenai/gstgvagenai.cpp index d54efca6b..c57e35459 100644 --- a/libraries/dl-streamer/src/monolithic/gst/elements/gvagenai/gstgvagenai.cpp +++ b/libraries/dl-streamer/src/monolithic/gst/elements/gvagenai/gstgvagenai.cpp @@ -34,11 +34,16 @@ enum { // Pad templates #define GVAGENAI_SYSTEM_MEM_CAPS GST_VIDEO_CAPS_MAKE("{ RGB, RGBA, RGBx, BGR, BGRA, BGRx, NV12, I420 }") "; " -static GstStaticPadTemplate sink_template = GST_STATIC_PAD_TEMPLATE( - "sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS(GVAGENAI_SYSTEM_MEM_CAPS DMA_BUFFER_CAPS VAMEMORY_CAPS)); - -static GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE( - "src", GST_PAD_SRC, GST_PAD_ALWAYS, GST_STATIC_CAPS(GVAGENAI_SYSTEM_MEM_CAPS DMA_BUFFER_CAPS VAMEMORY_CAPS)); +#ifdef _MSC_VER +#define GVAGENAI_CAPS GVAGENAI_SYSTEM_MEM_CAPS D3D11MEMORY_CAPS +#else +#define GVAGENAI_CAPS GVAGENAI_SYSTEM_MEM_CAPS DMA_BUFFER_CAPS VAMEMORY_CAPS +#endif +static GstStaticPadTemplate sink_template = + GST_STATIC_PAD_TEMPLATE("sink", GST_PAD_SINK, GST_PAD_ALWAYS, GST_STATIC_CAPS(GVAGENAI_CAPS)); + +static GstStaticPadTemplate src_template = + GST_STATIC_PAD_TEMPLATE("src", GST_PAD_SRC, GST_PAD_ALWAYS, GST_STATIC_CAPS(GVAGENAI_CAPS)); // Class initialization G_DEFINE_TYPE(GstGvaGenAI, gst_gvagenai, GST_TYPE_BASE_TRANSFORM);