pkgsrc-Changes archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

CVS commit: pkgsrc/multimedia/svt-av1



Module Name:    pkgsrc
Committed By:   ryoon
Date:           Wed Aug 12 03:41:38 UTC 2026

Modified Files:
        pkgsrc/multimedia/svt-av1: Makefile PLIST distinfo
        pkgsrc/multimedia/svt-av1/patches: patch-CMakeLists.txt
            patch-Source_App_app__config.c patch-Source_App_app__config.h

Log Message:
multimedia/svt-av1: Update to 4.2.0

Changelog:
4.2.0:
VOD / Random Access

Added TUNE-VMAF mode targeting ~15% VMAF BD-rate improvement at minimal PSNR loss
Implemented single-thread processing mode with RA handling
RA preset tuning and bitrate optimization for M3-M5
New CLI options: --cqp, --enable-intrabc, --hbd-mds, --enable-kf-tf
Added raw OBU output format as an alternative to IVF
Signal initial_display_delay in sequence header to fix A/V sync on seek

RTC / Low Delay

Added CBR rate control with Kalman-filter QP estimation, cyclic refresh, and frame re-encode
Added on-the-fly MG size, preset, bitrate, and frame rate changes
Added reference frame management API with LTR support and two-layer RPS structure
Exposed --max-intra-bitrate-pct and --max-inter-bitrate-pct parameters
Improved compression efficiency vs. cycle tradeoff across RTC presets
Optimized memory footprint for RTC mode with small resolutions
Further speed and quality tuning for RTC

Encoder (general)

Refactored entropy coding: direct tile-buffer writes, arithmetic coder simplifications, coefficient shaving
CDEF optimizations: 8-bit boundary-aware filter, persistent scratch buffers, luma/chroma specialization
MD and ME optimizations (LPD1 early-skip, VLPD0 fast path, static-block ME bypass)
Optimized still-image screen content detection
Optimized TPL dispatch when TPL is disabled
Added ENABLE_STACK_PROTECTOR CMake option to prevent the stack protector flag from being added

Arm

Added lowbd (8-bit) int16 forward transform NEON kernels (4x4 through 32x32)
Added Neon SAD, quantize-matrix, SSIM, VMAF, variance, and pixel projection error kernels
Added SVE2 VMAF kernels and hardware CRC-32C for hash-based ME
Optimized convolution, full distortion, and SAD calculation functions

Bug fixes and documentation

Fixed superres recode crash, RESIZE_DYNAMIC under --rtc, RTC candidate-count overflow, recon output, and memory leak
Fixed signed left-shift UB, OOB reads, and race conditions in rate control
Added NVTX/Nsight Systems profiling hooks, PPC toolchain, and macOS universal binary support
Addressed cppcheck warnings and rewrote affected unit tests
Addressed USAN and MSAN warnings
Reduced OBMC stack usage to fix a crash with PGO
General code cleanup, documentation updates, and test improvements

4.1.0:
Encoder

Refactor MD, EncDec, and Entropy Coding kernels (!2604 (merged))
Improve Still Image coding efficiency (!2612 (merged), !2614 (merged))
Change Wiener Filter level for chroma for presets M3 and below (!2620 (merged))
Optimize Screen Content coding for Still Image (!2630 (merged))

Arm

Refactor Subpixel Variance kernels (!2608 (merged))
Optimize 16b SAD kernel (!2610 (merged))
Fixed Neoverse V2 unit test detection (!2622 (merged))
Update Arm build guide (!2625 (merged))

Bug fixes and documentation

Fixed a hang caused by improper variable looping (#2338 (closed), !2600 (merged))
Add missing option 2 for --enable-dlf's help output (!2601 (merged))
Depth Refinement algorithmic bug fix (!2602 (merged))
Add mutexes to fix hangs when running multiple instances of the encoder in one process (!2603 (merged), !2605 (merged), !2619 (merged))
Fix motion calculation for cyclic QP refresh (!2613 (merged))
Fixed a Debug vs Release mismatch (!2618 (merged))
Fixed some new warnings with newer GCC versions (!2621 (merged), !2636 (merged))
Changed Temporal Filtering distortion calculation to not include padding (!2623 (merged))
Cleanup some dead unit tests (!2626 (merged))
Benchmark framework improvements (!2627 (merged))
CI/CD improvements (!2628 (merged))
Fixed some niche crashes (!2629 (merged))
Readd missing PredStructure enum without SVT_AV1 prefix (!2635 (merged))
Rename svt_log to prevent conflict with SVT-JPEG-XS (!2634 (merged))
General code and doc cleanup (!2606 (merged), !2607 (merged), !2609 (merged), !2611 (merged), !2616 (merged), !2617 (merged), !2624 (merged), !2631 (merged), !2633 (merged), !2637 (merged))

4.0.1:
Bug fixes and documentation

Fixed a missing version bump for shared library and pkg-config (!2593 (merged))

This is now tied to the CMake project version and should not happen again.
Added a CI check to verify this going forward (!2594 (merged))

Fixed tf-strength's default value in the help output (!2595 (merged))
Cleaned up some old debug prints and fixed some Windows build warnings (!2596 (merged))
Fixed bug in incorrect plane selection in quantize_inv_quantize (!2597 (merged))
Fixed hang caused by incorrect update of looping variable in pic_manager_process (!2600 (merged))

4.0.0:
API updates

Major release with new API updates that are not backwards compatible.
Extended the crf range to 70 reducing the impact or QP scaling allowing the encoder to reach lower bitrates
Added quarter steps between crf increments to allow for further granularity in qp selection
Added support for setting a custom global logger for library consumers (!2570 (merged), !2579 (merged))
Cleaned up public API headers including removal of deprecated macros, structs, and fields (!2565 (merged), !2568 (merged))

Additionally cleaned up anything marked using SVT_AV1_CHECK_VERSION().

Added ability to calculate per-frame PSNR and SSIM metrics (!2521 (merged))
Allow sending more than 1 but less than 4 frames with avif mode (This is not for AVIF image sequence, but for encoding an alpha layer) (!2551 (merged), !2560 (merged))
Added tune IQ and MS-SSIM for Still Image coding mode

Encoder

Significant improvements in AVIF and still image modes (!2552 (merged),!2567 (merged)):
~5-8x speedup M11-M0 at the same quality levels with tune MS-SSIM
~5-8% BD-Rate improvements at the same complexity with tune MS-SSIM
Tradeoff improvements for the RTC modes (!2558 (merged)):
~5-15% speedup at similar quality levels in --rtc mode across presets 7 - 11
Tradeoff improvements for the Random Access mode (VOD use case) showing a 10-25% speedup across presets M7 down to M0 for --fast-decode 1 and 2 (!2558 (merged))
Major feature updates for the visual quality mode with the completion porting all SVT-AV1-PSY applicable features for --tune vq for video and --tune iq for avif (!2484 (merged), !2489 (merged), !2491 
(merged), !2494 (merged), !2496 (merged), !2503 (merged), !2504 (merged), !2507 (merged), !2514 (merged), !2522 (merged) , !2561 (merged), !2562 (merged), !2576 (merged)):
Added AC Bias, a psychovisual feature that improves detail preservation and film grain retention
Update S-Frame support to allow setting it in a specific decode order option and with more qp options (!2477 (merged) !2523 (merged) !2534 (merged))
Further Arm Neon and SVE2 optimizations that improve high bitdepth encoding by an average of ~5% in low resolutions

Cleanup, Build and bug fixes, testing and documentation

General code cleanup, bugfixes, documentation and console output changes
Bugfixes: Fixed an issue with the encoder hanging when given an input with a height of 24 pixels or less (!2518 (merged))
Bugfixes: Fixed a bug that results in encoding an invalid bitstream when using rtc with a high QP value (!2502 (merged))
Bugfixes: Fixed a hang with VBR encoding (#2300 (closed), !2535 (merged))
Bugfixes: Fixed a hang when using recon output with low delay mode (#2315 (closed), !2544 (merged))
Bugfixes: Fixed an encoder crash when using RTC with resolutions not divisible by 16 and presets >= 11 (#2301 (closed), !2547 (merged))
Bugfixes: Fixed bitstream level tier compliance with AV1 specification (#2332 (closed), !2577 (merged), !2581 (merged), !2587 (merged))
Cleanup: Removed in-tree gstreamer plugin (!2586 (merged))
Cleanup: Code specific cleanup for slimmer binary sizes (!2476 (merged))
Testing: Added CI coverage for compiling FFmpeg on macOS Arm (!2536 (merged))
Testing: Added a python based testing framework for comparing codec performance and quality (!2532 (merged), !2550 (merged), !2556 (merged), !2563 (merged), !2564 (merged), !2566 (merged))


To generate a diff of this commit:
cvs rdiff -u -r1.12 -r1.13 pkgsrc/multimedia/svt-av1/Makefile
cvs rdiff -u -r1.4 -r1.5 pkgsrc/multimedia/svt-av1/PLIST
cvs rdiff -u -r1.11 -r1.12 pkgsrc/multimedia/svt-av1/distinfo
cvs rdiff -u -r1.1 -r1.2 \
    pkgsrc/multimedia/svt-av1/patches/patch-CMakeLists.txt \
    pkgsrc/multimedia/svt-av1/patches/patch-Source_App_app__config.c \
    pkgsrc/multimedia/svt-av1/patches/patch-Source_App_app__config.h

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: pkgsrc/multimedia/svt-av1/Makefile
diff -u pkgsrc/multimedia/svt-av1/Makefile:1.12 pkgsrc/multimedia/svt-av1/Makefile:1.13
--- pkgsrc/multimedia/svt-av1/Makefile:1.12     Fri Mar 27 21:19:27 2026
+++ pkgsrc/multimedia/svt-av1/Makefile  Wed Aug 12 03:41:38 2026
@@ -1,12 +1,12 @@
-# $NetBSD: Makefile,v 1.12 2026/03/27 21:19:27 tnn Exp $
+# $NetBSD: Makefile,v 1.13 2026/08/12 03:41:38 ryoon Exp $
 
-DISTNAME=      svt-av1-3.1.2
+DISTNAME=      svt-av1-4.2.0
 CATEGORIES=    multimedia
 MASTER_SITES=  ${MASTER_SITE_GITLAB:=AOMediaCodec/}
 EXTRACT_SUFX=  .tar.bz2
 
 MAINTAINER=    pkgsrc-users%NetBSD.org@localhost
-HOMEPAGE=      https://gitlab.gnome.org/AOMediaCodec/SVT-AV1
+HOMEPAGE=      https://gitlab.com/AOMediaCodec/SVT-AV1
 COMMENT=       Scalable Video Technology for AV1 (SVT-AV1 Encoder and Decoder)
 LICENSE=       modified-bsd
 

Index: pkgsrc/multimedia/svt-av1/PLIST
diff -u pkgsrc/multimedia/svt-av1/PLIST:1.4 pkgsrc/multimedia/svt-av1/PLIST:1.5
--- pkgsrc/multimedia/svt-av1/PLIST:1.4 Sat Aug 30 04:40:05 2025
+++ pkgsrc/multimedia/svt-av1/PLIST     Wed Aug 12 03:41:38 2026
@@ -1,4 +1,4 @@
-@comment $NetBSD: PLIST,v 1.4 2025/08/30 04:40:05 ryoon Exp $
+@comment $NetBSD: PLIST,v 1.5 2026/08/12 03:41:38 ryoon Exp $
 bin/SvtAv1EncApp
 include/svt-av1/EbConfigMacros.h
 include/svt-av1/EbDebugMacros.h
@@ -7,7 +7,11 @@ include/svt-av1/EbSvtAv1Enc.h
 include/svt-av1/EbSvtAv1ErrorCodes.h
 include/svt-av1/EbSvtAv1Formats.h
 include/svt-av1/EbSvtAv1Metadata.h
+lib/cmake/SVT-AV1/SVT-AV1-sharedTargets-release.cmake
+lib/cmake/SVT-AV1/SVT-AV1-sharedTargets.cmake
+lib/cmake/SVT-AV1/SVT-AV1Config.cmake
+lib/cmake/SVT-AV1/SVT-AV1ConfigVersion.cmake
 lib/libSvtAv1Enc.so
-lib/libSvtAv1Enc.so.3
+lib/libSvtAv1Enc.so.4
 lib/libSvtAv1Enc.so.${PKGVERSION}
 lib/pkgconfig/SvtAv1Enc.pc

Index: pkgsrc/multimedia/svt-av1/distinfo
diff -u pkgsrc/multimedia/svt-av1/distinfo:1.11 pkgsrc/multimedia/svt-av1/distinfo:1.12
--- pkgsrc/multimedia/svt-av1/distinfo:1.11     Sat Aug 30 04:40:06 2025
+++ pkgsrc/multimedia/svt-av1/distinfo  Wed Aug 12 03:41:38 2026
@@ -1,8 +1,8 @@
-$NetBSD: distinfo,v 1.11 2025/08/30 04:40:06 ryoon Exp $
+$NetBSD: distinfo,v 1.12 2026/08/12 03:41:38 ryoon Exp $
 
-BLAKE2s (svt-av1-3.1.2.tar.bz2) = 86e2b0b08873fb3450a8bf5978df08e7cafee73f0a8db9d84752ec21be0ffa60
-SHA512 (svt-av1-3.1.2.tar.bz2) = d23327cf348d576643d6385f756d9354ed93801c99bf63c4fb049902f4fd2b81c816cacdcab71dffb1cc330385c89c5abef67b8f81d2abd69a70f01a3e55b25a
-Size (svt-av1-3.1.2.tar.bz2) = 10203273 bytes
-SHA1 (patch-CMakeLists.txt) = c9bf8c9628c51b63f9455706400e348faebd6ba0
-SHA1 (patch-Source_App_app__config.c) = e12eb168735cc99d7c72d5d9ae29650d3f9fc9e7
-SHA1 (patch-Source_App_app__config.h) = e27dcd0af9494be4a400b025780b4058c2deb9a9
+BLAKE2s (svt-av1-4.2.0.tar.bz2) = 722cbb469bc7fadcfa3c5de8cef4604718d1345bc5375c35d312310b881e26e5
+SHA512 (svt-av1-4.2.0.tar.bz2) = d3141f8e1037b6294bbd62c91f67428a31504c85055cf4a308627382c00f2da99c7417915349d9fb7a05d65d046877e2cf963fa30a8f5de114059b57555344ab
+Size (svt-av1-4.2.0.tar.bz2) = 10334915 bytes
+SHA1 (patch-CMakeLists.txt) = 64ca8305479d09a9d9a635aca4b06f5466fca9aa
+SHA1 (patch-Source_App_app__config.c) = ed79ce4257f2b0c9a0645fdf8021a2470ec8da81
+SHA1 (patch-Source_App_app__config.h) = 1891ccd5e333cf6fd64877292ec443896b8017fe

Index: pkgsrc/multimedia/svt-av1/patches/patch-CMakeLists.txt
diff -u pkgsrc/multimedia/svt-av1/patches/patch-CMakeLists.txt:1.1 pkgsrc/multimedia/svt-av1/patches/patch-CMakeLists.txt:1.2
--- pkgsrc/multimedia/svt-av1/patches/patch-CMakeLists.txt:1.1  Thu Aug 17 07:43:40 2023
+++ pkgsrc/multimedia/svt-av1/patches/patch-CMakeLists.txt      Wed Aug 12 03:41:38 2026
@@ -1,15 +1,15 @@
-$NetBSD: patch-CMakeLists.txt,v 1.1 2023/08/17 07:43:40 jperkin Exp $
+$NetBSD: patch-CMakeLists.txt,v 1.2 2026/08/12 03:41:38 ryoon Exp $
 
 Avoid incompatible linker flags on SunOS.
 
---- CMakeLists.txt.orig        2023-04-26 22:11:56.000000000 +0000
+--- CMakeLists.txt.orig        2026-03-23 06:52:18.000000000 +0000
 +++ CMakeLists.txt
-@@ -209,7 +209,7 @@ if(UNIX)
+@@ -322,7 +322,7 @@ if(UNIX)
              set(CMAKE_C_ARCHIVE_FINISH   "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
              set(CMAKE_CXX_ARCHIVE_FINISH "<CMAKE_RANLIB> -no_warning_for_no_symbols -c <TARGET>")
          endif()
--    else()
-+    elseif(NOT CMAKE_SYSTEM_NAME MATCHES "SunOS")
+-    elseif(NOT EMSCRIPTEN)
++    elseif(NOT CMAKE_SYSTEM_NAME MATCHES "SunOS" AND NOT EMSCRIPTEN)
          set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -z noexecstack -z relro -z now")
      endif()
  endif()
Index: pkgsrc/multimedia/svt-av1/patches/patch-Source_App_app__config.c
diff -u pkgsrc/multimedia/svt-av1/patches/patch-Source_App_app__config.c:1.1 pkgsrc/multimedia/svt-av1/patches/patch-Source_App_app__config.c:1.2
--- pkgsrc/multimedia/svt-av1/patches/patch-Source_App_app__config.c:1.1        Wed Sep  4 11:59:05 2024
+++ pkgsrc/multimedia/svt-av1/patches/patch-Source_App_app__config.c    Wed Aug 12 03:41:38 2026
@@ -1,10 +1,10 @@
-$NetBSD: patch-Source_App_app__config.c,v 1.1 2024/09/04 11:59:05 jperkin Exp $
+$NetBSD: patch-Source_App_app__config.c,v 1.2 2026/08/12 03:41:38 ryoon Exp $
 
 Re-order includes so that FOPEN override works.
 
---- Source/App/app_config.c.orig       2024-09-04 11:26:07.821209504 +0000
+--- Source/App/app_config.c.orig       2026-03-23 06:52:18.000000000 +0000
 +++ Source/App/app_config.c
-@@ -16,10 +16,6 @@
+@@ -20,10 +20,6 @@
  #include <ctype.h>
  #include <sys/stat.h>
  
@@ -15,7 +15,7 @@ Re-order includes so that FOPEN override
  #ifdef _WIN32
  #include <windows.h>
  #include <io.h>
-@@ -28,6 +24,9 @@
+@@ -32,6 +28,9 @@
  #include <sys/file.h>
  #endif
  
@@ -23,5 +23,5 @@ Re-order includes so that FOPEN override
 +#include "app_input_y4m.h"
 +#include "app_context.h"
  #include "app_output_ivf.h"
- 
  #if !defined(_WIN32) || !defined(HAVE_STRNLEN_S)
+ #include "third_party/safestringlib/safe_str_lib.h"
Index: pkgsrc/multimedia/svt-av1/patches/patch-Source_App_app__config.h
diff -u pkgsrc/multimedia/svt-av1/patches/patch-Source_App_app__config.h:1.1 pkgsrc/multimedia/svt-av1/patches/patch-Source_App_app__config.h:1.2
--- pkgsrc/multimedia/svt-av1/patches/patch-Source_App_app__config.h:1.1        Wed Sep  4 11:59:05 2024
+++ pkgsrc/multimedia/svt-av1/patches/patch-Source_App_app__config.h    Wed Aug 12 03:41:38 2026
@@ -1,11 +1,11 @@
-$NetBSD: patch-Source_App_app__config.h,v 1.1 2024/09/04 11:59:05 jperkin Exp $
+$NetBSD: patch-Source_App_app__config.h,v 1.2 2026/08/12 03:41:38 ryoon Exp $
 
 Avoid FOPEN conflict with system headers.
 
---- Source/App/app_config.h.orig       2024-09-04 11:22:30.145799815 +0000
+--- Source/App/app_config.h.orig       2026-03-23 06:52:18.000000000 +0000
 +++ Source/App/app_config.h
-@@ -50,6 +50,7 @@ typedef enum EncPass {
- #define MAX_CHANNEL_NUMBER 6U
+@@ -54,6 +54,7 @@ typedef enum EncPass {
+ 
  #define MAX_NUM_TOKENS 210
  
 +#undef FOPEN



Home | Main Index | Thread Index | Old Index