<pre style='margin:0'>
Christopher Nielsen (mascguy) pushed a commit to branch master
in repository macports-ports.

</pre>
<p><a href="https://github.com/macports/macports-ports/commit/1b567582a7cf433268851b3234f81ddfd4f47194">https://github.com/macports/macports-ports/commit/1b567582a7cf433268851b3234f81ddfd4f47194</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'>     new 1b567582a7c libavif: patch for svt-av1; update cmake opts
</span>1b567582a7c is described below

<span style='display:block; white-space:pre;color:#808000;'>commit 1b567582a7cf433268851b3234f81ddfd4f47194
</span>Author: Christopher Nielsen <mascguy@github.com>
AuthorDate: Sat Feb 22 10:04:16 2025 -0500

<span style='display:block; white-space:pre;color:#404040;'>    libavif: patch for svt-av1; update cmake opts
</span>---
 multimedia/libavif/Portfile                    | 13 +++--
 multimedia/libavif/files/patch-svt-av1-v3.diff | 73 ++++++++++++++++++++++++++
 2 files changed, 81 insertions(+), 5 deletions(-)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/libavif/Portfile b/multimedia/libavif/Portfile
</span><span style='display:block; white-space:pre;color:#808080;'>index de0996105ff..f1173dc37e9 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/multimedia/libavif/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/libavif/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -5,7 +5,7 @@ PortGroup               github 1.0
</span> PortGroup               cmake 1.1
 
 github.setup            AOMediaCodec libavif 1.1.1 v
<span style='display:block; white-space:pre;background:#ffe0e0;'>-revision                0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+revision                1
</span> 
 checksums               rmd160  ac864ac450dd86deed573b110bc4836410eee50e \
                         sha256  914662e16245e062ed73f90112fbb4548241300843a7772d8d441bb6859de45b \
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -22,6 +22,9 @@ github.tarball_from     archive
</span> 
 cmake.generator         Ninja
 
<span style='display:block; white-space:pre;background:#e0ffe0;'>+# Upstream patch for svt-av1 v3 support; to be included in next release
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+patchfiles-append       patch-svt-av1-v3.diff
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span> depends_build-append \
                         port:pkgconfig
 
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -36,11 +39,11 @@ depends_lib-append \
</span> 
 configure.args-append \
                         -DAVIF_BUILD_APPS:BOOL=ON \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        -DAVIF_CODEC_AOM:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        -DAVIF_CODEC_DAV1D:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DAVIF_CODEC_AOM=SYSTEM \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DAVIF_CODEC_DAV1D=SYSTEM \
</span>                         -DAVIF_CODEC_LIBGAV1=OFF \
<span style='display:block; white-space:pre;background:#ffe0e0;'>-                        -DAVIF_CODEC_RAV1E:BOOL=OFF \
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-                        -DAVIF_CODEC_SVT:BOOL=ON \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DAVIF_CODEC_RAV1E=OFF \
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+                        -DAVIF_CODEC_SVT=SYSTEM \
</span>                         -DAVIF_ENABLE_WERROR:BOOL=OFF
 
 platform darwin {
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/multimedia/libavif/files/patch-svt-av1-v3.diff b/multimedia/libavif/files/patch-svt-av1-v3.diff
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 00000000000..fd570597109
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/multimedia/libavif/files/patch-svt-av1-v3.diff
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,73 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#==================================================================================================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+From: Vincent Rabaud
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Date: Thu, 13 Feb 2025 10:11:26 +0100
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+Subject: [PATCH] Make code compatible with SVT-AV1 3.0 (#2607)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#==================================================================================================
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- cmake/Modules/LocalSvt.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ cmake/Modules/LocalSvt.cmake
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -57,6 +57,12 @@ else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     set(CMAKE_OUTPUT_DIRECTORY_ORIG "${CMAKE_OUTPUT_DIRECTORY}")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     set(CMAKE_OUTPUT_DIRECTORY "${SVT_BINARY_DIR}" CACHE INTERNAL "")
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    if(CMAKE_INTERPROCEDURAL_OPTIMIZATION)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        set(SVT_AV1_LTO ON)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    else()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        set(SVT_AV1_LTO OFF)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++    endif()
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     avif_fetchcontent_populate_cmake(svt)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+     set(CMAKE_BUILD_TYPE ${CMAKE_BUILD_TYPE_ORIG} CACHE STRING "" FORCE)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+diff --git a/src/codec_svt.c b/src/codec_svt.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+index 193f244a1e..986c3d14de 100644
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+--- src/codec_svt.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++++ src/codec_svt.c
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -7,6 +7,7 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include "svt-av1/EbSvtAv1Enc.h"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#include <stdbool.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <stdint.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #include <string.h>
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -114,7 +115,11 @@ static avifResult svtCodecEncodeImage(avifCodec * codec,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         // See https://gitlab.com/AOMediaCodec/SVT-AV1/-/issues/1697.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         memset(svt_config, 0, sizeof(EbSvtAv1EncConfiguration));
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if SVT_AV1_CHECK_VERSION(3, 0, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        res = svt_av1_enc_init_handle(&codec->internal->svt_encoder, svt_config);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         res = svt_av1_enc_init_handle(&codec->internal->svt_encoder, NULL, svt_config);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         if (res != EB_ErrorNone) {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+             goto cleanup;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -124,15 +129,13 @@ static avifResult svtCodecEncodeImage(avifCodec * codec,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if !SVT_AV1_CHECK_VERSION(0, 9, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         svt_config->is_16bit_pipeline = image->depth > 8;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        // Follow comment in svt header: set if input is HDR10 BT2020 using SMPTE ST2084 (PQ).
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        svt_config->high_dynamic_range_input = (image->depth == 10 && image->colorPrimaries == AVIF_COLOR_PRIMARIES_BT2020 &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                image->transferCharacteristics == AVIF_TRANSFER_CHARACTERISTICS_SMPTE2084 &&
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-                                                image->matrixCoefficients == AVIF_MATRIX_COEFFICIENTS_BT2020_NCL);
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         svt_config->source_width = image->width;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         svt_config->source_height = image->height;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#if SVT_AV1_CHECK_VERSION(3, 0, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        svt_config->level_of_parallelism = encoder->maxThreads;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#else
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         svt_config->logical_processors = encoder->maxThreads;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++#endif
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         svt_config->enable_adaptive_quantization = 2;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         // disable 2-pass
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ #if SVT_AV1_CHECK_VERSION(0, 9, 0)
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+@@ -175,7 +178,7 @@ static avifResult svtCodecEncodeImage(avifCodec * codec,
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         // In order for SVT-AV1 to force keyframes by setting pic_type to
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         // EB_AV1_KEY_PICTURE on any frame, force_key_frames has to be set.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+-        svt_config->force_key_frames = TRUE;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>++        svt_config->force_key_frames = true;
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ 
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         // keyframeInterval == 1 case is handled when encoding each frame by
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+         // setting pic_type to EB_AV1_KEY_PICTURE. For keyframeInterval > 1,
</span></pre><pre style='margin:0'>

</pre>