[packages/ffmpeg] up to 6.1.2
atler
atler at pld-linux.org
Sat Aug 3 23:45:56 CEST 2024
commit 7b009d967bbf09a6646a4929a869f42e56c6887b
Author: Jan Palus <atler 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 <timo at 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 <timo at 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 <airlied at 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 <airlied at 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 <dev at 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 <sam at 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 <sam at 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
More information about the pld-cvs-commit
mailing list