git: 5db01aa057d9 - 2026Q3 - multimedia/vlc: Update to 3.0.23
Max Brazhnikov <[email protected]>
| Newsgroups | gmane.os.freebsd.devel.cvs.ports |
|---|---|
| Message-ID | <[email protected]> |
The branch 2026Q3 has been updated by makc: URL: https://cgit.FreeBSD.org/ports/commit/?id=5db01aa057d9fb7194ca23a9f342fae7c10463a1 commit 5db01aa057d9fb7194ca23a9f342fae7c10463a1 Author: Thierry Thomas <[email protected]> AuthorDate: 2026-08-11 14:40:21 +0000 Commit: Max Brazhnikov <[email protected]> CommitDate: 2026-08-18 11:00:41 +0000 multimedia/vlc: Update to 3.0.23 - Allow to build with Qt 6 (experimental). Add general QT option and QT5/QT6 radio switch. - Enable FRIBIDI by default (required by HARFBUZZ). - Remove DEBUG from OPTIONS, respect WITH_DEBUG instead. - Do not silence commands. Release notes: https://code.videolan.org/videolan/vlc/-/tags/3.0.23 PR: 296939 Co-authored-by: Max Brazhnikov <[email protected]> (cherry picked from commit 03699b0de7a3cd995d346a816674d6710a8f4603) --- multimedia/vlc/Makefile | 78 ++++-- multimedia/vlc/distinfo | 6 +- multimedia/vlc/files/patch-modules_access_rdp.c | 14 +- multimedia/vlc/files/patch-modules_gui_qt_qt6.pro | 13 + multimedia/vlc/files/patch-share_Makefile.in | 4 +- multimedia/vlc/files/patch-src-network-udp.c | 4 +- multimedia/vlc/files/vlc-3.0.22-ffmpeg8.patch | 324 ---------------------- multimedia/vlc/pkg-plist | 2 +- 8 files changed, 77 insertions(+), 368 deletions(-) diff --git a/multimedia/vlc/Makefile b/multimedia/vlc/Makefile index e73b9edf267d..3f2da1991990 100644 --- a/multimedia/vlc/Makefile +++ b/multimedia/vlc/Makefile @@ -1,6 +1,5 @@ PORTNAME= vlc -DISTVERSION= 3.0.22 -PORTREVISION= 2 +DISTVERSION= 3.0.23 PORTEPOCH= 4 CATEGORIES= multimedia audio net www MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION:S/a$//}/ \ @@ -28,12 +27,11 @@ LIB_DEPENDS= libgcrypt.so:security/libgcrypt \ libebml.so:textproc/libebml RUN_DEPENDS= ffmpeg>=3.4.1,1:multimedia/ffmpeg -EXTRA_PATCHES= ${FILESDIR}/vlc-3.0.22-ffmpeg8.patch:-p1 - -USES= compiler:c++17-lang cpe desktop-file-utils elfctl gettext-tools \ - gl gmake gnome iconv:wchar_t libtool localbase pathfix pkgconfig \ - tar:xz +USES= compiler:c++17-lang cpe desktop-file-utils dos2unix \ + elfctl gettext-tools gl gmake gnome iconv:wchar_t \ + libtool localbase pathfix pkgconfig tar:xz USE_GL= opengl +DOS2UNIX_FILES= modules/gui/qt/qt6.pro CPE_VENDOR= videolan @@ -58,9 +56,14 @@ CONFIGURE_ARGS= --enable-avcodec --enable-avformat --enable-dvbpsi \ --with-kde-solid=${PREFIX}/share/solid/actions \ ac_cv_search_pthread_rwlock_init=-pthread \ BUILDCC="${CC}" + .if defined(WITH_DEBUG) -CONFIGURE_ARGS+=--enable-debug +CONFIGURE_ARGS+=--enable-debug --disable-optimizations +CFLAGS+= -g -O0 +CXXFLAGS+= -g -O0 .endif + +MAKE_ENV= MAKE=${GMAKE} INSTALL_TARGET= install-strip CFLAGS+= -Wno-unreachable-code-generic-assoc CFLAGS_i386= -fomit-frame-pointer @@ -71,17 +74,20 @@ PORTDATA= * PORTDOCS= * OPTIONS_DEFINE= A52 AALIB AOM ARIBSUB ASS AVAHI CACA CHROMECAST DAV1D DBUS DCA \ - DEBUG DOCS DVDNAV DVDREAD DEBUG FAAD FLAC FLUID FREERDP FRIBIDI \ + DOCS DVDNAV DVDREAD FAAD FLAC FLUID FREERDP FRIBIDI \ GME GNUTLS GOOM HARFBUZZ JACK JPEG LIBBLURAY LIBPLACEBO LIBRSVG2 \ LIBSSH2 LIRC LIVEMEDIA LUA MAD MFX MODPLUG MPEG2 MTP \ NCURSES NFS NLS NOTIFY OGGSPOTS OGG OPTIMIZED_CFLAGS OPUS PNG \ - PULSEAUDIO QT5 REALRTSP RUNROOT SAMPLERATE SDL SHOUTCAST \ + PULSEAUDIO QT REALRTSP RUNROOT SAMPLERATE SDL SHOUTCAST \ SKINS SMB SNDIO SPEEX SRT STREAM TAGLIB THEORA TWOLAME UPNP V4L \ VAAPI VCD VDPAU VORBIS VPX WAYLAND X11 X264 X265 ZVBI OPTIONS_DEFINE_powerpc= ALTIVEC OPTIONS_DEFINE_powerpc64= ALTIVEC -OPTIONS_DEFAULT=ASS AVAHI CHROMECAST DAV1D DBUS DVDNAV DVDREAD GNUTLS HARFBUZZ \ - JPEG LIVEMEDIA LUA OGG OPTIMIZED_CFLAGS OPUS PNG QT5 SAMPLERATE \ +OPTIONS_RADIO= QTVER +OPTIONS_RADIO_QTVER= QT5 QT6 + +OPTIONS_DEFAULT=ASS AVAHI CHROMECAST DAV1D DBUS DVDNAV DVDREAD FRIBIDI GNUTLS HARFBUZZ \ + JPEG LIVEMEDIA LUA OGG OPTIMIZED_CFLAGS OPUS PNG QT QT5 SAMPLERATE \ SKINS SPEEX STREAM TAGLIB THEORA TWOLAME UPNP V4L VAAPI VCD \ VDPAU VORBIS WAYLAND X11 OPTIONS_DEFAULT_powerpc= ALTIVEC @@ -106,9 +112,12 @@ LIBPLACEBO_DESC= HDR tonemapping support through libplacebo LIBSSH2_DESC= SCP/SFTP support via libssh2 MFX_DESC= Intel MediaSDK (aka Quick Sync Video) OGGSPOTS_DESC= Experimental OggSpots codec +QT_DESC= Qt toolkit support (requires either QT5 or QT6) +QT6_DESC= Qt 6 toolkit support (experimental) +QTVER_DESC= Select Qt GUI engine version REALRTSP_DESC= Real RTSP access module RUNROOT_DESC= Enable running as root -SKINS_DESC= Build skins2 interface module (implies QT5) +SKINS_DESC= Build skins2 interface module (implies QT) SRT_DESC= Secure Reliable Transport support STREAM_DESC= stream output TAGLIB_DESC= ID3 tag and Ogg comment support @@ -191,6 +200,7 @@ GNUTLS_CONFIGURE_ENABLE=gnutls GOOM_LIB_DEPENDS= libgoom2.so:graphics/goom GOOM_CONFIGURE_ENABLE= goom +HARFBUZZ_IMPLIES= FRIBIDI HARFBUZZ_LIB_DEPENDS= libharfbuzz.so:print/harfbuzz HARFBUZZ_CONFIGURE_ENABLE= harfbuzz @@ -282,10 +292,18 @@ PNG_CONFIGURE_ENABLE= png PULSEAUDIO_LIB_DEPENDS= libpulse.so:audio/pulseaudio PULSEAUDIO_CONFIGURE_ENABLE= pulse -QT5_IMPLIES= X11 +QT_IMPLIES= X11 +QT_CONFIGURE_ENABLE= qt +QT_CONFIGURE_ENV= QTDIR="${QT_ARCHDIR}" QMAKE="${QMAKE}" \ + MOC="${MOC}" RCC="${RCC}" UIC="${UIC}" \ + +QT5_IMPLIES= QT QT5_USES= qt:5 QT5_USE= QT=gui,core,svg,widgets,x11extras,buildtools:build -QT5_CONFIGURE_ENABLE= qt + +QT6_IMPLIES= QT +QT6_USES= qt:6 +QT6_USE= QT=base,svg REALRTSP_CONFIGURE_ENABLE= realrtsp @@ -301,7 +319,7 @@ SDL_CONFIGURE_ENABLE= sdl-image SHOUTCAST_LIB_DEPENDS= libshout.so:audio/libshout SHOUTCAST_CONFIGURE_ENABLE= shout -SKINS_IMPLIES= QT5 +SKINS_IMPLIES= QT SKINS_USES= libarchive xorg SKINS_USE= XORG=xext,xinerama,xpm SKINS_CONFIGURE_ENABLE= archive skins2 @@ -352,6 +370,7 @@ VORBIS_CONFIGURE_ENABLE= vorbis VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx VPX_CONFIGURE_ENABLE= vpx +# Incomplete Wayland support WAYLAND_CATEGORIES= wayland WAYLAND_BUILD_DEPENDS= wayland-protocols>=0:graphics/wayland-protocols WAYLAND_LIB_DEPENDS= libwayland-client.so:graphics/wayland @@ -377,29 +396,30 @@ WITH_DVD_DEVICE?=/dev/cd0 .include <bsd.port.options.mk> -.if ${PORT_OPTIONS:MDEBUG} -CONFIGURE_ARGS+=--enable-debug --disable-optimizations -CFLAGS+=-g -O0 -CXXFLAGS+=-g -O0 +.if ${PORT_OPTIONS:MQT} +. if empty(PORT_OPTIONS:MQT5) && empty(PORT_OPTIONS:MQT6) +IGNORE= cannot be installed: QT option requires either QT5 or QT6 +. endif .endif -post-patch: - @${REINPLACE_CMD} \ - -e '\|LIBS|s|-lrt||' \ - -e 's|LIBS="-llirc_client|LIBS="$$LIBS_lirc|' \ - -e '/PKG_CONFIG/s|\"gl\"|"opengl"|g' \ +pre-configure-QT6-on: + ${REINPLACE_CMD} 's|Qt5|Qt6}|g;s|qt5|qt6|g' \ + ${WRKSRC}/configure + +pre-configure: + ${REINPLACE_CMD} -e 's|make -s|${MAKE_CMD} -s|' \ ${WRKSRC}/configure - @${REINPLACE_CMD} -e 's|/dev/cdrom|${WITH_CDROM_DEVICE}|g' \ + ${REINPLACE_CMD} -e 's|/dev/cdrom|${WITH_CDROM_DEVICE}|g' \ -e 's|/dev/dvd|${WITH_DVD_DEVICE}|g' \ ${WRKSRC}/src/libvlc-module.c - @${RM} -r ${WRKSRC}/modules/access/v4l2/linux + ${RM} -r ${WRKSRC}/modules/access/v4l2/linux # XXX FreeBSD doesn't have strerror_l() - use the android version of error.c - @${CP} ${WRKSRC}/src/android/error.c ${WRKSRC}/src/posix + ${CP} ${WRKSRC}/src/android/error.c ${WRKSRC}/src/posix post-install: @(cd ${STAGEDIR}${PREFIX} && ${FIND} -s lib/vlc -not -name '*.la' \ -type f -o -type l >> ${TMPPLIST}) - @${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/vlc/plugins/*/*.so + ${STRIP_CMD} ${STAGEDIR}${PREFIX}/lib/vlc/plugins/*/*.so # plugin cache becomes stale after strip. Regenerate it: ${WRKSRC}/bin/vlc-cache-gen ${STAGEDIR}${PREFIX}/lib/vlc/plugins diff --git a/multimedia/vlc/distinfo b/multimedia/vlc/distinfo index fcc6ae9e4cb3..b2f9bfcd40fb 100644 --- a/multimedia/vlc/distinfo +++ b/multimedia/vlc/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1766620787 -SHA256 (vlc-3.0.22.tar.xz) = e2cc1cf0ae0902a09da5a37c249a8a4e4b5ec4dc095443b8e1493c6a7cc138ea -SIZE (vlc-3.0.22.tar.xz) = 26427084 +TIMESTAMP = 1784491577 +SHA256 (vlc-3.0.23.tar.xz) = e891cae6aa3ccda69bf94173d5105cbc55c7a7d9b1d21b9b21666e69eff3e7e0 +SIZE (vlc-3.0.23.tar.xz) = 26486988 diff --git a/multimedia/vlc/files/patch-modules_access_rdp.c b/multimedia/vlc/files/patch-modules_access_rdp.c index 3f56335f8db5..ee348b8d1dbc 100644 --- a/multimedia/vlc/files/patch-modules_access_rdp.c +++ b/multimedia/vlc/files/patch-modules_access_rdp.c @@ -1,4 +1,4 @@ ---- modules/access/rdp.c.orig 2016-07-22 12:10:45 UTC +--- modules/access/rdp.c.orig 2025-12-23 10:49:20 UTC +++ modules/access/rdp.c @@ -45,18 +45,6 @@ # include <freerdp/version.h> @@ -19,7 +19,7 @@ #include <errno.h> #ifdef HAVE_POLL # include <poll.h> -@@ -140,6 +128,7 @@ static void desktopResizeHandler( rdpCon +@@ -144,6 +132,7 @@ static void desktopResizeHandler( rdpContext *p_contex vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_context; demux_sys_t *p_sys = p_vlccontext->p_demux->p_sys; rdpGdi *p_gdi = p_context->gdi; @@ -27,7 +27,7 @@ if ( p_sys->es ) { -@@ -149,17 +138,21 @@ static void desktopResizeHandler( rdpCon +@@ -153,17 +142,21 @@ static void desktopResizeHandler( rdpContext *p_contex /* Now init and fill es format */ vlc_fourcc_t i_chroma; @@ -53,7 +53,7 @@ break; } es_format_t fmt; -@@ -172,7 +165,7 @@ static void desktopResizeHandler( rdpCon +@@ -176,7 +169,7 @@ static void desktopResizeHandler( rdpContext *p_contex fmt.video.i_height = p_gdi->height; fmt.video.i_frame_rate_base = 1000; fmt.video.i_frame_rate = 1000 * p_sys->f_fps; @@ -62,7 +62,7 @@ if ( p_sys->p_block ) p_sys->p_block = block_Realloc( p_sys->p_block, 0, p_sys->i_framebuffersize ); -@@ -233,28 +226,19 @@ static bool postConnectHandler( freerdp +@@ -237,28 +230,19 @@ static bool postConnectHandler( freerdp *p_instance ) vlcrdp_context_t * p_vlccontext = (vlcrdp_context_t *) p_instance->context; msg_Dbg( p_vlccontext->p_demux, "connected to desktop %dx%d (%d bpp)", @@ -95,7 +95,7 @@ desktopResizeHandler( p_instance->context ); return true; -@@ -428,10 +412,6 @@ static int Open( vlc_object_t *p_this ) +@@ -432,10 +416,6 @@ static int Open( vlc_object_t *p_this ) if ( p_sys->f_fps <= 0 ) p_sys->f_fps = 1.0; p_sys->i_frame_interval = 1000000 / p_sys->f_fps; @@ -106,7 +106,7 @@ p_sys->p_instance = freerdp_new(); if ( !p_sys->p_instance ) { -@@ -506,9 +486,6 @@ static void Close( vlc_object_t *p_this +@@ -512,9 +492,6 @@ static void Close( vlc_object_t *p_this ) freerdp_disconnect( p_sys->p_instance ); freerdp_free( p_sys->p_instance ); diff --git a/multimedia/vlc/files/patch-modules_gui_qt_qt6.pro b/multimedia/vlc/files/patch-modules_gui_qt_qt6.pro new file mode 100644 index 000000000000..423d9fc124e3 --- /dev/null +++ b/multimedia/vlc/files/patch-modules_gui_qt_qt6.pro @@ -0,0 +1,13 @@ +--- modules/gui/qt/qt6.pro.orig 2026-07-20 18:14:35 UTC ++++ modules/gui/qt/qt6.pro +@@ -21,6 +21,10 @@ QTPLUGIN += qxcb-glx-integration qxcb-egl-integration + QTPLUGIN += qxcb-glx-integration qxcb-egl-integration qxcb qwayland-generic qwayland-egl qgtk3 qxdgdesktopportal xdg-shell + } + ++freebsd { ++QTPLUGIN += qxcb-glx-integration qxcb-egl-integration qxcb qwayland-generic qwayland-egl qgtk3 qxdgdesktopportal xdg-shell ++} ++ + macx { + QTPLUGIN += qcocoa qmacstyle + } diff --git a/multimedia/vlc/files/patch-share_Makefile.in b/multimedia/vlc/files/patch-share_Makefile.in index 79222127a897..d27ed522e0ee 100644 --- a/multimedia/vlc/files/patch-share_Makefile.in +++ b/multimedia/vlc/files/patch-share_Makefile.in @@ -1,6 +1,6 @@ ---- share/Makefile.in.orig 2017-04-06 14:40:37 UTC +--- share/Makefile.in.orig 2026-08-03 20:48:17 UTC +++ share/Makefile.in -@@ -1845,7 +1845,7 @@ skins2/default.vlt: $(skins2_default_vlt +@@ -1855,7 +1855,7 @@ skins2/default.vlt: $(skins2_default_vlt_FILES) GZIP=--no-name \ tar cvvzf skins2/default.vlt.tmp \ --format=ustar $$tarsort \ diff --git a/multimedia/vlc/files/patch-src-network-udp.c b/multimedia/vlc/files/patch-src-network-udp.c index 22f0c77b7279..8bf8709ce300 100644 --- a/multimedia/vlc/files/patch-src-network-udp.c +++ b/multimedia/vlc/files/patch-src-network-udp.c @@ -1,6 +1,6 @@ ---- src/network/udp.c.orig 2018-01-17 13:29:46 UTC +--- src/network/udp.c.orig 2025-12-23 10:49:21 UTC +++ src/network/udp.c -@@ -315,7 +315,7 @@ net_SourceSubscribe (vlc_object_t *obj, +@@ -316,7 +316,7 @@ net_SourceSubscribe (vlc_object_t *obj, int fd, { /* MCAST_JOIN_SOURCE_GROUP was introduced to OS X in v10.7, but it doesn't work, * so ignore it to use the same code path as on 10.5 or 10.6 */ diff --git a/multimedia/vlc/files/vlc-3.0.22-ffmpeg8.patch b/multimedia/vlc/files/vlc-3.0.22-ffmpeg8.patch deleted file mode 100644 index 061fa5edff13..000000000000 --- a/multimedia/vlc/files/vlc-3.0.22-ffmpeg8.patch +++ /dev/null @@ -1,324 +0,0 @@ -From: Steve Lhomme <[email protected]> -Date: Mon, 8 Sep 2025 13:55:28 +0200 -Subject: avcodec: encoder: remove AV_INPUT_BUFFER_MIN_SIZE usage - -It's not supported in FFMpeg 8.0 since 60.40.100. - -It used to be used with preallocated packet buffers with -the old encode API, but said API is no more and therefore -there is no reason for this to be public any more. -So deprecate it and use an internal replacement -for the encoders using it as an upper bound for the -size of their headers. - -(cherry picked from commit dae7faa0757ee094681c5e7100baca74c007c67c) ---- - modules/codec/avcodec/avcommon_compat.h | 3 --- - modules/codec/avcodec/encoder.c | 2 +- - 2 files changed, 1 insertion(+), 4 deletions(-) - -diff --git a/modules/codec/avcodec/avcommon_compat.h b/modules/codec/avcodec/avcommon_compat.h -index 8ab6910..14aa62c 100644 ---- a/modules/codec/avcodec/avcommon_compat.h -+++ b/modules/codec/avcodec/avcommon_compat.h -@@ -75,9 +75,6 @@ - #ifndef AV_CODEC_CAP_SMALL_LAST_FRAME - # define AV_CODEC_CAP_SMALL_LAST_FRAME CODEC_CAP_SMALL_LAST_FRAME - #endif --#ifndef AV_INPUT_BUFFER_MIN_SIZE --# define AV_INPUT_BUFFER_MIN_SIZE FF_MIN_BUFFER_SIZE --#endif - #ifndef FF_MAX_B_FRAMES - # define FF_MAX_B_FRAMES 16 // FIXME: remove this - #endif -diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c -index be53cec..deb61eb 100644 ---- a/modules/codec/avcodec/encoder.c -+++ b/modules/codec/avcodec/encoder.c -@@ -1052,7 +1052,7 @@ errmsg: - p_sys->i_sample_bytes = (p_enc->fmt_in.audio.i_bitspersample / 8); - p_sys->i_frame_size = p_context->frame_size > 1 ? - p_context->frame_size : -- AV_INPUT_BUFFER_MIN_SIZE; -+ 16384; // AV_INPUT_BUFFER_MIN_SIZE - p_sys->i_buffer_out = av_samples_get_buffer_size(NULL, - p_enc->fmt_out.audio.i_channels, p_sys->i_frame_size, - p_sys->p_context->sample_fmt, DEFAULT_ALIGN); -From: Steve Lhomme <[email protected]> -Date: Tue, 14 Jan 2025 11:28:21 +0100 -Subject: avcodec/video: use frame flags instead of fields - -The structure fields are deprecated. -It was introduced in lavu 58.7.100. - -(cherry picked from commit c79659bc9cfa2ff14754920a706f89d07d6425e6) ---- - modules/codec/avcodec/video.c | 5 +++++ - 1 file changed, 5 insertions(+) - -diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c -index 8524f57..dfd359c 100644 ---- a/modules/codec/avcodec/video.c -+++ b/modules/codec/avcodec/video.c -@@ -1431,8 +1431,13 @@ static picture_t *DecodeBlock( decoder_t *p_dec, block_t **pp_block, bool *error - /* Hack to force display of still pictures */ - p_pic->b_force = p_sys->b_first_frame; - p_pic->i_nb_fields = 2 + frame->repeat_pict; -+#if LIBAVUTIL_VERSION_CHECK( 58, 7, 100 ) -+ p_pic->b_progressive = !(frame->flags & AV_FRAME_FLAG_INTERLACED); -+ p_pic->b_top_field_first = !!(frame->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST); -+#else - p_pic->b_progressive = !frame->interlaced_frame; - p_pic->b_top_field_first = frame->top_field_first; -+#endif - - if (DecodeSidedata(p_dec, frame, p_pic)) - i_pts = VLC_TICK_INVALID; -From: Steve Lhomme <[email protected]> -Date: Mon, 8 Sep 2025 13:51:43 +0200 -Subject: avcodec: use AV_PROFILE_xxx instead of FF_PROFILE_xxx - -This was added in libavcodec 60.26.100 [^1]. We require 58.54.100. - -[^1]: https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/8238bc0b5e3dba271217b1223a901b3f9713dc6e - -(cherry picked from commit ff292b650ea0b10c67c9e4ff16327486afe0d8ad) (edited) -- the vaapi had less profiles -- the direct_va doesn't have HEVC EXT -- FF_PROFILE_UNKNOWN was used in more places ---- - modules/codec/avcodec/audio.c | 2 +- - modules/codec/avcodec/avcommon_compat.h | 6 +++++ - modules/codec/avcodec/directx_va.c | 40 ++++++++++++++++----------------- - modules/codec/avcodec/encoder.c | 20 ++++++++--------- - modules/codec/avcodec/vaapi.c | 8 +++---- - modules/codec/avcodec/video.c | 2 +- - 6 files changed, 42 insertions(+), 36 deletions(-) - -diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c -index b6186d6..46f9a2a 100644 ---- a/modules/codec/avcodec/audio.c -+++ b/modules/codec/avcodec/audio.c -@@ -271,7 +271,7 @@ int InitAudioDec( vlc_object_t *obj ) - p_dec->pf_flush = Flush; - - /* XXX: Writing input format makes little sense. */ -- if( avctx->profile != FF_PROFILE_UNKNOWN ) -+ if( avctx->profile != AVPROFILE(UNKNOWN) ) - p_dec->fmt_in.i_profile = avctx->profile; - if( avctx->level != FF_LEVEL_UNKNOWN ) - p_dec->fmt_in.i_level = avctx->level; -diff --git a/modules/codec/avcodec/avcommon_compat.h b/modules/codec/avcodec/avcommon_compat.h -index 14aa62c..01e6223 100644 ---- a/modules/codec/avcodec/avcommon_compat.h -+++ b/modules/codec/avcodec/avcommon_compat.h -@@ -144,4 +144,10 @@ - - #endif - -+#if LIBAVCODEC_VERSION_CHECK(60,26,100) -+# define AVPROFILE(prof) (AV_PROFILE_##prof) -+#else -+# define AVPROFILE(prof) (FF_PROFILE_##prof) -+#endif -+ - #endif -diff --git a/modules/codec/avcodec/directx_va.c b/modules/codec/avcodec/directx_va.c -index 36a5d61..f6e252f 100644 ---- a/modules/codec/avcodec/directx_va.c -+++ b/modules/codec/avcodec/directx_va.c -@@ -48,25 +48,25 @@ struct picture_sys_t { - #include "../../packetizer/h264_nal.h" - #include "../../packetizer/hevc_nal.h" - --static const int PROF_MPEG2_MAIN[] = { FF_PROFILE_MPEG2_SIMPLE, -- FF_PROFILE_MPEG2_MAIN, -- FF_PROFILE_UNKNOWN }; --static const int PROF_H264_HIGH[] = { FF_PROFILE_H264_BASELINE, -- FF_PROFILE_H264_CONSTRAINED_BASELINE, -- FF_PROFILE_H264_MAIN, -- FF_PROFILE_H264_HIGH, -- FF_PROFILE_UNKNOWN }; --static const int PROF_HEVC_MAIN[] = { FF_PROFILE_HEVC_MAIN, -- FF_PROFILE_UNKNOWN }; --static const int PROF_HEVC_MAIN10[] = { FF_PROFILE_HEVC_MAIN, -- FF_PROFILE_HEVC_MAIN_10, -- FF_PROFILE_UNKNOWN }; -- --static const int PROF_VP9_MAIN[] = { FF_PROFILE_VP9_0, FF_PROFILE_UNKNOWN }; --static const int PROF_VP9_10[] = { FF_PROFILE_VP9_2, FF_PROFILE_UNKNOWN }; -- --static const int PROF_AV1_MAIN[] = { FF_PROFILE_AV1_MAIN, FF_PROFILE_UNKNOWN }; --static const int PROF_AV1_HIGH[] = { FF_PROFILE_AV1_HIGH, FF_PROFILE_AV1_MAIN, FF_PROFILE_UNKNOWN }; -+static const int PROF_MPEG2_MAIN[] = { AVPROFILE(MPEG2_SIMPLE), -+ AVPROFILE(MPEG2_MAIN), -+ AVPROFILE(UNKNOWN) }; -+static const int PROF_H264_HIGH[] = { AVPROFILE(H264_BASELINE), -+ AVPROFILE(H264_CONSTRAINED_BASELINE), -+ AVPROFILE(H264_MAIN), -+ AVPROFILE(H264_HIGH), -+ AVPROFILE(UNKNOWN) }; -+static const int PROF_HEVC_MAIN[] = { AVPROFILE(HEVC_MAIN), -+ AVPROFILE(UNKNOWN) }; -+static const int PROF_HEVC_MAIN10[] = { AVPROFILE(HEVC_MAIN), -+ AVPROFILE(HEVC_MAIN_10), -+ AVPROFILE(UNKNOWN) }; -+ -+static const int PROF_VP9_MAIN[] = { AVPROFILE(VP9_0), AVPROFILE(UNKNOWN) }; -+static const int PROF_VP9_10[] = { AVPROFILE(VP9_2), AVPROFILE(UNKNOWN) }; -+ -+static const int PROF_AV1_MAIN[] = { AVPROFILE(AV1_MAIN), AVPROFILE(UNKNOWN) }; -+static const int PROF_AV1_HIGH[] = { AVPROFILE(AV1_HIGH), AVPROFILE(AV1_MAIN), AVPROFILE(UNKNOWN) }; - - #include <winapifamily.h> - #if defined(WINAPI_FAMILY) -@@ -436,7 +436,7 @@ static bool profile_supported(const directx_va_mode_t *mode, const es_format_t * - bool is_supported = false; - if (profile <= 0) - is_supported = true; -- else for (const int *p_profile = &mode->p_profiles[0]; *p_profile != FF_PROFILE_UNKNOWN; ++p_profile) -+ else for (const int *p_profile = &mode->p_profiles[0]; *p_profile != AVPROFILE(UNKNOWN); ++p_profile) - { - if (*p_profile == profile) - { -diff --git a/modules/codec/avcodec/encoder.c b/modules/codec/avcodec/encoder.c -index deb61eb..1f3dd8f 100644 ---- a/modules/codec/avcodec/encoder.c -+++ b/modules/codec/avcodec/encoder.c -@@ -484,30 +484,30 @@ int InitVideoEnc( vlc_object_t *p_this ) - psz_val = var_GetString( p_enc, ENC_CFG_PREFIX "aac-profile" ); - /* libavcodec uses faac encoder atm, and it has issues with - * other than low-complexity profile, so default to that */ -- p_sys->i_aac_profile = FF_PROFILE_AAC_LOW; -+ p_sys->i_aac_profile = AVPROFILE(AAC_LOW); - if( psz_val && *psz_val ) - { - if( !strncmp( psz_val, "main", 4 ) ) -- p_sys->i_aac_profile = FF_PROFILE_AAC_MAIN; -+ p_sys->i_aac_profile = AVPROFILE(AAC_MAIN); - else if( !strncmp( psz_val, "low", 3 ) ) -- p_sys->i_aac_profile = FF_PROFILE_AAC_LOW; -+ p_sys->i_aac_profile = AVPROFILE(AAC_LOW); - else if( !strncmp( psz_val, "ssr", 3 ) ) -- p_sys->i_aac_profile = FF_PROFILE_AAC_SSR; -+ p_sys->i_aac_profile = AVPROFILE(AAC_SSR); - else if( !strncmp( psz_val, "ltp", 3 ) ) -- p_sys->i_aac_profile = FF_PROFILE_AAC_LTP; -+ p_sys->i_aac_profile = AVPROFILE(AAC_LTP); - /* These require libavcodec with libfdk-aac */ - else if( !strncmp( psz_val, "hev2", 4 ) ) -- p_sys->i_aac_profile = FF_PROFILE_AAC_HE_V2; -+ p_sys->i_aac_profile = AVPROFILE(AAC_HE_V2); - else if( !strncmp( psz_val, "hev1", 4 ) ) -- p_sys->i_aac_profile = FF_PROFILE_AAC_HE; -+ p_sys->i_aac_profile = AVPROFILE(AAC_HE); - else if( !strncmp( psz_val, "ld", 2 ) ) -- p_sys->i_aac_profile = FF_PROFILE_AAC_LD; -+ p_sys->i_aac_profile = AVPROFILE(AAC_LD); - else if( !strncmp( psz_val, "eld", 3 ) ) -- p_sys->i_aac_profile = FF_PROFILE_AAC_ELD; -+ p_sys->i_aac_profile = AVPROFILE(AAC_ELD); - else - { - msg_Warn( p_enc, "unknown AAC profile requested, setting it to low" ); -- p_sys->i_aac_profile = FF_PROFILE_AAC_LOW; -+ p_sys->i_aac_profile = AVPROFILE(AAC_LOW); - } - } - free( psz_val ); -diff --git a/modules/codec/avcodec/vaapi.c b/modules/codec/avcodec/vaapi.c -index e203baa..5380099 100644 ---- a/modules/codec/avcodec/vaapi.c -+++ b/modules/codec/avcodec/vaapi.c -@@ -100,9 +100,9 @@ static int GetVaProfile(AVCodecContext *ctx, const es_format_t *fmt, - count = 18; - break; - case AV_CODEC_ID_HEVC: -- if (ctx->profile == FF_PROFILE_HEVC_MAIN) -+ if (ctx->profile == AVPROFILE(HEVC_MAIN)) - i_profile = VAProfileHEVCMain; -- else if (ctx->profile == FF_PROFILE_HEVC_MAIN_10) -+ else if (ctx->profile == AVPROFILE(HEVC_MAIN_10)) - { - i_profile = VAProfileHEVCMain10; - i_vlc_chroma = VLC_CODEC_VAAPI_420_10BPP; -@@ -116,10 +116,10 @@ static int GetVaProfile(AVCodecContext *ctx, const es_format_t *fmt, - count = 5; - break; - case AV_CODEC_ID_VP9: -- if (ctx->profile == FF_PROFILE_VP9_0) -+ if (ctx->profile == AVPROFILE(VP9_0)) - i_profile = VAProfileVP9Profile0; - #if VA_CHECK_VERSION( 0, 39, 0 ) -- else if (ctx->profile == FF_PROFILE_VP9_2) -+ else if (ctx->profile == AVPROFILE(VP9_2)) - { - i_profile = VAProfileVP9Profile2; - i_vlc_chroma = VLC_CODEC_VAAPI_420_10BPP; -diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c -index dfd359c..2448e07 100644 ---- a/modules/codec/avcodec/video.c -+++ b/modules/codec/avcodec/video.c -@@ -624,7 +624,7 @@ static int InitVideoDecCommon( decoder_t *p_dec ) - p_dec->pf_flush = Flush; - - /* XXX: Writing input format makes little sense. */ -- if( p_context->profile != FF_PROFILE_UNKNOWN ) -+ if( p_context->profile != AVPROFILE(UNKNOWN) ) - p_dec->fmt_in.i_profile = p_context->profile; - if( p_context->level != FF_LEVEL_UNKNOWN ) - p_dec->fmt_in.i_level = p_context->level; -From: Steve Lhomme <[email protected]> -Date: Tue, 9 Dec 2025 11:42:02 +0100 -Subject: avcodec: use AV_LEVEL_xxx instead of FF_LEVEL_xxx - -This was added in libavcodec 60.26.100 [^1]. - -[^1]: https://code.ffmpeg.org/FFmpeg/FFmpeg/commit/8238bc0b5e3dba271217b1223a901b3f9713dc6e ---- - modules/codec/avcodec/audio.c | 2 +- - modules/codec/avcodec/avcommon_compat.h | 6 ++++++ - modules/codec/avcodec/video.c | 2 +- - 3 files changed, 8 insertions(+), 2 deletions(-) - -diff --git a/modules/codec/avcodec/audio.c b/modules/codec/avcodec/audio.c -index 46f9a2a..d3748cc 100644 ---- a/modules/codec/avcodec/audio.c -+++ b/modules/codec/avcodec/audio.c -@@ -273,7 +273,7 @@ int InitAudioDec( vlc_object_t *obj ) - /* XXX: Writing input format makes little sense. */ - if( avctx->profile != AVPROFILE(UNKNOWN) ) - p_dec->fmt_in.i_profile = avctx->profile; -- if( avctx->level != FF_LEVEL_UNKNOWN ) -+ if( avctx->level != AVLEVEL(UNKNOWN) ) - p_dec->fmt_in.i_level = avctx->level; - - return VLC_SUCCESS; -diff --git a/modules/codec/avcodec/avcommon_compat.h b/modules/codec/avcodec/avcommon_compat.h -index 01e6223..b3fb167 100644 ---- a/modules/codec/avcodec/avcommon_compat.h -+++ b/modules/codec/avcodec/avcommon_compat.h -@@ -150,4 +150,10 @@ - # define AVPROFILE(prof) (FF_PROFILE_##prof) - #endif - -+#if LIBAVCODEC_VERSION_CHECK(60,26,100) -+# define AVLEVEL(prof) (AV_LEVEL_##prof) -+#else -+# define AVLEVEL(prof) (FF_LEVEL_##prof) -+#endif -+ - #endif -diff --git a/modules/codec/avcodec/video.c b/modules/codec/avcodec/video.c -index 2448e07..3412a7f 100644 ---- a/modules/codec/avcodec/video.c -+++ b/modules/codec/avcodec/video.c -@@ -626,7 +626,7 @@ static int InitVideoDecCommon( decoder_t *p_dec ) - /* XXX: Writing input format makes little sense. */ - if( p_context->profile != AVPROFILE(UNKNOWN) ) - p_dec->fmt_in.i_profile = p_context->profile; -- if( p_context->level != FF_LEVEL_UNKNOWN ) -+ if( p_context->level != AVLEVEL(UNKNOWN) ) - p_dec->fmt_in.i_level = p_context->level; - return VLC_SUCCESS; - } diff --git a/multimedia/vlc/pkg-plist b/multimedia/vlc/pkg-plist index e08b004f2bca..6584f910be0d 100644 --- a/multimedia/vlc/pkg-plist +++ b/multimedia/vlc/pkg-plist @@ -1,6 +1,6 @@ bin/cvlc %%NCURSES%%bin/nvlc -%%QT5%%bin/qvlc +%%QT%%bin/qvlc bin/rvlc %%SKINS%%bin/svlc bin/vlc