diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkformat.c b/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkformat.c index ffc2a9e3fc..78edcefcae 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkformat.c +++ b/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkformat.c @@ -656,3 +656,26 @@ gst_vulkan_format_from_video_info_2 (GstVulkanPhysicalDevice * physical_device, return FALSE; } + +/** + * gst_vulkan_format_to_video_format: + * @vk_format: the Vulkan format to convert + * + * Returns: the #GstVideoFormat that maps to @vk_format + * + * Since: 1.24 + */ +GstVideoFormat +gst_vulkan_format_to_video_format (VkFormat vk_format) +{ + int i; + + for (i = 0; i < G_N_ELEMENTS (vk_formats_map); i++) { + if (vk_formats_map[i].vkfrmt != vk_format) + continue; + + return vk_formats_map[i].format; + } + + return GST_VIDEO_FORMAT_UNKNOWN; +} diff --git a/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkformat.h b/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkformat.h index cd8e8246b9..ad0a1e1509 100644 --- a/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkformat.h +++ b/subprojects/gst-plugins-bad/gst-libs/gst/vulkan/gstvkformat.h @@ -149,6 +149,9 @@ gboolean gst_vulkan_format_from_video_info_2 ( int * n_imgs, VkImageUsageFlags * usage); +GST_VULKAN_API +GstVideoFormat gst_vulkan_format_to_video_format (VkFormat vk_format); + G_END_DECLS #endif /* __GST_VULKAN_FORMAT_H__ */