Compare commits

...

12 Commits

Author SHA1 Message Date
David Abdurachmanov 1c854a9a22
Merge remote-tracking branch 'up/main' into main-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-06-05 07:55:11 +03:00
Robert-André Mauchin 55ef1c245c Rebuild for svt-av1 2.1.0 2024-05-29 18:38:55 +02:00
Robert-André Mauchin 175f57600b Rebuild for svt-av1 2.1.0 2024-05-29 18:34:36 +02:00
David Abdurachmanov c933ba5476
Bootstrap (riscv64)
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-05-23 12:48:46 +03:00
David Abdurachmanov 3c3e3f00ed
Merge remote-tracking branch 'up/main' into main-riscv64
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-05-23 12:47:10 +03:00
Simone Caronni 16078d1d91 Rebuild for updated VapourSynth 2024-05-22 09:20:16 +02:00
Dominik Mierzejewski 16bba3567b Backport a fix to build with Vulkan headers >= 1.3.280.0 2024-04-27 23:06:08 +02:00
Kalev Lember db2acb3681 Stop using bundled openh264 headers in F40+ and build against noopenh264
Now that we have noopenh264 stub package in Fedora, we can stop using
bundled openh264 headers and build against the system package instead.
2024-04-23 16:52:11 +02:00
David Abdurachmanov d2a2b7eb6f
Rebuilt for Fedora/RISCV (riscv64); adding .rvreX to Release:
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-03-08 09:22:07 +02:00
David Abdurachmanov 6599a4621d
Sync with upstream branch
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2024-03-08 09:22:01 +02:00
David Abdurachmanov 41ac0cebfd
Rebuilt for Fedora/RISCV (riscv64); adding .rvreX to Release:
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-11-28 07:10:28 +02:00
David Abdurachmanov 49771f7e0b
Rebuilt for Fedora/RISCV (riscv64); adding .rvreX to Release:
Signed-off-by: David Abdurachmanov <davidlt@rivosinc.com>
2023-11-17 16:48:28 +02:00
2 changed files with 128 additions and 3 deletions

99
ffmpeg-vulkan.patch Normal file
View File

@ -0,0 +1,99 @@
From: Jan Ekström <jeebjp@gmail.com>
Date: Wed, 14 Feb 2024 20:40:54 +0000 (+0200)
Subject: {avcodec,tests}: rename the bundled Mesa AV1 vulkan video headers
X-Git-Url: http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/fef22c87ada4517441701e6e61e062c9f4399c8e
{avcodec,tests}: rename the bundled Mesa AV1 vulkan video headers
This together with adjusting the inclusion define allows for the
build to not fail with latest Vulkan-Headers that contain the
stabilized Vulkan AV1 decoding definitions.
Compilation fails currently as the AV1 header is getting included
via hwcontext_vulkan.h -> <vulkan/vulkan.h> -> vulkan_core.h, which
finally includes vk_video/vulkan_video_codec_av1std.h and the decode
header, leading to the bundled header to never defining anything
due to the inclusion define being the same.
This fix is imperfect, as it leads to additional re-definition
warnings for things such as
VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION. , but it is
not clear how to otherwise have the bundled version trump the
actually standardized one for a short-term compilation fix.
(cherry picked from commit e06ce6d2b45edac4a2df04f304e18d4727417d24)
---
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
index ec57e53e30..eb25707ef5 100644
--- a/libavcodec/Makefile
+++ b/libavcodec/Makefile
@@ -1284,7 +1284,7 @@ SKIPHEADERS += %_tablegen.h \
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
@@ -1306,7 +1306,7 @@ SKIPHEADERS-$(CONFIG_XVMC) += xvmc.h
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_V4L2_M2M) += v4l2_buffers.h v4l2_context.h v4l2_m2m.h
SKIPHEADERS-$(CONFIG_ZLIB) += zlib_wrapper.h
diff --git a/libavcodec/vulkan_video.h b/libavcodec/vulkan_video.h
index b28e3fe0bd..51f44dd543 100644
--- a/libavcodec/vulkan_video.h
+++ b/libavcodec/vulkan_video.h
@@ -23,8 +23,8 @@
#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_mesa.h
similarity index 89%
rename from libavcodec/vulkan_video_codec_av1std_decode.h
rename to libavcodec/vulkan_video_codec_av1std_decode_mesa.h
index a697c00593..e2f37b4e6e 100644
--- a/libavcodec/vulkan_video_codec_av1std_decode.h
+++ b/libavcodec/vulkan_video_codec_av1std_decode_mesa.h
@@ -14,8 +14,8 @@
* 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.
diff --git a/libavcodec/vulkan_video_codec_av1std.h b/libavcodec/vulkan_video_codec_av1std_mesa.h
similarity index 99%
rename from libavcodec/vulkan_video_codec_av1std.h
rename to libavcodec/vulkan_video_codec_av1std_mesa.h
index c46236c457..c91589eee2 100644
--- a/libavcodec/vulkan_video_codec_av1std.h
+++ b/libavcodec/vulkan_video_codec_av1std_mesa.h
@@ -14,8 +14,8 @@
* 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.

View File

@ -3,7 +3,7 @@
%bcond_with all_codecs
# Break dependency cycles by disabling certain optional dependencies.
%bcond_with bootstrap
%bcond_without bootstrap
# If you want to do a build with the upstream source tarball, then set the
# pkg_suffix to %%nil. We can't handle this with a conditional, as srpm
@ -36,6 +36,14 @@
%bcond_with omxil
%else
# Use bundled openh264 headers on older Fedora/RHEL where the noopenh264 stub
# package is not available
%if 0%{?fedora} && 0%{?fedora} <= 39 || 0%{?rhel} && 0%{?rhel} <= 9
%bcond_without bundled_openh264_headers
%else
%bcond_with bundled_openh264_headers
%endif
# Disable some features because RHEL 9 packages are too old
%if 0%{?rhel} && 0%{?rhel} <= 9
%bcond_with flite
@ -92,7 +100,7 @@ Name: ffmpeg
%global pkg_name %{name}%{?pkg_suffix}
Version: 6.1.1
Release: 11%{?dist}
Release: 14.0.riscv64%{?dist}
Summary: A complete solution to record, convert and stream audio and video
License: GPL-3.0-or-later
URL: https://ffmpeg.org/
@ -122,6 +130,8 @@ Patch4: 0001-lavc-libopenh264-Drop-openh264-runtime-version-check.patch
Patch5: ffmpeg-c99.patch
# Fix build with gcc14 (-Wint-conversion, -Wincompatible-pointer-types)
Patch6: ffmpeg-gcc14.patch
# Fix build with Vulkan headers >= 1.3.280.0
Patch7: ffmpeg-vulkan.patch
# Set up dlopen for openh264
Patch1001: ffmpeg-dlopen-openh264.patch
@ -219,6 +229,9 @@ BuildRequires: pkgconfig(ogg)
BuildRequires: pkgconfig(openal)
BuildRequires: pkgconfig(opencore-amrnb)
BuildRequires: pkgconfig(OpenCL)
%if %{without bundled_openh264_headers}
BuildRequires: pkgconfig(openh264)
%endif
BuildRequires: pkgconfig(opus)
BuildRequires: pkgconfig(rav1e)
BuildRequires: pkgconfig(rubberband)
@ -550,7 +563,7 @@ This subpackage contains the headers for FFmpeg libswscale.
%{gpgverify} --keyring='%{SOURCE3}' --signature='%{SOURCE2}' --data='%{SOURCE0}'
%endif
%autosetup -a1 -S git_am
%autosetup %{?with_bundled_openh264_headers:-a1} -S git_am
install -m 0644 %{SOURCE20} enable_decoders
install -m 0644 %{SOURCE21} enable_encoders
# fix -O3 -g in host_cflags
@ -865,6 +878,19 @@ rm -rf %{buildroot}%{_datadir}/%{name}/examples
%{_mandir}/man3/libswscale.3*
%changelog
* Wed Jun 05 2024 David Abdurachmanov <davidlt@rivosinc.com> - 6.1.1-14.0.riscv64
- Bootstrap (riscv64)
* Wed May 29 2024 Robert-André Mauchin <zebob.m@gmail.com> - 6.1.1-14
- Rebuild for svt-av1 2.1.0
* Wed May 22 2024 Simone Caronni <negativo17@gmail.com> - 6.1.1-13
- Rebuild for updated VapourSynth.
* Tue Apr 23 2024 Kalev Lember <klember@redhat.com> - 6.1.1-12
- Stop using bundled openh264 headers in F40+ and build against noopenh264
- Backport a fix to build with Vulkan headers >= 1.3.280.0
* Wed Mar 13 2024 Sérgio Basto <sergio@serjux.com> - 6.1.1-11
- Rebuild for jpegxl (libjxl) 0.10.2