Index | Thread | Search

From:
Brad Smith <brad@comstyle.com>
Subject:
Re: graphics/ffmpeg: Add svt-av1 support
To:
Pontus Stenetorp <pontus@stenetorp.se>
Cc:
ports@openbsd.org
Date:
Sat, 24 Jan 2026 21:51:23 -0500

Download raw body.

Thread
  • Pontus Stenetorp:

    graphics/ffmpeg: Add svt-av1 support

  • On Sun, Jan 25, 2026 at 12:44:17AM +0900, Pontus Stenetorp wrote:
    > Cheers Brad! Thank you for clarifying and the ONLY_FOR_ARCHS removal and 3.1.2 multimedia/svt-av1 diffs are now in.
    > 
    > Please find my updated diff for enabling svt-av1 for graphics/ffmpeg below. Tested again on amd64 with:
    > 
    > 	ffmpeg -f lavfi -t 17 -i testsrc=size=1920x1080 -c:v libsvtav1 /tmp/svtav1test.webm
    
    Thanks. Here is an updated diff that also includes support for version 4.0.
    
    
    Index: Makefile
    ===================================================================
    RCS file: /cvs/ports/graphics/ffmpeg/Makefile,v
    retrieving revision 1.254
    diff -u -p -u -p -r1.254 Makefile
    --- Makefile	12 Dec 2025 13:38:22 -0000	1.254
    +++ Makefile	25 Jan 2026 02:42:05 -0000
    @@ -3,6 +3,7 @@ COMMENT=	audio/video converter and strea
     # keep it synced with x11/mplayer
     V=		8.0.1
     DISTNAME=	ffmpeg-${V}
    +REVISION=	0
     CATEGORIES=	graphics multimedia
     SITES=		https://ffmpeg.org/releases/
     EXTRACT_SUFX=	.tar.xz
    @@ -38,12 +39,12 @@ MAINTAINER=	Brad Smith <brad@comstyle.co
     # LGPLv2.1 and GPLv2
     PERMIT_PACKAGE=	Yes
     
    -WANTLIB += SDL2 X11 Xext Xv aom ass bz2 c crypto dav1d fontconfig
    -WANTLIB += freetype fribidi gsm harfbuzz iconv lzma m mp3lame opus
    -WANTLIB += pthread sndio speex ssl theoradec theoraenc v4l2 va
    -WANTLIB += va-drm va-x11 vidstab vorbis vorbisenc vpx webp webpmux
    -WANTLIB += x264 x265 xcb xcb-shape xcb-shm xcb-xfixes xml2 xvidcore
    -WANTLIB += z zimg
    +WANTLIB += SDL2 SvtAv1Enc X11 Xext Xv aom ass bz2 c crypto dav1d
    +WANTLIB += fontconfig freetype fribidi gsm harfbuzz iconv lzma m
    +WANTLIB += mp3lame opus pthread sndio speex ssl theoradec theoraenc
    +WANTLIB += v4l2 va va-drm va-x11 vidstab vorbis vorbisenc vpx webp
    +WANTLIB += webpmux x264 x265 xcb xcb-shape xcb-shm xcb-xfixes xml2
    +WANTLIB += xvidcore z zimg
     
     COMPILER=	base-clang ports-gcc
     COMPILER_LANGS=	c
    @@ -71,6 +72,7 @@ LIB_DEPENDS=	archivers/bzip2 \
     		graphics/zimg \
     		multimedia/aom \
     		multimedia/dav1d \
    +		multimedia/svt-av1 \
     		multimedia/libass \
     		multimedia/libtheora \
     		multimedia/libv4l \
    @@ -83,9 +85,9 @@ LIB_DEPENDS=	archivers/bzip2 \
     
     # inter-library dependencies for the current configuration
     LIBavcodec_EXTRALIBS=-L${LOCALBASE}/lib -L${X11BASE}/lib -laom -ldav1d -lgsm -liconv -llzma
    -LIBavcodec_EXTRALIBS+=-lmp3lame -lopus -lspeex -ltheoradec -ltheoraenc -lvorbis
    -LIBavcodec_EXTRALIBS+=-lvorbisenc -lvpx -lwebp -lwebpmux -lx264 -lx265 -lxvidcore
    -LIBavcodec_EXTRALIBS+=-lm -lz -lva -lva-drm -pthread
    +LIBavcodec_EXTRALIBS+=-lmp3lame -lopus -lspeex -lSvtAv1Enc -ltheoradec -ltheoraenc -lvorbis
    +LIBavcodec_EXTRALIBS+=-lvorbisenc -lvpx -lwebp -lwebpmux -lx264 -lx265 -lxvidcore -lm -lz
    +LIBavcodec_EXTRALIBS+=-lva -lva-drm -pthread
     
     LIBavdevice_EXTRALIBS=-L${LOCALBASE}/lib -L${X11BASE}/lib -lX11 -lXext -lXv
     LIBavdevice_EXTRALIBS+=-lxcb-shape -lxcb-shm -lxcb-xfixes -lxcb -lsndio -lv4l2 -lm
    @@ -137,6 +139,7 @@ CONFIGURE_ARGS+=--enable-shared \
     		--enable-libmp3lame \
     		--enable-libopus \
     		--enable-libspeex \
    +		--enable-libsvtav1 \
     		--enable-libtheora \
     		--enable-libv4l2 \
     		--enable-libvorbis \
    Index: patches/patch-libavcodec_libsvtav1_c
    ===================================================================
    RCS file: patches/patch-libavcodec_libsvtav1_c
    diff -N patches/patch-libavcodec_libsvtav1_c
    --- /dev/null	1 Jan 1970 00:00:00 -0000
    +++ patches/patch-libavcodec_libsvtav1_c	25 Jan 2026 02:42:05 -0000
    @@ -0,0 +1,18 @@
    +- avcodec/libsvtav1: rename aq_mode for v4.0.0
    +  a5d4c398b411a00ac09d8fe3b66117222323844c
    +
    +Index: libavcodec/libsvtav1.c
    +--- libavcodec/libsvtav1.c.orig
    ++++ libavcodec/libsvtav1.c
    +@@ -238,7 +238,11 @@ static int config_enc_params(EbSvtAv1EncConfiguration 
    +     } else if (svt_enc->qp > 0) {
    +         param->qp                   = svt_enc->qp;
    +         param->rate_control_mode    = 0;
    ++#if SVT_AV1_CHECK_VERSION(4, 0, 0)
    ++        param->aq_mode = 0;
    ++#else
    +         param->enable_adaptive_quantization = 0;
    ++#endif
    +     }
    + 
    +     desc = av_pix_fmt_desc_get(avctx->pix_fmt);
    
    
  • Pontus Stenetorp:

    graphics/ffmpeg: Add svt-av1 support