From: Brad Smith Subject: UPDATE: SVT-AV1 2.3.0 To: ports@openbsd.org Date: Tue, 29 Oct 2024 20:21:32 -0400 Here is an update to SVT-AV1 2.3.0. ## [2.3.0] - 2024-10-28 API updates - Preset shift: M12/M13 mapped to M11, M7-M11 shifted one position down. API does not change, all presets from MR-M13 will still be accepted - svt_av1_enc_get_packet API is now a blocking call for low-delay enforcing a picture in, picture out model - --fast-decode range changed from 0-1 to 0-2 available on all presets - Introducing a new definition of --lp being levels of parallelism with a new field in the config structure level_of_parallelism - logical_processors will be deprecated in the 3.0 release Encoder - NEW FAST DECODE MODE - (!2280) - New fast-decode (2) to allow for an average AV1 software cycle reduction of 25-50% vs fast-decode 0 with a 1-3% BD-Rate loss across the presets - Improved fast-decode (1) option to increase its AV1 software cycle reduction by ~10% while maintaining the same quality levels - Improved --lp settings for high resolutions, with CRF gaining a ~4% improvement in speed and VBR gaining ~15% (!2323) - Further Arm-based optimizations improving the efficiency of previously written Arm-neon implementations by an average of 30%. See below for more information on specific presets - Address speed regressions for high resolutions first pass encode by tuning the threading parameters, with 1080p showing the biggest gains - Enabled AVX512 by default in cmake allowing for ~2-4% speedup - Enabled LTO by default if using a new enough compiler (!2288, !2305) - If LTO is a problem or causes one, it can be disabled by adding -DSVT_AV1_LTO=OFF to cmake to force it off. - Please report any issues that occur when using it. Cleanup Build and bug fixes and documentation - third_party: update safestringlib with applicable upstream changes - Improved the unit test coverage for Arm-neon code - Updated documentation Arm Improvements - Speed comparison was done against v2.2 on AWS Graviton4 instances with Clang 19.1.1 - `--lp 1` was used for all tests ## [2.2.0] - 2024-08-19 API updates - No API changes on this release Encoder - Improve the tradeoffs for the random access mode across presets: - Speedup of ~15% across presets M0 - M8 while maintaining similar quality levels (!2253) - Improve the tradeoffs for the low-delay mode across presets (!2260) - Increased temporal resolution setting to 6L for 4k resolutions by default - Added Arm optimizations for functions with c_only equivalent yielding an average speedup of ~13% for 4k10bit Cleanup Build and bug fixes and documentation - Profile-guided-optimized helper build overhaul - Major cleanup and fixing of Neon unit test suite - Address stylecheck dependence on public repositories Index: Makefile =================================================================== RCS file: /cvs/ports/multimedia/svt-av1/Makefile,v retrieving revision 1.17 diff -u -p -u -p -r1.17 Makefile --- Makefile 25 Jun 2024 10:52:00 -0000 1.17 +++ Makefile 30 Oct 2024 00:16:22 -0000 @@ -1,16 +1,15 @@ ONLY_FOR_ARCHS= ${LP64_ARCHS} i386 -COMMENT= scalable AV1 encoder/decoder +COMMENT= scalable AV1 encoder -VER= 2.1.0 +VER= 2.3.0 DISTNAME= SVT-AV1-v${VER} PKGNAME= svt-av1-${VER} CATEGORIES= multimedia SITES= https://gitlab.com/AOMediaCodec/SVT-AV1/-/archive/v${VER}/ EXTRACT_SUFX= .tar.bz2 -SHARED_LIBS= SvtAv1Dec 2.0 \ - SvtAv1Enc 4.0 +SHARED_LIBS= SvtAv1Enc 4.0 HOMEPAGE= https://gitlab.com/AOMediaCodec/SVT-AV1 @@ -28,8 +27,6 @@ MODULES= devel/cmake .if ${MACHINE_ARCH} == "amd64" BUILD_DEPENDS+= devel/nasm .endif - -CONFIGURE_ARGS+=-DSVT_AV1_LTO=ON NO_TEST= Yes Index: distinfo =================================================================== RCS file: /cvs/ports/multimedia/svt-av1/distinfo,v retrieving revision 1.14 diff -u -p -u -p -r1.14 distinfo --- distinfo 25 Jun 2024 10:52:00 -0000 1.14 +++ distinfo 30 Oct 2024 00:16:22 -0000 @@ -1,2 +1,2 @@ -SHA256 (SVT-AV1-v2.1.0.tar.bz2) = K/0Jh3C7oYXNHO2OH/OJg349yg2LXPsNl8klph27+VU= -SIZE (SVT-AV1-v2.1.0.tar.bz2) = 12009974 +SHA256 (SVT-AV1-v2.3.0.tar.bz2) = 9lNYSZ9XKkfWsHbdpzaBqBYrAsC2GaVRvC1i6tjucZo= +SIZE (SVT-AV1-v2.3.0.tar.bz2) = 10168419 Index: pkg/DESCR =================================================================== RCS file: /cvs/ports/multimedia/svt-av1/pkg/DESCR,v retrieving revision 1.1.1.1 diff -u -p -u -p -r1.1.1.1 DESCR --- pkg/DESCR 18 Jun 2020 10:30:51 -0000 1.1.1.1 +++ pkg/DESCR 30 Oct 2024 00:16:22 -0000 @@ -1,5 +1,5 @@ -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. +The Scalable Video Technology for AV1 (SVT-AV1 Encoder) is an +AV1-compliant software encoder library. The work on the SVT-AV1 encoder +targets the development of a production-quality AV1-encoder with +performance levels applicable to a wide range of applications, from +premium VOD to real-time and live encoding/transcoding. Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/multimedia/svt-av1/pkg/PLIST,v retrieving revision 1.3 diff -u -p -u -p -r1.3 PLIST --- pkg/PLIST 11 Mar 2022 19:39:28 -0000 1.3 +++ pkg/PLIST 30 Oct 2024 00:16:22 -0000 @@ -1,15 +1,11 @@ -@bin bin/SvtAv1DecApp @bin bin/SvtAv1EncApp include/svt-av1/ include/svt-av1/EbDebugMacros.h include/svt-av1/EbSvtAv1.h -include/svt-av1/EbSvtAv1Dec.h include/svt-av1/EbSvtAv1Enc.h include/svt-av1/EbSvtAv1ErrorCodes.h include/svt-av1/EbSvtAv1ExtFrameBuf.h include/svt-av1/EbSvtAv1Formats.h include/svt-av1/EbSvtAv1Metadata.h -@lib lib/libSvtAv1Dec.so.${LIBSvtAv1Dec_VERSION} @lib lib/libSvtAv1Enc.so.${LIBSvtAv1Enc_VERSION} -lib/pkgconfig/SvtAv1Dec.pc lib/pkgconfig/SvtAv1Enc.pc