diff --git a/subprojects/gst-plugins-bad/sys/va/gstvacaps.c b/subprojects/gst-plugins-bad/sys/va/gstvacaps.c index a8f29f763c..72ff8f52dc 100644 --- a/subprojects/gst-plugins-bad/sys/va/gstvacaps.c +++ b/subprojects/gst-plugins-bad/sys/va/gstvacaps.c @@ -25,6 +25,7 @@ #include "gstvacaps.h" #include +#include #include #include "gstvadisplay_priv.h" @@ -219,23 +220,8 @@ gst_va_create_dma_caps (GstVaDisplay * display, VAEntrypoint entrypoint, GstCaps *caps = NULL; guint i; - switch (entrypoint) { - case VAEntrypointVLD: - usage_hint = VA_SURFACE_ATTRIB_USAGE_HINT_DECODER; - break; - case VAEntrypointEncSlice: - case VAEntrypointEncSliceLP: - case VAEntrypointEncPicture: - usage_hint = VA_SURFACE_ATTRIB_USAGE_HINT_ENCODER; - break; - case VAEntrypointVideoProc: - usage_hint = VA_SURFACE_ATTRIB_USAGE_HINT_VPP_READ | - VA_SURFACE_ATTRIB_USAGE_HINT_VPP_WRITE; - break; - default: - g_assert_not_reached (); - break; - } + usage_hint = va_get_surface_usage_hint (display, + entrypoint, GST_PAD_UNKNOWN, TRUE); drm_formats_str = g_ptr_array_new_with_free_func (g_free);