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 [email protected] https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email [email protected] with subject "unsubscribe".
