From 81a047d2be9dfacb3422e510d7a35cc405e140bc5cdc66dfcedb83a1d135129c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Fri, 3 May 2024 10:48:43 +0200 Subject: [PATCH] Sync from SUSE:SLFO:Main SVT-AV1 revision a491db8ae48170a68c8e95ed0061496f --- .gitattributes | 23 +++++ SVT-AV1-v1.7.0.tar.gz | 3 + SVT-AV1.changes | 226 ++++++++++++++++++++++++++++++++++++++++++ SVT-AV1.spec | 123 +++++++++++++++++++++++ 4 files changed, 375 insertions(+) create mode 100644 .gitattributes create mode 100644 SVT-AV1-v1.7.0.tar.gz create mode 100644 SVT-AV1.changes create mode 100644 SVT-AV1.spec diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/SVT-AV1-v1.7.0.tar.gz b/SVT-AV1-v1.7.0.tar.gz new file mode 100644 index 0000000..a93c733 --- /dev/null +++ b/SVT-AV1-v1.7.0.tar.gz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ce0973584f1a187aa4abf63f509ff8464397120878e322a3153f87e9c161fc4f +size 10164910 diff --git a/SVT-AV1.changes b/SVT-AV1.changes new file mode 100644 index 0000000..e703d72 --- /dev/null +++ b/SVT-AV1.changes @@ -0,0 +1,226 @@ +------------------------------------------------------------------- +Fri Nov 3 09:31:24 UTC 2023 - Jan Engelhardt + +- Update to release 1.7.0 + * Encoder: + * Improve the tradeoffs for the random access mode across + presets MR-M13 + * Quality improvements across all presets and metrics ranging + from 0.3% to 4.5% in BD-rate + * Added an experimental tune SSIM mode yielding ~3-4% + additional SSIM BD-rate gains + +------------------------------------------------------------------- +Mon Jun 26 08:53:46 UTC 2023 - Andreas Schwab + +- Enable build on riscv64 + +------------------------------------------------------------------- +Mon Jun 19 23:25:45 UTC 2023 - Jan Engelhardt + +- Update to release 1.6.0 + * Improved the tradeoffs for the random access mode across + presets M1-M13: + * Speeding up the higher quality presets by 30-40% + * Improving the BD-rate by 1-4% for the faster presets + * Improved the tradeoffs for the low delay mode for both screen + content and non-screen content encoding modes + * Added a toggle to remove the legacy one-frame buffer at the + input of the pipeline allowing the low delay mode to operate + at sub-frame processing latencies + * Added a new API allowing the user to specify quantization + offsets for a region of interest per frame + +------------------------------------------------------------------- +Thu Mar 30 09:10:48 UTC 2023 - Guillaume GARDET + +- Enable build on aarch64 + +------------------------------------------------------------------- +Mon Jan 2 21:17:48 UTC 2023 - Dirk Müller + +- update to 1.4.1: + * Fix CRF with maxrate bug causing bitrate to be significantly limited for + CRF encodings + * Fix command line parsing forcing 1-pass in a 2-pass encoding mode when + the --keyint=`x`s format is used + * Fix decoder segfault due to assuming aligned buffers in the inverse + transform assembly + +------------------------------------------------------------------- +Mon Dec 5 19:55:53 UTC 2022 - Dirk Müller + +- update to 1.4.0: + * Adopted the 6L / 32-picture mini-GOP configuraion as default and + adjusted MD feature levels accordingly yielding higher compression + efficiency gains + * Update the TPL model to account for the larger mini-gop size + * Re-tune presets M0-M12 using the gained coding efficiency for improved + quality vs cycles tradeoffs + * Allow duplicate commandline parameters to be parsed and take into + consideration the latter to allow AWCY integration + * Build, Cleanup and Documentation + * Make include and lib paths friendly to abs and rel paths + * Update preset and API documentation + * Various functional bug fixes + * Remove manual prediction structure support + +------------------------------------------------------------------- +Thu Oct 20 11:51:11 UTC 2022 - Bjørn Lie + +- Update to release 1.3.0: + * Encoder: + - Port SIMD optimizations from libDav1D making the conformant + path (Inv. Transform) faster + - Enabling smaller mini-GOP size configurations and tuning it + for the low delay mode + - Tuning the low-latency mode in random access targeting + latencies from 250ms to 1s + - Adding GOP-constrained Rate Control targeting low-latency + streaming applications + - Optimize mode decision features levels for depth + partitioning, RDOQ, MD stage0 pruning in-loop filtering + temporal filtering and TPL adding more granularity and + gaining further quality + - Preset tuning M0-M13 to smooth the spacing and utilize the + quality improvements towards better tradeoffs + * Build, Cleanup and Documentation: + - Update preset and API documentation + - Various functional bug fixes + - Remove the use of GLOB in cmake and use file names +- Changes from release 1.2.1: + * Encoder: Fix a crash at the end of the encode that may occur + when an invalid metadata packet is sent with the EOS packet + * Build, Cleanup: + - y4m header pasring code cleanup + - API cleanup and enhancements adding string options for RC + mode + - Added option to build without app / dec / enc using the + build.sh / build.bat scripts + +------------------------------------------------------------------- +Wed Aug 3 15:07:11 UTC 2022 - Jan Engelhardt + +- Update to release 1.2.0 + * TPL tradeoff optimizations for 4L pred structure + * Quality-vs-cycles tradeoff improvements across all presets + * Add ability to force key_frame positions through ffmpeg for + CRF mode + * Minimize the quality impact of fast-decode while maintaining + the decoder speedup + * AVX2 optimizations for low delay mode + * Improve CRF preset tradeoffs for both the default and + fast-decode modes + * Improve the SSIM-based tradeoffs of the presets without + impacting those of PSNR / VMAF + * Improve CBR mode by enhancing the bit-distribution within the + GOP + * Added support for reference frame scaling + * Added support for quantization matrices + * AVX2 optimizations for low-delay mode + * TPL-based VBR mode improvements + * Improved Chroma RDOQ + * Improve TPL QP Scaling + * Add length info to ivf header + * Fix support for metadata pass-through + * Add ability to specify Chroma and Luma qindex offsets + independently on top of CRF qp assignments + +------------------------------------------------------------------- +Fri Apr 22 21:47:04 UTC 2022 - Jan Engelhardt + +- Update to release 1.0.0 + * Added S-frames support + * Added CBR Rate control mode for low delay + * Added support for chroma position signaling + * Added support for skipping denoising pictures after film + grain synthesis + * Extend fast-decode support to cover presets M0-M10 + +------------------------------------------------------------------- +Wed Feb 16 10:01:52 UTC 2022 - Mia Herkt + +- Disable forced realtime scheduler priority + By default, the encoder library will attempt to set realtime + scheduler priority. Disable this behavior, as it serves no + practical purpose (video encoding does not benefit from reduced + process latency) and will only make the system unresponsive. + (Additionally, it is arguably not a video encoder library’s job + to manage scheduler priorities for the calling process.) + See https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/1714 + +------------------------------------------------------------------- +Wed Jan 26 08:27:06 UTC 2022 - Enrico Belleri + +- Update to 0.9.0 + * New faster presets M9-M12, M12 reaching similar complexity level to that of x264 veryfast + * New multi-pass and single pass VBR implementation minimizing the quality difference vs CRF while reducing the cycle overhead + * Quality vs density tradeoffs improvements across all presets in CRF mode + * Added support for CRF with capped bitrate + * Added support for overlay frames and super resolution + * Fixed film grain synthesis bugs + * Added experimental support for > 4k resolutions + * Added experimental support for the low delay prediction structure + * Significant memory reduction especially for faster presets in a multi-threaded environment + * API configuration structure cleanup removing all invalid or out of date parameters + * Speedup legacy CPUs for faster development by adding SSE code for corresponding C-kernels + * Updated the code license from BSD 2-clause to BSD 3-clause clear + +------------------------------------------------------------------- +Fri May 28 09:52:23 UTC 2021 - Jan Engelhardt + +- Update to release 0.8.7 + * Feature optimizations: creating new mode decision / + encode-decode feature levels allowing better speed / quality + trade-off granularity. + * Preset repositioning after adopting new levels. + * Preset 8 achieving similar speed levels to that of x265 + medium in the VOD (shot-based encoding) use-case while + maintaining quality gains. + * New 1-pass and 2-pass VBR implementation ported from libaom + and adapted to the SVT architecture. +- Drop 1568-backport.patch (no longer applies) +- Remove wrong Obsoletes/Provides + +------------------------------------------------------------------- +Tue Nov 10 11:04:19 UTC 2020 - Andreas Schneider + +- Update to version 0.8.5 + * https://github.com/AOMediaCodec/SVT-AV1/blob/v0.8.5/CHANGELOG.md +- Added 1568-backport.patch +- Added manpages + +------------------------------------------------------------------- +Wed May 1 09:09:48 UTC 2019 - Jan Engelhardt + +- Go back to tar_scm; obs_scm does not work with quilt. +- Bump SO version for change from Apr 25/29 2019. + +------------------------------------------------------------------- +Tue Apr 30 20:56:41 UTC 2019 - Hans-Peter Jansen + +- fix missing parts for decode lib + +------------------------------------------------------------------- +Thu Apr 25 08:47:09 UTC 2019 - Adrian Schröter + +- update to b4ca700d36c9655e37e9f091bfe983a23ec0c1bd + * new decode sub package +- use obs_scm again (it is on purpose for git snapshots) + +------------------------------------------------------------------- +Mon Feb 18 11:59:38 UTC 2019 - Jan Engelhardt + +- Use %cmake macro + +------------------------------------------------------------------- +Sat Feb 16 12:18:45 UTC 2019 - Jan Engelhardt + +- Update descriptions, make it fit for Factory. +- Use the same macro style everywhere. +- Edit fix-build.patch to conform to SLPP. + +------------------------------------------------------------------- +Tue Feb 5 08:58:20 UTC 2019 - Adrian Schröter + +- initial package of current git master (no tags yet) diff --git a/SVT-AV1.spec b/SVT-AV1.spec new file mode 100644 index 0000000..722c04f --- /dev/null +++ b/SVT-AV1.spec @@ -0,0 +1,123 @@ +# +# spec file for package SVT-AV1 +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: SVT-AV1 +Version: 1.7.0 +Release: 0 +Summary: An AV1 decoder/encoder for video streams +License: BSD-3-Clause-Clear +Group: Productivity/Multimedia/Other +URL: https://gitlab.com/AOMediaCodec/SVT-AV1 +Source: https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v%version/SVT-AV1-v%version.tar.gz +BuildRequires: cmake >= 3.5.1 +BuildRequires: fdupes +BuildRequires: gcc-c++ >= 5.4.0 +BuildRequires: help2man +BuildRequires: pkgconfig +BuildRequires: yasm >= 1.2.0 +ExclusiveArch: x86_64 aarch64 riscv64 + +%description +The Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) is an +AV1-compliant encoder/decoder library core. The SVT-AV1 encoder development is +a work-in-progress targeting performance levels applicable to both VOD and Live +encoding / transcoding video applications. The SVT-AV1 decoder implementation +is targeting future codec research activities. + +%package -n libSvtAv1Dec0 +Summary: An AV1 decoder/encoder for video streams +Group: System/Libraries + +%description -n libSvtAv1Dec0 +The Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) is an +AV1-compliant encoder/decoder library core. The SVT-AV1 encoder development is +a work-in-progress targeting performance levels applicable to both VOD and Live +encoding / transcoding video applications. The SVT-AV1 decoder implementation +is targeting future codec research activities. + +%package -n libSvtAv1Enc1 +Summary: An AV1 decoder/encoder for video streams +Group: System/Libraries + +%description -n libSvtAv1Enc1 +The Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder) is an +AV1-compliant encoder/decoder library core. The SVT-AV1 encoder development is +a work-in-progress targeting performance levels applicable to both VOD and Live +encoding / transcoding video applications. The SVT-AV1 decoder implementation +is targeting future codec research activities. + +%package devel +Summary: Development files for %name +Group: Development/Libraries/C and C++ +Requires: libSvtAv1Dec0 = %version +Requires: libSvtAv1Enc1 = %version + +%description devel +An AV1 encoder for video streams from Intel. + +This package contains the header files for svt-av1. + +%prep +%autosetup -p1 -n %name-v%version + +%build +%cmake +%cmake_build + +%install +%cmake_install + +# Generate manpages +install -d -m0755 %buildroot/%_mandir/man1 + +LD_LIBRARY_PATH="%buildroot%_libdir" \ +help2man -N --help-option=-help --version-string=%version %buildroot%_bindir/SvtAv1DecApp > %buildroot%_mandir/man1/SvtAv1DecApp.1 + +LD_LIBRARY_PATH="%buildroot%_libdir" \ +help2man -N --help-option=-help --version-string=%version --no-discard-stderr %buildroot%_bindir/SvtAv1EncApp > %buildroot%_mandir/man1/SvtAv1EncApp.1 + +b="%buildroot/%_defaultdocdir/%name" +mkdir -p "$b" +cp -a Docs README.md "$b/" +%fdupes %buildroot/%_prefix + +%post -n libSvtAv1Dec0 -p /sbin/ldconfig +%postun -n libSvtAv1Dec0 -p /sbin/ldconfig +%post -n libSvtAv1Enc1 -p /sbin/ldconfig +%postun -n libSvtAv1Enc1 -p /sbin/ldconfig + +%files -n libSvtAv1Dec0 +%license LICENSE.md PATENTS.md +%_libdir/libSvtAv1Dec.so.* + +%files -n libSvtAv1Enc1 +%license LICENSE.md PATENTS.md +%_libdir/libSvtAv1Enc.so.* + +%files +%_bindir/Svt* +%_mandir/man1/Svt* +%doc %_defaultdocdir/%name/ + +%files devel +%_libdir/libSvtAv1Dec.so +%_libdir/libSvtAv1Enc.so +%_libdir/pkgconfig/*.pc +%_includedir/svt-av1/ + +%changelog