From 96376336150297bce465f5db8b9bba8710e8a51dd084969f0264f479889286ec Mon Sep 17 00:00:00 2001 From: Jan Engelhardt Date: Sat, 27 Jul 2024 04:01:14 +0000 Subject: [PATCH] merge SR 1189807 manually (resolve conflicts) OBS-URL: https://build.opensuse.org/package/show/multimedia:libs/ffmpeg-6?expand=0&rev=38 --- ffmpeg-6.changes | 6 +++ ffmpeg-6.spec | 1 + ffmpeg-c99.patch | 126 +++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 133 insertions(+) create mode 100644 ffmpeg-c99.patch diff --git a/ffmpeg-6.changes b/ffmpeg-6.changes index e0712f6..e02073f 100644 --- a/ffmpeg-6.changes +++ b/ffmpeg-6.changes @@ -1,3 +1,9 @@ +------------------------------------------------------------------- +Fri Jul 26 14:28:59 UTC 2024 - Filip Kastl + +- Add ffmpeg-c99.patch so that the package conforms to the C99 + standard and builds on i586 with GCC 14. + ------------------------------------------------------------------- Tue Jul 2 12:26:28 UTC 2024 - Cliff Zhao diff --git a/ffmpeg-6.spec b/ffmpeg-6.spec index 924c75e..9897da8 100644 --- a/ffmpeg-6.spec +++ b/ffmpeg-6.spec @@ -127,6 +127,7 @@ Patch95: ffmpeg-6-CVE-2024-32228-shim-f50382cb.patch Patch96: ffmpeg-6-CVE-2024-32228-shim-5d7f234e.patch Patch97: ffmpeg-6-CVE-2024-32228.patch Patch98: ffmpeg-6-CVE-2024-32230.patch +Patch99: ffmpeg-c99.patch BuildRequires: ladspa-devel BuildRequires: libgsm-devel BuildRequires: libmp3lame-devel >= 3.98.3 diff --git a/ffmpeg-c99.patch b/ffmpeg-c99.patch new file mode 100644 index 0000000..cc48ed7 --- /dev/null +++ b/ffmpeg-c99.patch @@ -0,0 +1,126 @@ +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)