diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..3727cb1 --- /dev/null +++ b/.gitignore @@ -0,0 +1,25 @@ +/aom-1.0.0.tar.gz +/aom-d0076f5.tar.gz +/aom-cfd59e9.tar.gz +/aom-9666276.tar.gz +/aom-bb35ba9.tar.gz +/aom-b52ee6d.tar.gz +/aom-c0f1414.tar.gz +/aom-7fadc0e.tar.gz +/aom-ae2be80.tar.gz +/aom-287164d.tar.gz +/aom-f9babb6.tar.gz +/aom-87460ce.tar.gz +/aom-fc430c5.tar.gz +/aom-3.5.0.tar.gz +/aom-3.6.0.tar.gz +/aom-3.6.1.tar.gz +/aom-3.7.0.tar.gz +/aom-3.7.1.tar.gz +/aom-3.8.0.tar.gz +/aom-3.8.2.tar.gz +/aom-3.9.0.tar.gz +/aom-3.11.0.tar.gz +/aom-3.12.0.tar.gz +/aom-3.13.0.tar.gz +/aom-3.13.1.tar.gz diff --git a/0001-cmake-fix-nasm-detection-w-3.0.patch b/0001-cmake-fix-nasm-detection-w-3.0.patch new file mode 100644 index 0000000..eef863c --- /dev/null +++ b/0001-cmake-fix-nasm-detection-w-3.0.patch @@ -0,0 +1,41 @@ +From 6d2b7f71b98bfa28e372b1f2d85f137280bdb3de Mon Sep 17 00:00:00 2001 +From: James Zern +Date: Tue, 7 Oct 2025 14:08:44 -0700 +Subject: [PATCH] cmake: fix nasm detection w/3.0 + +nasm 3.0 separated Oflags (-Ox) output to `-hO` which is used to +validate the nasm binary. This change is compatible with older versions +(tested with NASM version 2.16.03 & 2.13.02). + +Bug: aomedia:448994065 +Fixed: aomedia:448994065 +Change-Id: I704dcfe39ac6e68bc4d5b9e409fb59a0d277170e +--- + build/cmake/aom_optimization.cmake | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/build/cmake/aom_optimization.cmake b/build/cmake/aom_optimization.cmake +index 9cc34de362..2750a0be41 100644 +--- a/build/cmake/aom_optimization.cmake ++++ b/build/cmake/aom_optimization.cmake +@@ -212,7 +212,7 @@ endfunction() + # Currently checks only for presence of required object formats and support for + # the -Ox argument (multipass optimization). + function(test_nasm) +- execute_process(COMMAND ${CMAKE_ASM_NASM_COMPILER} -hf ++ execute_process(COMMAND ${CMAKE_ASM_NASM_COMPILER} -hO + OUTPUT_VARIABLE nasm_helptext) + + if(NOT "${nasm_helptext}" MATCHES "-Ox") +@@ -220,6 +220,8 @@ function(test_nasm) + FATAL_ERROR "Unsupported nasm: multipass optimization not supported.") + endif() + ++ execute_process(COMMAND ${CMAKE_ASM_NASM_COMPILER} -hf ++ OUTPUT_VARIABLE nasm_helptext) + if("${AOM_TARGET_CPU}" STREQUAL "x86") + if("${AOM_TARGET_SYSTEM}" STREQUAL "Darwin") + if(NOT "${nasm_helptext}" MATCHES "macho32") +-- +2.51.0 + diff --git a/README.md b/README.md deleted file mode 100644 index 85cab1a..0000000 --- a/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# aom - -The aom package \ No newline at end of file diff --git a/aom-nostatic.patch b/aom-nostatic.patch new file mode 100644 index 0000000..1755b03 --- /dev/null +++ b/aom-nostatic.patch @@ -0,0 +1,29 @@ +diff -up aom-3.13.1/build/cmake/aom_install.cmake.orig aom-3.13.1/build/cmake/aom_install.cmake +--- aom-3.13.1/build/cmake/aom_install.cmake.orig 2025-09-07 16:11:27.789000000 +0200 ++++ aom-3.13.1/build/cmake/aom_install.cmake 2025-12-30 21:08:54.594005985 +0100 +@@ -79,7 +79,7 @@ macro(setup_aom_install_targets) + endif() + + if(BUILD_SHARED_LIBS) +- set(AOM_INSTALL_LIBS aom aom_static) ++ set(AOM_INSTALL_LIBS aom) + else() + set(AOM_INSTALL_LIBS aom) + endif() +diff -up aom-3.13.1/build/cmake/config.cmake.in.orig aom-3.13.1/build/cmake/config.cmake.in +--- aom-3.13.1/build/cmake/config.cmake.in.orig 2025-09-07 16:11:27.791000000 +0200 ++++ aom-3.13.1/build/cmake/config.cmake.in 2026-01-05 15:35:24.588489147 +0100 +@@ -10,13 +10,6 @@ include("${CMAKE_CURRENT_LIST_DIR}/@AOM_ + + set_and_check(@PROJECT_NAME@_INCLUDE_DIRS "@PACKAGE_CMAKE_INSTALL_INCLUDEDIR@") + +-# @PROJECT_NAME@::aom_static is defined only if BUILD_SHARED_LIBS=1 when libaom +-# was configured. When it is false, @PROJECT_NAME@::aom is a static library. +-if(TARGET @PROJECT_NAME@::aom_static) +- set(@PROJECT_NAME@_STATIC_LIBRARIES "@PROJECT_NAME@::aom_static") +-else() +- set(@PROJECT_NAME@_STATIC_LIBRARIES "@PROJECT_NAME@::aom") +-endif() + set(@PROJECT_NAME@_LIBRARIES "@PROJECT_NAME@::aom") + + check_required_components(@PROJECT_NAME@) diff --git a/aom.spec b/aom.spec new file mode 100644 index 0000000..75544c6 --- /dev/null +++ b/aom.spec @@ -0,0 +1,136 @@ +%global sover 3 +%global aom_version v3.13.1 + +%if 0%{?fedora} || 0%{?rhel} >= 9 +%ifarch x86_64 +%bcond_without vmaf +%endif +%if 0%{?fedora} > 40 || 0%{?rhel} > 9 +%bcond_with jpegxl +%else +%bcond_without jpegxl +%endif +%endif + +Name: aom +Version: 3.13.1 +Release: %autorelease +Summary: Royalty-free next-generation video format + +License: BSD-3-Clause +URL: http://aomedia.org/ +Source: https://aomedia.googlesource.com/%{name}/+archive/v%{version}.tar.gz#/%{name}-%{version}.tar.gz +# https://aomedia.issues.chromium.org/issues/448994065 +Patch: 0001-cmake-fix-nasm-detection-w-3.0.patch +# Building static library breaks .cmake files if we don't ship it, so drop it +Patch: aom-nostatic.patch + +BuildRequires: gcc-c++ +BuildRequires: gcc +BuildRequires: cmake3 +BuildRequires: doxygen +BuildRequires: git-core +# BuildRequires: graphviz +BuildRequires: perl-interpreter +BuildRequires: perl(Getopt::Long) +BuildRequires: python3-devel +BuildRequires: nasm +%if %{with jpegxl} +BuildRequires: pkgconfig(libjxl) +BuildRequires: pkgconfig(libhwy) +%endif +%if %{with vmaf} +BuildRequires: pkgconfig(libvmaf) +%endif + +Provides: av1 = %{version}-%{release} +Requires: libaom%{?_isa} = %{version}-%{release} + +%description +The Alliance for Open Media’s focus is to deliver a next-generation +video format that is: + + - Interoperable and open; + - Optimized for the Internet; + - Scalable to any modern device at any bandwidth; + - Designed with a low computational footprint and optimized for hardware; + - Capable of consistent, highest-quality, real-time video delivery; and + - Flexible for both commercial and non-commercial content, including + user-generated content. + +This package contains the reference encoder and decoder. + +%package -n libaom +Summary: Library files for aom + +%description -n libaom +Library files for aom, the royalty-free next-generation +video format. + +%package -n libaom-devel +Summary: Development files for aom +# cmake files assume /usr/bin/aomdec is present +Requires: aom%{?_isa} = %{version}-%{release} +Requires: libaom%{?_isa} = %{version}-%{release} + +%description -n libaom-devel +Development files for aom, the royalty-free next-generation +video format. + +%package -n libaom-devel-docs +Summary: Documentation for libaom +Requires: libaom-devel%{?_isa} = %{version}-%{release} + +%description -n libaom-devel-docs +Documentation for libaom, the royalty-free next-generation +video format. + +%prep +%autosetup -p1 -c %{name}-%{version} +# Set GIT revision in version +sed -i 's@set(aom_version "")@set(aom_version "%{aom_version}")@' build/cmake/version.cmake +# Disable PDF generation which is buggy +sed -i "s@GENERATE_LATEX = YES@GENERATE_LATEX = NO@" libs.doxy_template + +%build +%cmake3 -DENABLE_CCACHE=1 \ + -DCMAKE_SKIP_RPATH=1 \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ + -DCONFIG_WEBM_IO=1 \ + -DENABLE_DOCS=1 \ + -DENABLE_TESTS=0 \ + -DCONFIG_ANALYZER=0 \ + -DBUILD_SHARED_LIBS=1 \ +%if %{with jpegxl} + -DCONFIG_TUNE_BUTTERAUGLI=1 \ +%endif +%if %{with vmaf} + -DCONFIG_TUNE_VMAF=1 \ +%endif + %{nil} +%cmake3_build + +%install +%cmake3_install + +%files +%doc AUTHORS CHANGELOG README.md +%license LICENSE PATENTS +%{_bindir}/aomdec +%{_bindir}/aomenc + +%files -n libaom +%license LICENSE PATENTS +%{_libdir}/libaom.so.%{sover}* + +%files -n libaom-devel +%{_includedir}/%{name} +%{_libdir}/libaom.so +%{_libdir}/cmake/AOM/ +%{_libdir}/pkgconfig/%{name}.pc + +%files -n libaom-devel-docs +%doc %{_vpath_builddir}/docs/html/ + +%changelog +%autochangelog diff --git a/changelog b/changelog new file mode 100644 index 0000000..5b124c9 --- /dev/null +++ b/changelog @@ -0,0 +1,66 @@ +* Wed Jul 21 2021 Fedora Release Engineering - 3.1.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild + +* Sun Jun 13 12:47:37 CEST 2021 Robert-André Mauchin - 3.1.1-1 +- Update to 3.1.1 +- Close: rhbz#1954337 +- Security fix for CVE-2021-30473 +- Fix: rhbz#1961375 +- Fix: rhbz#1961376 +- Security fix for CVE-2021-30475 +- Fix: rhbz#1968017 +- Fix: rhbz#1968018 + +* Wed Mar 10 2021 Leigh Scott - 2.0.1-5 +- Rebuild for new libvmaf version + +* Tue Jan 26 2021 Fedora Release Engineering - 2.0.1-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild + +* Wed Jan 20 2021 Wim Taymans - 2.0.1-3 +- Disable vmaf on rhel + +* Tue Dec 15 01:26:44 CET 2020 Robert-André Mauchin - 2.0.1-2 +- Disable tests + +* Sat Dec 05 21:18:20 CET 2020 Robert-André Mauchin - 2.0.1-1 +- Update to 2.0.1 +- Close rhbz#1852847 + +* Tue Jul 28 16:30:33 CEST 2020 Robert-André Mauchin - 2.0.0-3 +- Fix FTBFS + +* Mon Jul 27 2020 Fedora Release Engineering - 2.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Wed Jul 01 14:33:18 CEST 2020 Robert-André Mauchin - 2.0.0-1 +- Update to 2.0.0 (#1852847) + +* Tue Jan 28 2020 Fedora Release Engineering - 1.0.0-9.20190810git9666276 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Fri Aug 09 17:45:23 CEST 2019 Robert-André Mauchin - 1.0.0-8.20190810git9666276 +- Update to commit 9666276accea505cd14cbcb9e3f7ff5033da9172 + +* Wed Jul 24 2019 Fedora Release Engineering - 1.0.0-7.20180925gitd0076f5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Thu Jan 31 2019 Fedora Release Engineering - 1.0.0-6.20180925gitd0076f5 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Tue Sep 25 2018 Robert-André Mauchin - 1.0.0-5.20180925gitd0076f5 +- Update to commit d0076f507a6027455540e2e4f25f84ca38803e07 +- Set CONFIG_LOWBITDEPTH to 1 +- Fix #1632658 + +* Thu Sep 13 2018 Robert-André Mauchin - 1.0.0-4 +- Split the package into libs/tools + +* Tue Sep 11 2018 Robert-André Mauchin - 1.0.0-3 +- Update the archive in order to detect the correct version from the changelog + +* Thu Jul 12 2018 Fedora Release Engineering - 1.0.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Mar 07 2018 Robert-André Mauchin - 1.0.0-1 +- First RPM release diff --git a/sources b/sources new file mode 100644 index 0000000..85f4d55 --- /dev/null +++ b/sources @@ -0,0 +1 @@ +SHA512 (aom-3.13.1.tar.gz) = 20cdde0fc4304ba0056e4dac55838587a3671112ec74274f8dcb1588549a524ed9a8e702d1f068c46833dfb93f565eb5a03ab610b0222a6f137d3cd8a8866de7