diff --git a/.gitignore b/.gitignore index 3727cb1..bd22157 100644 --- a/.gitignore +++ b/.gitignore @@ -1,25 +1,2 @@ /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-Add-symbol-exports-needed-by-examples-analyzer-and-e.patch b/0001-Add-symbol-exports-needed-by-examples-analyzer-and-e.patch new file mode 100644 index 0000000..e04fa56 --- /dev/null +++ b/0001-Add-symbol-exports-needed-by-examples-analyzer-and-e.patch @@ -0,0 +1,45 @@ +From 4b90cc60118f0aed08853ae102c560762fb74627 Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?Robert-Andr=C3=A9=20Mauchin?= +Date: Fri, 14 Sep 2018 23:17:10 +0200 +Subject: [PATCH] Add symbol exports needed by examples/analyzer and + examples/inspect + +Added to aom/exports_com: +aom_free + +Added to av1/exports_com: +ifd_init +ifd_inspect + +BUG= aomedia:2161 + +Change-Id: Ide307b949c886fa8a0398e200980c80b58e3e74e +--- + aom/exports_com | 1 + + av1/exports_com | 2 ++ + 2 files changed, 3 insertions(+) + +diff --git a/aom/exports_com b/aom/exports_com +index 2798bd51a..cf99bc5d9 100644 +--- a/aom/exports_com ++++ b/aom/exports_com +@@ -9,6 +9,7 @@ text aom_codec_iface_name + text aom_codec_version + text aom_codec_version_extra_str + text aom_codec_version_str ++text aom_free + text aom_img_alloc + text aom_img_alloc_with_border + text aom_img_flip +diff --git a/av1/exports_com b/av1/exports_com +index 5c8e0e09d..e49e0dc5f 100644 +--- a/av1/exports_com ++++ b/av1/exports_com +@@ -1,2 +1,4 @@ + text aom_read_obu_header_and_size + text av1_resize_frame420 ++text ifd_init ++text ifd_inspect +-- +2.17.1 + diff --git a/0001-cmake-fix-nasm-detection-w-3.0.patch b/0001-cmake-fix-nasm-detection-w-3.0.patch deleted file mode 100644 index eef863c..0000000 --- a/0001-cmake-fix-nasm-detection-w-3.0.patch +++ /dev/null @@ -1,41 +0,0 @@ -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/aom-nostatic.patch b/aom-nostatic.patch deleted file mode 100644 index 1755b03..0000000 --- a/aom-nostatic.patch +++ /dev/null @@ -1,29 +0,0 @@ -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 index 75544c6..ddba547 100644 --- a/aom.spec +++ b/aom.spec @@ -1,53 +1,42 @@ -%global sover 3 -%global aom_version v3.13.1 +%global sover 0 -%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 +# Use commit with updated changelog for correct versioning +%global commit d0076f507a6027455540e2e4f25f84ca38803e07 +%global shortcommit %(c=%{commit}; echo ${c:0:7}) +%global snapshotdate 20180925 +%global prerelease 1 Name: aom -Version: 3.13.1 -Release: %autorelease +Version: 1.0.0 +Release: 6.%{?prerelease:%{snapshotdate}git%{shortcommit}}%{?dist} Summary: Royalty-free next-generation video format -License: BSD-3-Clause +License: BSD 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 +# We want to keep the git data for versioning aom.pc correctly +# so we can't download the archive directly from the repo. +Source0: %{name}-%{shortcommit}.tar.gz +Source1: makesrc.sh + +# https://bugs.chromium.org/p/aomedia/issues/detail?id=2161 +Patch0: 0001-Add-symbol-exports-needed-by-examples-analyzer-and-e.patch BuildRequires: gcc-c++ BuildRequires: gcc BuildRequires: cmake3 BuildRequires: doxygen BuildRequires: git-core -# BuildRequires: graphviz +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 +BuildRequires: wxGTK3-devel +BuildRequires: yasm Provides: av1 = %{version}-%{release} Requires: libaom%{?_isa} = %{version}-%{release} %description -The Alliance for Open Media’s focus is to deliver a next-generation +The Alliance for Open Media’s focus is to deliver a next-generation video format that is: - Interoperable and open; @@ -55,63 +44,76 @@ video format that is: - 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 + - Flexible for both commercial and non-commercial content, including user-generated content. - + This package contains the reference encoder and decoder. + +%package extra-tools +Summary: Extra tools for aom +Requires: aom%{?_isa} = %{version}-%{release} + +%description extra-tools +This package contains the aom analyzer. + + %package -n libaom Summary: Library files for aom %description -n libaom -Library files for aom, the royalty-free next-generation +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 +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 +%autosetup -p1 -n %{name}-%{commit} + %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 \ +mkdir _build && cd _build +%cmake3 ../ -DENABLE_CCACHE=1 \ + -DCMAKE_SKIP_RPATH=1 \ + -DCMAKE_BUILD_TYPE=RelWithDebInfo \ +%ifnarch aarch64 %{arm} %{ix86} x86_64 + -DAOM_TARGET_CPU=generic \ %endif -%if %{with vmaf} - -DCONFIG_TUNE_VMAF=1 \ +%ifarch %{arm} + -DAOM_TARGET_CPU=arm \ %endif - %{nil} -%cmake3_build +%ifarch aarch64 + -DAOM_TARGET_CPU=arm64 \ +%endif +%ifarch %{ix86} + -DAOM_TARGET_CPU=x86 \ +%endif +%ifarch x86_64 + -DAOM_TARGET_CPU=x86_64 \ +%endif + -DCONFIG_WEBM_IO=1 \ + -DENABLE_DOCS=1 \ + -DCONFIG_ANALYZER=1 \ + -DCONFIG_LOWBITDEPTH=1 +%make_build + %install -%cmake3_install +cd _build +%make_install +install -pm 0755 examples/analyzer %{buildroot}%{_bindir}/aomanalyzer + + +%ldconfig_scriptlets + %files %doc AUTHORS CHANGELOG README.md @@ -119,18 +121,41 @@ sed -i "s@GENERATE_LATEX = YES@GENERATE_LATEX = NO@" libs.doxy_t %{_bindir}/aomdec %{_bindir}/aomenc + +%files extra-tools +%{_bindir}/aomanalyzer + + %files -n libaom %license LICENSE PATENTS -%{_libdir}/libaom.so.%{sover}* +%{_libdir}/libaom.so.%{sover} + %files -n libaom-devel +%doc _build/docs/html/ %{_includedir}/%{name} %{_libdir}/libaom.so -%{_libdir}/cmake/AOM/ %{_libdir}/pkgconfig/%{name}.pc -%files -n libaom-devel-docs -%doc %{_vpath_builddir}/docs/html/ %changelog -%autochangelog +* 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/changelog b/changelog deleted file mode 100644 index 5b124c9..0000000 --- a/changelog +++ /dev/null @@ -1,66 +0,0 @@ -* 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/makesrc.sh b/makesrc.sh new file mode 100755 index 0000000..b382b6e --- /dev/null +++ b/makesrc.sh @@ -0,0 +1,25 @@ +#!/bin/bash + +NAME=$(basename $PWD) +VERSION=$(sed -n '/^Version:/{s/.* //;p}' $NAME.spec) +COMMIT=$(sed -n '/^%global commit/{s/.* //;p}' $NAME.spec) +SHORT=${COMMIT:0:7} + +echo -e "\nCreate git snapshot\n" + +echo "Cloning..." +rm -rf $NAME-$COMMIT +git clone https://aomedia.googlesource.com/aom $NAME-$COMMIT + +echo "Getting commit..." +pushd $NAME-$COMMIT +git checkout $COMMIT +popd + +echo "Archiving..." +tar czf $NAME-$SHORT.tar.gz $NAME-$COMMIT/ + +echo "Cleaning..." +rm -rf $NAME-$COMMIT + +echo "Done." diff --git a/sources b/sources index 85f4d55..ee5b599 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (aom-3.13.1.tar.gz) = 20cdde0fc4304ba0056e4dac55838587a3671112ec74274f8dcb1588549a524ed9a8e702d1f068c46833dfb93f565eb5a03ab610b0222a6f137d3cd8a8866de7 +SHA512 (aom-d0076f5.tar.gz) = 6fcbe7d76788544f59e1338084d4245077a986308e2405199531ca9b4d24c9b81d5a51e012118d9cedb4e3b813b7a608f8c000e746941c5886a95462f2438369