From fbf6bfd4d8270d110ad6a8657d3b0879994d524b Mon Sep 17 00:00:00 2001 From: He Junyan Date: Mon, 16 Aug 2021 13:45:39 +0800 Subject: [PATCH] va: Use GST_CAPS_FEATURE_MEMORY_VA to replace "memory:VAMemory". "memory:VAMemory" is a commonly used string which notates our VA-kind memory type. We now used a definition in va lib to replace the simply string usage. Part-of: --- gst-libs/gst/va/gstvadisplay.h | 7 +++++++ sys/va/gstvaav1dec.c | 6 ++++-- sys/va/gstvabasedec.c | 4 ++-- sys/va/gstvacaps.c | 6 +++--- sys/va/gstvafilter.c | 2 +- sys/va/gstvah264dec.c | 6 ++++-- sys/va/gstvah265dec.c | 6 ++++-- sys/va/gstvampeg2dec.c | 6 ++++-- sys/va/gstvavp8dec.c | 6 ++++-- sys/va/gstvavp9dec.c | 6 ++++-- sys/va/gstvavpp.c | 9 +++++---- 11 files changed, 42 insertions(+), 22 deletions(-) diff --git a/gst-libs/gst/va/gstvadisplay.h b/gst-libs/gst/va/gstvadisplay.h index 3db6955..ec8e933 100644 --- a/gst-libs/gst/va/gstvadisplay.h +++ b/gst-libs/gst/va/gstvadisplay.h @@ -56,6 +56,13 @@ typedef enum #define GST_VA_DISPLAY_HANDLE_CONTEXT_TYPE_STR "gst.va.display.handle" /** + * GST_CAPS_FEATURE_MEMORY_VA: + * + * Since: 1.20 + */ +#define GST_CAPS_FEATURE_MEMORY_VA "memory:VAMemory" + +/** * GST_VA_DISPLAY_IS_IMPLEMENTATION: (skip) * * Check whether the display is the implementation of the specified diff --git a/sys/va/gstvaav1dec.c b/sys/va/gstvaav1dec.c index 5b02cbc..4f3ba0e 100644 --- a/sys/va/gstvaav1dec.c +++ b/sys/va/gstvaav1dec.c @@ -81,8 +81,10 @@ struct _GstVaAV1Dec }; /* *INDENT-OFF* */ -static const gchar *src_caps_str = GST_VIDEO_CAPS_MAKE_WITH_FEATURES ("memory:VAMemory", - "{ NV12, P010_10LE }") " ;" GST_VIDEO_CAPS_MAKE ("{ NV12, P010_10LE }"); +static const gchar *src_caps_str = + GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_VA, + "{ NV12, P010_10LE }") " ;" + GST_VIDEO_CAPS_MAKE ("{ NV12, P010_10LE }"); /* *INDENT-ON* */ static const gchar *sink_caps_str = "video/x-av1"; diff --git a/sys/va/gstvabasedec.c b/sys/va/gstvabasedec.c index f85d8d5..3c012d9 100644 --- a/sys/va/gstvabasedec.c +++ b/sys/va/gstvabasedec.c @@ -344,7 +344,7 @@ _decide_allocation_for_video_crop (GstVideoDecoder * decoder, va_caps = gst_caps_copy (caps); gst_caps_set_features_simple (va_caps, - gst_caps_features_from_string ("memory:VAMemory")); + gst_caps_features_from_string (GST_CAPS_FEATURE_MEMORY_VA)); if (!(allocator = _create_allocator (base, va_caps))) { ret = FALSE; @@ -749,7 +749,7 @@ gst_va_base_dec_get_preferred_format_and_caps_features (GstVaBaseDec * base, if (gst_caps_features_is_any (features)) continue; - if (gst_caps_features_contains (features, "memory:VAMemory")) { + if (gst_caps_features_contains (features, GST_CAPS_FEATURE_MEMORY_VA)) { preferred_caps = gst_caps_new_full (gst_structure_copy (structure), NULL); gst_caps_set_features_simple (preferred_caps, gst_caps_features_copy (features)); diff --git a/sys/va/gstvacaps.c b/sys/va/gstvacaps.c index b0bfa80..bf6a2a2 100644 --- a/sys/va/gstvacaps.c +++ b/sys/va/gstvacaps.c @@ -209,7 +209,7 @@ gst_va_create_raw_caps_from_config (GstVaDisplay * display, VAConfigID config) if (mem_type & VA_SURFACE_ATTRIB_MEM_TYPE_VA) { feature_caps = gst_caps_copy (base_caps); - features = gst_caps_features_from_string ("memory:VAMemory"); + features = gst_caps_features_from_string (GST_CAPS_FEATURE_MEMORY_VA); gst_caps_set_features_simple (feature_caps, features); caps = gst_caps_merge (caps, feature_caps); } @@ -409,7 +409,7 @@ _regroup_raw_caps (GstCaps * caps) ft = gst_caps_get_features (tmp, 0); if (gst_caps_features_contains (ft, GST_CAPS_FEATURE_MEMORY_DMABUF)) { dma_caps = gst_caps_merge (dma_caps, tmp); - } else if (gst_caps_features_contains (ft, "memory:VAMemory")) { + } else if (gst_caps_features_contains (ft, GST_CAPS_FEATURE_MEMORY_VA)) { va_caps = gst_caps_merge (va_caps, tmp); } else { sys_caps = gst_caps_merge (sys_caps, tmp); @@ -553,7 +553,7 @@ gst_caps_is_dmabuf (GstCaps * caps) gboolean gst_caps_is_vamemory (GstCaps * caps) { - return _caps_is (caps, "memory:VAMemory"); + return _caps_is (caps, GST_CAPS_FEATURE_MEMORY_VA); } gboolean diff --git a/sys/va/gstvafilter.c b/sys/va/gstvafilter.c index 88dc942..7808513 100644 --- a/sys/va/gstvafilter.c +++ b/sys/va/gstvafilter.c @@ -938,7 +938,7 @@ gst_va_filter_get_caps (GstVaFilter * self) if (mem_types & VA_SURFACE_ATTRIB_MEM_TYPE_VA) { feature_caps = gst_caps_copy (base_caps); - features = gst_caps_features_from_string ("memory:VAMemory"); + features = gst_caps_features_from_string (GST_CAPS_FEATURE_MEMORY_VA); gst_caps_set_features_simple (feature_caps, features); caps = gst_caps_merge (caps, feature_caps); } diff --git a/sys/va/gstvah264dec.c b/sys/va/gstvah264dec.c index 4f1d08c..c8bebeb 100644 --- a/sys/va/gstvah264dec.c +++ b/sys/va/gstvah264dec.c @@ -90,8 +90,10 @@ struct _GstVaH264Dec }; /* *INDENT-OFF* */ -static const gchar *src_caps_str = GST_VIDEO_CAPS_MAKE_WITH_FEATURES ("memory:VAMemory", - "{ NV12, P010_10LE }") " ;" GST_VIDEO_CAPS_MAKE ("{ NV12, P010_10LE }"); +static const gchar *src_caps_str = + GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_VA, + "{ NV12, P010_10LE }") " ;" + GST_VIDEO_CAPS_MAKE ("{ NV12, P010_10LE }"); /* *INDENT-ON* */ static const gchar *sink_caps_str = "video/x-h264"; diff --git a/sys/va/gstvah265dec.c b/sys/va/gstvah265dec.c index 5c72d44..779d450 100644 --- a/sys/va/gstvah265dec.c +++ b/sys/va/gstvah265dec.c @@ -104,8 +104,10 @@ struct _GstVaH265Dec }; /* *INDENT-OFF* */ -static const gchar *src_caps_str = GST_VIDEO_CAPS_MAKE_WITH_FEATURES ("memory:VAMemory", - "{ NV12, P010_10LE }") " ;" GST_VIDEO_CAPS_MAKE ("{ NV12, P010_10LE }"); +static const gchar *src_caps_str = + GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_VA, + "{ NV12, P010_10LE }") " ;" + GST_VIDEO_CAPS_MAKE ("{ NV12, P010_10LE }"); /* *INDENT-ON* */ static const gchar *sink_caps_str = "video/x-h265"; diff --git a/sys/va/gstvampeg2dec.c b/sys/va/gstvampeg2dec.c index c282c25..9924d9c 100644 --- a/sys/va/gstvampeg2dec.c +++ b/sys/va/gstvampeg2dec.c @@ -77,8 +77,10 @@ struct _GstVaMpeg2Dec }; /* *INDENT-OFF* */ -static const gchar *src_caps_str = GST_VIDEO_CAPS_MAKE_WITH_FEATURES ("memory:VAMemory", - "{ NV12 }") " ;" GST_VIDEO_CAPS_MAKE ("{ NV12 }"); +static const gchar *src_caps_str = + GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_VA, + "{ NV12 }") " ;" + GST_VIDEO_CAPS_MAKE ("{ NV12 }"); /* *INDENT-ON* */ static const gchar *sink_caps_str = "video/x-mpeg2"; diff --git a/sys/va/gstvavp8dec.c b/sys/va/gstvavp8dec.c index 997dc64..18fc3cd 100644 --- a/sys/va/gstvavp8dec.c +++ b/sys/va/gstvavp8dec.c @@ -76,8 +76,10 @@ struct _GstVaVp8Dec }; /* *INDENT-OFF* */ -static const gchar *src_caps_str = GST_VIDEO_CAPS_MAKE_WITH_FEATURES ("memory:VAMemory", - "{ NV12 }") " ;" GST_VIDEO_CAPS_MAKE ("{ NV12 }"); +static const gchar *src_caps_str = + GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_VA, + "{ NV12 }") " ;" + GST_VIDEO_CAPS_MAKE ("{ NV12 }"); /* *INDENT-ON* */ static const gchar *sink_caps_str = "video/x-vp8"; diff --git a/sys/va/gstvavp9dec.c b/sys/va/gstvavp9dec.c index 33631a8..0a0913b 100644 --- a/sys/va/gstvavp9dec.c +++ b/sys/va/gstvavp9dec.c @@ -75,8 +75,10 @@ struct _GstVaVp9Dec }; /* *INDENT-OFF* */ -static const gchar *src_caps_str = GST_VIDEO_CAPS_MAKE_WITH_FEATURES ("memory:VAMemory", - "{ NV12 }") " ;" GST_VIDEO_CAPS_MAKE ("{ NV12 }"); +static const gchar *src_caps_str = + GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_VA, + "{ NV12 }") " ;" + GST_VIDEO_CAPS_MAKE ("{ NV12 }"); /* *INDENT-ON* */ static const gchar *sink_caps_str = "video/x-vp9"; diff --git a/sys/va/gstvavpp.c b/sys/va/gstvavpp.c index cd04b9a..0fe4934 100644 --- a/sys/va/gstvavpp.c +++ b/sys/va/gstvavpp.c @@ -147,10 +147,11 @@ enum }; /* *INDENT-OFF* */ -static const gchar *caps_str = GST_VIDEO_CAPS_MAKE_WITH_FEATURES ("memory:VAMemory", - "{ NV12, I420, YV12, YUY2, RGBA, BGRA, P010_10LE, ARGB, ABGR }") " ;" - GST_VIDEO_CAPS_MAKE ("{ VUYA, GRAY8, NV12, NV21, YUY2, UYVY, YV12, " - "I420, P010_10LE, RGBA, BGRA, ARGB, ABGR }"); +static const gchar *caps_str = + GST_VIDEO_CAPS_MAKE_WITH_FEATURES (GST_CAPS_FEATURE_MEMORY_VA, + "{ NV12, I420, YV12, YUY2, RGBA, BGRA, P010_10LE, ARGB, ABGR }") " ;" + GST_VIDEO_CAPS_MAKE ("{ VUYA, GRAY8, NV12, NV21, YUY2, UYVY, YV12, " + "I420, P010_10LE, RGBA, BGRA, ARGB, ABGR }"); /* *INDENT-ON* */ #define META_TAG_COLORSPACE meta_tag_colorspace_quark -- 2.7.4