ffmpeg | branch: master | Lynne <d...@lynne.ee> | Fri Mar 14 12:53:47 2025 +0100| [67eb01b458371b0cd885e99a8943cb95c01bf4f5] | committer: Lynne
hwcontext_vulkan: enable VK_KHR_video_maintenance2 Enables some fixes for the video specifications, and a new feature. > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=67eb01b458371b0cd885e99a8943cb95c01bf4f5 --- libavutil/hwcontext_vulkan.c | 13 +++++++++++++ libavutil/vulkan_functions.h | 1 + 2 files changed, 14 insertions(+) diff --git a/libavutil/hwcontext_vulkan.c b/libavutil/hwcontext_vulkan.c index f7df5503f8..fe2c3a38a2 100644 --- a/libavutil/hwcontext_vulkan.c +++ b/libavutil/hwcontext_vulkan.c @@ -81,6 +81,9 @@ typedef struct VulkanDeviceFeatures { VkPhysicalDeviceTimelineSemaphoreFeatures timeline_semaphore; VkPhysicalDeviceVideoMaintenance1FeaturesKHR video_maintenance_1; +#ifdef VK_KHR_video_maintenance2 + VkPhysicalDeviceVideoMaintenance2FeaturesKHR video_maintenance_2; +#endif VkPhysicalDeviceShaderObjectFeaturesEXT shader_object; VkPhysicalDeviceCooperativeMatrixFeaturesKHR cooperative_matrix; @@ -208,6 +211,10 @@ static void device_features_init(AVHWDeviceContext *ctx, VulkanDeviceFeatures *f OPT_CHAIN(&feats->video_maintenance_1, FF_VK_EXT_VIDEO_MAINTENANCE_1, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_1_FEATURES_KHR); +#ifdef VK_KHR_video_maintenance2 + OPT_CHAIN(&feats->video_maintenance_2, FF_VK_EXT_VIDEO_MAINTENANCE_2, + VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_VIDEO_MAINTENANCE_2_FEATURES_KHR); +#endif OPT_CHAIN(&feats->shader_object, FF_VK_EXT_SHADER_OBJECT, VK_STRUCTURE_TYPE_PHYSICAL_DEVICE_SHADER_OBJECT_FEATURES_EXT); @@ -276,6 +283,9 @@ static void device_features_copy_needed(VulkanDeviceFeatures *dst, VulkanDeviceF COPY_VAL(timeline_semaphore.timelineSemaphore); COPY_VAL(video_maintenance_1.videoMaintenance1); +#ifdef VK_KHR_video_maintenance2 + COPY_VAL(video_maintenance_2.videoMaintenance2); +#endif COPY_VAL(shader_object.shaderObject); @@ -605,6 +615,9 @@ static const VulkanOptExtension optional_device_exts[] = { { VK_NV_OPTICAL_FLOW_EXTENSION_NAME, FF_VK_EXT_OPTICAL_FLOW }, { VK_EXT_SHADER_OBJECT_EXTENSION_NAME, FF_VK_EXT_SHADER_OBJECT }, { VK_KHR_VIDEO_MAINTENANCE_1_EXTENSION_NAME, FF_VK_EXT_VIDEO_MAINTENANCE_1 }, +#ifdef VK_KHR_video_maintenance2 + { VK_KHR_VIDEO_MAINTENANCE_2_EXTENSION_NAME, FF_VK_EXT_VIDEO_MAINTENANCE_2 }, +#endif /* Imports/exports */ { VK_KHR_EXTERNAL_MEMORY_FD_EXTENSION_NAME, FF_VK_EXT_EXTERNAL_FD_MEMORY }, diff --git a/libavutil/vulkan_functions.h b/libavutil/vulkan_functions.h index 07c4546a3c..f5ea9b7bce 100644 --- a/libavutil/vulkan_functions.h +++ b/libavutil/vulkan_functions.h @@ -50,6 +50,7 @@ typedef uint64_t FFVulkanExtensions; /* Video extensions */ #define FF_VK_EXT_VIDEO_QUEUE (1ULL << 36) /* VK_KHR_video_queue */ #define FF_VK_EXT_VIDEO_MAINTENANCE_1 (1ULL << 37) /* VK_KHR_video_maintenance1 */ +#define FF_VK_EXT_VIDEO_MAINTENANCE_2 (1ULL << 38) /* VK_KHR_video_maintenance2 */ #define FF_VK_EXT_VIDEO_DECODE_QUEUE (1ULL << 40) /* VK_KHR_video_decode_queue */ #define FF_VK_EXT_VIDEO_DECODE_H264 (1ULL << 41) /* VK_KHR_video_decode_h264 */ _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".