mirror of
https://github.com/terrapkg/packages.git
synced 2026-06-01 09:31:58 +00:00
Compare commits
69 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 51baede608 | |||
| b7527cc220 | |||
| 807d0e2adc | |||
| 08c65900b4 | |||
| 59ccf2c5bc | |||
| 1da6d0111b | |||
| 7a9c8760db | |||
| 7e3e872a79 | |||
| d208707af9 | |||
| 822b2806c3 | |||
| 76f8eba410 | |||
| b9e476d35e | |||
| 6c526b4f0e | |||
| 991540887e | |||
| d49706c67c | |||
| 5a2ae5d8f9 | |||
| 94d95aeb3e | |||
| 9b68dc6a85 | |||
| 2b135d92c4 | |||
| 846a35efce | |||
| 93b06cde20 | |||
| 9e22e6314b | |||
| 649969ad83 | |||
| 010c248093 | |||
| bd0ac08fe0 | |||
| 3a5a28c3f0 | |||
| 3452575926 | |||
| 465f11d242 | |||
| 8beff678f9 | |||
| 52d16b9015 | |||
| 7a832931dc | |||
| 15d9781fe6 | |||
| 20fcaa070d | |||
| 3afc090661 | |||
| 7a3f5313af | |||
| d55cbce289 | |||
| b298b20a1b | |||
| fbe6a00222 | |||
| 7fdd1f362b | |||
| 77127bc760 | |||
| 491db9aebf | |||
| b361bf174f | |||
| b33c8f17eb | |||
| 3769e20cb4 | |||
| e80765d787 | |||
| cad38a8b02 | |||
| 7176f395dd | |||
| 2ed1340b70 | |||
| a8add1f80c | |||
| 2f7ba6ca58 | |||
| 5573906661 | |||
| 29f5e43638 | |||
| 616c24596d | |||
| 6395ce38af | |||
| e323b4aede | |||
| 106419af36 | |||
| ca5006823f | |||
| 7145cfa9c6 | |||
| 366d5f90e1 | |||
| 388158fd59 | |||
| c40450b85b | |||
| d621228367 | |||
| 256ba45bdf | |||
| 5d482e3728 | |||
| 601267c235 | |||
| eb0d232eed | |||
| 716a49efa4 | |||
| 0520e8b28a | |||
| 100d1138c1 |
@@ -34,7 +34,7 @@ On Fedora, you can optionally install the Terra subrepos. Extra care and caution
|
||||
- Install `terra-release-extras` to enable the Extras subrepo. This repo contains packages which conflict with Fedora packages in some way, such as being a patched version of the same package.
|
||||
- Install `terra-release-mesa` to install the Mesa subrepo which contains a patched and codec complete Mesa.
|
||||
- Install `terra-release-nvidia` to install the NVIDIA subrepo which contains NVIDIA drivers.
|
||||
- Install `terra-release-multimedia` for multimedia packages in Terra. This repository is currently considered a work in progress.
|
||||
- Install `terra-release-multimedia` for multimedia packages in Terra. **This repository is currently considered unstable and a work in progress.**
|
||||
|
||||
### Enterprise Linux (EL)
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: bitwarden-cli.bin
|
||||
Version: 2026.4.1
|
||||
Version: 2026.5.0
|
||||
Release: 1%{?dist}
|
||||
Summary: Bitwarden command-line client
|
||||
License: GPL-3.0-only
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%endif
|
||||
|
||||
Name: bitwarden-cli
|
||||
Version: 2026.4.1
|
||||
Version: 2026.5.0
|
||||
Release: 1%{?dist}
|
||||
Summary: Bitwarden command-line client
|
||||
License: GPL-3.0-only
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-canary-openasar
|
||||
Version: 1.0.1154
|
||||
Version: 1.0.1174
|
||||
Release: 1%{?dist}
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: discord-canary
|
||||
Version: 1.0.1154
|
||||
Version: 1.0.1174
|
||||
Release: 1%{?dist}
|
||||
Summary: Free Voice and Text Chat for Gamers
|
||||
URL: discord.com
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: discord-ptb-openasar
|
||||
Version: 1.0.192
|
||||
Version: 1.0.193
|
||||
Release: 1%{?dist}
|
||||
Summary: A snappier Discord rewrite with features like further customization and theming
|
||||
License: MIT AND https://discord.com/terms
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: discord-ptb
|
||||
Version: 1.0.192
|
||||
Version: 1.0.193
|
||||
Release: 1%{?dist}
|
||||
Summary: Free Voice and Text Chat for Gamers.
|
||||
URL: https://discord.com
|
||||
|
||||
@@ -1 +1 @@
|
||||
rpm.version(get("https://git.pika-os.com/api/v1/repos/general-packages/falcond-gui/releases").json_arr()[0].tag_name);
|
||||
rpm.version(gitea("git.pika-os.com", "general-packages/falcond-gui"));
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%global __provides_exclude_from %{_datadir}/%{name}/.*\\.so
|
||||
|
||||
Name: feishin
|
||||
Version: 1.12.0
|
||||
Version: 1.12.1
|
||||
Release: 1%{?dist}
|
||||
Summary: A modern self-hosted music player
|
||||
License: GPL-3.0
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
#? https://github.com/flameshot-org/flameshot/blob/master/packaging/rpm/fedora/flameshot.spec
|
||||
|
||||
%global ver 13.3.0
|
||||
%global commit 1ee047f1d9b0ca5bc88fcbfd8bea89f0f4d23b43
|
||||
%global commit f3e81d2608aa2e1269c53765ce61823c8ed2aea7
|
||||
%global shortcommit %{sub %{commit} 1 7}
|
||||
%global commit_date 20260521
|
||||
%global commit_date 20260529
|
||||
%global devel_name QtColorWidgets
|
||||
%global _distro_extra_cflags -fuse-ld=mold
|
||||
%global _distro_extra_cxxflags -fuse-ld=mold
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
%global crate halloy
|
||||
|
||||
Name: halloy
|
||||
Version: 2026.6
|
||||
Version: 2026.7
|
||||
Release: 1%{?dist}
|
||||
Summary: An open-source IRC client written in Rust, with the Iced GUI library
|
||||
Packager: Yoong jin <solomoncyj@gmail.com>
|
||||
|
||||
@@ -11,7 +11,7 @@
|
||||
%endif
|
||||
|
||||
Name: helium-browser-bin
|
||||
Version: 0.12.4.1
|
||||
Version: 0.12.5.1
|
||||
Release: 1%{?dist}
|
||||
Summary: Private, fast, and honest web browser based on Chromium
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit 089cff6792d604faba5127bc8f03d87959e5e062
|
||||
%global commit_date 20260522
|
||||
%global commit 9ac2f6b627bb4cbed62e3aeb76009ffff77bae70
|
||||
%global commit_date 20260529
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global debug_package %nil
|
||||
%global __strip /bin/true
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# Disable X11 for RHEL 10+
|
||||
%bcond x11 %[%{undefined rhel} || 0%{?rhel} < 10]
|
||||
|
||||
%global commit d05814ceef5fe8aba3f4543182d16b89f8cbf4fb
|
||||
%global commit 44a9b03f244f24e0ea443370cf2cfae0da5767f9
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20260527
|
||||
%global commit_date 20260601
|
||||
%global ver 0.41.0
|
||||
|
||||
Name: mpv-nightly
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%global metainfo_commit f467512129f94bc4c90187e86192202ecc78e820
|
||||
%global metainfo_commit 6599eae1839ec24e04a4f8805a3517f432190df6
|
||||
|
||||
Name: proton-vpn-gtk-app
|
||||
Version: 4.16.4
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%global ver 2026-05-27
|
||||
%global ver 2026-06-01
|
||||
%global goodver %(echo %ver | sed 's/-//g')
|
||||
%global __brp_mangle_shebangs %{nil}
|
||||
%bcond_without mold
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Name: signal-desktop
|
||||
%electronmeta -aD
|
||||
Version: 8.11.0
|
||||
Version: 8.12.0
|
||||
Release: 1%{?dist}
|
||||
Summary: A private messenger for Windows, macOS, and Linux
|
||||
URL: https://signal.org
|
||||
|
||||
@@ -3,7 +3,7 @@
|
||||
%undefine __brp_mangle_shebangs
|
||||
|
||||
Name: python-tauon
|
||||
Version: 10.0.0
|
||||
Version: 10.0.1
|
||||
Release: 1%{?dist}
|
||||
Summary: A music player for the desktop. Designed to be powerful and streamlined
|
||||
License: GPL-3.0-or-later
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
# Fedora sometimes sources the snapshots under stable versions and just bumps release
|
||||
# For user clarity I have separated these into different packages
|
||||
%global commit 14b802e419aff260b9d630e71027d88855e224e7
|
||||
%global commit 08304e81f9ac9a83c552a6bd78689040d174bf95
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global ver 20260125
|
||||
%global commit_date 20260411
|
||||
%global commit_date 20260531
|
||||
|
||||
Name: winetricks-git
|
||||
Version: %{ver}^%{commit_date}git.%{shortcommit}
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
%global crate anda
|
||||
|
||||
Name: anda
|
||||
Version: 0.5.4
|
||||
Release: 2%{?dist}
|
||||
Version: 0.6.0
|
||||
Release: 1%{?dist}
|
||||
Summary: Andaman Build toolchain
|
||||
SourceLicense: MIT
|
||||
License: ((MIT OR Apache-2.0) AND Unicode-3.0) AND (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 AND ISC) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR ISC OR MIT) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND Apache-2.0 AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND BSL-1.0 AND CDLA-Permissive-2.0 AND ISC AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (MIT OR Apache-2.0) AND (MIT OR Zlib OR Apache-2.0) AND MIT AND MPL-2.0-or-later AND MPL-2.0-only AND Unicode-3.0 AND (Unlicense OR MIT)
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
%global crate mise
|
||||
|
||||
Name: rust-mise
|
||||
Version: 2026.5.15
|
||||
Version: 2026.5.18
|
||||
Release: 1%{?dist}
|
||||
Summary: Front-end to your dev env
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%global tarball_version %%(echo %{version} | tr '~' '.')
|
||||
%global major_version 50
|
||||
%global minor_version 1
|
||||
%global minor_version 2
|
||||
|
||||
%if 0%{?rhel}
|
||||
%global portal_helper 0
|
||||
|
||||
@@ -3,8 +3,8 @@
|
||||
%global realname hyprutils
|
||||
%global ver 0.13.1
|
||||
|
||||
%global commit 3cd3972b2ee658a14d2610d8494e09259e530124
|
||||
%global commit_date 20260523
|
||||
%global commit 40ede2e7bdec80ba5d4c443160d905e9f841ae5f
|
||||
%global commit_date 20260601
|
||||
%global shortcommit %{sub %commit 1 7}
|
||||
|
||||
Name: %realname.nightly
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: plasma6-applet-appgrid
|
||||
Version: 1.8.3
|
||||
Release: 1%{?dist}
|
||||
Version: 1.8.5
|
||||
Release: 2%{?dist}
|
||||
Summary: A modern fullscreen application launcher for KDE Plasma
|
||||
# Main code: GPL-2.0-or-later
|
||||
# dev.xarbit.appgrid.metainfo.xml: CC0-1.0
|
||||
@@ -36,14 +36,15 @@ Requires: plasma-desktop
|
||||
Requires: kf6-kiconthemes
|
||||
|
||||
%description
|
||||
AppGrid is a modern application launcher for KDE Plasma 6, inspired by
|
||||
macOS Launchpad, COSMIC, and Pantheon.
|
||||
A modern application launcher for KDE Plasma. It offers unified
|
||||
search, favorites, categories, and both a panel and a centered popup
|
||||
presentation.
|
||||
|
||||
%prep
|
||||
%autosetup -n plasma6-applet-appgrid-%{version}
|
||||
|
||||
%conf
|
||||
%cmake
|
||||
%cmake -DAPPGRID_VERSION_OVERRIDE=%{version}
|
||||
|
||||
%build
|
||||
%cmake_build
|
||||
@@ -63,6 +64,9 @@ macOS Launchpad, COSMIC, and Pantheon.
|
||||
%{_datadir}/icons/hicolor/scalable/apps/dev.xarbit.appgrid.svg
|
||||
|
||||
%changelog
|
||||
* Fri May 29 2026 hilltty <49129010+hilltty@users.noreply.github.com> - 1.8.5-1
|
||||
- pass version to cmake, update description
|
||||
|
||||
* Mon May 25 2026 hilltty <49129010+hilltty@users.noreply.github.com> - 1.8.0-1
|
||||
- fix: add cmake(PlasmaActivities) BuildRequires, add icon to files
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global forgeurl https://gitlab.com/ubports/development/core/lomiri-system-settings
|
||||
%global commit 9f5db9701cc52b824561d6db7ec4cd4f0460a980
|
||||
%global commit 0583175c167ef52678fbd3ba78cc3510695cfdc6
|
||||
%forgemeta
|
||||
|
||||
Name: lomiri-system-settings
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%global mangowc_ver 0.12.5-1
|
||||
|
||||
Name: mangowm
|
||||
Version: 0.13.0
|
||||
Version: 0.14.0
|
||||
Release: 1%{?dist}
|
||||
Summary: A modern, lightweight, high-performance Wayland compositor built on dwl
|
||||
License: GPL-3.0-or-later AND MIT AND X11 AND CC0-1.0
|
||||
@@ -21,6 +21,7 @@ BuildRequires: pkgconfig(xkbcommon)
|
||||
BuildRequires: pkgconfig(libinput)
|
||||
BuildRequires: pkgconfig(wayland-client)
|
||||
BuildRequires: pkgconfig(libpcre2-8)
|
||||
BuildRequires: pkgconfig(libcjson)
|
||||
BuildRequires: scenefx-devel
|
||||
|
||||
Conflicts: mangowc < %{mangowc_ver}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit 546ca2a939542c397b6668e1fc1883046126b6fe
|
||||
%global commit_date 20260523
|
||||
%global commit e5845da001849fa145408b5e91135c43affa023c
|
||||
%global commit_date 20260601
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: libsingularity
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
%bcond check 0
|
||||
|
||||
Name: wpaperd
|
||||
Version: 1.2.2
|
||||
Release: 2%?dist
|
||||
Version: 1.3.0
|
||||
Release: 1%{?dist}
|
||||
Summary: Modern wallpaper daemon for Wayland
|
||||
License: (0BSD OR MIT OR Apache-2.0) AND (Apache-2.0 OR BSL-1.0) AND (Apache-2.0 OR MIT) AND (Apache-2.0 WITH LLVM-exception) AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND BSD-2-Clause AND (BSD-2-Clause OR Apache-2.0 OR MIT) AND BSD-3-Clause AND CC0-1.0 AND (CC0-1.0 OR Apache-2.0) AND (CC0-1.0 OR Artistic-2.0) AND GPL-3.0+ AND ISC AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR NCSA) AND (MIT OR Apache-2.0 OR Zlib) AND (MIT OR Zlib OR Apache-2.0) AND MPL-2.0 AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
|
||||
SourceLicense: GPL-3.0-or-later
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
%global __requires_exclude ^libaaudio\\.so.*|^libandroid\\.so.*|^libmediandk\\.so.*|^liblog\\.so.*|^libc\\.so.*|^libm\\.so.*|^libdl\\.so.*|^libcrypt\\.so.*|^libstdc\\+\\+\\.so.*|^libncursesw\\.so.*|^libtinfo\\.so.*|^libnsl\\.so.*|^libpanelw\\.so.*$
|
||||
|
||||
Name: android-studio-canary
|
||||
Version: 2026.1.2.2
|
||||
Version: 2026.1.2.4
|
||||
Release: 1%{?dist}
|
||||
Summary: Official IDE for Android development (Canary build)
|
||||
License: Apache-2.0
|
||||
@@ -24,7 +24,7 @@ Packager: veuxit <erroor234@gmail.com>
|
||||
ExclusiveArch: x86_64
|
||||
URL: https://developer.android.com/studio/preview
|
||||
|
||||
%define suffixS quail2-canary2
|
||||
%define suffixS quail2-canary4
|
||||
|
||||
Source0: https://dl.google.com/dl/android/studio/ide-zips/%{version}/android-studio-%{suffixS}-linux.tar.gz
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%global commit 2e5ad917eb4e325a3dbb161c3f41208a8cd35e44
|
||||
%global commit 2c62d182cec246764ff725096a70b9ef44996f7f
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global fulldate 2026-05-26
|
||||
%global fulldate 2026-05-30
|
||||
%global commit_date %(echo %{fulldate} | sed 's/-//g')
|
||||
%global public_key RWQlAjJC23149WL2sEpT/l0QKy7hMIFhYdQOFy0Z7z7PbneUgvlsnYcV
|
||||
%global ver 1.3.2
|
||||
|
||||
@@ -12,8 +12,8 @@
|
||||
|
||||
# Naming variable as something other than "commit" is necessary
|
||||
# to stop %%gometa from putting commit hash in release
|
||||
%global commit_hash 85a3d79f97bda50a1a6121a9f20ff6482aa952a9
|
||||
%global commit_date 20260520
|
||||
%global commit_hash 0b551d813fe21b9ab6f03fc97672fa8b89531a82
|
||||
%global commit_date 20260529
|
||||
%global shortcommit %{sub %{commit_hash} 1 7}
|
||||
%global ver 2.0.15
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%global commit 867e51189b1bdcf0ea64c85a33c741e0af1a28f5
|
||||
%global commit eb424af17ccc195470e538e46f4cc8b80840467f
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global commit_date 20260527
|
||||
%global ver 1.5.0
|
||||
%global commit_date 20260601
|
||||
%global ver 1.6.0
|
||||
|
||||
%bcond_with check
|
||||
%bcond_with debug_no_build
|
||||
|
||||
@@ -7,7 +7,7 @@
|
||||
%global debug_package %{nil}
|
||||
%endif
|
||||
|
||||
%global ver 1.4.2-pre
|
||||
%global ver 1.5.3-pre
|
||||
# Exclude input files from mangling
|
||||
%global __brp_mangle_shebangs_exclude_from ^/usr/src/.*$
|
||||
|
||||
|
||||
@@ -17,7 +17,7 @@
|
||||
%global rustflags_debuginfo 0
|
||||
|
||||
Name: zed
|
||||
Version: 1.3.7
|
||||
Version: 1.4.4
|
||||
Release: 1%{?dist}
|
||||
Summary: Zed is a high-performance, multiplayer code editor
|
||||
SourceLicense: AGPL-3.0-only AND Apache-2.0 AND GPL-3.0-or-later
|
||||
|
||||
@@ -52,6 +52,7 @@ keyboards) and translate their input to a variety of virtual device formats.
|
||||
%_datadir/dbus-1/system.d/org.shadowblip.InputPlumber.conf
|
||||
%_datadir/inputplumber/
|
||||
%{_udevrulesdir}/99-inputplumber-device-setup.rules
|
||||
%{_udevrulesdir}/50-8bitdo-u2-controller.rules
|
||||
%{_datadir}/polkit-1/actions/org.shadowblip.InputPlumber.policy
|
||||
%{_datadir}/polkit-1/rules.d/org.shadowblip.InputPlumber.rules
|
||||
|
||||
|
||||
@@ -3,10 +3,10 @@
|
||||
%global name_pretty %{quote:Prism Launcher (Nightly)}
|
||||
%global appid org.prismlauncher.PrismLauncher-nightly
|
||||
|
||||
%global commit f67a670bcfb54a632d27dfa9b963e42a895047ab
|
||||
%global commit f5d7e76ac4865aed7d033b25a9129913e1f1b520
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
%global commit_date 20260524
|
||||
%global commit_date 20260528
|
||||
%global snapshot_info %{commit_date}.%{shortcommit}
|
||||
|
||||
# Change this variables if you want to use custom keys
|
||||
|
||||
@@ -9,8 +9,8 @@
|
||||
# GLIBCXX_ASSERTIONS is known to break RPCS3
|
||||
%global build_cflags %(echo "%{__build_flags_lang_c}" | sed 's|-Wp,-D_GLIBCXX_ASSERTIONS ||g') %{?_distro_extra_cflags}
|
||||
%global build_cxxflags %(echo "%{__build_flags_lang_cxx}" | sed 's|-Wp,-D_GLIBCXX_ASSERTIONS ||g') %{?_distro_extra_cflags}
|
||||
%global commit a87d175295cc33df2264939c5437ed3b3f6790e1
|
||||
%global ver 0.0.40-19396
|
||||
%global commit ecf77ecef0c190b6adf4619447cda165aa5ebad5
|
||||
%global ver 0.0.40-19415
|
||||
|
||||
Name: rpcs3
|
||||
Version: %(echo %{ver} | sed 's/-/^/g')
|
||||
@@ -74,8 +74,6 @@ export LLVM_DIR=%{_libdir}/llvm%{?llvm_major}/%{_lib}/cmake
|
||||
-DCMAKE_SKIP_RPATH=ON \
|
||||
-DBUILD_SHARED_LIBS:BOOL=OFF \
|
||||
-DUSE_NATIVE_INSTRUCTIONS=OFF \
|
||||
-DCMAKE_C_FLAGS="$CFLAGS" \
|
||||
-DCMAKE_CXX_FLAGS="$CXXFLAGS" \
|
||||
-DSTATIC_LINK_LLVM=OFF \
|
||||
-DUSE_SYSTEM_FAUDIO=ON \
|
||||
-DUSE_SDL=ON \
|
||||
@@ -88,11 +86,8 @@ export LLVM_DIR=%{_libdir}/llvm%{?llvm_major}/%{_lib}/cmake
|
||||
-DUSE_SYSTEM_ZLIB=ON \
|
||||
-DUSE_SYSTEM_OPENCV=ON \
|
||||
-DUSE_SYSTEM_CURL=ON \
|
||||
-DUSE_SYSTEM_FLATBUFFERS=OFF \
|
||||
-DUSE_SYSTEM_PUGIXML=OFF \
|
||||
-DUSE_SYSTEM_WOLFSSL=OFF \
|
||||
-DCMAKE_C_COMPILER="$CC" \
|
||||
-DCMAKE_CXX_COMPILER="$CXX" \
|
||||
-DCMAKE_LINKER=mold \
|
||||
-DCMAKE_SHARED_LINKER_FLAGS="$LDFLAGS -fuse-ld=mold" \
|
||||
-DCMAKE_EXE_LINKER_FLAGS="$LDFLAGS -fuse-ld=mold"
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
%global commit 7b4d0f49351a60d1f93d48f081b4c0e35e10fa6d
|
||||
%global commit 37d1cb6f98e02b76221190b10af3c6e1c6b7534d
|
||||
%global shortcommit %{sub %{commit} 0 7}
|
||||
%global commitdate 20260325
|
||||
%global commitdate 20260528
|
||||
|
||||
Name: steamos-manager-powerstation
|
||||
Version: 0~%{commitdate}.git%{shortcommit}
|
||||
Release: 4%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: SteamOS Manager is a system daemon that aims to abstract Steam's interactions with the operating system
|
||||
License: MIT AND (MIT OR Apache-2.0) AND Unicode-3.0 AND (Apache-2.0 OR BSL-1.0) AND Apache-2.0 OR MIT AND (Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT) AND (BSD-3-Clause OR MIT OR Apache-2.0) AND ISC AND (LGPL-2.1 OR MIT OR Apache-2.0) AND MIT AND (MIT OR Apache-2.0) AND (MIT OR Apache-2.0 OR LGPL-2.1-or-later) AND (Unlicense OR MIT) AND (Zlib OR Apache-2.0 OR MIT)
|
||||
URL: https://github.com/OpenGamingCollective/steamos-manager
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
policy_module(steamos_manager, 1.0.0)
|
||||
policy_module(steamos_manager, 1.0.1)
|
||||
|
||||
########################################
|
||||
# Init
|
||||
@@ -22,6 +22,12 @@ init_dbus_chat(steamos_manager_t)
|
||||
# Query systemd and overall system status (init_t:system status)
|
||||
init_status(steamos_manager_t)
|
||||
|
||||
# D-Bus
|
||||
gen_require(`
|
||||
type systemd_unit_file_t;
|
||||
')
|
||||
allow steamos_manager_t systemd_unit_file_t:service status;
|
||||
|
||||
########################################
|
||||
# Process permissions
|
||||
########################################
|
||||
@@ -75,15 +81,16 @@ domain_read_all_domains_state(steamos_manager_t)
|
||||
# Tracefs and debugfs
|
||||
########################################
|
||||
|
||||
# ftrace access: /sys/kernel/tracing/instances/steamos-manager/
|
||||
# debugfs access: /sys/kernel/debug/ath11k/
|
||||
# ftrace access
|
||||
# debugfs access
|
||||
kernel_read_debugfs(steamos_manager_t)
|
||||
kernel_manage_debugfs(steamos_manager_t)
|
||||
|
||||
gen_require(`
|
||||
type tracefs_t;
|
||||
')
|
||||
allow steamos_manager_t tracefs_t:dir search;
|
||||
allow steamos_manager_t tracefs_t:dir { search write getattr setattr read open create add_name remove_name rmdir };
|
||||
allow steamos_manager_t tracefs_t:file { getattr setattr create open read write append unlink };
|
||||
|
||||
########################################
|
||||
# Cgroup access
|
||||
@@ -92,6 +99,12 @@ allow steamos_manager_t tracefs_t:dir search;
|
||||
# Search the cgroup hierarchy under /sys/fs/cgroup
|
||||
fs_search_cgroup_dirs(steamos_manager_t)
|
||||
|
||||
# Read cgroup interface files
|
||||
gen_require(`
|
||||
type cgroup_t;
|
||||
')
|
||||
allow steamos_manager_t cgroup_t:file { getattr open read };
|
||||
|
||||
########################################
|
||||
# Device access
|
||||
########################################
|
||||
@@ -109,11 +122,34 @@ optional_policy(`
|
||||
gen_require(`
|
||||
type hidraw_device_t;
|
||||
')
|
||||
allow steamos_manager_t hidraw_device_t:chr_file { open read write getattr ioctl };
|
||||
allow steamos_manager_t hidraw_device_t:chr_file { open read write getattr ioctl watch watch_reads };
|
||||
')
|
||||
|
||||
optional_policy(`
|
||||
gen_require(`
|
||||
type usb_device_t;
|
||||
')
|
||||
allow steamos_manager_t usb_device_t:chr_file { getattr watch watch_reads };
|
||||
')
|
||||
|
||||
# /dev/input/event* — inputplumber
|
||||
dev_rw_input_dev(steamos_manager_t)
|
||||
dev_getattr_all_chr_files(steamos_manager_t)
|
||||
dev_getattr_all_blk_files(steamos_manager_t)
|
||||
|
||||
optional_policy(`
|
||||
gen_require(`
|
||||
type hugetlbfs_t;
|
||||
')
|
||||
allow steamos_manager_t hugetlbfs_t:dir getattr;
|
||||
')
|
||||
|
||||
optional_policy(`
|
||||
gen_require(`
|
||||
type proc_kcore_t;
|
||||
')
|
||||
allow steamos_manager_t proc_kcore_t:file getattr;
|
||||
')
|
||||
|
||||
# Udev events via netlink socket
|
||||
allow steamos_manager_t self:netlink_kobject_uevent_socket { create bind getattr read setopt };
|
||||
@@ -183,6 +219,17 @@ corecmd_exec_shell(steamos_manager_t)
|
||||
# Execute libraries/scripts under /usr/lib/ paths
|
||||
libs_exec_lib_files(steamos_manager_t)
|
||||
|
||||
optional_policy(`
|
||||
gen_require(`
|
||||
type dmidecode_exec_t;
|
||||
')
|
||||
can_exec(steamos_manager_t, dmidecode_exec_t)
|
||||
')
|
||||
|
||||
optional_policy(`
|
||||
sysnet_exec_ifconfig(steamos_manager_t)
|
||||
')
|
||||
|
||||
########################################
|
||||
# Network and IPC
|
||||
########################################
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
Name: steamos-manager
|
||||
Version: 26.1.0
|
||||
Version: 26.2.0
|
||||
Release: 1%{?dist}
|
||||
Summary: SteamOS Manager is a system daemon that aims to abstract Steam's interactions with the operating system.
|
||||
License: MIT AND (MIT OR Apache-2.0) AND Unicode-3.0 AND Apache-2.0 OR BSL-1.0 AND Apache-2.0 OR MIT AND Apache-2.0 WITH LLVM-exception OR Apache-2.0 OR MIT AND BSD-3-Clause OR MIT OR Apache-2.0 AND ISC AND LGPL-2.1 OR MIT OR Apache-2.0 AND MIT AND MIT OR Apache-2.0 AND MIT OR Apache-2.0 OR LGPL-2.1-or-later AND Unlicense OR MIT AND Zlib OR Apache-2.0 OR MIT
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
Name: python-%{pypi_name}
|
||||
Version: 0.5.8
|
||||
Release: 2%?dist
|
||||
Release: 3%?dist
|
||||
Summary: A modern hardware definition language and toolchain based on Python
|
||||
License: BSD-2-Clause
|
||||
URL: https://github.com/amaranth-lang/amaranth
|
||||
@@ -54,8 +54,6 @@ export PDM_BUILD_SCM_VERSION=%{version}
|
||||
%doc README.md CONTRIBUTING.txt
|
||||
%license LICENSE.txt
|
||||
%{_bindir}/amaranth-rpc
|
||||
%ghost %python3_sitelib/__pycache__/*.cpython-*.pyc
|
||||
%ghost %python3_sitelib/%{name}/subcommands/__pycache__/*.cpython-*.pyc
|
||||
|
||||
%changelog
|
||||
* Sun Sep 28 2025 Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
|
||||
# https://github.com/xyproto/gendesk
|
||||
%global goipath github.com/xyproto/gendesk
|
||||
Version: 1.0.13
|
||||
Version: 1.0.15
|
||||
%global tag 1.0.9
|
||||
%global commit f074161864697100fdc21a99e09b567e82aeb1b9
|
||||
|
||||
|
||||
@@ -12,7 +12,7 @@
|
||||
|
||||
# https://github.com/nektos/act
|
||||
%global goipath github.com/nektos/act
|
||||
Version: 0.2.88
|
||||
Version: 0.2.89
|
||||
|
||||
%gometa -f
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
# https://github.com/jesseduffield/lazygit
|
||||
%global goipath github.com/jesseduffield/lazygit
|
||||
Version: 0.62.0
|
||||
Version: 0.62.1
|
||||
|
||||
%gometa -f
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%global commit 787aa7677b47c24f19aae84111d50ef4123072be
|
||||
%global commit 94ffd50060f1cfd5d7482ec90a23a92bdefdff68
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global ver v26.3.27
|
||||
%global commit_date 20260525
|
||||
%global commit_date 20260601
|
||||
|
||||
%global goipath github.com/XTLS/Xray-core
|
||||
Version: %{ver}^%{commit_date}git.%{shortcommit}
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
# Disabled because compiled without debug
|
||||
|
||||
%global goipath github.com/XTLS/Xray-core
|
||||
Version: 26.5.9
|
||||
Version: 26.6.1
|
||||
|
||||
%global golicenses LICENSE
|
||||
%global godocs README.md SECURITY.md CODE_OF_CONDUCT.md
|
||||
|
||||
@@ -22,8 +22,10 @@ Requires: %{name}
|
||||
%prep
|
||||
%autosetup -n %{name}-%{version}
|
||||
|
||||
%build
|
||||
%conf
|
||||
%cmake
|
||||
|
||||
%build
|
||||
%cmake_build
|
||||
|
||||
%install
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
%global csrc_commit 561b417c65791cd8356b5f73620914ceff845d10
|
||||
%global commit 8771451701d1c9081282d6e9d5cb626bb636da19
|
||||
%global commit 7813bd8b92824cacec9cddb5152f8c9ed645e03c
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global ver 2.3.1
|
||||
%global commit_date 20260522
|
||||
%global commit_date 20260530
|
||||
%global debug_package %nil
|
||||
|
||||
Name: nim-nightly
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%global _desc Send usage data from your Python code to PostHog.
|
||||
|
||||
Name: python-%{pypi_name}
|
||||
Version: 7.15.4
|
||||
Version: 7.16.2
|
||||
Release: 1%{?dist}
|
||||
Summary: Send usage data from your Python code to PostHog
|
||||
License: MIT
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
%global _desc Proton VPN local agent written in Rust.
|
||||
|
||||
Name: python-%{pypi_name}
|
||||
Version: 1.6.1
|
||||
Version: 1.6.2
|
||||
Release: 1%{?dist}
|
||||
Summary: Proton VPN local agent written in Rust
|
||||
License: GPL-3.0-only
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%global _desc Python bindings for FluidSynth.
|
||||
|
||||
Name: python-%{pypi_name}
|
||||
Version: 1.3.6
|
||||
Version: 1.4.0
|
||||
Release: 1%{?dist}
|
||||
Summary: Python bindings for FluidSynth
|
||||
License: LGPL-2.1
|
||||
|
||||
@@ -2,8 +2,8 @@
|
||||
%global _desc Twisted-based asynchronous Tor control protocol implementation. Includes unit-tests, examples, state-tracking code and configuration abstraction.
|
||||
|
||||
Name: python-%{pypi_name}
|
||||
Version: 24.8.0
|
||||
Release: 1%?dist
|
||||
Version: 26.6.0
|
||||
Release: 1%{?dist}
|
||||
Summary: Twisted-based asynchronous Tor control protocol implementation. Includes unit-tests, examples, state-tracking code and configuration abstraction
|
||||
License: MIT
|
||||
URL: https://github.com/meejah/txtorcon
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit 23246f8aa1afde10a76959b021a66065d8758a55
|
||||
%global commit_date 20260525
|
||||
%global commit 4a47505dd891ac8a94ba7f4b578899c72727ce23
|
||||
%global commit_date 20260601
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
%global pypi_name types-colorama
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%undefine __brp_mangle_shebangs
|
||||
|
||||
Name: fresh
|
||||
Version: 0.3.9
|
||||
Version: 0.3.10
|
||||
Release: 1%{?dist}
|
||||
Summary: Text editor for your terminal: easy, powerful and fast
|
||||
URL: https://getfresh.dev
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
%global crate usage-cli
|
||||
|
||||
Name: rust-usage-cli
|
||||
Version: 3.3.0
|
||||
Version: 3.4.0
|
||||
Release: 1%{?dist}
|
||||
Summary: CLI for working with usage-based CLIs
|
||||
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
%global priority 90
|
||||
|
||||
%global real_name vala
|
||||
%global commit 7a80e9901b4640dab0a11e96a9158545df6d6937
|
||||
%global commit c5d31b3fcdb9d564dc3340714a129f72a072391f
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global repo https://gitlab.gnome.org/GNOME/%{real_name}.git
|
||||
|
||||
%global commit_date 20260517
|
||||
%global commit_date 20260528
|
||||
%global snapshot_info %{commit_date}.%{shortcommit}
|
||||
|
||||
Name: vala-nightly
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
#!/usr/bin/bash
|
||||
|
||||
version=0.17.0-dev.387+31f157d80
|
||||
version=0.17.0-dev.633+9c5655093
|
||||
|
||||
mirrors=()
|
||||
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
%define llvm_compat 22
|
||||
%endif
|
||||
%global llvm_version 22.0.0
|
||||
%global ver 0.17.0-dev.387+31f157d80
|
||||
%global ver 0.17.0-dev.633+9c5655093
|
||||
%bcond bootstrap 1
|
||||
%bcond docs %{without bootstrap}
|
||||
%bcond test 1
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
%global zig_cache_dir %{builddir}/zig-cache
|
||||
|
||||
Name: zig-master
|
||||
Version: 0.17.0~dev.387+31f157d80
|
||||
Version: 0.17.0~dev.633+9c5655093
|
||||
Release: 2%{?dist}
|
||||
Summary: Master builds of the Zig language
|
||||
License: MIT AND NCSA AND LGPL-2.1-or-later AND LGPL-2.1-or-later WITH GCC-exception-2.0 AND GPL-2.0-or-later AND GPL-2.0-or-later WITH GCC-exception-2.0 AND BSD-3-Clause AND Inner-Net-2.0 AND ISC AND LicenseRef-Fedora-Public-Domain AND GFDL-1.1-or-later AND ZPL-2.1
|
||||
|
||||
@@ -4,8 +4,8 @@ project pkg {
|
||||
spec = "fdk-aac.spec"
|
||||
}
|
||||
labels {
|
||||
mock=1
|
||||
mock = 1
|
||||
subrepo = "multimedia"
|
||||
weekly = 1
|
||||
updbranch = 1
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1 +1,3 @@
|
||||
rpm.version(gh_tag("mstorsjo/fdk-aac"));
|
||||
import "andax/bump_extras.rhai" as bump;
|
||||
|
||||
rpm.version(bump::bodhi("fdk-aac-free", bump::as_bodhi_ver(labels.branch)));
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
%global debug_package %{nil}
|
||||
|
||||
Name: glaze-devel
|
||||
Version: 7.7.0
|
||||
Version: 7.7.1
|
||||
Release: 1%{?dist}
|
||||
License: MIT
|
||||
URL: https://stephenberry.github.io/glaze
|
||||
|
||||
@@ -5,7 +5,7 @@
|
||||
%global cuda_version 13
|
||||
|
||||
Name: cuda-cudnn
|
||||
Version: 9.22.0.52
|
||||
Version: 9.23.0.39
|
||||
Release: 1%{?dist}
|
||||
Epoch: 1
|
||||
Summary: NVIDIA CUDA Deep Neural Network library (cuDNN)
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
%global commit 3e6c683ecd666099fbf6e3d25a5d69ff041ef36f
|
||||
%global commit 8ff4bb16dc1ff6ae371cfb5e13ab696ee5d097fd
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
%global ver 20260526143121
|
||||
%global commit_date 20260527
|
||||
%global ver 20260531105624
|
||||
%global commit_date 20260601
|
||||
|
||||
Name: v2ray-domain-list-community
|
||||
Version: %{ver}^%{commit_date}git.%{shortcommit}
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# FFmpeg keys
|
||||
ffmpeg-devel.asc
|
||||
ffmpeg.keyring
|
||||
@@ -1 +1 @@
|
||||
4.1
|
||||
4.2
|
||||
@@ -2,7 +2,7 @@ project pkg {
|
||||
arches = ["x86_64", "aarch64", "i386"]
|
||||
rpm {
|
||||
spec = "ffmpeg.spec"
|
||||
extra_repos = ["https://repos.fyralabs.com/terrarawhide-nvidia", "https://repos.fyralabs.com/terrarawhide-multimedia"]
|
||||
extra_repos = ["https://repos.fyralabs.com/terrarawhide-multimedia"]
|
||||
}
|
||||
labels {
|
||||
updbranch = 1
|
||||
|
||||
@@ -0,0 +1,479 @@
|
||||
## module name # reason for enablement in ffmpeg (usually there is another package that already got legal review)
|
||||
aac
|
||||
aasc
|
||||
libfdk_aac # fdk-aac-free
|
||||
ac3
|
||||
acelp_kelvin
|
||||
adpcm_4xm
|
||||
adpcm_adx
|
||||
adpcm_afc
|
||||
adpcm_agm
|
||||
adpcm_aica
|
||||
adpcm_argo
|
||||
adpcm_ct
|
||||
adpcm_dtk
|
||||
adpcm_ea
|
||||
adpcm_ea_maxis_xa
|
||||
adpcm_ea_r1
|
||||
adpcm_ea_r2
|
||||
adpcm_ea_r3
|
||||
adpcm_ea_xas
|
||||
adpcm_g722
|
||||
adpcm_g726
|
||||
adpcm_g726le
|
||||
adpcm_ima_acorn
|
||||
adpcm_ima_alp
|
||||
adpcm_ima_amv
|
||||
adpcm_ima_apc
|
||||
adpcm_ima_apm
|
||||
adpcm_ima_cunning
|
||||
adpcm_ima_dat4
|
||||
adpcm_ima_dk3
|
||||
adpcm_ima_dk4
|
||||
adpcm_ima_ea_eacs
|
||||
adpcm_ima_ea_sead
|
||||
adpcm_ima_iss
|
||||
adpcm_ima_moflex
|
||||
adpcm_ima_mtf
|
||||
adpcm_ima_oki
|
||||
adpcm_ima_qt
|
||||
adpcm_ima_rad
|
||||
adpcm_ima_smjpeg
|
||||
adpcm_ima_ssi
|
||||
adpcm_ima_wav
|
||||
adpcm_ima_ws
|
||||
adpcm_ms
|
||||
adpcm_mtaf
|
||||
adpcm_psx
|
||||
adpcm_sbpro_2
|
||||
adpcm_sbpro_3
|
||||
adpcm_sbpro_4
|
||||
adpcm_swf
|
||||
adpcm_thp
|
||||
adpcm_thp_le
|
||||
adpcm_vima
|
||||
adpcm_xa
|
||||
adpcm_xmd
|
||||
adpcm_yamaha
|
||||
adpcm_zork
|
||||
aic
|
||||
alac
|
||||
alias_pix
|
||||
amrnb
|
||||
amrwb
|
||||
amv
|
||||
anm
|
||||
ansi # trivial
|
||||
anull
|
||||
apac
|
||||
ape
|
||||
apng # animated png
|
||||
apv
|
||||
arbc
|
||||
argo
|
||||
ass # trivial
|
||||
asv1
|
||||
asv2
|
||||
atrac1
|
||||
atrac3
|
||||
atrac3al
|
||||
atrac3p
|
||||
atrac3pal
|
||||
aura
|
||||
aura2
|
||||
av1 # libaom
|
||||
av1_qsv # libaom
|
||||
bethsoftvid # trivial
|
||||
bfi # trivial
|
||||
bink
|
||||
binkaudio_dct
|
||||
binkaudio_rdft
|
||||
bintext
|
||||
bitpacked # trivial
|
||||
bmp # trivial
|
||||
bmv_audio
|
||||
bmv_video
|
||||
bonk
|
||||
brender_pix
|
||||
c93
|
||||
cbd2_dpcm
|
||||
ccaption
|
||||
cdgraphics
|
||||
cdtoons
|
||||
cdxl
|
||||
cinepak
|
||||
clearvideo
|
||||
cljr
|
||||
cook
|
||||
cpia
|
||||
cscd
|
||||
cyuv
|
||||
dca
|
||||
dds
|
||||
derf_dpcm
|
||||
dfa
|
||||
dfpwm
|
||||
dirac # dirac
|
||||
dnxhd
|
||||
dnxhr
|
||||
dolby_e
|
||||
dpx
|
||||
dsd_lsbf
|
||||
dsd_msbf
|
||||
dsicinaudio
|
||||
dsicinvideo
|
||||
dss_sp
|
||||
dvaudio
|
||||
dvbsub
|
||||
dvdsub
|
||||
dvvideo
|
||||
dxa
|
||||
dxtory
|
||||
eacmv
|
||||
eamad
|
||||
eatgq
|
||||
eatgv
|
||||
eatqi
|
||||
eightbps
|
||||
eightsvx_exp
|
||||
eightsvx_fib
|
||||
escape124
|
||||
escape130
|
||||
evrc
|
||||
exr # openEXR
|
||||
ffv1 # ffmpeg
|
||||
ffvhuff # ffmpeg
|
||||
ffwavesynth # pseudo
|
||||
fits
|
||||
flac # libFLAC
|
||||
flashsv
|
||||
flashsv2
|
||||
flic
|
||||
flv
|
||||
fmvc
|
||||
fourxm
|
||||
ftr # fdk-aac
|
||||
g723_1
|
||||
g729
|
||||
gdv
|
||||
gem
|
||||
gif # libpng
|
||||
gremlin_dpcm
|
||||
gsm # libgsm
|
||||
gsm_ms
|
||||
h261
|
||||
h263
|
||||
h263_v4l2m2m # hardware
|
||||
h263i
|
||||
h263p
|
||||
hap
|
||||
hca
|
||||
hcom
|
||||
hdr
|
||||
hnm4_video
|
||||
hq_hqa
|
||||
hqx
|
||||
huffyuv # trivial+zlib
|
||||
hymt # huffyuv-mt
|
||||
iac
|
||||
idcin
|
||||
idf
|
||||
iff_ilbm
|
||||
ilbc # ilbc
|
||||
imc
|
||||
indeo2
|
||||
indeo3
|
||||
indeo4
|
||||
indeo5
|
||||
interplay_acm
|
||||
interplay_dpcm
|
||||
interplay_video
|
||||
ipu
|
||||
jacosub
|
||||
jpeg2000 # openjpeg2
|
||||
jpegls
|
||||
jv
|
||||
kgv1
|
||||
kmvc
|
||||
lagarith
|
||||
libaribb24 # aribb24
|
||||
libaribcaption # libaribcaption
|
||||
libaom # libaom
|
||||
libaom_av1 # libaom
|
||||
libcodec2 # codec2
|
||||
libdav1d # av1
|
||||
libgsm # libgsm
|
||||
libgsm_ms # libgsm
|
||||
libilbc # ilbc
|
||||
libjxl # libjxl
|
||||
liblc3 # liblc3
|
||||
libopencore_amrnb # opencore-amr
|
||||
libopencore_amrwb # opencore-amr
|
||||
libopenh264 # openh264
|
||||
libopenjpeg # openjpeg
|
||||
libopus # opus
|
||||
librsvg # librsvg
|
||||
libschroedinger # schroedinger
|
||||
libspeex # speex
|
||||
libvorbis # libvorbis
|
||||
libvpx_vp8 # libvpx
|
||||
libvpx_vp9 # libvpx
|
||||
libxevd
|
||||
libzvbi_teletext # zvbi
|
||||
loco
|
||||
lscr
|
||||
m101
|
||||
mace3
|
||||
mace6
|
||||
mdec
|
||||
media100
|
||||
metasound
|
||||
microdvd
|
||||
mimic
|
||||
misc4
|
||||
mjpeg # mjpegtools
|
||||
mjpeg_qsv # mjpegtools
|
||||
mjpegb
|
||||
mlp
|
||||
mmvideo
|
||||
motionpixels
|
||||
movtext
|
||||
mp1 # twolame/lame
|
||||
mp1float # twolame/lame
|
||||
mp2 # twolame
|
||||
mp2float # twolame
|
||||
mp3 # lame
|
||||
mp3adu
|
||||
mp3adufloat
|
||||
mp3float # lame
|
||||
mp3on4
|
||||
mp3on4float
|
||||
mpc7
|
||||
mpc8
|
||||
mpeg1_v4l2m2m
|
||||
mpeg1video
|
||||
mpeg2_qsv
|
||||
mpeg2_v4l2m2m
|
||||
mpeg2video
|
||||
mpeg4
|
||||
mpeg4_v4l2m2m # hardware
|
||||
mpegvideo
|
||||
mpl2
|
||||
msa1
|
||||
mscc
|
||||
msmpeg4v1
|
||||
msmpeg4v2
|
||||
msmpeg4v3
|
||||
msnsiren
|
||||
msp2
|
||||
msrle
|
||||
mss1
|
||||
msvideo1
|
||||
mszh
|
||||
mts2
|
||||
mv30
|
||||
mvc1
|
||||
mvc2
|
||||
mvdv
|
||||
mvha
|
||||
mwsc
|
||||
mxpeg
|
||||
nellymoser
|
||||
nuv
|
||||
on2avc
|
||||
opus # libopus
|
||||
paf_audio
|
||||
paf_video
|
||||
pam # trivial
|
||||
pbm # trivial
|
||||
pcm_alaw # trivial
|
||||
pcm_bluray
|
||||
pcm_dvd
|
||||
pcm_f16le # trivial
|
||||
pcm_f24le # trivial
|
||||
pcm_f32be # trivial
|
||||
pcm_f32le # trivial
|
||||
pcm_f64be # trivial
|
||||
pcm_f64le # trivial
|
||||
pcm_lxf # trivial
|
||||
pcm_mulaw # trivial
|
||||
pcm_s16be # trivial
|
||||
pcm_s16be_planar # trivial
|
||||
pcm_s16le # trivial
|
||||
pcm_s16le_planar # trivial
|
||||
pcm_s24be # trivial
|
||||
pcm_s24daud # trivial
|
||||
pcm_s24le # trivial
|
||||
pcm_s24le_planar # trivial
|
||||
pcm_s32be # trivial
|
||||
pcm_s32le # trivial
|
||||
pcm_s32le_planar # trivial
|
||||
pcm_s64be # trivial
|
||||
pcm_s64le # trivial
|
||||
pcm_s8 # trivial
|
||||
pcm_s8_planar # trivial
|
||||
pcm_sga # trivial
|
||||
pcm_u16be # trivial
|
||||
pcm_u16le # trivial
|
||||
pcm_u24be # trivial
|
||||
pcm_u24le # trivial
|
||||
pcm_u32be # trivial
|
||||
pcm_u32le # trivial
|
||||
pcm_u8 # trivial
|
||||
pcm_vidc # trivial
|
||||
pcx
|
||||
pfm # trivial
|
||||
pgm # trivial
|
||||
pgmyuv # trivial
|
||||
pgssub # mkvtoolnix
|
||||
pgx
|
||||
phm # trivial
|
||||
photocd
|
||||
pictor
|
||||
pjs
|
||||
png # libpng
|
||||
ppm # trivial
|
||||
prores
|
||||
prores_raw
|
||||
prosumer
|
||||
psd
|
||||
ptx
|
||||
qcelp
|
||||
qdm2
|
||||
qdmc
|
||||
qdraw
|
||||
qoa
|
||||
qoi
|
||||
qpeg
|
||||
qtrle
|
||||
r10k
|
||||
r210
|
||||
ra_144
|
||||
ra_288
|
||||
rasc
|
||||
rawvideo # trivial
|
||||
realtext
|
||||
rka
|
||||
rl2
|
||||
roq
|
||||
roq_dpcm
|
||||
rpza
|
||||
rscc
|
||||
rv10
|
||||
rv20
|
||||
s302m
|
||||
sami
|
||||
sanm
|
||||
sbc
|
||||
screenpresso
|
||||
sdx2_dpcm
|
||||
sgi # trivial
|
||||
sgirle # trivial
|
||||
shorten
|
||||
simbiosis_imx
|
||||
sipr
|
||||
siren
|
||||
smackaud
|
||||
smacker
|
||||
smc
|
||||
smvjpeg
|
||||
snow
|
||||
sol_dpcm
|
||||
sonic
|
||||
sp5x
|
||||
speedhq
|
||||
speex
|
||||
srgc
|
||||
srt # trivial
|
||||
ssa # trivial
|
||||
stl
|
||||
subrip
|
||||
subviewer
|
||||
subviewer1
|
||||
sunrast # trivial
|
||||
svq1
|
||||
svq3
|
||||
tak
|
||||
targa # trivial
|
||||
targa_y216
|
||||
tdsc
|
||||
text # trivial
|
||||
theora # libtheora
|
||||
thp
|
||||
tiertexseqvideo
|
||||
tiff # libtiff
|
||||
tmv
|
||||
truehd
|
||||
truemotion1
|
||||
truemotion2
|
||||
truemotion2rt
|
||||
truespeech
|
||||
tscc
|
||||
tscc2
|
||||
tta
|
||||
twinvq
|
||||
txd
|
||||
ulti
|
||||
utvideo
|
||||
v210 # trivial
|
||||
v210x # trivial
|
||||
v308 # trivial
|
||||
v408 # trivial
|
||||
v410 # trivial
|
||||
vb
|
||||
vble
|
||||
vcr1
|
||||
vmdaudio
|
||||
vmdvideo
|
||||
vmnc
|
||||
vnull
|
||||
vorbis # libvorbis
|
||||
vp3 # libav
|
||||
vp4 # libav
|
||||
vp5 # libav
|
||||
vp6 # libav
|
||||
vp6a # libav
|
||||
vp6f # libav
|
||||
vp7 # libav
|
||||
vp8 # libvpx
|
||||
vp8_qsv # libvpx
|
||||
vp8_v4l2m2m # libvpx
|
||||
vp9 # libvpx
|
||||
vp9_qsv # libvpx
|
||||
vp9_v4l2m2m # libvpx
|
||||
vplayer
|
||||
vqa
|
||||
vqc
|
||||
wady_dpcm
|
||||
wavarc
|
||||
wavpack
|
||||
wbmp
|
||||
wcmv
|
||||
webp # libwebp
|
||||
webvtt # trivial
|
||||
wmav1
|
||||
wmav2
|
||||
wmavoice
|
||||
wmv1
|
||||
wmv2
|
||||
wnv1
|
||||
wrapped_avframe # passthrough
|
||||
ws_snd1
|
||||
xan_dpcm
|
||||
xan_wc3
|
||||
xan_wc4
|
||||
xbin
|
||||
xbm # trivial
|
||||
xface
|
||||
xl
|
||||
xpm
|
||||
xsub
|
||||
xwd # xwd
|
||||
y41p # trivial
|
||||
ylc
|
||||
yop
|
||||
yuv4 # trivial
|
||||
zero12v
|
||||
zerocodec
|
||||
zlib # zlib
|
||||
zmbv # dosbox
|
||||
@@ -0,0 +1,216 @@
|
||||
## module name # reason for enablement in ffmpeg (usually there is another package that already got legal review)
|
||||
a64multi
|
||||
a64multi5
|
||||
aac
|
||||
libfdk_aac # fdk-aac-free
|
||||
ac3
|
||||
adpcm_adx
|
||||
adpcm_argo
|
||||
adpcm_g722
|
||||
adpcm_g726
|
||||
adpcm_g726le
|
||||
adpcm_ima_alp
|
||||
adpcm_ima_amv
|
||||
adpcm_ima_apm
|
||||
adpcm_ima_qt
|
||||
adpcm_ima_ssi
|
||||
adpcm_ima_wav
|
||||
adpcm_ima_ws
|
||||
adpcm_ms
|
||||
adpcm_swf
|
||||
adpcm_yamaha
|
||||
alac
|
||||
alias_pix
|
||||
amv
|
||||
anull
|
||||
apng # libpng
|
||||
ass # trivial
|
||||
asv1
|
||||
asv2
|
||||
av1_amf
|
||||
av1_nvenc
|
||||
av1_qsv
|
||||
av1_vaapi
|
||||
bitpacked # trivial
|
||||
bmp # trivial
|
||||
cinepak
|
||||
cljr
|
||||
dca
|
||||
dfpwm
|
||||
dnxhd
|
||||
dnxhr
|
||||
dpx
|
||||
dvbsub
|
||||
dvdsub
|
||||
dvvideo
|
||||
exr
|
||||
ffv1
|
||||
ffvhuff # trivial+zlib
|
||||
flac # libFLAC
|
||||
flashsv
|
||||
flashsv2
|
||||
flv
|
||||
g723_1
|
||||
gif # libpng
|
||||
h261
|
||||
h263
|
||||
h263_v4l2m2m # hardware
|
||||
h263p
|
||||
h264_amf # hardware
|
||||
h264_nvenc # hardware
|
||||
h264_qsv # hardware
|
||||
h264_v4l2m2m # hardware
|
||||
h264_vaapi # hardware
|
||||
hap
|
||||
hdr
|
||||
hevc_amf # hardware
|
||||
hevc_nvenc # hardware
|
||||
hevc_qsv # hardware
|
||||
hevc_v4l2m2m # hardware
|
||||
hevc_vaapi # hardware
|
||||
huffyuv # trivial+zlib
|
||||
ilbc # ilbc
|
||||
jpeg2000
|
||||
jpegls
|
||||
libaom
|
||||
libaom_av1 # libaom
|
||||
libcodec2 # codec2
|
||||
libgsm # libgsm
|
||||
libgsm_ms # libgsm
|
||||
libilbc # ilbc
|
||||
libjxl # libjxl
|
||||
liblc3 # liblc3
|
||||
libmp3lame # lame
|
||||
liboapv
|
||||
libopencore_amrnb
|
||||
libopenh264 # openh264
|
||||
libopenjpeg # openjpeg
|
||||
libopus # opus
|
||||
librav1e # rav1e
|
||||
libspeex # speex
|
||||
libsvtav1
|
||||
libtheora # libtheora
|
||||
libtwolame # twolame
|
||||
libvo_amrwbenc
|
||||
libvorbis # libvorbis
|
||||
libvpx_vp8 # libvpx
|
||||
libvpx_vp9 # libvpx
|
||||
libwebp # libwebp
|
||||
libwebp_anim # libwebp
|
||||
libxeve
|
||||
libxvid # xvidcore
|
||||
mjpeg # mjpegtools
|
||||
mjpeg_qsv # mjpegtools
|
||||
mjpeg_vaapi # mjpegtools
|
||||
mlp
|
||||
movtext
|
||||
mp2 # twolame
|
||||
mp2fixed # twolame
|
||||
mpeg1video
|
||||
mpeg2_qsv
|
||||
mpeg2_vaapi
|
||||
mpeg2video
|
||||
mpeg4
|
||||
mpeg4_v4l2m2m # hardware
|
||||
msmpeg4v2
|
||||
msmpeg4v3
|
||||
msvideo1
|
||||
nellymoser
|
||||
opus # opus
|
||||
pam
|
||||
pbm # trivial
|
||||
pcm_alaw # trivial
|
||||
pcm_f32be # trivial
|
||||
pcm_f32le # trivial
|
||||
pcm_f64be # trivial
|
||||
pcm_f64le # trivial
|
||||
pcm_mulaw # trivial
|
||||
pcm_s16be # trivial
|
||||
pcm_s16be_planar # trivial
|
||||
pcm_s16le # trivial
|
||||
pcm_s16le_planar # trivial
|
||||
pcm_s24be # trivial
|
||||
pcm_s24le # trivial
|
||||
pcm_s24le_planar # trivial
|
||||
pcm_s32be # trivial
|
||||
pcm_s32le # trivial
|
||||
pcm_s32le_planar # trivial
|
||||
pcm_s8 # trivial
|
||||
pcm_s8_planar # trivial
|
||||
pcm_u16be # trivial
|
||||
pcm_u16le # trivial
|
||||
pcm_u24be # trivial
|
||||
pcm_u24le # trivial
|
||||
pcm_u32be # trivial
|
||||
pcm_u32le # trivial
|
||||
pcm_u8 # trivial
|
||||
pcx
|
||||
pgm # trivial
|
||||
pgmyuv # trivial
|
||||
phm # trivial
|
||||
png # libpng
|
||||
ppm # trivial
|
||||
prores
|
||||
prores_aw
|
||||
prores_ks
|
||||
qoi
|
||||
qtrle
|
||||
r10k # trivial
|
||||
r210 # trivial
|
||||
ra_144
|
||||
rawvideo # trivial
|
||||
roq
|
||||
roq_dpcm
|
||||
rpza
|
||||
rv10
|
||||
rv20
|
||||
s302m
|
||||
sbc
|
||||
sgi # trivial
|
||||
smc
|
||||
snow
|
||||
sonic
|
||||
sonic_ls
|
||||
speedhq
|
||||
srt # trivial
|
||||
ssa # trivial
|
||||
subrip # trivial
|
||||
sunrast # trivial
|
||||
svq1
|
||||
targa # trivial
|
||||
text # trivial
|
||||
tiff # libtiff
|
||||
truehd
|
||||
tta
|
||||
ttml
|
||||
utvideo
|
||||
v210 # trivial
|
||||
v308 # trivial
|
||||
v408 # trivial
|
||||
v410 # trivial
|
||||
vc1_qsv # hardware
|
||||
vc1_v4l2m2m # hardware
|
||||
vc2 # dirac
|
||||
vnull
|
||||
vorbis # libvorbis
|
||||
vp8_qsv # libvpx
|
||||
vp8_v4l2m2m # libvpx
|
||||
vp8_vaapi # libvpx
|
||||
vp9_qsv # libvpx
|
||||
vp9_vaapi # libvpx
|
||||
wavpack
|
||||
wbmp
|
||||
webvtt # trivial
|
||||
wmav1
|
||||
wmav2
|
||||
wmv1
|
||||
wmv2
|
||||
wrapped_avframe # passthrough
|
||||
xbm # (X11)
|
||||
xface
|
||||
xsub
|
||||
xwd # xwd
|
||||
y41p # trivial
|
||||
yuv4 # trivial
|
||||
zlib # zlib
|
||||
zmbv # dosbox
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,42 +0,0 @@
|
||||
diff -Naur ffmpeg-7.1.2.old/libavcodec/lcevcdec.c ffmpeg-7.1.2/libavcodec/lcevcdec.c
|
||||
--- ffmpeg-7.1.2.old/libavcodec/lcevcdec.c 2025-10-27 10:07:00.369472051 +0100
|
||||
+++ ffmpeg-7.1.2/libavcodec/lcevcdec.c 2025-10-27 10:07:01.223246583 +0100
|
||||
@@ -139,7 +139,7 @@
|
||||
if (!sd)
|
||||
return 1;
|
||||
|
||||
- res = LCEVC_SendDecoderEnhancementData(lcevc->decoder, in->pts, 0, sd->data, sd->size);
|
||||
+ res = LCEVC_SendDecoderEnhancementData(lcevc->decoder, (uint64_t) in->pts, sd->data, sd->size);
|
||||
if (res != LCEVC_Success)
|
||||
return AVERROR_EXTERNAL;
|
||||
|
||||
@@ -147,7 +147,7 @@
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
- res = LCEVC_SendDecoderBase(lcevc->decoder, in->pts, 0, picture, -1, NULL);
|
||||
+ res = LCEVC_SendDecoderBase(lcevc->decoder, (uint64_t) in->pts, picture, -1, NULL);
|
||||
if (res != LCEVC_Success)
|
||||
return AVERROR_EXTERNAL;
|
||||
|
||||
diff -Naur ffmpeg-7.1.2.old/libavfilter/vf_lcevc.c ffmpeg-7.1.2/libavfilter/vf_lcevc.c
|
||||
--- ffmpeg-7.1.2.old/libavfilter/vf_lcevc.c 2025-10-27 10:07:00.732521928 +0100
|
||||
+++ ffmpeg-7.1.2/libavfilter/vf_lcevc.c 2025-10-27 10:07:01.223846623 +0100
|
||||
@@ -139,7 +139,7 @@
|
||||
return ret;
|
||||
|
||||
if (sd) {
|
||||
- res = LCEVC_SendDecoderEnhancementData(lcevc->decoder, in->pts, 0, sd->data, sd->size);
|
||||
+ res = LCEVC_SendDecoderEnhancementData(lcevc->decoder, (uint64_t) in->pts, sd->data, sd->size);
|
||||
if (res == LCEVC_Again)
|
||||
return AVERROR(EAGAIN);
|
||||
else if (res != LCEVC_Success) {
|
||||
@@ -148,7 +148,7 @@
|
||||
}
|
||||
}
|
||||
|
||||
- res = LCEVC_SendDecoderBase(lcevc->decoder, in->pts, 0, picture, -1, in);
|
||||
+ res = LCEVC_SendDecoderBase(lcevc->decoder, (uint64_t) in->pts, picture, -1, in);
|
||||
if (res != LCEVC_Success) {
|
||||
av_log(ctx, AV_LOG_ERROR, "LCEVC_SendDecoderBase failed\n");
|
||||
LCEVC_FreePicture(lcevc->decoder, picture);
|
||||
@@ -0,0 +1,33 @@
|
||||
From 26eb0232fa41d603a2f016faf5610de79f694c02 Mon Sep 17 00:00:00 2001
|
||||
From: Andreas Schneider <asn@cryptomilk.org>
|
||||
Date: Sun, 10 May 2026 00:10:38 +0200
|
||||
Subject: [PATCH] fdk-aac-free-devel is GPL compatible
|
||||
|
||||
See https://bugzilla.redhat.com/show_bug.cgi?id=1501522#c112
|
||||
---
|
||||
configure | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 1759694..6cf4f08 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -2003,7 +2003,6 @@ EXTERNAL_LIBRARY_GPL_LIST="
|
||||
|
||||
EXTERNAL_LIBRARY_NONFREE_LIST="
|
||||
decklink
|
||||
- libfdk_aac
|
||||
libmpeghdec
|
||||
"
|
||||
|
||||
@@ -2044,6 +2043,7 @@ EXTERNAL_LIBRARY_LIST="
|
||||
libcodec2
|
||||
libdav1d
|
||||
libdc1394
|
||||
+ libfdk_aac
|
||||
libflite
|
||||
libfontconfig
|
||||
libfreetype
|
||||
--
|
||||
2.54.0
|
||||
|
||||
@@ -1,31 +1,46 @@
|
||||
diff -Naur ffmpeg-7.1.2.old/libavformat/avformat.h ffmpeg-7.1.2/libavformat/avformat.h
|
||||
--- ffmpeg-7.1.2.old/libavformat/avformat.h 2025-10-27 10:07:00.895476692 +0100
|
||||
+++ ffmpeg-7.1.2/libavformat/avformat.h 2025-10-27 10:07:01.866348795 +0100
|
||||
@@ -1202,6 +1202,10 @@
|
||||
|
||||
From d32aacab65a322b66d6a1b48f6cdb03e42bde0f9 Mon Sep 17 00:00:00 2001
|
||||
From: Frank Liberato <liberato@chromium.org>
|
||||
Date: Wed, 7 Jul 2021 19:01:22 -0700
|
||||
Subject: [PATCH] Add av_stream_get_first_dts for Chromium
|
||||
|
||||
---
|
||||
libavformat/avformat.h | 4 ++++
|
||||
libavformat/utils.c | 7 +++++++
|
||||
2 files changed, 11 insertions(+)
|
||||
|
||||
diff --git a/libavformat/avformat.h b/libavformat/avformat.h
|
||||
index 1916aa2dc5..e6682849fa 100644
|
||||
--- a/libavformat/avformat.h
|
||||
+++ b/libavformat/avformat.h
|
||||
@@ -1170,6 +1170,10 @@ typedef struct AVStreamGroup {
|
||||
|
||||
struct AVCodecParserContext *av_stream_get_parser(const AVStream *s);
|
||||
|
||||
|
||||
+// Chromium: We use the internal field first_dts vvv
|
||||
+int64_t av_stream_get_first_dts(const AVStream *st);
|
||||
+// Chromium: We use the internal field first_dts ^^^
|
||||
+
|
||||
#define AV_PROGRAM_RUNNING 1
|
||||
|
||||
|
||||
/**
|
||||
diff -Naur ffmpeg-7.1.2.old/libavformat/utils.c ffmpeg-7.1.2/libavformat/utils.c
|
||||
--- ffmpeg-7.1.2.old/libavformat/utils.c 2025-10-27 10:07:00.899476727 +0100
|
||||
+++ ffmpeg-7.1.2/libavformat/utils.c 2025-10-27 10:07:01.866992658 +0100
|
||||
@@ -44,6 +44,13 @@
|
||||
diff --git a/libavformat/utils.c b/libavformat/utils.c
|
||||
index cf4d68bff9..7d750abf88 100644
|
||||
--- a/libavformat/utils.c
|
||||
+++ b/libavformat/utils.c
|
||||
@@ -56,6 +56,13 @@ int ff_unlock_avformat(void)
|
||||
* various utility functions for use within FFmpeg
|
||||
*/
|
||||
|
||||
+// Chromium: We use the internal field first_dts vvv
|
||||
+int64_t av_stream_get_first_dts(const AVStream *st)
|
||||
+{
|
||||
+ return cffstream(st)->first_dts;
|
||||
+ return cffstream(st)->first_dts;
|
||||
+}
|
||||
+// Chromium: We use the internal field first_dts ^^^
|
||||
+
|
||||
/* an arbitrarily chosen "sane" max packet size -- 50M */
|
||||
#define SANE_CHUNK_SIZE (50000000)
|
||||
|
||||
|
||||
--
|
||||
2.41.0
|
||||
|
||||
|
||||
@@ -0,0 +1,58 @@
|
||||
From: Jan Engelhardt <jengelh@inai.de>
|
||||
|
||||
Edit the default codec selection such that
|
||||
|
||||
ffmpeg -i youtube.blah.webm foobar.mkv
|
||||
|
||||
without any further arguments can produce a result even on a
|
||||
reduced codec selection list.
|
||||
|
||||
---
|
||||
libavformat/matroskaenc.c | 20 ++++++++++++++------
|
||||
1 file changed, 14 insertions(+), 6 deletions(-)
|
||||
|
||||
Index: ffmpeg-7.0/libavformat/matroskaenc.c
|
||||
===================================================================
|
||||
--- ffmpeg-7.0.orig/libavformat/matroskaenc.c
|
||||
+++ ffmpeg-7.0/libavformat/matroskaenc.c
|
||||
@@ -3540,16 +3540,25 @@ static int mkv_query_codec(enum AVCodecI
|
||||
return 0;
|
||||
}
|
||||
|
||||
+#define PREFAUDIO \
|
||||
+ CONFIG_LIBOPUS_ENCODER ? AV_CODEC_ID_OPUS : \
|
||||
+ CONFIG_AAC_ENCODER ? AV_CODEC_ID_AAC : \
|
||||
+ CONFIG_VORBIS_ENCODER ? AV_CODEC_ID_VORBIS : \
|
||||
+ AV_CODEC_ID_AC3
|
||||
+
|
||||
const FFOutputFormat ff_matroska_muxer = {
|
||||
.p.name = "matroska",
|
||||
.p.long_name = NULL_IF_CONFIG_SMALL("Matroska"),
|
||||
.p.mime_type = "video/x-matroska",
|
||||
.p.extensions = "mkv",
|
||||
.priv_data_size = sizeof(MatroskaMuxContext),
|
||||
- .p.audio_codec = CONFIG_LIBVORBIS_ENCODER ?
|
||||
- AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3,
|
||||
- .p.video_codec = CONFIG_LIBX264_ENCODER ?
|
||||
- AV_CODEC_ID_H264 : AV_CODEC_ID_MPEG4,
|
||||
+ .p.audio_codec = PREFAUDIO,
|
||||
+ .p.video_codec =
|
||||
+ CONFIG_LIBVPX_VP9_ENCODER ? AV_CODEC_ID_VP9 : \
|
||||
+ CONFIG_LIBX264_ENCODER ? AV_CODEC_ID_H264 : \
|
||||
+ CONFIG_LIBVPX_VP8_ENCODER ? AV_CODEC_ID_VP8 : \
|
||||
+ CONFIG_MPEG4_ENCODER ? AV_CODEC_ID_MPEG4 : \
|
||||
+ AV_CODEC_ID_THEORA,
|
||||
.init = mkv_init,
|
||||
.deinit = mkv_deinit,
|
||||
.write_header = mkv_write_header,
|
||||
@@ -3617,8 +3626,7 @@ const FFOutputFormat ff_matroska_audio_m
|
||||
.p.mime_type = "audio/x-matroska",
|
||||
.p.extensions = "mka",
|
||||
.priv_data_size = sizeof(MatroskaMuxContext),
|
||||
- .p.audio_codec = CONFIG_LIBVORBIS_ENCODER ?
|
||||
- AV_CODEC_ID_VORBIS : AV_CODEC_ID_AC3,
|
||||
+ .p.audio_codec = PREFAUDIO,
|
||||
.p.video_codec = AV_CODEC_ID_NONE,
|
||||
.init = mkv_init,
|
||||
.deinit = mkv_deinit,
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
diff -Naur ffmpeg-7.1.2.old/configure ffmpeg-7.1.2/configure
|
||||
--- ffmpeg-7.1.2.old/configure 2025-10-27 10:07:02.273543997 +0100
|
||||
+++ ffmpeg-7.1.2/configure 2025-10-27 10:07:02.276510125 +0100
|
||||
@@ -4710,6 +4710,9 @@
|
||||
if $nvcc $nvccflags_default 2>&1 | grep -qi unsupported; then
|
||||
nvccflags_default="-gencode arch=compute_60,code=sm_60 -O2"
|
||||
fi
|
||||
+ if $nvcc $nvccflags_default 2>&1 | grep -qi unsupported; then
|
||||
+ nvccflags_default="-gencode arch=compute_75,code=sm_75 -O2"
|
||||
+ fi
|
||||
fi
|
||||
|
||||
set_default arch cc cxx doxygen pkg_config ranlib strip sysinclude \
|
||||
@@ -1,454 +0,0 @@
|
||||
diff -Naur ffmpeg-7.1.2.old/doc/outdevs.texi ffmpeg-7.1.2/doc/outdevs.texi
|
||||
--- ffmpeg-7.1.2.old/doc/outdevs.texi 2025-10-27 10:07:00.979477433 +0100
|
||||
+++ ffmpeg-7.1.2/doc/outdevs.texi 2025-10-27 10:07:02.002148270 +0100
|
||||
@@ -240,6 +240,10 @@
|
||||
outgoing VANC data will be dropped.
|
||||
Defaults to @samp{1048576}.
|
||||
|
||||
+@item block_until_available
|
||||
+Retries output if device appears unavailable. Retry rate is 60 times a second.
|
||||
+Defaults to @option{0}.
|
||||
+
|
||||
@end table
|
||||
|
||||
@subsection Examples
|
||||
diff -Naur ffmpeg-7.1.2.old/fftools/ffmpeg_sched.c ffmpeg-7.1.2/fftools/ffmpeg_sched.c
|
||||
--- ffmpeg-7.1.2.old/fftools/ffmpeg_sched.c 2025-10-27 10:07:01.220479559 +0100
|
||||
+++ ffmpeg-7.1.2/fftools/ffmpeg_sched.c 2025-10-27 10:07:02.002549025 +0100
|
||||
@@ -22,6 +22,7 @@
|
||||
#include <stdatomic.h>
|
||||
#include <stddef.h>
|
||||
#include <stdint.h>
|
||||
+#include <unistd.h>
|
||||
|
||||
#include "cmdutils.h"
|
||||
#include "ffmpeg_sched.h"
|
||||
diff -Naur ffmpeg-7.1.2.old/libavdevice/decklink_common_c.h ffmpeg-7.1.2/libavdevice/decklink_common_c.h
|
||||
--- ffmpeg-7.1.2.old/libavdevice/decklink_common_c.h 2025-10-27 10:07:00.829476109 +0100
|
||||
+++ ffmpeg-7.1.2/libavdevice/decklink_common_c.h 2025-10-27 10:07:02.003002589 +0100
|
||||
@@ -74,6 +74,7 @@
|
||||
int64_t timestamp_align;
|
||||
int timing_offset;
|
||||
int wait_for_tc;
|
||||
+ int block_until_available;
|
||||
DecklinkSignalLossAction signal_loss_action;
|
||||
};
|
||||
|
||||
diff -Naur ffmpeg-7.1.2.old/libavdevice/decklink_common.cpp ffmpeg-7.1.2/libavdevice/decklink_common.cpp
|
||||
--- ffmpeg-7.1.2.old/libavdevice/decklink_common.cpp 2025-10-27 10:07:00.828476101 +0100
|
||||
+++ ffmpeg-7.1.2/libavdevice/decklink_common.cpp 2025-10-27 10:07:02.003115933 +0100
|
||||
@@ -25,7 +25,7 @@
|
||||
#include "libavformat/internal.h"
|
||||
}
|
||||
|
||||
-#include <DeckLinkAPI.h>
|
||||
+#include <DeckLinkAPI_v14_2_1.h>
|
||||
#ifdef _WIN32
|
||||
#include <DeckLinkAPI_i.c>
|
||||
#else
|
||||
@@ -53,6 +53,7 @@
|
||||
|
||||
#include "decklink_common.h"
|
||||
|
||||
+
|
||||
static IDeckLinkIterator *decklink_create_iterator(AVFormatContext *avctx)
|
||||
{
|
||||
IDeckLinkIterator *iter;
|
||||
@@ -512,8 +513,8 @@
|
||||
return AVERROR(EIO);
|
||||
|
||||
while (ret == 0 && iter->Next(&dl) == S_OK) {
|
||||
- IDeckLinkOutput *output_config;
|
||||
- IDeckLinkInput *input_config;
|
||||
+ IDeckLinkOutput_v14_2_1 *output_config;
|
||||
+ IDeckLinkInput_v14_2_1 *input_config;
|
||||
const char *display_name = NULL;
|
||||
const char *unique_name = NULL;
|
||||
AVDeviceInfo *new_device = NULL;
|
||||
@@ -527,14 +528,14 @@
|
||||
goto next;
|
||||
|
||||
if (show_outputs) {
|
||||
- if (dl->QueryInterface(IID_IDeckLinkOutput, (void **)&output_config) == S_OK) {
|
||||
+ if (dl->QueryInterface(IID_IDeckLinkOutput_v14_2_1, (void **)&output_config) == S_OK) {
|
||||
output_config->Release();
|
||||
add = 1;
|
||||
}
|
||||
}
|
||||
|
||||
if (show_inputs) {
|
||||
- if (dl->QueryInterface(IID_IDeckLinkInput, (void **)&input_config) == S_OK) {
|
||||
+ if (dl->QueryInterface(IID_IDeckLinkInput_v14_2_1, (void **)&input_config) == S_OK) {
|
||||
input_config->Release();
|
||||
add = 1;
|
||||
}
|
||||
diff -Naur ffmpeg-7.1.2.old/libavdevice/decklink_common.h ffmpeg-7.1.2/libavdevice/decklink_common.h
|
||||
--- ffmpeg-7.1.2.old/libavdevice/decklink_common.h 2025-10-27 10:07:00.831476127 +0100
|
||||
+++ ffmpeg-7.1.2/libavdevice/decklink_common.h 2025-10-27 10:07:02.003408083 +0100
|
||||
@@ -93,8 +93,8 @@
|
||||
struct decklink_ctx {
|
||||
/* DeckLink SDK interfaces */
|
||||
IDeckLink *dl;
|
||||
- IDeckLinkOutput *dlo;
|
||||
- IDeckLinkInput *dli;
|
||||
+ IDeckLinkOutput_v14_2_1 *dlo;
|
||||
+ IDeckLinkInput_v14_2_1 *dli;
|
||||
IDeckLinkConfiguration *cfg;
|
||||
IDeckLinkProfileAttributes *attr;
|
||||
decklink_output_callback *output_callback;
|
||||
@@ -134,7 +134,6 @@
|
||||
AVStream *klv_st;
|
||||
AVStream *teletext_st;
|
||||
uint16_t cdp_sequence_num;
|
||||
-
|
||||
/* Options */
|
||||
int list_devices;
|
||||
int list_formats;
|
||||
@@ -149,13 +148,16 @@
|
||||
BMDPixelFormat raw_format;
|
||||
DecklinkSignalLossAction signal_loss_action;
|
||||
|
||||
+
|
||||
int frames_preroll;
|
||||
int frames_buffer;
|
||||
|
||||
pthread_mutex_t mutex;
|
||||
pthread_cond_t cond;
|
||||
int frames_buffer_available_spots;
|
||||
+ int outstanding_frames;
|
||||
int autodetect;
|
||||
+ int block_until_available;
|
||||
|
||||
#if CONFIG_LIBKLVANC
|
||||
struct klvanc_context_s *vanc_ctx;
|
||||
@@ -249,3 +251,4 @@
|
||||
int64_t ff_decklink_packet_queue_peekpts(DecklinkPacketQueue *q);
|
||||
|
||||
#endif /* AVDEVICE_DECKLINK_COMMON_H */
|
||||
+
|
||||
diff -Naur ffmpeg-7.1.2.old/libavdevice/decklink_dec.cpp ffmpeg-7.1.2/libavdevice/decklink_dec.cpp
|
||||
--- ffmpeg-7.1.2.old/libavdevice/decklink_dec.cpp 2025-10-27 10:07:00.828476101 +0100
|
||||
+++ ffmpeg-7.1.2/libavdevice/decklink_dec.cpp 2025-10-27 10:07:02.003669356 +0100
|
||||
@@ -31,7 +31,7 @@
|
||||
#include "libavformat/internal.h"
|
||||
}
|
||||
|
||||
-#include <DeckLinkAPI.h>
|
||||
+#include <DeckLinkAPI_v14_2_1.h>
|
||||
|
||||
extern "C" {
|
||||
#include "config.h"
|
||||
@@ -56,6 +56,7 @@
|
||||
#include "decklink_common.h"
|
||||
#include "decklink_dec.h"
|
||||
|
||||
+extern bool operator==(const REFIID& me, const REFIID& other);
|
||||
#define MAX_WIDTH_VANC 1920
|
||||
const BMDDisplayMode AUTODETECT_DEFAULT_MODE = bmdModeNTSC;
|
||||
|
||||
@@ -105,13 +106,13 @@
|
||||
{bmdModeUnknown, 0, -1, -1, -1}
|
||||
};
|
||||
|
||||
-class decklink_allocator : public IDeckLinkMemoryAllocator
|
||||
+class decklink_allocator : public IDeckLinkMemoryAllocator_v14_2_1
|
||||
{
|
||||
public:
|
||||
decklink_allocator(): _refs(1) { }
|
||||
virtual ~decklink_allocator() { }
|
||||
|
||||
- // IDeckLinkMemoryAllocator methods
|
||||
+ // IDeckLinkMemoryAllocator_v14_2_1 methods
|
||||
virtual HRESULT STDMETHODCALLTYPE AllocateBuffer(unsigned int bufferSize, void* *allocatedBuffer)
|
||||
{
|
||||
void *buf = av_malloc(bufferSize + AV_INPUT_BUFFER_PADDING_SIZE);
|
||||
@@ -129,7 +130,15 @@
|
||||
virtual HRESULT STDMETHODCALLTYPE Decommit() { return S_OK; }
|
||||
|
||||
// IUnknown methods
|
||||
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; }
|
||||
+ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv)
|
||||
+ {
|
||||
+ if (iid == IID_IDeckLinkMemoryAllocator_v14_2_1) {
|
||||
+ *ppv = (IDeckLinkMemoryAllocator_v14_2_1*)this;
|
||||
+ AddRef();
|
||||
+ return S_OK;
|
||||
+ }
|
||||
+ return E_NOINTERFACE;
|
||||
+ }
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++_refs; }
|
||||
virtual ULONG STDMETHODCALLTYPE Release(void)
|
||||
{
|
||||
@@ -472,7 +481,7 @@
|
||||
}
|
||||
|
||||
|
||||
-static void handle_klv(AVFormatContext *avctx, decklink_ctx *ctx, IDeckLinkVideoInputFrame *videoFrame, int64_t pts)
|
||||
+static void handle_klv(AVFormatContext *avctx, decklink_ctx *ctx, IDeckLinkVideoInputFrame_v14_2_1 *videoFrame, int64_t pts)
|
||||
{
|
||||
const uint8_t KLV_DID = 0x44;
|
||||
const uint8_t KLV_IN_VANC_SDID = 0x04;
|
||||
@@ -574,17 +583,25 @@
|
||||
}
|
||||
}
|
||||
|
||||
-class decklink_input_callback : public IDeckLinkInputCallback
|
||||
+class decklink_input_callback : public IDeckLinkInputCallback_v14_2_1
|
||||
{
|
||||
public:
|
||||
explicit decklink_input_callback(AVFormatContext *_avctx);
|
||||
~decklink_input_callback();
|
||||
|
||||
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; }
|
||||
+ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv)
|
||||
+ {
|
||||
+ if (iid == IID_IDeckLinkInputCallback_v14_2_1) {
|
||||
+ *ppv = (IDeckLinkInputCallback_v14_2_1*)this;
|
||||
+ AddRef();
|
||||
+ return S_OK;
|
||||
+ }
|
||||
+ return E_NOINTERFACE;
|
||||
+ }
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef(void);
|
||||
virtual ULONG STDMETHODCALLTYPE Release(void);
|
||||
virtual HRESULT STDMETHODCALLTYPE VideoInputFormatChanged(BMDVideoInputFormatChangedEvents, IDeckLinkDisplayMode*, BMDDetectedVideoInputFormatFlags);
|
||||
- virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(IDeckLinkVideoInputFrame*, IDeckLinkAudioInputPacket*);
|
||||
+ virtual HRESULT STDMETHODCALLTYPE VideoInputFrameArrived(IDeckLinkVideoInputFrame_v14_2_1*, IDeckLinkAudioInputPacket*);
|
||||
|
||||
private:
|
||||
std::atomic<int> _refs;
|
||||
@@ -593,7 +610,7 @@
|
||||
int no_video;
|
||||
int64_t initial_video_pts;
|
||||
int64_t initial_audio_pts;
|
||||
- IDeckLinkVideoInputFrame* last_video_frame;
|
||||
+ IDeckLinkVideoInputFrame_v14_2_1* last_video_frame;
|
||||
};
|
||||
|
||||
decklink_input_callback::decklink_input_callback(AVFormatContext *_avctx) : _refs(1)
|
||||
@@ -625,7 +642,7 @@
|
||||
return ret;
|
||||
}
|
||||
|
||||
-static int64_t get_pkt_pts(IDeckLinkVideoInputFrame *videoFrame,
|
||||
+static int64_t get_pkt_pts(IDeckLinkVideoInputFrame_v14_2_1 *videoFrame,
|
||||
IDeckLinkAudioInputPacket *audioFrame,
|
||||
int64_t wallclock,
|
||||
int64_t abs_wallclock,
|
||||
@@ -679,7 +696,7 @@
|
||||
return pts;
|
||||
}
|
||||
|
||||
-static int get_bmd_timecode(AVFormatContext *avctx, AVTimecode *tc, AVRational frame_rate, BMDTimecodeFormat tc_format, IDeckLinkVideoInputFrame *videoFrame)
|
||||
+static int get_bmd_timecode(AVFormatContext *avctx, AVTimecode *tc, AVRational frame_rate, BMDTimecodeFormat tc_format, IDeckLinkVideoInputFrame_v14_2_1 *videoFrame)
|
||||
{
|
||||
IDeckLinkTimecode *timecode;
|
||||
int ret = AVERROR(ENOENT);
|
||||
@@ -701,7 +718,7 @@
|
||||
return ret;
|
||||
}
|
||||
|
||||
-static int get_frame_timecode(AVFormatContext *avctx, decklink_ctx *ctx, AVTimecode *tc, IDeckLinkVideoInputFrame *videoFrame)
|
||||
+static int get_frame_timecode(AVFormatContext *avctx, decklink_ctx *ctx, AVTimecode *tc, IDeckLinkVideoInputFrame_v14_2_1 *videoFrame)
|
||||
{
|
||||
AVRational frame_rate = ctx->video_st->r_frame_rate;
|
||||
int ret;
|
||||
@@ -726,7 +743,7 @@
|
||||
}
|
||||
|
||||
HRESULT decklink_input_callback::VideoInputFrameArrived(
|
||||
- IDeckLinkVideoInputFrame *videoFrame, IDeckLinkAudioInputPacket *audioFrame)
|
||||
+ IDeckLinkVideoInputFrame_v14_2_1 *videoFrame, IDeckLinkAudioInputPacket *audioFrame)
|
||||
{
|
||||
void *frameBytes;
|
||||
void *audioFrameBytes;
|
||||
@@ -1141,7 +1158,7 @@
|
||||
goto error;
|
||||
|
||||
/* Get input device. */
|
||||
- if (ctx->dl->QueryInterface(IID_IDeckLinkInput, (void **) &ctx->dli) != S_OK) {
|
||||
+ if (ctx->dl->QueryInterface(IID_IDeckLinkInput_v14_2_1, (void **) &ctx->dli) != S_OK) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Could not open input device from '%s'\n",
|
||||
avctx->url);
|
||||
ret = AVERROR(EIO);
|
||||
diff -Naur ffmpeg-7.1.2.old/libavdevice/decklink_enc_c.c ffmpeg-7.1.2/libavdevice/decklink_enc_c.c
|
||||
--- ffmpeg-7.1.2.old/libavdevice/decklink_enc_c.c 2025-10-27 10:07:00.833476145 +0100
|
||||
+++ ffmpeg-7.1.2/libavdevice/decklink_enc_c.c 2025-10-27 10:07:02.004050964 +0100
|
||||
@@ -32,6 +32,7 @@
|
||||
{ "list_devices", "use ffmpeg -sinks decklink instead", OFFSET(list_devices), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, ENC | AV_OPT_FLAG_DEPRECATED},
|
||||
{ "list_formats", "list supported formats" , OFFSET(list_formats), AV_OPT_TYPE_INT , { .i64 = 0 }, 0, 1, ENC },
|
||||
{ "preroll" , "video preroll in seconds", OFFSET(preroll ), AV_OPT_TYPE_DOUBLE, { .dbl = 0.5 }, 0, 5, ENC },
|
||||
+ { "block_until_available", "wait for device to become available instead of raising error", OFFSET(block_until_available), AV_OPT_TYPE_BOOL, { .i64 = 0 }, 0, 1, ENC },
|
||||
{ "vanc_queue_size", "VANC queue buffer size", OFFSET(vanc_queue_size), AV_OPT_TYPE_INT64, { .i64 = (1024 * 1024)}, 0, INT64_MAX, ENC },
|
||||
#if BLACKMAGIC_DECKLINK_API_VERSION >= 0x0b000000
|
||||
{ "duplex_mode" , "duplex mode" , OFFSET(duplex_mode ), AV_OPT_TYPE_INT , { .i64 = 0 }, 0, 5, ENC, .unit = "duplex_mode"},
|
||||
diff -Naur ffmpeg-7.1.2.old/libavdevice/decklink_enc.cpp ffmpeg-7.1.2/libavdevice/decklink_enc.cpp
|
||||
--- ffmpeg-7.1.2.old/libavdevice/decklink_enc.cpp 2025-10-27 10:07:00.832476136 +0100
|
||||
+++ ffmpeg-7.1.2/libavdevice/decklink_enc.cpp 2025-10-27 10:07:02.004296918 +0100
|
||||
@@ -20,6 +20,8 @@
|
||||
*/
|
||||
|
||||
#include <atomic>
|
||||
+#include <unistd.h>
|
||||
+
|
||||
using std::atomic;
|
||||
|
||||
/* Include internal.h first to avoid conflict between winsock.h (used by
|
||||
@@ -28,7 +30,7 @@
|
||||
#include "libavformat/internal.h"
|
||||
}
|
||||
|
||||
-#include <DeckLinkAPI.h>
|
||||
+#include <DeckLinkAPI_v14_2_1.h>
|
||||
|
||||
extern "C" {
|
||||
#include "libavformat/avformat.h"
|
||||
@@ -47,8 +49,26 @@
|
||||
#include "libklvanc/pixels.h"
|
||||
#endif
|
||||
|
||||
+extern bool operator==(const REFIID& me, const REFIID& other){
|
||||
+ return me.byte0 == other.byte0 &&
|
||||
+ me.byte1 == other.byte1 &&
|
||||
+ me.byte2 == other.byte2 &&
|
||||
+ me.byte3 == other.byte3 &&
|
||||
+ me.byte4 == other.byte4 &&
|
||||
+ me.byte5 == other.byte5 &&
|
||||
+ me.byte6 == other.byte6 &&
|
||||
+ me.byte7 == other.byte7 &&
|
||||
+ me.byte8 == other.byte8 &&
|
||||
+ me.byte9 == other.byte9 &&
|
||||
+ me.byte10 == other.byte10 &&
|
||||
+ me.byte11 == other.byte11 &&
|
||||
+ me.byte12 == other.byte12 &&
|
||||
+ me.byte13 == other.byte13 &&
|
||||
+ me.byte14 == other.byte14 &&
|
||||
+ me.byte15 == other.byte15;
|
||||
+}
|
||||
/* DeckLink callback class declaration */
|
||||
-class decklink_frame : public IDeckLinkVideoFrame
|
||||
+class decklink_frame : public IDeckLinkVideoFrame_v14_2_1
|
||||
{
|
||||
public:
|
||||
decklink_frame(struct decklink_ctx *ctx, AVFrame *avframe, AVCodecID codec_id, int height, int width) :
|
||||
@@ -111,7 +131,16 @@
|
||||
_ancillary->AddRef();
|
||||
return S_OK;
|
||||
}
|
||||
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; }
|
||||
+ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv)
|
||||
+ {
|
||||
+ if (iid == IID_IDeckLinkVideoFrame_v14_2_1)
|
||||
+ {
|
||||
+ *ppv = (IDeckLinkVideoFrame_v14_2_1*)this;
|
||||
+ AddRef();
|
||||
+ return S_OK;
|
||||
+ }
|
||||
+ return E_NOINTERFACE;
|
||||
+ }
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef(void) { return ++_refs; }
|
||||
virtual ULONG STDMETHODCALLTYPE Release(void)
|
||||
{
|
||||
@@ -138,10 +167,10 @@
|
||||
std::atomic<int> _refs;
|
||||
};
|
||||
|
||||
-class decklink_output_callback : public IDeckLinkVideoOutputCallback
|
||||
+class decklink_output_callback : public IDeckLinkVideoOutputCallback_v14_2_1
|
||||
{
|
||||
public:
|
||||
- virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(IDeckLinkVideoFrame *_frame, BMDOutputFrameCompletionResult result)
|
||||
+ virtual HRESULT STDMETHODCALLTYPE ScheduledFrameCompleted(IDeckLinkVideoFrame_v14_2_1 *_frame, BMDOutputFrameCompletionResult result)
|
||||
{
|
||||
decklink_frame *frame = static_cast<decklink_frame *>(_frame);
|
||||
struct decklink_ctx *ctx = frame->_ctx;
|
||||
@@ -155,11 +184,22 @@
|
||||
ctx->frames_buffer_available_spots++;
|
||||
pthread_cond_broadcast(&ctx->cond);
|
||||
pthread_mutex_unlock(&ctx->mutex);
|
||||
-
|
||||
+ pthread_mutex_lock(&ctx->mutex);
|
||||
+ ctx->outstanding_frames--;
|
||||
+ pthread_mutex_unlock(&ctx->mutex);
|
||||
return S_OK;
|
||||
}
|
||||
virtual HRESULT STDMETHODCALLTYPE ScheduledPlaybackHasStopped(void) { return S_OK; }
|
||||
- virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv) { return E_NOINTERFACE; }
|
||||
+ virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID iid, LPVOID *ppv)
|
||||
+ {
|
||||
+ if (iid == IID_IDeckLinkVideoOutputCallback_v14_2_1)
|
||||
+ {
|
||||
+ *ppv = (IDeckLinkVideoOutputCallback_v14_2_1*)this;
|
||||
+ AddRef();
|
||||
+ return S_OK;
|
||||
+ }
|
||||
+ return E_NOINTERFACE;
|
||||
+ }
|
||||
virtual ULONG STDMETHODCALLTYPE AddRef(void) { return 1; }
|
||||
virtual ULONG STDMETHODCALLTYPE Release(void) { return 1; }
|
||||
};
|
||||
@@ -204,9 +244,14 @@
|
||||
av_log(avctx, AV_LOG_WARNING, "Could not enable video output with VANC! Trying without...\n");
|
||||
ctx->supports_vanc = 0;
|
||||
}
|
||||
- if (!ctx->supports_vanc && ctx->dlo->EnableVideoOutput(ctx->bmd_mode, bmdVideoOutputFlagDefault) != S_OK) {
|
||||
- av_log(avctx, AV_LOG_ERROR, "Could not enable video output!\n");
|
||||
- return -1;
|
||||
+ while (!ctx->supports_vanc && ctx->dlo->EnableVideoOutput(ctx->bmd_mode, bmdVideoOutputFlagDefault) != S_OK) {
|
||||
+ if (!ctx->block_until_available) {
|
||||
+ av_log(avctx, AV_LOG_ERROR, "Could not enable video output!\n");
|
||||
+ return -1;
|
||||
+ };
|
||||
+ av_log(avctx, AV_LOG_WARNING, "Could not enable video output, waiting for device...\n");
|
||||
+ usleep(1000000 / 60);
|
||||
+ continue;
|
||||
}
|
||||
|
||||
/* Set callback. */
|
||||
@@ -370,6 +415,10 @@
|
||||
struct decklink_cctx *cctx = (struct decklink_cctx *)avctx->priv_data;
|
||||
struct decklink_ctx *ctx = (struct decklink_ctx *)cctx->ctx;
|
||||
|
||||
+ av_log(avctx, AV_LOG_DEBUG, "Wating for %d outstanding frames to return their results\n", ctx->outstanding_frames);
|
||||
+ while (ctx->outstanding_frames > 0){
|
||||
+ usleep(1);
|
||||
+ }
|
||||
if (ctx->playback_started) {
|
||||
BMDTimeValue actual;
|
||||
ctx->dlo->StopScheduledPlayback(ctx->last_pts * ctx->bmd_tb_num,
|
||||
@@ -739,7 +788,7 @@
|
||||
ctx->first_pts = pkt->pts;
|
||||
|
||||
/* Schedule frame for playback. */
|
||||
- hr = ctx->dlo->ScheduleVideoFrame((class IDeckLinkVideoFrame *) frame,
|
||||
+ hr = ctx->dlo->ScheduleVideoFrame((class IDeckLinkVideoFrame_v14_2_1 *) frame,
|
||||
pkt->pts * ctx->bmd_tb_num,
|
||||
ctx->bmd_tb_num, ctx->bmd_tb_den);
|
||||
/* Pass ownership to DeckLink, or release on failure */
|
||||
@@ -750,6 +799,9 @@
|
||||
return AVERROR(EIO);
|
||||
}
|
||||
|
||||
+ pthread_mutex_lock(&ctx->mutex);
|
||||
+ ctx->outstanding_frames++;
|
||||
+ pthread_mutex_unlock(&ctx->mutex);
|
||||
ctx->dlo->GetBufferedVideoFrameCount(&buffered);
|
||||
av_log(avctx, AV_LOG_DEBUG, "Buffered video frames: %d.\n", (int) buffered);
|
||||
if (pkt->pts > 2 && buffered <= 2)
|
||||
@@ -850,6 +902,7 @@
|
||||
ctx->list_devices = cctx->list_devices;
|
||||
ctx->list_formats = cctx->list_formats;
|
||||
ctx->preroll = cctx->preroll;
|
||||
+ ctx->block_until_available = cctx->block_until_available;
|
||||
ctx->duplex_mode = cctx->duplex_mode;
|
||||
ctx->first_pts = AV_NOPTS_VALUE;
|
||||
if (cctx->link > 0 && (unsigned int)cctx->link < FF_ARRAY_ELEMS(decklink_link_conf_map))
|
||||
@@ -874,7 +927,7 @@
|
||||
return ret;
|
||||
|
||||
/* Get output device. */
|
||||
- if (ctx->dl->QueryInterface(IID_IDeckLinkOutput, (void **) &ctx->dlo) != S_OK) {
|
||||
+ if (ctx->dl->QueryInterface(IID_IDeckLinkOutput_v14_2_1, (void **) &ctx->dlo) != S_OK) {
|
||||
av_log(avctx, AV_LOG_ERROR, "Could not open output device from '%s'\n",
|
||||
avctx->url);
|
||||
ret = AVERROR(EIO);
|
||||
@@ -1,12 +0,0 @@
|
||||
diff -Naur ffmpeg-7.1.2.old/configure ffmpeg-7.1.2/configure
|
||||
--- ffmpeg-7.1.2.old/configure 2025-10-27 10:07:01.862821941 +0100
|
||||
+++ ffmpeg-7.1.2/configure 2025-10-27 10:07:02.140469997 +0100
|
||||
@@ -6766,7 +6766,7 @@
|
||||
nvccflags=$nvccflags_default
|
||||
fi
|
||||
|
||||
-nvccflags="$nvccflags -std=c++11"
|
||||
+nvccflags="$nvccflags -std=c++14"
|
||||
|
||||
if enabled x86_64 || enabled ppc64 || enabled aarch64; then
|
||||
nvccflags="$nvccflags -m64"
|
||||
@@ -1,15 +1,24 @@
|
||||
diff -Naur ffmpeg-7.1.2.old/configure ffmpeg-7.1.2/configure
|
||||
--- ffmpeg-7.1.2.old/configure 2025-10-27 10:07:00.645474486 +0100
|
||||
+++ ffmpeg-7.1.2/configure 2025-10-27 10:07:01.726484024 +0100
|
||||
@@ -278,6 +278,7 @@
|
||||
--enable-libsrt enable Haivision SRT protocol via libsrt [no]
|
||||
--enable-libssh enable SFTP protocol via libssh [no]
|
||||
--enable-libsvtav1 enable AV1 encoding via SVT [no]
|
||||
+ --enable-libsvtvp9 enable VP9 encoding via svt [no]
|
||||
--enable-libtensorflow enable TensorFlow as a DNN module backend
|
||||
for DNN based filters like sr [no]
|
||||
--enable-libtesseract enable Tesseract, needed for ocr filter [no]
|
||||
@@ -1955,6 +1956,7 @@
|
||||
From fed3505f256f4eecc967f9bec4252cb1b15375bd Mon Sep 17 00:00:00 2001
|
||||
From: Terra Packaging Team <terra@fyralabs.com>
|
||||
Date: Sun, 31 May 2026 03:01:18 -0500
|
||||
Subject: [PATCH] Patch for SVT-VP9 plugin
|
||||
|
||||
See: https://github.com/OpenVisualCloud/SVT-VP9/tree/master/ffmpeg_plugin
|
||||
---
|
||||
configure | 3 +
|
||||
configure.rej | 10 +
|
||||
libavcodec/Makefile | 1 +
|
||||
libavcodec/allcodecs.c | 1 +
|
||||
libavcodec/libsvt_vp9.c | 701 ++++++++++++++++++++++++++++++++++++++++
|
||||
5 files changed, 716 insertions(+)
|
||||
create mode 100644 configure.rej
|
||||
create mode 100644 libavcodec/libsvt_vp9.c
|
||||
|
||||
diff --git a/configure b/configure
|
||||
index 1759694..4b63d8e 100755
|
||||
--- a/configure
|
||||
+++ b/configure
|
||||
@@ -2083,6 +2083,7 @@ EXTERNAL_LIBRARY_LIST="
|
||||
libshaderc
|
||||
libshine
|
||||
libsmbclient
|
||||
@@ -17,7 +26,7 @@ diff -Naur ffmpeg-7.1.2.old/configure ffmpeg-7.1.2/configure
|
||||
libsnappy
|
||||
libsoxr
|
||||
libspeex
|
||||
@@ -3579,6 +3581,7 @@
|
||||
@@ -3825,6 +3826,7 @@ libvpx_vp8_decoder_deps="libvpx"
|
||||
libvpx_vp8_encoder_deps="libvpx"
|
||||
libvpx_vp9_decoder_deps="libvpx"
|
||||
libvpx_vp9_encoder_deps="libvpx"
|
||||
@@ -25,7 +34,7 @@ diff -Naur ffmpeg-7.1.2.old/configure ffmpeg-7.1.2/configure
|
||||
libvvenc_encoder_deps="libvvenc"
|
||||
libwebp_encoder_deps="libwebp"
|
||||
libwebp_anim_encoder_deps="libwebp"
|
||||
@@ -7028,6 +7031,7 @@
|
||||
@@ -7387,6 +7389,7 @@ enabled libtwolame && require libtwolame twolame.h twolame_init -ltwolame
|
||||
die "ERROR: libtwolame must be installed and version must be >= 0.3.10"; }
|
||||
enabled libuavs3d && require_pkg_config libuavs3d "uavs3d >= 1.1.41" uavs3d.h uavs3d_decode
|
||||
enabled libv4l2 && require_pkg_config libv4l2 libv4l2 libv4l2.h v4l2_ioctl
|
||||
@@ -33,10 +42,39 @@ diff -Naur ffmpeg-7.1.2.old/configure ffmpeg-7.1.2/configure
|
||||
enabled libvidstab && require_pkg_config libvidstab "vidstab >= 0.98" vid.stab/libvidstab.h vsMotionDetectInit
|
||||
enabled libvmaf && require_pkg_config libvmaf "libvmaf >= 2.0.0" libvmaf.h vmaf_init
|
||||
enabled libvmaf && check_pkg_config libvmaf_cuda "libvmaf >= 2.0.0" libvmaf_cuda.h vmaf_cuda_state_init
|
||||
diff -Naur ffmpeg-7.1.2.old/libavcodec/allcodecs.c ffmpeg-7.1.2/libavcodec/allcodecs.c
|
||||
--- ffmpeg-7.1.2.old/libavcodec/allcodecs.c 2025-10-27 10:07:00.517473357 +0100
|
||||
+++ ffmpeg-7.1.2/libavcodec/allcodecs.c 2025-10-27 10:07:01.728697010 +0100
|
||||
@@ -796,6 +796,7 @@
|
||||
diff --git a/configure.rej b/configure.rej
|
||||
new file mode 100644
|
||||
index 0000000..3de8351
|
||||
--- /dev/null
|
||||
+++ b/configure.rej
|
||||
@@ -0,0 +1,10 @@
|
||||
+--- configure 2026-03-10 10:00:58.102559577 +0100
|
||||
++++ configure 2026-03-10 10:00:58.530928613 +0100
|
||||
+@@ -278,6 +278,7 @@
|
||||
+ --enable-libsrt enable Haivision SRT protocol via libsrt [no]
|
||||
+ --enable-libssh enable SFTP protocol via libssh [no]
|
||||
+ --enable-libsvtav1 enable AV1 encoding via SVT [no]
|
||||
++ --enable-libsvtvp9 enable VP9 encoding via svt [no]
|
||||
+ --enable-libtensorflow enable TensorFlow as a DNN module backend
|
||||
+ for DNN based filters like sr [no]
|
||||
+ --enable-libtesseract enable Tesseract, needed for ocr filter [no]
|
||||
diff --git a/libavcodec/Makefile b/libavcodec/Makefile
|
||||
index 1410bd8..9310a97 100644
|
||||
--- a/libavcodec/Makefile
|
||||
+++ b/libavcodec/Makefile
|
||||
@@ -1217,6 +1217,7 @@ OBJS-$(CONFIG_LIBVO_AMRWBENC_ENCODER) += libvo-amrwbenc.o
|
||||
OBJS-$(CONFIG_LIBVORBIS_DECODER) += libvorbisdec.o
|
||||
OBJS-$(CONFIG_LIBVORBIS_ENCODER) += libvorbisenc.o \
|
||||
vorbis_data.o
|
||||
+OBJS-$(CONFIG_LIBSVT_VP9_ENCODER) += libsvt_vp9.o
|
||||
OBJS-$(CONFIG_LIBVPX_VP8_DECODER) += libvpxdec.o
|
||||
OBJS-$(CONFIG_LIBVPX_VP8_ENCODER) += libvpxenc.o
|
||||
OBJS-$(CONFIG_LIBVPX_VP9_DECODER) += libvpxdec.o
|
||||
diff --git a/libavcodec/allcodecs.c b/libavcodec/allcodecs.c
|
||||
index 695214f..8eaa76a 100644
|
||||
--- a/libavcodec/allcodecs.c
|
||||
+++ b/libavcodec/allcodecs.c
|
||||
@@ -826,6 +826,7 @@ extern const FFCodec ff_libuavs3d_decoder;
|
||||
extern const FFCodec ff_libvo_amrwbenc_encoder;
|
||||
extern const FFCodec ff_libvorbis_encoder;
|
||||
extern const FFCodec ff_libvorbis_decoder;
|
||||
@@ -44,9 +82,11 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/allcodecs.c ffmpeg-7.1.2/libavcodec/allco
|
||||
extern const FFCodec ff_libvpx_vp8_encoder;
|
||||
extern const FFCodec ff_libvpx_vp8_decoder;
|
||||
extern FFCodec ff_libvpx_vp9_encoder;
|
||||
diff -Naur ffmpeg-7.1.2.old/libavcodec/libsvt_vp9.c ffmpeg-7.1.2/libavcodec/libsvt_vp9.c
|
||||
--- ffmpeg-7.1.2.old/libavcodec/libsvt_vp9.c 1970-01-01 01:00:00.000000000 +0100
|
||||
+++ ffmpeg-7.1.2/libavcodec/libsvt_vp9.c 2025-10-27 10:07:01.729099438 +0100
|
||||
diff --git a/libavcodec/libsvt_vp9.c b/libavcodec/libsvt_vp9.c
|
||||
new file mode 100644
|
||||
index 0000000..90ed5cb
|
||||
--- /dev/null
|
||||
+++ b/libavcodec/libsvt_vp9.c
|
||||
@@ -0,0 +1,701 @@
|
||||
+/*
|
||||
+* Scalable Video Technology for VP9 encoder library plugin
|
||||
@@ -749,14 +789,6 @@ diff -Naur ffmpeg-7.1.2.old/libavcodec/libsvt_vp9.c ffmpeg-7.1.2/libavcodec/libs
|
||||
+ .defaults = eb_enc_defaults,
|
||||
+ .p.wrapper_name = "libsvt_vp9",
|
||||
+};
|
||||
diff -Naur ffmpeg-7.1.2.old/libavcodec/Makefile ffmpeg-7.1.2/libavcodec/Makefile
|
||||
--- ffmpeg-7.1.2.old/libavcodec/Makefile 2025-10-27 10:07:00.259471080 +0100
|
||||
+++ ffmpeg-7.1.2/libavcodec/Makefile 2025-10-27 10:07:01.729297932 +0100
|
||||
@@ -1157,6 +1157,7 @@
|
||||
OBJS-$(CONFIG_LIBVORBIS_DECODER) += libvorbisdec.o
|
||||
OBJS-$(CONFIG_LIBVORBIS_ENCODER) += libvorbisenc.o \
|
||||
vorbis_data.o
|
||||
+OBJS-$(CONFIG_LIBSVT_VP9_ENCODER) += libsvt_vp9.o
|
||||
OBJS-$(CONFIG_LIBVPX_VP8_DECODER) += libvpxdec.o
|
||||
OBJS-$(CONFIG_LIBVPX_VP8_ENCODER) += libvpxenc.o
|
||||
OBJS-$(CONFIG_LIBVPX_VP9_DECODER) += libvpxdec.o
|
||||
--
|
||||
2.54.0
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
From 03ce488cabd436b353aaa4bef1b848493e17317f Mon Sep 17 00:00:00 2001
|
||||
From: Terra Packaging Team <terra@fyralabs.com>
|
||||
Date: Sun, 31 May 2026 03:08:52 -0500
|
||||
Subject: [PATCH] Fix VapourSynth dlopen
|
||||
|
||||
See: https://bugzilla.redhat.com/show_bug.cgi?id=2345698
|
||||
---
|
||||
libavformat/vapoursynth.c | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/libavformat/vapoursynth.c b/libavformat/vapoursynth.c
|
||||
index 0fa5aff..e6ac20b 100644
|
||||
--- a/libavformat/vapoursynth.c
|
||||
+++ b/libavformat/vapoursynth.c
|
||||
@@ -49,7 +49,7 @@
|
||||
#else
|
||||
#include <dlfcn.h>
|
||||
#define VSSCRIPT_NAME "libvapoursynth-script"
|
||||
- #define VSSCRIPT_LIB VSSCRIPT_NAME SLIBSUF
|
||||
+ #define VSSCRIPT_LIB VSSCRIPT_NAME SLIBSUF ".0"
|
||||
#endif
|
||||
|
||||
struct VSState {
|
||||
--
|
||||
2.54.0
|
||||
|
||||
+1175
-488
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,5 @@
|
||||
let key = get("https://ffmpeg.org/ffmpeg-devel.asc");
|
||||
let dir = sub(`/[^/]+$`, "", __script_path);
|
||||
|
||||
open_file(`${dir}/ffmpeg-devel.asc`, "w").write(key);
|
||||
sh(`gpg2 --import --import-options import-export,import-minimal ffmpeg-devel.asc > ./ffmpeg.keyring`, #{ "cwd": dir });
|
||||
@@ -1 +1 @@
|
||||
7.1.2
|
||||
8.1.1
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: gstreamer1-plugin-libav
|
||||
Version: 1.28.3
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Epoch: 1
|
||||
Summary: GStreamer Libav plugin
|
||||
License: LGPL-2.0-or-later
|
||||
|
||||
@@ -1 +1 @@
|
||||
4.1
|
||||
4.2
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Name: gstreamer1-plugins-ugly
|
||||
Version: 1.28.2
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Epoch: 2
|
||||
Summary: GStreamer streaming media framework "ugly" plugins
|
||||
License: LGPL-2.0-or-later and LGPL-2.0-only
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
%global commit d73e324a6cf283810c9629558a9bdec237dfb37b
|
||||
%global commit 7111255cef4d520dbe5cd4b661fbb18b29564850
|
||||
%global shortcommit %{sub %{commit} 1 7}
|
||||
%global commit_date 20260523
|
||||
%global commit_date 20260531
|
||||
|
||||
Name: vgmstream
|
||||
Version: 0~%{commit_date}git.%shortcommit
|
||||
|
||||
@@ -1,5 +1,10 @@
|
||||
// HACK: use RegEx to parse HTML!
|
||||
let vers = find_all(`<a href="x265_([\d.]+).tar.gz"`, get("http://ftp.videolan.org/pub/videolan/x265/"));
|
||||
// HACK: assume the last one is always the newest version!
|
||||
rpm.version(vers[vers.len()-1][1]);
|
||||
let v = vers[vers.len()-1][1];
|
||||
rpm.version(v);
|
||||
// Best update script ever!!!!11
|
||||
|
||||
if rpm.changed() {
|
||||
rpm.global("api_version", find(`set\(X265_BUILD ([\d]+)\)`, get(`https://bitbucket.org/multicoreware/x265_git/raw/${v}/source/CMakeLists.txt`), 1));
|
||||
}
|
||||
|
||||
@@ -0,0 +1,264 @@
|
||||
diff -Naur x265_4.2.old/doc/reST/cli.rst x265_4.2/doc/reST/cli.rst
|
||||
--- x265_4.2.old/doc/reST/cli.rst 2026-05-22 09:31:41.392908256 +0200
|
||||
+++ x265_4.2/doc/reST/cli.rst 2026-05-22 09:31:41.566332687 +0200
|
||||
@@ -2410,6 +2410,8 @@
|
||||
13. chroma-derived-c
|
||||
14. ictcp
|
||||
15. ipt-pq-c2
|
||||
+ 16. ycgco-re
|
||||
+ 17. ycgco-ro
|
||||
|
||||
.. option:: --chromaloc <0..5>
|
||||
|
||||
diff -Naur x265_4.2.old/source/CMakeLists.txt x265_4.2/source/CMakeLists.txt
|
||||
--- x265_4.2.old/source/CMakeLists.txt 2026-05-22 09:31:41.511324918 +0200
|
||||
+++ x265_4.2/source/CMakeLists.txt 2026-05-22 09:31:41.564187955 +0200
|
||||
@@ -890,6 +890,9 @@
|
||||
elseif(ARM64 OR CROSS_COMPILE_ARM64)
|
||||
# compile ARM64 arch asm files here
|
||||
enable_language(ASM)
|
||||
+ if(APPLE)
|
||||
+ set(ARM_ARGS ${ARM_ARGS} -arch ${CMAKE_OSX_ARCHITECTURES})
|
||||
+ endif()
|
||||
foreach(ASM ${ARM_ASMS})
|
||||
set(ASM_SRC ${CMAKE_CURRENT_SOURCE_DIR}/common/aarch64/${ASM})
|
||||
list(APPEND ASM_SRCS ${ASM_SRC})
|
||||
diff -Naur x265_4.2.old/source/common/frame.cpp x265_4.2/source/common/frame.cpp
|
||||
--- x265_4.2.old/source/common/frame.cpp 2026-05-22 09:31:41.405483833 +0200
|
||||
+++ x265_4.2/source/common/frame.cpp 2026-05-22 09:31:41.561815253 +0200
|
||||
@@ -378,6 +378,11 @@
|
||||
delete[] m_userSEI.payloads;
|
||||
}
|
||||
|
||||
+ if (m_rpu.payloadSize)
|
||||
+ {
|
||||
+ delete[] m_rpu.payload;
|
||||
+ }
|
||||
+
|
||||
if (m_ctuInfo)
|
||||
{
|
||||
uint32_t widthInCU = (m_param->sourceWidth + m_param->maxCUSize - 1) >> m_param->maxLog2CUSize;
|
||||
diff -Naur x265_4.2.old/source/common/param.cpp x265_4.2/source/common/param.cpp
|
||||
--- x265_4.2.old/source/common/param.cpp 2026-05-22 09:31:41.406483841 +0200
|
||||
+++ x265_4.2/source/common/param.cpp 2026-05-22 09:31:41.566608597 +0200
|
||||
@@ -408,6 +408,7 @@
|
||||
param->preferredTransferCharacteristics = -1;
|
||||
param->pictureStructure = -1;
|
||||
param->bEmitCLL = 1;
|
||||
+ param->bEmitAmbientViewingEnvironment = 0;
|
||||
|
||||
param->bEnableFrameDuplication = 0;
|
||||
param->dupThreshold = 70;
|
||||
@@ -1815,10 +1816,10 @@
|
||||
" smpte170m, smpte240m, linear, log100, log316, iec61966-2-4, bt1361e,"
|
||||
" iec61966-2-1, bt2020-10, bt2020-12, smpte-st-2084, smpte-st-428 or arib-std-b67");
|
||||
CHECK(param->vui.matrixCoeffs < 0
|
||||
- || param->vui.matrixCoeffs > 15
|
||||
+ || param->vui.matrixCoeffs > 17
|
||||
|| param->vui.matrixCoeffs == 3,
|
||||
"Matrix Coefficients must be unknown, bt709, fcc, bt470bg, smpte170m,"
|
||||
- " smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte-st-2085, chroma-nc, chroma-c, ictcp or ipt-pq-c2");
|
||||
+ " smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte-st-2085, chroma-nc, chroma-c, ictcp, ipt-pq-c2, ycgco-re, or ycgco-ro");
|
||||
CHECK(param->vui.chromaSampleLocTypeTopField < 0
|
||||
|| param->vui.chromaSampleLocTypeTopField > 5,
|
||||
"Chroma Sample Location Type Top Field must be 0-5");
|
||||
@@ -1980,6 +1981,7 @@
|
||||
|| param->bEmitIDRRecoverySEI
|
||||
|| !!param->interlaceMode
|
||||
|| param->preferredTransferCharacteristics > 1
|
||||
+ || param->bEmitAmbientViewingEnvironment
|
||||
|| strlen(param->toneMapFile)
|
||||
|| strlen(param->naluFile));
|
||||
|
||||
@@ -2941,6 +2943,10 @@
|
||||
dst->bEmitCLL = src->bEmitCLL;
|
||||
dst->maxCLL = src->maxCLL;
|
||||
dst->maxFALL = src->maxFALL;
|
||||
+ dst->ambientIlluminance = src->ambientIlluminance;
|
||||
+ dst->ambientLightX = src->ambientLightX;
|
||||
+ dst->ambientLightY = src->ambientLightY;
|
||||
+ dst->bEmitAmbientViewingEnvironment = src->bEmitAmbientViewingEnvironment;
|
||||
dst->log2MaxPocLsb = src->log2MaxPocLsb;
|
||||
dst->bEmitVUIHRDInfo = src->bEmitVUIHRDInfo;
|
||||
dst->bEmitVUITimingInfo = src->bEmitVUITimingInfo;
|
||||
diff -Naur x265_4.2.old/source/common/threadpool.cpp x265_4.2/source/common/threadpool.cpp
|
||||
--- x265_4.2.old/source/common/threadpool.cpp 2026-05-22 09:31:41.414483910 +0200
|
||||
+++ x265_4.2/source/common/threadpool.cpp 2026-05-22 09:31:41.556420957 +0200
|
||||
@@ -125,12 +125,6 @@
|
||||
{
|
||||
THREAD_NAME("Worker", m_id);
|
||||
|
||||
-#if _WIN32
|
||||
- SetThreadPriority(GetCurrentThread(), THREAD_PRIORITY_BELOW_NORMAL);
|
||||
-#else
|
||||
- __attribute__((unused)) int val = nice(10);
|
||||
-#endif
|
||||
-
|
||||
m_pool.setCurrentThreadAffinity();
|
||||
|
||||
sleepbitmap_t idBit = (sleepbitmap_t)1 << m_id;
|
||||
@@ -835,10 +829,16 @@
|
||||
else if (cpuCount >= 32)
|
||||
return (p->sourceHeight > 2000) ? 6 : 5;
|
||||
else if (cpuCount >= 16)
|
||||
- return 4;
|
||||
+#if MACOS && X265_ARCH_ARM64
|
||||
+ return 16;
|
||||
+#else
|
||||
+ return 4;
|
||||
+#endif
|
||||
else if (cpuCount >= 8)
|
||||
#if _WIN32 && X265_ARCH_ARM64
|
||||
return cpuCount;
|
||||
+#elif MACOS && X265_ARCH_ARM64
|
||||
+ return 8;
|
||||
#else
|
||||
return 3;
|
||||
#endif
|
||||
diff -Naur x265_4.2.old/source/encoder/encoder.cpp x265_4.2/source/encoder/encoder.cpp
|
||||
--- x265_4.2.old/source/encoder/encoder.cpp 2026-05-22 09:31:41.432484066 +0200
|
||||
+++ x265_4.2/source/encoder/encoder.cpp 2026-05-22 09:31:41.562115269 +0200
|
||||
@@ -1768,11 +1768,20 @@
|
||||
}
|
||||
copyUserSEIMessages(inFrame[0], inputPic[0]);
|
||||
|
||||
- /*Copy Dolby Vision RPU from inputPic to frame*/
|
||||
+ /* Copy Dolby Vision RPU from inputPic to frame. */
|
||||
+ if (inFrame[0]->m_rpu.payload && inFrame[0]->m_rpu.payloadSize < inputPic[0]->rpu.payloadSize)
|
||||
+ {
|
||||
+ delete[] inFrame[0]->m_rpu.payload;
|
||||
+ inFrame[0]->m_rpu.payload = NULL;
|
||||
+ }
|
||||
+
|
||||
if (inputPic[0]->rpu.payloadSize)
|
||||
{
|
||||
+ if (inFrame[0]->m_rpu.payload == NULL)
|
||||
+ {
|
||||
+ inFrame[0]->m_rpu.payload = new uint8_t[inputPic[0]->rpu.payloadSize];
|
||||
+ }
|
||||
inFrame[0]->m_rpu.payloadSize = inputPic[0]->rpu.payloadSize;
|
||||
- inFrame[0]->m_rpu.payload = new uint8_t[inputPic[0]->rpu.payloadSize];
|
||||
memcpy(inFrame[0]->m_rpu.payload, inputPic[0]->rpu.payload, inputPic[0]->rpu.payloadSize);
|
||||
}
|
||||
|
||||
@@ -3475,6 +3484,15 @@
|
||||
}
|
||||
}
|
||||
|
||||
+ if (m_param->bEmitAmbientViewingEnvironment)
|
||||
+ {
|
||||
+ SEIAmbientViewingEnvironment ambientsei;
|
||||
+ ambientsei.ambientIlluminance = m_param->ambientIlluminance;
|
||||
+ ambientsei.ambientLightX = m_param->ambientLightX;
|
||||
+ ambientsei.ambientLightY = m_param->ambientLightY;
|
||||
+ ambientsei.writeSEImessages(bs, m_sps, NAL_UNIT_PREFIX_SEI, list, m_param->bSingleSeiNal);
|
||||
+ }
|
||||
+
|
||||
if (m_param->bEmitInfoSEI)
|
||||
{
|
||||
char *opts = x265_param2string(m_param, m_sps.conformanceWindow.rightOffset, m_sps.conformanceWindow.bottomOffset);
|
||||
diff -Naur x265_4.2.old/source/encoder/entropy.cpp x265_4.2/source/encoder/entropy.cpp
|
||||
--- x265_4.2.old/source/encoder/entropy.cpp 2026-05-22 09:31:41.433484074 +0200
|
||||
+++ x265_4.2/source/encoder/entropy.cpp 2026-05-22 09:31:41.565040953 +0200
|
||||
@@ -2104,8 +2104,9 @@
|
||||
void Entropy::codeMvd(const CUData& cu, uint32_t absPartIdx, int list)
|
||||
{
|
||||
const MV& mvd = cu.m_mvd[list][absPartIdx];
|
||||
- const int hor = mvd.x;
|
||||
- const int ver = mvd.y;
|
||||
+ // to ensure the mvdLX is in the range of [-2^15, 2^15-1]
|
||||
+ const int16_t hor = (int16_t)mvd.x;
|
||||
+ const int16_t ver = (int16_t)mvd.y;
|
||||
|
||||
encodeBin(hor != 0 ? 1 : 0, m_contextState[OFF_MV_RES_CTX]);
|
||||
encodeBin(ver != 0 ? 1 : 0, m_contextState[OFF_MV_RES_CTX]);
|
||||
diff -Naur x265_4.2.old/source/encoder/sei.h x265_4.2/source/encoder/sei.h
|
||||
--- x265_4.2.old/source/encoder/sei.h 2026-05-22 09:31:41.437484109 +0200
|
||||
+++ x265_4.2/source/encoder/sei.h 2026-05-22 09:31:41.558216982 +0200
|
||||
@@ -726,6 +726,25 @@
|
||||
}
|
||||
};
|
||||
|
||||
+class SEIAmbientViewingEnvironment : public SEI
|
||||
+{
|
||||
+public:
|
||||
+ SEIAmbientViewingEnvironment()
|
||||
+ {
|
||||
+ m_payloadType = AMBIENT_VIEWING_ENVIRONMENT;
|
||||
+ m_payloadSize = 8;
|
||||
+ }
|
||||
+ uint32_t ambientIlluminance;
|
||||
+ uint16_t ambientLightX;
|
||||
+ uint16_t ambientLightY;
|
||||
+ void writeSEI(const SPS&)
|
||||
+ {
|
||||
+ WRITE_CODE(ambientIlluminance, 32, "ambient_illuminance");
|
||||
+ WRITE_CODE(ambientLightX, 16, "ambient_light_x");
|
||||
+ WRITE_CODE(ambientLightY, 16, "ambient_light_y");
|
||||
+ }
|
||||
+};
|
||||
+
|
||||
class SEIDecodedPictureHash : public SEI
|
||||
{
|
||||
public:
|
||||
diff -Naur x265_4.2.old/source/x265cli.cpp x265_4.2/source/x265cli.cpp
|
||||
--- x265_4.2.old/source/x265cli.cpp 2026-05-22 09:31:41.443484161 +0200
|
||||
+++ x265_4.2/source/x265cli.cpp 2026-05-22 09:31:41.567013470 +0200
|
||||
@@ -328,7 +328,7 @@
|
||||
H0(" smpte240m, linear, log100, log316, iec61966-2-4, bt1361e, iec61966-2-1,\n");
|
||||
H0(" bt2020-10, bt2020-12, smpte2084, smpte428, arib-std-b67. Default unknown\n");
|
||||
H1(" --colormatrix <string> Specify color matrix setting from unknown, bt709, fcc, bt470bg, smpte170m,\n");
|
||||
- H1(" smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte2085, chroma-derived-nc, chroma-derived-c, ictcp, ipt-pq-c2. Default unknown\n");
|
||||
+ H1(" smpte240m, gbr, ycgco, bt2020nc, bt2020c, smpte2085, chroma-derived-nc, chroma-derived-c, ictcp, ipt-pq-c2, ycgco-re, ycgco-ro. Default unknown\n");
|
||||
H1(" --chromaloc <integer> Specify chroma sample location (0 to 5). Default of %d\n", param->vui.chromaSampleLocTypeTopField);
|
||||
H0(" --master-display <string> SMPTE ST 2086 master display color volume info SEI (HDR)\n");
|
||||
H0(" format: G(x,y)B(x,y)R(x,y)WP(x,y)L(max,min)\n");
|
||||
@@ -1508,4 +1508,4 @@
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
-#endif
|
||||
\ No newline at end of file
|
||||
+#endif
|
||||
diff -Naur x265_4.2.old/source/x265.h x265_4.2/source/x265.h
|
||||
--- x265_4.2.old/source/x265.h 2026-05-22 09:31:41.443484161 +0200
|
||||
+++ x265_4.2/source/x265.h 2026-05-22 09:31:41.566832268 +0200
|
||||
@@ -378,6 +378,7 @@
|
||||
MASTERING_DISPLAY_INFO = 137,
|
||||
CONTENT_LIGHT_LEVEL_INFO = 144,
|
||||
ALTERNATIVE_TRANSFER_CHARACTERISTICS = 147,
|
||||
+ AMBIENT_VIEWING_ENVIRONMENT = 148,
|
||||
ALPHA_CHANNEL_INFO = 165,
|
||||
THREE_DIMENSIONAL_REFERENCE_DISPLAYS_INFO = 176,
|
||||
MULTIVIEW_SCENE_INFO = 178,
|
||||
@@ -753,7 +754,7 @@
|
||||
"log316", "iec61966-2-4", "bt1361e", "iec61966-2-1", "bt2020-10", "bt2020-12",
|
||||
"smpte2084", "smpte428", "arib-std-b67", 0 };
|
||||
static const char * const x265_colmatrix_names[] = { "gbr", "bt709", "unknown", "", "fcc", "bt470bg", "smpte170m", "smpte240m",
|
||||
- "ycgco", "bt2020nc", "bt2020c", "smpte2085", "chroma-derived-nc", "chroma-derived-c", "ictcp", "ipt-pq-c2", 0 };
|
||||
+ "ycgco", "bt2020nc", "bt2020c", "smpte2085", "chroma-derived-nc", "chroma-derived-c", "ictcp", "ipt-pq-c2", "ycgco-re", "ycgco-ro", 0 };
|
||||
static const char * const x265_sar_names[] = { "unknown", "1:1", "12:11", "10:11", "16:11", "40:33", "24:11", "20:11",
|
||||
"32:11", "80:33", "18:11", "15:11", "64:33", "160:99", "4:3", "3:2", "2:1", 0 };
|
||||
static const char * const x265_interlace_names[] = { "prog", "tff", "bff", 0 };
|
||||
@@ -1978,6 +1979,11 @@
|
||||
* value to that value. */
|
||||
uint16_t maxLuma;
|
||||
|
||||
+ /* ISO/IEC 23008-2:2017, D.2.39 ambient viewing environment SEI message */
|
||||
+ uint32_t ambientIlluminance;
|
||||
+ uint16_t ambientLightX;
|
||||
+ uint16_t ambientLightY;
|
||||
+
|
||||
/* Maximum of the picture order count */
|
||||
int log2MaxPocLsb;
|
||||
|
||||
@@ -2189,6 +2195,9 @@
|
||||
/*Emit content light level info SEI*/
|
||||
int bEmitCLL;
|
||||
|
||||
+ /* Emit ambient viewing environment SEI */
|
||||
+ int bEmitAmbientViewingEnvironment;
|
||||
+
|
||||
/*
|
||||
* Signals picture structure SEI timing message for every frame
|
||||
* picture structure 7 is signalled for frame doubling
|
||||
@@ -0,0 +1,11 @@
|
||||
diff -Naur x265_4.2.old/source/common/aarch64/asm-primitives.cpp x265_4.2/source/common/aarch64/asm-primitives.cpp
|
||||
--- x265_4.2.old/source/common/aarch64/asm-primitives.cpp 2026-05-22 09:31:41.396956906 +0200
|
||||
+++ x265_4.2/source/common/aarch64/asm-primitives.cpp 2026-05-22 09:31:41.512336554 +0200
|
||||
@@ -31,6 +31,7 @@
|
||||
|
||||
extern "C" {
|
||||
#include "fun-decls.h"
|
||||
+#include "../arm/ipfilter8.h"
|
||||
}
|
||||
|
||||
#define ALL_LUMA_TU_TYPED(prim, fncdef, fname, cpu) \
|
||||
@@ -0,0 +1,11 @@
|
||||
diff -Naur x265_4.2.old/source/dynamicHDR10/json11/json11.cpp x265_4.2/source/dynamicHDR10/json11/json11.cpp
|
||||
--- x265_4.2.old/source/dynamicHDR10/json11/json11.cpp 2026-05-22 09:31:41.430924883 +0200
|
||||
+++ x265_4.2/source/dynamicHDR10/json11/json11.cpp 2026-05-22 09:31:41.531899433 +0200
|
||||
@@ -25,6 +25,7 @@
|
||||
#include <cstdlib>
|
||||
#include <cstdio>
|
||||
#include <limits>
|
||||
+#include <cstdint>
|
||||
|
||||
#if _MSC_VER
|
||||
#pragma warning(disable: 4510) //const member cannot be default initialized
|
||||
@@ -1,6 +1,7 @@
|
||||
--- a/source/CMakeLists.txt
|
||||
+++ b/source/CMakeLists.txt
|
||||
@@ -611,7 +611,15 @@
|
||||
diff -Naur x265_4.2.old/source/CMakeLists.txt x265_4.2/source/CMakeLists.txt
|
||||
--- x265_4.2.old/source/CMakeLists.txt 2026-05-22 09:31:41.395284685 +0200
|
||||
+++ x265_4.2/source/CMakeLists.txt 2026-05-22 09:31:41.446248583 +0200
|
||||
@@ -1075,7 +1075,15 @@
|
||||
if(MSVC)
|
||||
set_target_properties(x265-shared PROPERTIES OUTPUT_NAME libx265)
|
||||
else()
|
||||
@@ -17,9 +18,10 @@
|
||||
endif()
|
||||
if(UNIX)
|
||||
set_target_properties(x265-shared PROPERTIES VERSION ${X265_BUILD})
|
||||
--- a/source/encoder/api.cpp
|
||||
+++ b/source/encoder/api.cpp
|
||||
@@ -704,7 +704,7 @@
|
||||
diff -Naur x265_4.2.old/source/encoder/api.cpp x265_4.2/source/encoder/api.cpp
|
||||
--- x265_4.2.old/source/encoder/api.cpp 2026-05-22 09:31:41.431540093 +0200
|
||||
+++ x265_4.2/source/encoder/api.cpp 2026-05-22 09:31:41.446517920 +0200
|
||||
@@ -1119,7 +1119,7 @@
|
||||
#define ext ".dylib"
|
||||
#else
|
||||
#include <dlfcn.h>
|
||||
@@ -28,4 +30,3 @@
|
||||
#endif
|
||||
#if defined(__GNUC__) && __GNUC__ >= 8
|
||||
#pragma GCC diagnostic ignored "-Wcast-function-type"
|
||||
|
||||
|
||||
@@ -1,11 +0,0 @@
|
||||
--- a/source/CMakeLists.txt
|
||||
+++ b/source/CMakeLists.txt
|
||||
@@ -212,7 +212,7 @@
|
||||
add_definitions(-std=gnu++98)
|
||||
endif()
|
||||
if(ENABLE_PIC)
|
||||
- add_definitions(-fPIC)
|
||||
+ add_definitions(-fPIC -DPIC)
|
||||
endif(ENABLE_PIC)
|
||||
if(NATIVE_BUILD)
|
||||
if(INTEL_CXX)
|
||||
@@ -1,11 +0,0 @@
|
||||
--- a/source/x265.pc.in
|
||||
+++ b/source/x265.pc.in
|
||||
@@ -1,6 +1,6 @@
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=${prefix}
|
||||
-libdir=${exec_prefix}/@LIB_INSTALL_DIR@
|
||||
+libdir=@LIB_INSTALL_DIR@
|
||||
includedir=${prefix}/include
|
||||
|
||||
Name: @CMAKE_PROJECT_NAME@
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
From 8454caf458c5f5d20cce711ff8ea8de55ec1ae50 Mon Sep 17 00:00:00 2001
|
||||
From: harlanc <hailiang8@staff.weibo.com>
|
||||
Date: Thu, 1 Dec 2022 07:46:13 +0000
|
||||
Subject: [PATCH] fix crash when SEI length is variable
|
||||
|
||||
---
|
||||
source/encoder/encoder.cpp | 6 ++++++
|
||||
1 file changed, 6 insertions(+)
|
||||
|
||||
diff --git a/source/encoder/encoder.cpp b/source/encoder/encoder.cpp
|
||||
index 0fea6553c..5a3fcafc7 100644
|
||||
--- a/source/encoder/encoder.cpp
|
||||
+++ b/source/encoder/encoder.cpp
|
||||
@@ -1103,6 +1103,12 @@ void Encoder::copyUserSEIMessages(Frame *frame, const x265_picture* pic_in)
|
||||
input = seiMsg;
|
||||
else
|
||||
input = pic_in->userSEI.payloads[i];
|
||||
+
|
||||
+ if (frame->m_userSEI.payloads[i].payload && (frame->m_userSEI.payloads[i].payloadSize < input.payloadSize))
|
||||
+ {
|
||||
+ delete[] frame->m_userSEI.payloads[i].payload;
|
||||
+ frame->m_userSEI.payloads[i].payload = NULL;
|
||||
+ }
|
||||
|
||||
if (!frame->m_userSEI.payloads[i].payload)
|
||||
frame->m_userSEI.payloads[i].payload = new uint8_t[input.payloadSize];
|
||||
--
|
||||
2.45.0
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
diff -Naur x265_4.2.old/source/CMakeLists.txt x265_4.2/source/CMakeLists.txt
|
||||
--- x265_4.2.old/source/CMakeLists.txt 2026-05-22 09:31:41.492277260 +0200
|
||||
+++ x265_4.2/source/CMakeLists.txt 2026-05-22 09:31:41.494071992 +0200
|
||||
@@ -178,6 +178,7 @@
|
||||
option(ENABLE_LIBVMAF "Enable VMAF" OFF)
|
||||
if(ENABLE_LIBVMAF)
|
||||
add_definitions(-DENABLE_LIBVMAF)
|
||||
+ include_directories(${VMAF_INCLUDE_DIR})
|
||||
endif()
|
||||
if(X64)
|
||||
option(ENABLE_CET "Enable Control-flow Enforcement" OFF)
|
||||
@@ -1068,10 +1069,13 @@
|
||||
if(EXTRA_LIB)
|
||||
target_link_libraries(x265-shared ${EXTRA_LIB})
|
||||
endif()
|
||||
- target_link_libraries(x265-shared ${PLATFORM_LIBS})
|
||||
+ target_link_libraries(x265-shared ${PLATFORM_LIBS})
|
||||
if(SVTHEVC_FOUND)
|
||||
target_link_libraries(x265-shared ${SVT_HEVC_LIBRARY})
|
||||
endif(SVTHEVC_FOUND)
|
||||
+ if(ENABLE_LIBVMAF)
|
||||
+ target_link_libraries(x265-shared ${VMAF})
|
||||
+ endif(ENABLE_LIBVMAF)
|
||||
if(MSVC)
|
||||
set_target_properties(x265-shared PROPERTIES OUTPUT_NAME libx265)
|
||||
else()
|
||||
+113
-271
@@ -1,41 +1,39 @@
|
||||
%global build_cxxflags %{__build_flags_lang_cxx} %{?_distro_extra_cxxflags} -include %_includedir/c++/*/cstdint
|
||||
%global api_version 216
|
||||
|
||||
# Use old cmake macro
|
||||
%global __cmake_in_source_build 1
|
||||
|
||||
%global terrasrc_commit b018f3e14bd28f5b17c22446328c6decf9ce57a5
|
||||
|
||||
%global _so_version 212
|
||||
%ifarch %{ix86}
|
||||
%global _pkg_extra_ldflags "-Wl,-z,notext"
|
||||
%endif
|
||||
|
||||
Summary: H.265/HEVC encoder
|
||||
Name: x265
|
||||
Version: 4.2
|
||||
Release: 1%{?dist}
|
||||
Epoch: 1
|
||||
URL: http://x265.org/
|
||||
# source/Lib/TLibCommon - BSD
|
||||
# source/Lib/TLibEncoder - BSD
|
||||
# everything else - GPLv2+
|
||||
License: GPLv2+ and BSD
|
||||
License: GPL-2.0-or-later
|
||||
|
||||
Source0: https://bitbucket.org/multicoreware/%{name}_git/downloads/%{name}_%{version}.tar.gz
|
||||
Patch0: %{name}-high-bit-depth-soname.patch
|
||||
Patch1: %{name}-vmaf.patch
|
||||
Patch2: %{name}-fix-aarch64-build.patch
|
||||
Patch3: %{name}-gcc15.patch
|
||||
# https://github.com/HandBrake/HandBrake/tree/2f464fcf93d411ebdd969b39d67739ed658c5e58
|
||||
# Except:
|
||||
# contrib/x265/A06-Update-version-strings.patch
|
||||
# contrib/x265/A08-Fix-inconsistent-bitrate-in-second-pass.patch
|
||||
Patch4: %{name}-HandBrake.patch
|
||||
|
||||
# fix building as PIC
|
||||
Patch0: https://raw.githubusercontent.com/terrapkg/pkg-x265/%terrasrc_commit/x265-pic.patch
|
||||
Patch1: https://raw.githubusercontent.com/terrapkg/pkg-x265/%terrasrc_commit/x265-high-bit-depth-soname.patch
|
||||
Patch2: https://raw.githubusercontent.com/terrapkg/pkg-x265/%terrasrc_commit/x265-pkgconfig_path_fix.patch
|
||||
# https://bitbucket.org/multicoreware/x265_git/pull-requests/10
|
||||
Patch3: https://bitbucket.org/harlancc/x265_git/commits/8454caf458c5f5d20cce711ff8ea8de55ec1ae50/raw#/x265-sei-length-crash-fix.patch
|
||||
|
||||
BuildRequires: gcc-c++
|
||||
BuildRequires: libstdc++-devel
|
||||
BuildRequires: git
|
||||
BuildRequires: cmake
|
||||
%{?el7:BuildRequires: epel-rpm-macros}
|
||||
BuildRequires: nasm
|
||||
BuildRequires: ninja-build
|
||||
|
||||
%ifnarch armv7hl armv7hnl s390 s390x
|
||||
BuildRequires: numactl-devel
|
||||
BuildRequires: gcc-c++
|
||||
%ifnarch %{ix86}
|
||||
BuildRequires: nasm >= 2.13
|
||||
%endif
|
||||
BuildRequires: numactl-devel
|
||||
%ifarch x86_64
|
||||
BuildRequires: libvmaf-devel
|
||||
%endif
|
||||
|
||||
Packager: Terra Packaging Team <terra@fyralabs.com>
|
||||
|
||||
%description
|
||||
The primary objective of x265 is to become the best H.265/HEVC encoder
|
||||
@@ -56,7 +54,7 @@ This package contains the shared library.
|
||||
|
||||
%package devel
|
||||
Summary: H.265/HEVC encoder library development files
|
||||
Requires: %{name}-libs%{?_isa} = %{version}-%{release}
|
||||
Requires: %{name}-libs%{?_isa} = %{?epoch:%{epoch}:}%{version}-%{release}
|
||||
|
||||
%description devel
|
||||
The primary objective of x265 is to become the best H.265/HEVC encoder
|
||||
@@ -68,282 +66,126 @@ This package contains the shared library development files.
|
||||
%prep
|
||||
%autosetup -p1 -n %{name}_%{version}
|
||||
|
||||
%build
|
||||
sed -i -e 's|libdir=${exec_prefix}/@LIB_INSTALL_DIR@|libdir=@LIB_INSTALL_DIR@|g' source/x265.pc.in
|
||||
|
||||
%conf
|
||||
# High depth libraries (from source/h265.h):
|
||||
# If the requested bitDepth is not supported by the linked libx265,
|
||||
# it will attempt to dynamically bind x265_api_get() from a shared
|
||||
# library with an appropriate name:
|
||||
# If the requested bitDepth is not supported by the linked libx265, it will
|
||||
# attempt to dynamically bind from a shared library with an appropriate name:
|
||||
# 8bit: libx265_main.so
|
||||
# 10bit: libx265_main10.so
|
||||
# 12bit: libx265_main12.so
|
||||
#
|
||||
# Trying to link 10/12 bits statically inside the shared library (as per
|
||||
# https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=x265-hg#n45) makes the
|
||||
# library not strippable.
|
||||
|
||||
build() {
|
||||
%cmake -Wno-dev -G "Ninja" \
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON \
|
||||
-DCMAKE_SKIP_RPATH:BOOL=YES \
|
||||
-DENABLE_PIC:BOOL=ON \
|
||||
-DENABLE_SHARED=ON \
|
||||
-DENABLE_TESTS:BOOL=ON \
|
||||
-DENABLE_HDR10_PLUS=YES \
|
||||
-DCMAKE_ASM_NASM_FLAGS=-w-macro-params-legacy \
|
||||
$* \
|
||||
../source
|
||||
%cmake_build
|
||||
# Setting GIT_ARCHETYPE to 1 is like using git as a build dependency:
|
||||
configure_cmake() {
|
||||
%cmake -G "Unix Makefiles" \
|
||||
-DCMAKE_POSITION_INDEPENDENT_CODE=ON \
|
||||
-DCMAKE_SKIP_RPATH=ON \
|
||||
-DENABLE_ALPHA=ON \
|
||||
-DENABLE_ASSEMBLY=ON \
|
||||
-DENABLE_HDR10_PLUS=ON \
|
||||
-DENABLE_MULTIVIEW=ON \
|
||||
-DENABLE_PIC=ON \
|
||||
-DENABLE_SCC_EXT=ON \
|
||||
-DENABLE_SHARED=ON \
|
||||
-DGIT_ARCHETYPE="1" \
|
||||
%ifarch x86_64
|
||||
-DENABLE_LIBVMAF=ON \
|
||||
-DVMAF_INCLUDE_DIR=%{_includedir}/libvmaf \
|
||||
%endif
|
||||
%ifarch %{ix86}
|
||||
-DENABLE_ASSEMBLY=OFF \
|
||||
%endif
|
||||
$* \
|
||||
../source
|
||||
}
|
||||
|
||||
# High depth 10/12 bit libraries are supported only on 64 bit. They require
|
||||
# disabled AltiVec instructions for building on ppc64/ppc64le.
|
||||
%ifarch x86_64 aarch64 ppc64 ppc64le
|
||||
mkdir 10bit; pushd 10bit
|
||||
build \
|
||||
%ifnarch %{ix86}
|
||||
# 10/12 bit libraries are supported only on 64 bit
|
||||
mkdir 12bit && pushd 12bit
|
||||
configure_cmake \
|
||||
-DENABLE_CLI=OFF \
|
||||
-DENABLE_ALTIVEC=OFF \
|
||||
-DHIGH_BIT_DEPTH=ON
|
||||
popd
|
||||
|
||||
mkdir 12bit; pushd 12bit
|
||||
build \
|
||||
-DENABLE_CLI=OFF \
|
||||
-DENABLE_ALTIVEC=OFF \
|
||||
-DHIGH_BIT_DEPTH=ON \
|
||||
-DMAIN12=ON
|
||||
popd
|
||||
|
||||
mkdir 10bit && pushd 10bit
|
||||
configure_cmake \
|
||||
-DENABLE_CLI=OFF \
|
||||
-DHIGH_BIT_DEPTH=ON
|
||||
popd
|
||||
%endif
|
||||
|
||||
# 8 bit base library + encoder
|
||||
mkdir 8bit; pushd 8bit
|
||||
build
|
||||
# 8 bit + dynamicHDR CLI
|
||||
# TestBench dlopens the appropriate x265 library
|
||||
mkdir 8bit && pushd 8bit
|
||||
configure_cmake \
|
||||
-DENABLE_CLI=ON \
|
||||
-DENABLE_TESTS=ON
|
||||
popd
|
||||
|
||||
%build
|
||||
%ifnarch %{ix86}
|
||||
pushd 12bit
|
||||
%cmake_build
|
||||
popd
|
||||
|
||||
pushd 10bit
|
||||
%cmake_build
|
||||
popd
|
||||
%endif
|
||||
|
||||
pushd 8bit
|
||||
%cmake_build
|
||||
popd
|
||||
|
||||
%install
|
||||
for i in 8 10 12; do
|
||||
if [ -d ${i}bit ]; then
|
||||
pushd ${i}bit
|
||||
%cmake_install
|
||||
# Remove unversioned library, should not be linked to
|
||||
rm -f %{buildroot}%{_libdir}/libx265_main${i}.so
|
||||
popd
|
||||
fi
|
||||
if [ -d ${i}bit ]; then
|
||||
pushd ${i}bit
|
||||
%cmake_install
|
||||
rm -f %{buildroot}%{_libdir}/libx265_main${i}.so
|
||||
popd
|
||||
fi
|
||||
done
|
||||
|
||||
find %{buildroot} -name "*.a" -delete
|
||||
|
||||
%check
|
||||
for i in 8 10 12; do
|
||||
if [ -d ${i}bit ]; then
|
||||
pushd ${i}bit
|
||||
test/TestBench || :
|
||||
popd
|
||||
fi
|
||||
if [ -d ${i}bit ]; then
|
||||
pushd ${i}bit
|
||||
test/TestBench || :
|
||||
popd
|
||||
fi
|
||||
done
|
||||
|
||||
%ldconfig_scriptlets libs
|
||||
|
||||
%files
|
||||
%{_bindir}/x265
|
||||
%doc readme.rst
|
||||
%license COPYING
|
||||
%{_bindir}/%{name}
|
||||
|
||||
%files libs
|
||||
%license COPYING
|
||||
%{_libdir}/libhdr10plus.so
|
||||
%{_libdir}/libx265.so.*
|
||||
%ifarch x86_64 aarch64 ppc64 ppc64le
|
||||
%{_libdir}/libx265_main10.so.*
|
||||
%{_libdir}/libx265_main12.so.*
|
||||
%{_libdir}/lib%{name}.so.%{api_version}
|
||||
%ifnarch %{ix86}
|
||||
%{_libdir}/lib%{name}_main10.so.%{api_version}
|
||||
%{_libdir}/lib%{name}_main12.so.%{api_version}
|
||||
%endif
|
||||
|
||||
%files devel
|
||||
%doc doc/*
|
||||
%{_includedir}/hdr10plus.h
|
||||
%{_includedir}/x265.h
|
||||
%{_includedir}/x265_config.h
|
||||
%{_libdir}/libx265.so
|
||||
%{_libdir}/pkgconfig/x265.pc
|
||||
%{_includedir}/%{name}.h
|
||||
%{_includedir}/%{name}_config.h
|
||||
%{_libdir}/lib%{name}.so
|
||||
%{_libdir}/pkgconfig/%{name}.pc
|
||||
|
||||
%changelog
|
||||
* Sun Sep 15 2024 Leigh Scott <leigh123linux@gmail.com> - 4.0-1
|
||||
- Update to 4.0
|
||||
|
||||
* Fri Aug 02 2024 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.6-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
|
||||
|
||||
* Thu May 16 2024 Dominik Mierzejewski <rpm@greysector.net> - 3.6-2
|
||||
- Backport a fix for crashes when encoding with variable length SEI
|
||||
|
||||
* Sat Apr 06 2024 Leigh Scott <leigh123linux@gmail.com> - 3.6-1
|
||||
- Update to 3.6
|
||||
|
||||
* Sun Feb 04 2024 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.5-7
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
|
||||
|
||||
* Wed Aug 02 2023 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.5-6
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
|
||||
|
||||
* Thu Dec 29 2022 Nicolas Chauvet <kwizart@gmail.com> - 3.5-5
|
||||
- Enable ENABLE_HDR10_PLUS everywhere rfbz#6454
|
||||
|
||||
* Mon Aug 08 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.5-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild and ffmpeg
|
||||
5.1
|
||||
|
||||
* Wed Feb 09 2022 RPM Fusion Release Engineering <sergiomb@rpmfusion.org> - 3.5-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||
|
||||
* Tue Aug 03 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.5-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Tue Apr 13 2021 Leigh Scott <leigh123linux@gmail.com> - 3.5-1
|
||||
- Update to 3.5
|
||||
|
||||
* Tue Mar 16 2021 Leigh Scott <leigh123linux@gmail.com> - 3.4-5
|
||||
- Enable HDR10+.
|
||||
|
||||
* Thu Feb 04 2021 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.4-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
|
||||
|
||||
* Wed Aug 19 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.4-3
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
|
||||
|
||||
* Thu Jul 23 2020 Leigh Scott <leigh123linux@gmail.com> - 3.4-2
|
||||
- Use old cmake macro
|
||||
|
||||
* Sun May 31 2020 Leigh Scott <leigh123linux@gmail.com> - 3.4-1
|
||||
- Update to 3.4
|
||||
|
||||
* Wed Mar 11 2020 Nicolas Chauvet <kwizart@gmail.com> - 3.3-2
|
||||
- Rebuilt for i686
|
||||
|
||||
* Sun Feb 23 2020 Leigh Scott <leigh123linux@googlemail.com> - 3.3-1
|
||||
- Update to 3.3
|
||||
|
||||
* Wed Feb 05 2020 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.2.1-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
|
||||
|
||||
* Thu Nov 28 2019 Leigh Scott <leigh123linux@googlemail.com> - 3.2.1-1
|
||||
- Update to 3.2.1
|
||||
- Switch upstream source url
|
||||
|
||||
* Fri Aug 09 2019 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.1.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
|
||||
|
||||
* Sun Aug 04 2019 Leigh Scott <leigh123linux@googlemail.com> - 3.1.2-1
|
||||
- Update to 3.1.2
|
||||
|
||||
* Fri Jun 28 2019 Nicolas Chauvet <kwizart@gmail.com> - 3.1-1
|
||||
- Update to 3.1
|
||||
- Switch to github mirror
|
||||
|
||||
* Tue Mar 05 2019 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 3.0-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
|
||||
|
||||
* Thu Feb 28 2019 Leigh Scott <leigh123linux@googlemail.com> - 3.0-1
|
||||
- Update to 3.0
|
||||
|
||||
* Sun Dec 30 2018 Leigh Scott <leigh123linux@googlemail.com> - 2.9-3
|
||||
- Rebuild against newer nasm on el7 (rfbz #5128)
|
||||
|
||||
* Wed Nov 21 2018 Antonio Trande <sagitter@fedoraproject.org> - 2.9-2
|
||||
- Rebuild for ffmpeg-3.* on el7
|
||||
|
||||
* Sun Nov 18 2018 Leigh Scott <leigh123linux@googlemail.com> - 2.9-1
|
||||
- Update to 2.9
|
||||
|
||||
* Thu Oct 04 2018 Sérgio Basto <sergio@serjux.com> - 2.8-1
|
||||
- Update to 2.8 more 2 patches to fix builds on non-x86 and arm
|
||||
https://bitbucket.org/multicoreware/x265/issues/404/28-fails-to-build-on-ppc64le-gnu-linux
|
||||
https://bitbucket.org/multicoreware/x265/issues/406/arm-assembly-fail-to-compile-on-18
|
||||
|
||||
* Sun Aug 19 2018 Leigh Scott <leigh123linux@googlemail.com> - 2.7-5
|
||||
- Rebuilt for Fedora 29 Mass Rebuild binutils issue
|
||||
|
||||
* Fri Jul 27 2018 RPM Fusion Release Engineering <leigh123linux@gmail.com> - 2.7-4
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
|
||||
|
||||
* Sun Apr 08 2018 Leigh Scott <leigh123linux@googlemail.com> - 2.7-3
|
||||
- Fix pkgconfig file (rfbz #4853)
|
||||
|
||||
* Tue Feb 27 2018 Nicolas Chauvet <kwizart@gmail.com> - 2.7-2
|
||||
- Fix CFLAGS on ARM
|
||||
|
||||
* Tue Feb 27 2018 Leigh Scott <leigh123linux@googlemail.com> - 2.7-1
|
||||
- update to 2.7
|
||||
- Drop shared test patch as it causes nasm build to fail
|
||||
- Fix scriptlets
|
||||
- Use ninja to build
|
||||
|
||||
* Sat Dec 30 2017 Sérgio Basto <sergio@serjux.com> - 2.6-1
|
||||
- Update x265 to 2.6
|
||||
|
||||
* Mon Oct 16 2017 Leigh Scott <leigh123linux@googlemail.com> - 2.5-1
|
||||
- update to 2.5
|
||||
|
||||
* Thu Aug 31 2017 RPM Fusion Release Engineering <kwizart@rpmfusion.org> - 2.4-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
|
||||
|
||||
* Sat Apr 29 2017 Leigh Scott <leigh123linux@googlemail.com> - 2.4-1
|
||||
- update to 2.4
|
||||
|
||||
* Mon Apr 10 2017 Simone Caronni <negativo17@gmail.com> - 2.2-3
|
||||
- Use source from multicoreware website.
|
||||
- Clean up SPEC file a bit (formatting, 80 char wide descriptions).
|
||||
- Enable shared 10/12 bit libraries on 64 bit architectures.
|
||||
|
||||
* Mon Mar 20 2017 RPM Fusion Release Engineering <kwizart@rpmfusion.org> - 2.2-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
|
||||
|
||||
* Tue Jan 03 2017 Dominik Mierzejewski <rpm@greysector.net> - 2.2-1
|
||||
- update to 2.2
|
||||
- spell out SO version in file list
|
||||
- fix typo in patch
|
||||
|
||||
* Mon Nov 07 2016 Sérgio Basto <sergio@serjux.com> - 2.1-1
|
||||
- Update to 2.1
|
||||
|
||||
* Thu Aug 18 2016 Sérgio Basto <sergio@serjux.com> - 1.9-3
|
||||
- Clean spec, Vascom patches series, rfbz #4199, add license tag
|
||||
|
||||
* Tue Jul 19 2016 Dominik Mierzejewski <rpm@greysector.net> - 1.9-2
|
||||
- use https for source URL
|
||||
- enable NUMA support
|
||||
- make sure Fedora compiler flags are used on ARM
|
||||
|
||||
* Fri Apr 08 2016 Adrian Reber <adrian@lisas.de> - 1.9-1
|
||||
- Update to 1.9
|
||||
|
||||
* Sun Oct 25 2015 Dominik Mierzejewski <rpm@greysector.net> 1.8-2
|
||||
- fix building as PIC
|
||||
- update SO version in file list
|
||||
|
||||
* Sat Oct 24 2015 Nicolas Chauvet <kwizart@gmail.com> - 1.8-1
|
||||
- Update to 1.8
|
||||
- Avoid tests for now
|
||||
|
||||
* Wed Apr 15 2015 Dominik Mierzejewski <rpm@greysector.net> 1.6-1
|
||||
- update to 1.6 (ABI bump, rfbz#3593)
|
||||
- release tarballs are now hosted on videolan.org
|
||||
- drop obsolete patches
|
||||
|
||||
* Thu Dec 18 2014 Dominik Mierzejewski <rpm@greysector.net> 1.2-6
|
||||
- fix build on armv7l arch (partially fix rfbz#3361, patch by Nicolas Chauvet)
|
||||
- don't run tests on ARM for now (rfbz#3361)
|
||||
|
||||
* Sun Aug 17 2014 Dominik Mierzejewski <rpm@greysector.net> 1.2-5
|
||||
- don't include contributor agreement in doc
|
||||
- make sure /usr/share/doc/x265 is owned
|
||||
- add a comment noting which files are BSD-licenced
|
||||
|
||||
* Fri Aug 08 2014 Dominik Mierzejewski <rpm@greysector.net> 1.2-4
|
||||
- don't create bogus soname (patch by Xavier)
|
||||
|
||||
* Thu Jul 17 2014 Dominik Mierzejewski <rpm@greysector.net> 1.2-3
|
||||
- fix tr call to remove DOS EOL
|
||||
- build the library with -fPIC on arm and i686, too
|
||||
|
||||
* Sun Jul 13 2014 Dominik Mierzejewski <rpm@greysector.net> 1.2-2
|
||||
- use version in source URL
|
||||
- update License tag
|
||||
- fix EOL in drag-uncrustify.bat
|
||||
- don't link test binaries with shared binary on x86 (segfault)
|
||||
|
||||
* Thu Jul 10 2014 Dominik Mierzejewski <rpm@greysector.net> 1.2-1
|
||||
- initial build
|
||||
- fix pkgconfig file install location
|
||||
- link test binaries with shared library
|
||||
* Sun May 31 2026 Gilver E. <roachy@fyralabs.com> - 4.2-1
|
||||
- Updated patches and spec based on RPM Fusion and Negativo's changes
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
%global v v2.0.0-alpha.0
|
||||
%global v v2.0.0-alpha.1
|
||||
|
||||
Name: zrythm
|
||||
Version: %(echo %v | sed 's@-@~@g' | sed 's@^v@@')
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
Name: cardwire
|
||||
Version: 0.8.0
|
||||
Release: 1%{?dist}
|
||||
Release: 2%{?dist}
|
||||
Summary: A GPU Manager for linux that uses eBPF LSM hooks to block GPUs
|
||||
URL: https://opengamingcollective.github.io/cardwire/
|
||||
Source0: https://github.com/OpenGamingCollective/cardwire/archive/refs/tags/v%{version}.tar.gz
|
||||
@@ -10,6 +10,9 @@ BuildRequires: systemd-rpm-macros
|
||||
BuildRequires: libbpf-devel
|
||||
BuildRequires: clang-devel
|
||||
|
||||
Requires: hwdata
|
||||
Requires: upower
|
||||
|
||||
Packager: Owen Zimmerman <owen@fyralabs.com>
|
||||
|
||||
%description
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
%global commit f73eb3ef91d88acfd336bbdd97d9802acce91f3a
|
||||
%global commit_date 20260527
|
||||
%global commit 683afbf22aa41728846d63c0c8ddf9020613eebe
|
||||
%global commit_date 20260530
|
||||
%global shortcommit %(c=%{commit}; echo ${c:0:7})
|
||||
|
||||
Name: cloud-hypervisor-nightly
|
||||
|
||||
@@ -1 +1 @@
|
||||
rpm.version(get("https://git.pika-os.com/api/v1/repos/general-packages/falcond/releases").json_arr()[0].tag_name);
|
||||
rpm.version(gitea("git.pika-os.com", "general-packages/falcond"));
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user