commit 7b009d967bbf09a6646a4929a869f42e56c6887b Author: Jan Palus <at...@pld-linux.org> Date: Sat Aug 3 23:45:18 2024 +0200
up to 6.1.2 ffmpeg-nvenc.patch | 107 ------------------------------ ffmpeg-vulkan1.3.280.patch | 20 +++--- ffmpeg.spec | 12 ++-- gcc14.patch | 162 --------------------------------------------- 4 files changed, 14 insertions(+), 287 deletions(-) --- diff --git a/ffmpeg.spec b/ffmpeg.spec index d29fe66..5424015 100644 --- a/ffmpeg.spec +++ b/ffmpeg.spec @@ -132,8 +132,8 @@ Summary: FFmpeg - a very fast video and audio converter Summary(pl.UTF-8): FFmpeg - szybki konwerter audio/wideo Name: ffmpeg # NOTE: 7.0 prepared on DEVEL-7 branch, but other software is not ready (e.g. xine-lib 1.2.13, gstreamer-libav 1.24.2) -Version: 6.1.1 -Release: 5 +Version: 6.1.2 +Release: 1 # LGPL or GPL, chosen at configure time (GPL version is more featured) # GPL: frei0r libcdio libdavs2 rubberband vidstab x264 x265 xavs xavs2 xvid # v3 (allows *GPLv3 or Apache-licensed libs): gmp lensfun opencore-amr vmaf vo-*enc rkmpp @@ -141,14 +141,12 @@ Release: 5 License: GPL v3+ with LGPL v3+ parts Group: Applications/Multimedia Source0: https://ffmpeg.org/releases/%{name}-%{version}.tar.xz -# Source0-md5: 341d719415b7f95bb59f5016f2864ac6 +# Source0-md5: 42f9bb3aacdd5c5907d1af1811738c00 Patch0: %{name}-omx-libnames.patch Patch1: %{name}-atadenoise.patch Patch2: opencv4.patch Patch3: v4l2-request-hwdec.patch -Patch4: %{name}-vulkan1.3.280.patch -Patch5: %{name}-nvenc.patch -Patch6: gcc14.patch +Patch4: ffmpeg-vulkan1.3.280.patch URL: https://ffmpeg.org/ %{?with_avisynth:BuildRequires: AviSynthPlus-devel >= 3.7.3} %{?with_decklink:BuildRequires: Blackmagic_DeckLink_SDK >= 10.11} @@ -576,8 +574,6 @@ Dokumentacja pakietu FFmpeg w formacie HTML. %patch3 -p1 %endif %patch4 -p1 -%patch5 -p1 -%patch6 -p1 # package the grep result for mplayer, the result formatted as ./mplayer/configure cat <<EOF > ffmpeg-avconfig diff --git a/ffmpeg-nvenc.patch b/ffmpeg-nvenc.patch deleted file mode 100644 index c92cd8b..0000000 --- a/ffmpeg-nvenc.patch +++ /dev/null @@ -1,107 +0,0 @@ -From 43b417d516b0fabbec1f02120d948f636b8a018e Mon Sep 17 00:00:00 2001 -From: Timo Rothenpieler <t...@rothenpieler.org> -Date: Sun, 31 Mar 2024 18:25:15 +0200 -Subject: [PATCH] avcodec/nvenc: stop using long deprecated format specifiers - ---- - libavcodec/nvenc.c | 6 +++--- - 1 file changed, 3 insertions(+), 3 deletions(-) - -diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c -index fd73af2a32..0cb3b87c67 100644 ---- a/libavcodec/nvenc.c -+++ b/libavcodec/nvenc.c -@@ -1689,15 +1689,15 @@ static NV_ENC_BUFFER_FORMAT nvenc_map_buffer_format(enum AVPixelFormat pix_fmt) - { - switch (pix_fmt) { - case AV_PIX_FMT_YUV420P: -- return NV_ENC_BUFFER_FORMAT_YV12_PL; -+ return NV_ENC_BUFFER_FORMAT_YV12; - case AV_PIX_FMT_NV12: -- return NV_ENC_BUFFER_FORMAT_NV12_PL; -+ return NV_ENC_BUFFER_FORMAT_NV12; - case AV_PIX_FMT_P010: - case AV_PIX_FMT_P016: - return NV_ENC_BUFFER_FORMAT_YUV420_10BIT; - case AV_PIX_FMT_GBRP: - case AV_PIX_FMT_YUV444P: -- return NV_ENC_BUFFER_FORMAT_YUV444_PL; -+ return NV_ENC_BUFFER_FORMAT_YUV444; - case AV_PIX_FMT_GBRP16: - case AV_PIX_FMT_YUV444P16: - return NV_ENC_BUFFER_FORMAT_YUV444_10BIT; --- -2.25.1 - -From 06c2a2c425f22e7dba5cad909737a631cc676e3f Mon Sep 17 00:00:00 2001 -From: Timo Rothenpieler <t...@rothenpieler.org> -Date: Sun, 31 Mar 2024 18:39:49 +0200 -Subject: [PATCH] avcodec/nvenc: support SDK 12.2 bit depth API - ---- - libavcodec/nvenc.c | 15 +++++++++++++++ - libavcodec/nvenc.h | 5 +++++ - 2 files changed, 20 insertions(+) - -diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c -index 0cb3b87c67..8327496937 100644 ---- a/libavcodec/nvenc.c -+++ b/libavcodec/nvenc.c -@@ -1255,6 +1255,11 @@ static av_cold int nvenc_setup_h264_config(AVCodecContext *avctx) - - h264->level = ctx->level; - -+#ifdef NVENC_HAVE_NEW_BIT_DEPTH_API -+ h264->inputBitDepth = h264->outputBitDepth = -+ IS_10BIT(ctx->data_pix_fmt) ? NV_ENC_BIT_DEPTH_10 : NV_ENC_BIT_DEPTH_8; -+#endif -+ - if (ctx->coder >= 0) - h264->entropyCodingMode = ctx->coder; - -@@ -1370,7 +1375,12 @@ static av_cold int nvenc_setup_hevc_config(AVCodecContext *avctx) - - hevc->chromaFormatIDC = IS_YUV444(ctx->data_pix_fmt) ? 3 : 1; - -+#ifdef NVENC_HAVE_NEW_BIT_DEPTH_API -+ hevc->inputBitDepth = hevc->outputBitDepth = -+ IS_10BIT(ctx->data_pix_fmt) ? NV_ENC_BIT_DEPTH_10 : NV_ENC_BIT_DEPTH_8; -+#else - hevc->pixelBitDepthMinus8 = IS_10BIT(ctx->data_pix_fmt) ? 2 : 0; -+#endif - - hevc->level = ctx->level; - -@@ -1455,8 +1465,13 @@ static av_cold int nvenc_setup_av1_config(AVCodecContext *avctx) - - av1->chromaFormatIDC = IS_YUV444(ctx->data_pix_fmt) ? 3 : 1; - -+#ifdef NVENC_HAVE_NEW_BIT_DEPTH_API -+ av1->inputBitDepth = IS_10BIT(ctx->data_pix_fmt) ? NV_ENC_BIT_DEPTH_10 : NV_ENC_BIT_DEPTH_8; -+ av1->outputBitDepth = (IS_10BIT(ctx->data_pix_fmt) || ctx->highbitdepth) ? NV_ENC_BIT_DEPTH_10 : NV_ENC_BIT_DEPTH_8; -+#else - av1->inputPixelBitDepthMinus8 = IS_10BIT(ctx->data_pix_fmt) ? 2 : 0; - av1->pixelBitDepthMinus8 = (IS_10BIT(ctx->data_pix_fmt) || ctx->highbitdepth) ? 2 : 0; -+#endif - - if (ctx->b_ref_mode >= 0) - av1->useBFramesAsRef = ctx->b_ref_mode; -diff --git a/libavcodec/nvenc.h b/libavcodec/nvenc.h -index 48cdfc58aa..d99d8a0d76 100644 ---- a/libavcodec/nvenc.h -+++ b/libavcodec/nvenc.h -@@ -83,6 +83,11 @@ typedef void ID3D11Device; - #define NVENC_NO_DEPRECATED_RC - #endif - -+// SDK 12.2 compile time feature checks -+#if NVENCAPI_CHECK_VERSION(12, 2) -+#define NVENC_HAVE_NEW_BIT_DEPTH_API -+#endif -+ - typedef struct NvencSurface - { - NV_ENC_INPUT_PTR input_surface; --- -2.25.1 - diff --git a/ffmpeg-vulkan1.3.280.patch b/ffmpeg-vulkan1.3.280.patch index 096ac37..b72174d 100644 --- a/ffmpeg-vulkan1.3.280.patch +++ b/ffmpeg-vulkan1.3.280.patch @@ -199,7 +199,7 @@ Co-Authored-by: Dave Airlie <airl...@redhat.com> aacenc_quantization.h \ aacenc_quantization_misc.h \ bitstream_template.h \ -- vulkan_video_codec_av1std.h \ +- vulkan_video_codec_av1std_mesa.h \ $(ARCH)/vpx_arith.h \ SKIPHEADERS-$(CONFIG_AMF) += amfenc.h @@ -207,7 +207,7 @@ Co-Authored-by: Dave Airlie <airl...@redhat.com> SKIPHEADERS-$(CONFIG_VAAPI) += vaapi_decode.h vaapi_hevc.h vaapi_encode.h SKIPHEADERS-$(CONFIG_VDPAU) += vdpau.h vdpau_internal.h SKIPHEADERS-$(CONFIG_VIDEOTOOLBOX) += videotoolbox.h vt_internal.h --SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode.h +-SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h vulkan_video_codec_av1std_decode_mesa.h +SKIPHEADERS-$(CONFIG_VULKAN) += vulkan.h vulkan_video.h vulkan_decode.h SKIPHEADERS-$(CONFIG_V4L2_M2M) += v4l2_buffers.h v4l2_context.h v4l2_m2m.h SKIPHEADERS-$(CONFIG_ZLIB) += zlib_wrapper.h @@ -1018,15 +1018,15 @@ index a43e328d73..7ba8b239cb 100644 #include "vulkan.h" #include <vk_video/vulkan_video_codecs_common.h> --#include "vulkan_video_codec_av1std.h" --#include "vulkan_video_codec_av1std_decode.h" +-#include "vulkan_video_codec_av1std_mesa.h" +-#include "vulkan_video_codec_av1std_decode_mesa.h" #define CODEC_VER_MAJ(ver) (ver >> 22) #define CODEC_VER_MIN(ver) ((ver >> 12) & ((1 << 10) - 1)) diff --git a/libavcodec/vulkan_video_codec_av1std_decode.h b/libavcodec/vulkan_video_codec_av1std_decode.h deleted file mode 100644 index e2f37b4e6e..0000000000 ---- a/libavcodec/vulkan_video_codec_av1std_decode.h +--- a/libavcodec/vulkan_video_codec_av1std_decode_mesa.h +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 2023 Lynne @@ -1045,8 +1045,8 @@ index e2f37b4e6e..0000000000 - * limitations under the License. - */ - --#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ --#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_H_ 1 +-#ifndef VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_ +-#define VULKAN_VIDEO_CODEC_AV1STD_DECODE_MESA_H_ 1 - -/* -** This header is NOT YET generated from the Khronos Vulkan XML API Registry. @@ -1068,7 +1068,7 @@ index e2f37b4e6e..0000000000 diff --git a/libavcodec/vulkan_video_codec_av1std.h b/libavcodec/vulkan_video_codec_av1std.h deleted file mode 100644 index c91589eee2..0000000000 ---- a/libavcodec/vulkan_video_codec_av1std.h +--- a/libavcodec/vulkan_video_codec_av1std_mesa.h +++ /dev/null @@ -1,403 +0,0 @@ -/* Copyright 2023 Lynne @@ -1087,8 +1087,8 @@ index c91589eee2..0000000000 - * limitations under the License. - */ - --#ifndef VULKAN_VIDEO_CODEC_AV1STD_H_ --#define VULKAN_VIDEO_CODEC_AV1STD_H_ 1 +-#ifndef VULKAN_VIDEO_CODEC_AV1STD_MESA_H_ +-#define VULKAN_VIDEO_CODEC_AV1STD_MESA_H_ 1 - -/* -** This header is NOT YET generated from the Khronos Vulkan XML API Registry. diff --git a/gcc14.patch b/gcc14.patch deleted file mode 100644 index 9feedf9..0000000 --- a/gcc14.patch +++ /dev/null @@ -1,162 +0,0 @@ ---- ffmpeg-6.1.1/libavutil/hwcontext_vaapi.c.orig 2023-11-11 01:25:17.000000000 +0100 -+++ ffmpeg-6.1.1/libavutil/hwcontext_vaapi.c 2024-05-30 13:40:31.574621109 +0200 -@@ -1086,7 +1086,7 @@ - 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 @@ - - if (!use_prime2 || vas != VA_STATUS_SUCCESS) { - int k; -- unsigned long buffer_handle; -+ uintptr_t buffer_handle; - VASurfaceAttribExternalBuffers buffer_desc; - VASurfaceAttrib buffer_attrs[2] = { - { -From 5860a966d2fffbbda1af0014f0a4d37a21c4f2ca Mon Sep 17 00:00:00 2001 -From: Lynne <d...@lynne.ee> -Date: Wed, 31 Jan 2024 14:15:04 +0100 -Subject: [PATCH 1/1] lavfi/vsrc_testsrc_vulkan: fix -Wint-conversion - -While VK_NULL_HANDLE is equivalent to NULL on 64-bit platforms, the same is not -true across all platforms. - -Fixes building with gcc-14. ---- - libavfilter/vsrc_testsrc_vulkan.c | 4 ++-- - 1 file changed, 2 insertions(+), 2 deletions(-) - -diff --git a/libavfilter/vsrc_testsrc_vulkan.c b/libavfilter/vsrc_testsrc_vulkan.c -index 8761c21dfd..1720bfac5e 100644 ---- a/libavfilter/vsrc_testsrc_vulkan.c -+++ b/libavfilter/vsrc_testsrc_vulkan.c -@@ -231,7 +231,7 @@ static int testsrc_vulkan_activate(AVFilterContext *ctx) - 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(AVFilterContext *ctx) - 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; --- -2.25.1 - -From 2f24f10d9cf34ddce274496c4daa73f732d370c1 Mon Sep 17 00:00:00 2001 -From: Sam James <s...@gentoo.org> -Date: Wed, 20 Dec 2023 12:32:43 +0000 -Subject: [PATCH] libavcodec: fix -Wint-conversion in vulkan -MIME-Version: 1.0 -Content-Type: text/plain; charset=utf8 -Content-Transfer-Encoding: 8bit - -FIx warnings (soon to be errors in GCC 14, already so in Clang 15): -``` -src/libavcodec/vulkan_av1.c: In function âvk_av1_create_paramsâ: -src/libavcodec/vulkan_av1.c:183:43: error: initialization of âlong long unsigned intâ from âvoid *â makes integer from pointer without a cast [-Wint-conversion] - 183 | .videoSessionParametersTemplate = NULL, - | ^~~~ -src/libavcodec/vulkan_av1.c:183:43: note: (near initialization for â(anonymous).videoSessionParametersTemplateâ) -``` - -Use Vulkan's VK_NULL_HANDLE instead of bare NULL. - -Fix Trac ticket #10724. - -Was reported downstream in Gentoo at https://bugs.gentoo.org/919067. - -Signed-off-by: Sam James <s...@gentoo.org> ---- - libavcodec/vulkan_av1.c | 2 +- - libavcodec/vulkan_decode.c | 6 +++--- - libavcodec/vulkan_h264.c | 2 +- - libavcodec/vulkan_hevc.c | 2 +- - libavcodec/vulkan_video.c | 2 +- - 5 files changed, 7 insertions(+), 7 deletions(-) - -diff --git a/libavcodec/vulkan_av1.c b/libavcodec/vulkan_av1.c -index 4998bf7ebc..9730e4b08d 100644 ---- a/libavcodec/vulkan_av1.c -+++ b/libavcodec/vulkan_av1.c -@@ -180,7 +180,7 @@ static int vk_av1_create_params(AVCodecContext *avctx, AVBufferRef **buf) - .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); -diff --git a/libavcodec/vulkan_decode.c b/libavcodec/vulkan_decode.c -index a89d84fcaa..fdbcbb450a 100644 ---- a/libavcodec/vulkan_decode.c -+++ b/libavcodec/vulkan_decode.c -@@ -188,9 +188,9 @@ int ff_vk_decode_prepare_frame(FFVulkanDecodeContext *dec, AVFrame *pic, - return 0; - - vkpic->dpb_frame = NULL; -- vkpic->img_view_ref = NULL; -- vkpic->img_view_out = NULL; -- vkpic->img_view_dest = NULL; -+ 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; -diff --git a/libavcodec/vulkan_h264.c b/libavcodec/vulkan_h264.c -index e727aafb16..39c123ddca 100644 ---- a/libavcodec/vulkan_h264.c -+++ b/libavcodec/vulkan_h264.c -@@ -315,7 +315,7 @@ static int vk_h264_create_params(AVCodecContext *avctx, AVBufferRef **buf) - .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 */ -diff --git a/libavcodec/vulkan_hevc.c b/libavcodec/vulkan_hevc.c -index 99fdcf3b45..033172cbd6 100644 ---- a/libavcodec/vulkan_hevc.c -+++ b/libavcodec/vulkan_hevc.c -@@ -653,7 +653,7 @@ static int vk_hevc_create_params(AVCodecContext *avctx, AVBufferRef **buf) - .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; -diff --git a/libavcodec/vulkan_video.c b/libavcodec/vulkan_video.c -index 5fa8292b28..fb20315db4 100644 ---- a/libavcodec/vulkan_video.c -+++ b/libavcodec/vulkan_video.c -@@ -287,7 +287,7 @@ av_cold void ff_vk_video_common_uninit(FFVulkanContext *s, - 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) --- -2.25.1 - ================================================================ ---- gitweb: http://git.pld-linux.org/gitweb.cgi/packages/ffmpeg.git/commitdiff/7b009d967bbf09a6646a4929a869f42e56c6887b _______________________________________________ pld-cvs-commit mailing list pld-cvs-commit@lists.pld-linux.org http://lists.pld-linux.org/mailman/listinfo/pld-cvs-commit