From: Filip Kastl Date: Fri, 26 Jul 2024 14:39:42 +0000 I based the package patch on this bug report (there's a patch in the comments) https://bugs.gentoo.org/936433 and on these patches https://ffmpeg.org/pipermail/ffmpeg-devel/2023-December/318685.html http://git.videolan.org/?p=ffmpeg.git;a=commitdiff;h=5860a966d2fffbbda1af0014f0a4d37a21c4f2ca Index: ffmpeg-6.1.1/libavfilter/vsrc_testsrc_vulkan.c =================================================================== --- ffmpeg-6.1.1.orig/libavfilter/vsrc_testsrc_vulkan.c +++ ffmpeg-6.1.1/libavfilter/vsrc_testsrc_vulkan.c @@ -231,7 +231,7 @@ static int testsrc_vulkan_activate(AVFil return AVERROR(ENOMEM); err = ff_vk_filter_process_simple(&s->vkctx, &s->e, &s->pl, s->picref, NULL, - NULL, &s->opts, sizeof(s->opts)); + VK_NULL_HANDLE, &s->opts, sizeof(s->opts)); if (err < 0) return err; } @@ -250,7 +250,7 @@ static int testsrc_vulkan_activate(AVFil frame->sample_aspect_ratio = s->sar; if (!s->draw_once) { err = ff_vk_filter_process_simple(&s->vkctx, &s->e, &s->pl, frame, NULL, - NULL, &s->opts, sizeof(s->opts)); + VK_NULL_HANDLE, &s->opts, sizeof(s->opts)); if (err < 0) { av_frame_free(&frame); return err; Index: ffmpeg-6.1.1/libavutil/hwcontext_vaapi.c =================================================================== --- ffmpeg-6.1.1.orig/libavutil/hwcontext_vaapi.c +++ ffmpeg-6.1.1/libavutil/hwcontext_vaapi.c @@ -1086,7 +1086,7 @@ static int vaapi_map_from_drm(AVHWFrames int err, i, j; #if !VA_CHECK_VERSION(1, 1, 0) - unsigned long buffer_handle; + uintptr_t buffer_handle; VASurfaceAttribExternalBuffers buffer_desc; VASurfaceAttrib attrs[2] = { { @@ -1203,7 +1203,7 @@ static int vaapi_map_from_drm(AVHWFrames if (!use_prime2 || vas != VA_STATUS_SUCCESS) { int k; - unsigned long buffer_handle; + uintptr_t buffer_handle; VASurfaceAttribExternalBuffers buffer_desc; VASurfaceAttrib buffer_attrs[2] = { { Index: ffmpeg-6.1.1/libavcodec/vulkan_av1.c =================================================================== --- ffmpeg-6.1.1.orig/libavcodec/vulkan_av1.c +++ ffmpeg-6.1.1/libavcodec/vulkan_av1.c @@ -180,7 +180,7 @@ static int vk_av1_create_params(AVCodecC .sType = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR, .pNext = &av1_params, .videoSession = ctx->common.session, - .videoSessionParametersTemplate = NULL, + .videoSessionParametersTemplate = VK_NULL_HANDLE, }; err = ff_vk_decode_create_params(buf, avctx, ctx, &session_params_create); Index: ffmpeg-6.1.1/libavcodec/vulkan_decode.c =================================================================== --- ffmpeg-6.1.1.orig/libavcodec/vulkan_decode.c +++ ffmpeg-6.1.1/libavcodec/vulkan_decode.c @@ -187,10 +187,10 @@ int ff_vk_decode_prepare_frame(FFVulkanD if (vkpic->img_view_ref) return 0; - vkpic->dpb_frame = NULL; - vkpic->img_view_ref = NULL; - vkpic->img_view_out = NULL; - vkpic->img_view_dest = NULL; + vkpic->dpb_frame = VK_NULL_HANDLE; + vkpic->img_view_ref = VK_NULL_HANDLE; + vkpic->img_view_out = VK_NULL_HANDLE; + vkpic->img_view_dest = VK_NULL_HANDLE; vkpic->destroy_image_view = vk->DestroyImageView; vkpic->wait_semaphores = vk->WaitSemaphores; Index: ffmpeg-6.1.1/libavcodec/vulkan_h264.c =================================================================== --- ffmpeg-6.1.1.orig/libavcodec/vulkan_h264.c +++ ffmpeg-6.1.1/libavcodec/vulkan_h264.c @@ -315,7 +315,7 @@ static int vk_h264_create_params(AVCodec .sType = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR, .pNext = &h264_params, .videoSession = ctx->common.session, - .videoSessionParametersTemplate = NULL, + .videoSessionParametersTemplate = VK_NULL_HANDLE, }; /* SPS list */ Index: ffmpeg-6.1.1/libavcodec/vulkan_hevc.c =================================================================== --- ffmpeg-6.1.1.orig/libavcodec/vulkan_hevc.c +++ ffmpeg-6.1.1/libavcodec/vulkan_hevc.c @@ -653,7 +653,7 @@ static int vk_hevc_create_params(AVCodec .sType = VK_STRUCTURE_TYPE_VIDEO_SESSION_PARAMETERS_CREATE_INFO_KHR, .pNext = &h265_params, .videoSession = ctx->common.session, - .videoSessionParametersTemplate = NULL, + .videoSessionParametersTemplate = VK_NULL_HANDLE, }; HEVCHeaderSet *hdr; Index: ffmpeg-6.1.1/libavcodec/vulkan_video.c =================================================================== --- ffmpeg-6.1.1.orig/libavcodec/vulkan_video.c +++ ffmpeg-6.1.1/libavcodec/vulkan_video.c @@ -287,7 +287,7 @@ av_cold void ff_vk_video_common_uninit(F if (common->session) { vk->DestroyVideoSessionKHR(s->hwctx->act_dev, common->session, s->hwctx->alloc); - common->session = NULL; + common->session = VK_NULL_HANDLE; } if (common->nb_mem && common->mem)