mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-18 07:47:17 +00:00
msdkvpp: Set va mem caps as higher priority
We use va pool as msdkvpp's bufferpool, which means both va memory and dma memory will be allocated by va pool. Considering drm modifier stuff is not ready, we use va memory with higher priortiry than dma memory when deciding vpp caps. Besides, this patch removes the specified "interlace-mode" in vpp caps. Part-of: <https://gitlab.freedesktop.org/gstreamer/gstreamer/-/merge_requests/3253>
This commit is contained in:
parent
cb1345ab77
commit
13be7cbe86
1 changed files with 10 additions and 10 deletions
|
@ -110,7 +110,7 @@ GST_DEBUG_CATEGORY_EXTERN (gst_msdkvpp_debug);
|
|||
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF, \
|
||||
SUPPORTED_DMABUF_FORMAT) ";"
|
||||
#define VA_SINK_CAPS_STR \
|
||||
GST_MSDK_CAPS_MAKE_WITH_VA_FEATURE (SUPPORTED_VA_FORMAT)
|
||||
GST_VIDEO_CAPS_MAKE_WITH_FEATURES ("memory:VAMemory", SUPPORTED_VA_FORMAT)
|
||||
#else
|
||||
#define DMABUF_SINK_CAPS_STR ""
|
||||
#define VA_SINK_CAPS_STR ""
|
||||
|
@ -121,7 +121,7 @@ GST_DEBUG_CATEGORY_EXTERN (gst_msdkvpp_debug);
|
|||
GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_DMABUF, \
|
||||
SRC_DMABUF_FORMAT) ";"
|
||||
#define VA_SRC_CAPS_STR \
|
||||
GST_MSDK_CAPS_MAKE_WITH_VA_FEATURE (SUPPORTED_VA_FORMAT)
|
||||
GST_VIDEO_CAPS_MAKE_WITH_FEATURES ("memory:VAMemory", SUPPORTED_VA_FORMAT)
|
||||
#else
|
||||
#define DMABUF_SRC_CAPS_STR ""
|
||||
#define VA_SRC_CAPS_STR ""
|
||||
|
@ -1389,20 +1389,20 @@ gst_msdkvpp_fixate_caps (GstBaseTransform * trans,
|
|||
GST_DEBUG_OBJECT (trans, "fixated to %" GST_PTR_FORMAT, result);
|
||||
gst_caps_unref (othercaps);
|
||||
|
||||
/* We let msdkvpp srcpad first query if downstream has dmabuf type caps,
|
||||
* if not, will check the type of va memory.
|
||||
/* We let msdkvpp srcpad first query if downstream has va memory type caps,
|
||||
* if not, will check the type of dma memory.
|
||||
*/
|
||||
#ifndef _WIN32
|
||||
if (pad_accept_memory (thiz, GST_CAPS_FEATURE_MEMORY_DMABUF,
|
||||
direction == GST_PAD_SRC ? GST_PAD_SINK : GST_PAD_SRC, result)) {
|
||||
gst_caps_set_features (result, 0,
|
||||
gst_caps_features_new (GST_CAPS_FEATURE_MEMORY_DMABUF, NULL));
|
||||
*use_dmabuf = TRUE;
|
||||
} else if (pad_accept_memory (thiz, GST_CAPS_FEATURE_MEMORY_VA,
|
||||
if (pad_accept_memory (thiz, GST_CAPS_FEATURE_MEMORY_VA,
|
||||
direction == GST_PAD_SRC ? GST_PAD_SINK : GST_PAD_SRC, result)) {
|
||||
gst_caps_set_features (result, 0,
|
||||
gst_caps_features_new (GST_CAPS_FEATURE_MEMORY_VA, NULL));
|
||||
*use_va = TRUE;
|
||||
} else if (pad_accept_memory (thiz, GST_CAPS_FEATURE_MEMORY_DMABUF,
|
||||
direction == GST_PAD_SRC ? GST_PAD_SINK : GST_PAD_SRC, result)) {
|
||||
gst_caps_set_features (result, 0,
|
||||
gst_caps_features_new (GST_CAPS_FEATURE_MEMORY_DMABUF, NULL));
|
||||
*use_dmabuf = TRUE;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
|
Loading…
Reference in a new issue