On Sun, Oct 27, 2024 at 04:28:27PM +0200, IndecisiveTurtle wrote: > Implements a Vulkan based dirac encoder. Supports Haar and Legall wavelets > and should work with all wavelet depths. > > Performance wise, encoding a 1080p 1-minute video is performed in about 2.5 > minutes with the cpu encoder running on my Ryzen 5 4600H, while it takes > about 30 seconds on my NVIDIA GTX 1650 > > Haar shader has a subgroup optimized variant that applies when configured > wavelet depth allows it > > lavapipe seems to be bugged for some reason, after a bunch of debugging I'm > not quite sure if it's a bug here or in lavapipe. But people probably dont > want to use this with a software implementation anyway. > --- > configure | 1 + > libavcodec/Makefile | 5 +- > libavcodec/allcodecs.c | 1 + > libavcodec/vc2enc.c | 501 +-------------- > libavcodec/vc2enc_common.c | 368 +++++++++++ > libavcodec/vc2enc_common.h | 279 ++++++++ > libavcodec/vc2enc_vulkan.c | 781 +++++++++++++++++++++++ > libavcodec/vulkan/dwt_haar.comp | 76 +++ > libavcodec/vulkan/dwt_haar_subgroup.comp | 94 +++ > libavcodec/vulkan/dwt_hor_legall.comp | 61 ++ > libavcodec/vulkan/dwt_legall.comp | 74 +++ > libavcodec/vulkan/dwt_upload.comp | 45 ++ > libavcodec/vulkan/dwt_ver_legall.comp | 55 ++ > libavcodec/vulkan/encode.comp | 256 ++++++++ > libavcodec/vulkan/slice_sizes.comp | 184 ++++++ > 15 files changed, 2280 insertions(+), 501 deletions(-) > create mode 100644 libavcodec/vc2enc_common.c > create mode 100644 libavcodec/vc2enc_common.h > create mode 100644 libavcodec/vc2enc_vulkan.c > create mode 100644 libavcodec/vulkan/dwt_haar.comp > create mode 100644 libavcodec/vulkan/dwt_haar_subgroup.comp > create mode 100644 libavcodec/vulkan/dwt_hor_legall.comp > create mode 100644 libavcodec/vulkan/dwt_legall.comp > create mode 100644 libavcodec/vulkan/dwt_upload.comp > create mode 100644 libavcodec/vulkan/dwt_ver_legall.comp > create mode 100644 libavcodec/vulkan/encode.comp > create mode 100644 libavcodec/vulkan/slice_sizes.comp
doesnt build: (ubuntu 20.04) In file included from ./libavutil/vulkan_functions.h:26, from ./libavutil/vulkan.h:30, from libavcodec/vc2enc_common.h:31, from libavcodec/vc2enc_common.c:22: ./libavutil/hwcontext_vulkan.h:44:5: error: unknown type name ‘VkVideoCodecOperationFlagBitsKHR’ 44 | VkVideoCodecOperationFlagBitsKHR video_caps; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./libavutil/vulkan.h:30, from libavcodec/vc2enc_common.h:31, from libavcodec/vc2enc_common.c:22: ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:85:5: note: in expansion of macro ‘PFN_DEF’ 85 | MACRO(1, 0, FF_VK_EXT_VIDEO_QUEUE, GetPhysicalDeviceVideoCapabilitiesKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:86:5: note: in expansion of macro ‘PFN_DEF’ 86 | MACRO(1, 0, FF_VK_EXT_VIDEO_QUEUE, GetPhysicalDeviceVideoFormatPropertiesKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:99:5: note: in expansion of macro ‘PFN_DEF’ 99 | MACRO(1, 0, FF_VK_EXT_COOP_MATRIX, GetPhysicalDeviceCooperativeMatrixPropertiesKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkQueueSubmit2’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:115:5: note: in expansion of macro ‘PFN_DEF’ 115 | MACRO(1, 1, FF_VK_EXT_NO_FLAG, QueueSubmit2) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetDescriptorSetLayoutSizeEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:178:5: note: in expansion of macro ‘PFN_DEF’ 178 | MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, GetDescriptorSetLayoutSizeEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetDescriptorSetLayoutBindingOffsetEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:179:5: note: in expansion of macro ‘PFN_DEF’ 179 | MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, GetDescriptorSetLayoutBindingOffsetEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetDescriptorEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:180:5: note: in expansion of macro ‘PFN_DEF’ 180 | MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, GetDescriptorEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdBindDescriptorBuffersEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:181:5: note: in expansion of macro ‘PFN_DEF’ 181 | MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, CmdBindDescriptorBuffersEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdSetDescriptorBufferOffsetsEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:182:5: note: in expansion of macro ‘PFN_DEF’ 182 | MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, CmdSetDescriptorBufferOffsetsEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdPipelineBarrier2’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:203:5: note: in expansion of macro ‘PFN_DEF’ 203 | MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdPipelineBarrier2) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCreateVideoSessionKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:206:5: note: in expansion of macro ‘PFN_DEF’ 206 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CreateVideoSessionKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCreateVideoSessionParametersKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:207:5: note: in expansion of macro ‘PFN_DEF’ 207 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CreateVideoSessionParametersKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetVideoSessionMemoryRequirementsKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:208:5: note: in expansion of macro ‘PFN_DEF’ 208 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, GetVideoSessionMemoryRequirementsKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkBindVideoSessionMemoryKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:209:5: note: in expansion of macro ‘PFN_DEF’ 209 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, BindVideoSessionMemoryKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdBeginVideoCodingKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:210:5: note: in expansion of macro ‘PFN_DEF’ 210 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CmdBeginVideoCodingKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdControlVideoCodingKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:211:5: note: in expansion of macro ‘PFN_DEF’ 211 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CmdControlVideoCodingKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdEndVideoCodingKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:212:5: note: in expansion of macro ‘PFN_DEF’ 212 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CmdEndVideoCodingKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkDestroyVideoSessionParametersKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:213:5: note: in expansion of macro ‘PFN_DEF’ 213 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, DestroyVideoSessionParametersKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkDestroyVideoSessionKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:214:5: note: in expansion of macro ‘PFN_DEF’ 214 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, DestroyVideoSessionKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdDecodeVideoKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:217:5: note: in expansion of macro ‘PFN_DEF’ 217 | MACRO(1, 1, FF_VK_EXT_VIDEO_DECODE_QUEUE, CmdDecodeVideoKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdEncodeVideoKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:220:5: note: in expansion of macro ‘PFN_DEF’ 220 | MACRO(1, 1, FF_VK_EXT_VIDEO_ENCODE_QUEUE, CmdEncodeVideoKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetEncodedVideoSessionParametersKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:221:5: note: in expansion of macro ‘PFN_DEF’ 221 | MACRO(1, 1, FF_VK_EXT_VIDEO_ENCODE_QUEUE, GetEncodedVideoSessionParametersKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:222:5: note: in expansion of macro ‘PFN_DEF’ 222 | MACRO(1, 0, FF_VK_EXT_VIDEO_ENCODE_QUEUE, GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkBindOpticalFlowSessionImageNV’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:239:5: note: in expansion of macro ‘PFN_DEF’ 239 | MACRO(1, 1, FF_VK_EXT_OPTICAL_FLOW, BindOpticalFlowSessionImageNV) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdOpticalFlowExecuteNV’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:240:5: note: in expansion of macro ‘PFN_DEF’ 240 | MACRO(1, 1, FF_VK_EXT_OPTICAL_FLOW, CmdOpticalFlowExecuteNV) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCreateOpticalFlowSessionNV’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:241:5: note: in expansion of macro ‘PFN_DEF’ 241 | MACRO(1, 1, FF_VK_EXT_OPTICAL_FLOW, CreateOpticalFlowSessionNV) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkDestroyOpticalFlowSessionNV’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:242:5: note: in expansion of macro ‘PFN_DEF’ 242 | MACRO(1, 1, FF_VK_EXT_OPTICAL_FLOW, DestroyOpticalFlowSessionNV) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:243:5: note: in expansion of macro ‘PFN_DEF’ 243 | MACRO(1, 0, FF_VK_EXT_OPTICAL_FLOW, GetPhysicalDeviceOpticalFlowImageFormatsNV)\ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdBindShadersEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:248:5: note: in expansion of macro ‘PFN_DEF’ 248 | MACRO(1, 1, FF_VK_EXT_SHADER_OBJECT, CmdBindShadersEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCreateShadersEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:249:5: note: in expansion of macro ‘PFN_DEF’ 249 | MACRO(1, 1, FF_VK_EXT_SHADER_OBJECT, CreateShadersEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkDestroyShaderEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:250:5: note: in expansion of macro ‘PFN_DEF’ 250 | MACRO(1, 1, FF_VK_EXT_SHADER_OBJECT, DestroyShaderEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetShaderBinaryDataEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:251:5: note: in expansion of macro ‘PFN_DEF’ 251 | MACRO(1, 1, FF_VK_EXT_SHADER_OBJECT, GetShaderBinaryDataEXT) | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ In file included from libavcodec/vc2enc_common.h:31, from libavcodec/vc2enc_common.c:22: ./libavutil/vulkan.h:95:5: error: unknown type name ‘VkPipelineStageFlags2’ 95 | VkPipelineStageFlags2 stage; | ^~~~~~~~~~~~~~~~~~~~~ ./libavutil/vulkan.h:96:5: error: unknown type name ‘VkAccessFlags2’ 96 | VkAccessFlags2 access; | ^~~~~~~~~~~~~~ ./libavutil/vulkan.h:137:5: error: unknown type name ‘VkSemaphoreSubmitInfo’ 137 | VkSemaphoreSubmitInfo *sem_wait; | ^~~~~~~~~~~~~~~~~~~~~ ./libavutil/vulkan.h:141:5: error: unknown type name ‘VkSemaphoreSubmitInfo’ 141 | VkSemaphoreSubmitInfo *sem_sig; | ^~~~~~~~~~~~~~~~~~~~~ ./libavutil/vulkan.h:194:5: error: unknown type name ‘VkPipelineShaderStageRequiredSubgroupSizeCreateInfo’ 194 | VkPipelineShaderStageRequiredSubgroupSizeCreateInfo subgroup_info; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./libavutil/vulkan.h:197:5: error: unknown type name ‘VkShaderEXT’ 197 | VkShaderEXT object; | ^~~~~~~~~~~ ./libavutil/vulkan.h:234:5: error: unknown type name ‘VkDescriptorBufferBindingInfoEXT’ 234 | VkDescriptorBufferBindingInfoEXT *desc_bind; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./libavutil/vulkan.h:273:5: error: unknown type name ‘VkPhysicalDeviceDescriptorBufferPropertiesEXT’ 273 | VkPhysicalDeviceDescriptorBufferPropertiesEXT desc_buf_props; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./libavutil/vulkan.h:274:5: error: unknown type name ‘VkPhysicalDeviceSubgroupSizeControlProperties’ 274 | VkPhysicalDeviceSubgroupSizeControlProperties subgroup_props; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./libavutil/vulkan.h:275:5: error: unknown type name ‘VkPhysicalDeviceCooperativeMatrixPropertiesKHR’ 275 | VkPhysicalDeviceCooperativeMatrixPropertiesKHR coop_matrix_props; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./libavutil/vulkan.h:276:5: error: unknown type name ‘VkPhysicalDeviceOpticalFlowPropertiesNV’ 276 | VkPhysicalDeviceOpticalFlowPropertiesNV optical_flow_props; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./libavutil/vulkan.h:277:5: error: unknown type name ‘VkQueueFamilyQueryResultStatusPropertiesKHR’ 277 | VkQueueFamilyQueryResultStatusPropertiesKHR *query_props; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./libavutil/vulkan.h:278:5: error: unknown type name ‘VkQueueFamilyVideoPropertiesKHR’ 278 | VkQueueFamilyVideoPropertiesKHR *video_props; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./libavutil/vulkan.h:282:5: error: unknown type name ‘VkCooperativeMatrixPropertiesKHR’ 282 | VkCooperativeMatrixPropertiesKHR *coop_mat_props; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./libavutil/vulkan.h:285:5: error: unknown type name ‘VkPhysicalDeviceShaderAtomicFloatFeaturesEXT’ 285 | VkPhysicalDeviceShaderAtomicFloatFeaturesEXT atomic_float_feats; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./libavutil/vulkan.h:433:33: error: unknown type name ‘VkPipelineStageFlagBits2’; did you mean ‘VkPipelineStageFlagBits’? 433 | VkPipelineStageFlagBits2 stage, | ^~~~~~~~~~~~~~~~~~~~~~~~ | VkPipelineStageFlagBits ./libavutil/vulkan.h:436:30: error: unknown type name ‘VkPipelineStageFlagBits2’; did you mean ‘VkPipelineStageFlagBits’? 436 | VkPipelineStageFlagBits2 wait_stage, | ^~~~~~~~~~~~~~~~~~~~~~~~ | VkPipelineStageFlagBits ./libavutil/vulkan.h:437:30: error: unknown type name ‘VkPipelineStageFlagBits2’; did you mean ‘VkPipelineStageFlagBits’? 437 | VkPipelineStageFlagBits2 signal_stage); | ^~~~~~~~~~~~~~~~~~~~~~~~ | VkPipelineStageFlagBits ./libavutil/vulkan.h:439:30: error: unknown type name ‘VkImageMemoryBarrier2’; did you mean ‘VkImageMemoryBarrier’? 439 | VkImageMemoryBarrier2 *bar, uint32_t *nb_img_bar); | ^~~~~~~~~~~~~~~~~~~~~ | VkImageMemoryBarrier ./libavutil/vulkan.h:453:40: error: unknown type name ‘VkImageMemoryBarrier2’; did you mean ‘VkImageMemoryBarrier’? 453 | AVFrame *pic, VkImageMemoryBarrier2 *bar, int *nb_bar, | ^~~~~~~~~~~~~~~~~~~~~ | VkImageMemoryBarrier make: *** [ffbuild/common.mak:81: libavcodec/vc2enc_common.o] Error 1 make: *** Waiting for unfinished jobs.... In file included from ./libavutil/vulkan_functions.h:26, from ./libavutil/vulkan.h:30, from libavcodec/vc2enc_common.h:31, from libavcodec/vc2enc.c:32: ./libavutil/hwcontext_vulkan.h:44:5: error: unknown type name ‘VkVideoCodecOperationFlagBitsKHR’ 44 | VkVideoCodecOperationFlagBitsKHR video_caps; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from ./libavutil/vulkan.h:30, from libavcodec/vc2enc_common.h:31, from libavcodec/vc2enc.c:32: ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetPhysicalDeviceVideoCapabilitiesKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:85:5: note: in expansion of macro ‘PFN_DEF’ 85 | MACRO(1, 0, FF_VK_EXT_VIDEO_QUEUE, GetPhysicalDeviceVideoCapabilitiesKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetPhysicalDeviceVideoFormatPropertiesKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:86:5: note: in expansion of macro ‘PFN_DEF’ 86 | MACRO(1, 0, FF_VK_EXT_VIDEO_QUEUE, GetPhysicalDeviceVideoFormatPropertiesKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetPhysicalDeviceCooperativeMatrixPropertiesKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:99:5: note: in expansion of macro ‘PFN_DEF’ 99 | MACRO(1, 0, FF_VK_EXT_COOP_MATRIX, GetPhysicalDeviceCooperativeMatrixPropertiesKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkQueueSubmit2’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:115:5: note: in expansion of macro ‘PFN_DEF’ 115 | MACRO(1, 1, FF_VK_EXT_NO_FLAG, QueueSubmit2) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetDescriptorSetLayoutSizeEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:178:5: note: in expansion of macro ‘PFN_DEF’ 178 | MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, GetDescriptorSetLayoutSizeEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetDescriptorSetLayoutBindingOffsetEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:179:5: note: in expansion of macro ‘PFN_DEF’ 179 | MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, GetDescriptorSetLayoutBindingOffsetEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetDescriptorEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:180:5: note: in expansion of macro ‘PFN_DEF’ 180 | MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, GetDescriptorEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdBindDescriptorBuffersEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:181:5: note: in expansion of macro ‘PFN_DEF’ 181 | MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, CmdBindDescriptorBuffersEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdSetDescriptorBufferOffsetsEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:182:5: note: in expansion of macro ‘PFN_DEF’ 182 | MACRO(1, 1, FF_VK_EXT_DESCRIPTOR_BUFFER, CmdSetDescriptorBufferOffsetsEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdPipelineBarrier2’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:203:5: note: in expansion of macro ‘PFN_DEF’ 203 | MACRO(1, 1, FF_VK_EXT_NO_FLAG, CmdPipelineBarrier2) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCreateVideoSessionKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:206:5: note: in expansion of macro ‘PFN_DEF’ 206 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CreateVideoSessionKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCreateVideoSessionParametersKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:207:5: note: in expansion of macro ‘PFN_DEF’ 207 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CreateVideoSessionParametersKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetVideoSessionMemoryRequirementsKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:208:5: note: in expansion of macro ‘PFN_DEF’ 208 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, GetVideoSessionMemoryRequirementsKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkBindVideoSessionMemoryKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:209:5: note: in expansion of macro ‘PFN_DEF’ 209 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, BindVideoSessionMemoryKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdBeginVideoCodingKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:210:5: note: in expansion of macro ‘PFN_DEF’ 210 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CmdBeginVideoCodingKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdControlVideoCodingKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:211:5: note: in expansion of macro ‘PFN_DEF’ 211 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CmdControlVideoCodingKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdEndVideoCodingKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:212:5: note: in expansion of macro ‘PFN_DEF’ 212 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, CmdEndVideoCodingKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkDestroyVideoSessionParametersKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:213:5: note: in expansion of macro ‘PFN_DEF’ 213 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, DestroyVideoSessionParametersKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkDestroyVideoSessionKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:214:5: note: in expansion of macro ‘PFN_DEF’ 214 | MACRO(1, 1, FF_VK_EXT_VIDEO_QUEUE, DestroyVideoSessionKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdDecodeVideoKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:217:5: note: in expansion of macro ‘PFN_DEF’ 217 | MACRO(1, 1, FF_VK_EXT_VIDEO_DECODE_QUEUE, CmdDecodeVideoKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdEncodeVideoKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:220:5: note: in expansion of macro ‘PFN_DEF’ 220 | MACRO(1, 1, FF_VK_EXT_VIDEO_ENCODE_QUEUE, CmdEncodeVideoKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetEncodedVideoSessionParametersKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:221:5: note: in expansion of macro ‘PFN_DEF’ 221 | MACRO(1, 1, FF_VK_EXT_VIDEO_ENCODE_QUEUE, GetEncodedVideoSessionParametersKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:222:5: note: in expansion of macro ‘PFN_DEF’ 222 | MACRO(1, 0, FF_VK_EXT_VIDEO_ENCODE_QUEUE, GetPhysicalDeviceVideoEncodeQualityLevelPropertiesKHR) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkBindOpticalFlowSessionImageNV’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:239:5: note: in expansion of macro ‘PFN_DEF’ 239 | MACRO(1, 1, FF_VK_EXT_OPTICAL_FLOW, BindOpticalFlowSessionImageNV) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdOpticalFlowExecuteNV’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:240:5: note: in expansion of macro ‘PFN_DEF’ 240 | MACRO(1, 1, FF_VK_EXT_OPTICAL_FLOW, CmdOpticalFlowExecuteNV) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCreateOpticalFlowSessionNV’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:241:5: note: in expansion of macro ‘PFN_DEF’ 241 | MACRO(1, 1, FF_VK_EXT_OPTICAL_FLOW, CreateOpticalFlowSessionNV) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkDestroyOpticalFlowSessionNV’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:242:5: note: in expansion of macro ‘PFN_DEF’ 242 | MACRO(1, 1, FF_VK_EXT_OPTICAL_FLOW, DestroyOpticalFlowSessionNV) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkGetPhysicalDeviceOpticalFlowImageFormatsNV’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:243:5: note: in expansion of macro ‘PFN_DEF’ 243 | MACRO(1, 0, FF_VK_EXT_OPTICAL_FLOW, GetPhysicalDeviceOpticalFlowImageFormatsNV)\ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCmdBindShadersEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:248:5: note: in expansion of macro ‘PFN_DEF’ 248 | MACRO(1, 1, FF_VK_EXT_SHADER_OBJECT, CmdBindShadersEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkCreateShadersEXT’ 260 | PFN_vk##name name; | ^~~~~~ ./libavutil/vulkan_functions.h:249:5: note: in expansion of macro ‘PFN_DEF’ 249 | MACRO(1, 1, FF_VK_EXT_SHADER_OBJECT, CreateShadersEXT) \ | ^~~~~ ./libavutil/vulkan_functions.h:264:5: note: in expansion of macro ‘FN_LIST’ 264 | FN_LIST(PFN_DEF) | ^~~~~~~ ./libavutil/vulkan_functions.h:260:5: error: unknown type name ‘PFN_vkDestroyShaderEXT’ ... [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Everything should be made as simple as possible, but not simpler. -- Albert Einstein
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".