summaryrefslogtreecommitdiff
path: root/multimedia
diff options
context:
space:
mode:
Diffstat (limited to 'multimedia')
-rw-r--r--multimedia/avidemux-plugins/Makefile6
-rw-r--r--multimedia/avidemux/Makefile2
-rw-r--r--multimedia/avidemux/distinfo4
-rw-r--r--multimedia/emby-server/Makefile2
-rw-r--r--multimedia/ffmpeg/Makefile2
-rw-r--r--multimedia/ffmpeg4/Makefile2
-rw-r--r--multimedia/gstreamer1-plugins-x265/Makefile2
-rw-r--r--multimedia/libxine/Makefile3
-rw-r--r--multimedia/libxine/files/ffmpeg8-1.patch114
-rw-r--r--multimedia/libxine/files/ffmpeg8-2.patch20
-rw-r--r--multimedia/mediaelch/Makefile1
-rw-r--r--multimedia/mediaelch/distinfo4
-rw-r--r--multimedia/mediamtx/Makefile7
-rw-r--r--multimedia/mediamtx/distinfo14
-rw-r--r--multimedia/py-mat2/Makefile3
-rw-r--r--multimedia/py-mat2/distinfo6
-rw-r--r--multimedia/subtitlecomposer/files/patch-CMakeLists.txt19
-rw-r--r--multimedia/subtitlecomposer/files/patch-src_CMakeLists.txt6
-rw-r--r--multimedia/vlc/Makefile2
-rw-r--r--multimedia/x265/Makefile88
-rw-r--r--multimedia/x265/distinfo6
-rw-r--r--multimedia/x265/files/patch-arm-assembly9
-rw-r--r--multimedia/x265/files/patch-warnings23
-rw-r--r--multimedia/x265/pkg-plist2
24 files changed, 244 insertions, 103 deletions
diff --git a/multimedia/avidemux-plugins/Makefile b/multimedia/avidemux-plugins/Makefile
index eccfa477b049..858954569537 100644
--- a/multimedia/avidemux-plugins/Makefile
+++ b/multimedia/avidemux-plugins/Makefile
@@ -1,9 +1,13 @@
PORTNAME= avidemux
PORTVERSION= ${AVIDEMUX_VERSION}
-PORTREVISION= 8
+PORTREVISION= 9
CATEGORIES= multimedia
PKGNAMESUFFIX= -plugins
+PATCH_SITES= https://github.com/mean00/avidemux2/commit/
+# Fix build with x265 4.1
+PATCHFILES+= c16d32a67cdb012db093472ad3776713939a30d1.patch:-p1
+
MAINTAINER= multimedia@FreeBSD.org
COMMENT= Simple GUI based video editor (Plugins)
diff --git a/multimedia/avidemux/Makefile b/multimedia/avidemux/Makefile
index d65b91bb2d13..408e1aec3a68 100644
--- a/multimedia/avidemux/Makefile
+++ b/multimedia/avidemux/Makefile
@@ -4,7 +4,7 @@
PORTNAME= avidemux
PORTVERSION= ${AVIDEMUX_VERSION}
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= multimedia
MAINTAINER= multimedia@FreeBSD.org
diff --git a/multimedia/avidemux/distinfo b/multimedia/avidemux/distinfo
index e23a7a110ec2..c976b5d55934 100644
--- a/multimedia/avidemux/distinfo
+++ b/multimedia/avidemux/distinfo
@@ -1,3 +1,5 @@
-TIMESTAMP = 1670229875
+TIMESTAMP = 1763860000
SHA256 (avidemux_2.8.1.tar.gz) = 77d9bdca8683ce57c192b69d207cfab7cf92a7759ce0f63fa37b5c8e42ad3da2
SIZE (avidemux_2.8.1.tar.gz) = 26126065
+SHA256 (c16d32a67cdb012db093472ad3776713939a30d1.patch) = dba781a0f72d964cf5a0fca1acd66ad27adc1ed69d039f19233ca178a62666bb
+SIZE (c16d32a67cdb012db093472ad3776713939a30d1.patch) = 2246
diff --git a/multimedia/emby-server/Makefile b/multimedia/emby-server/Makefile
index 00a614f68850..58ed8fbf4284 100644
--- a/multimedia/emby-server/Makefile
+++ b/multimedia/emby-server/Makefile
@@ -1,6 +1,6 @@
PORTNAME= emby-server
DISTVERSION= 4.8.11.0
-PORTREVISION= 3
+PORTREVISION= 4
CATEGORIES= multimedia
MASTER_SITES= https://github.com/MediaBrowser/Emby.Releases/releases/download/${DISTVERSION}/ \
https://mediabrowser.github.io/embytools/
diff --git a/multimedia/ffmpeg/Makefile b/multimedia/ffmpeg/Makefile
index f7c5d80adeac..390556926dbb 100644
--- a/multimedia/ffmpeg/Makefile
+++ b/multimedia/ffmpeg/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ffmpeg
PORTVERSION= 6.1.2
-PORTREVISION= 16
+PORTREVISION= 17
PORTEPOCH= 1
CATEGORIES= multimedia audio net
MASTER_SITES= https://ffmpeg.org/releases/
diff --git a/multimedia/ffmpeg4/Makefile b/multimedia/ffmpeg4/Makefile
index 8d04fcbec5c4..725edf3edc2f 100644
--- a/multimedia/ffmpeg4/Makefile
+++ b/multimedia/ffmpeg4/Makefile
@@ -1,6 +1,6 @@
PORTNAME= ffmpeg
PORTVERSION= 4.4.4
-PORTREVISION= 25
+PORTREVISION= 26
CATEGORIES= multimedia audio net
MASTER_SITES= https://ffmpeg.org/releases/
PKGNAMESUFFIX= 4
diff --git a/multimedia/gstreamer1-plugins-x265/Makefile b/multimedia/gstreamer1-plugins-x265/Makefile
index eb5726638193..a50f939802a3 100644
--- a/multimedia/gstreamer1-plugins-x265/Makefile
+++ b/multimedia/gstreamer1-plugins-x265/Makefile
@@ -1,4 +1,4 @@
-PORTREVISION= 0
+PORTREVISION= 1
CATEGORIES= multimedia
COMMENT= GStreamer libx265 based H265 plugin
diff --git a/multimedia/libxine/Makefile b/multimedia/libxine/Makefile
index 28a1a7c7d10b..e3f6a2d82ad7 100644
--- a/multimedia/libxine/Makefile
+++ b/multimedia/libxine/Makefile
@@ -32,6 +32,9 @@ LIB_DEPENDS= libFLAC.so:audio/flac \
libogg.so:audio/libogg \
libdvdnav.so:multimedia/libdvdnav
+EXTRA_PATCHES= ${FILESDIR}/ffmpeg8-1.patch:-p1 \
+ ${FILESDIR}/ffmpeg8-2.patch:-p1
+
USES= compiler cpe gl gmake gnome iconv libtool:keepla jpeg \
localbase pathfix perl5 pkgconfig tar:xz xorg
LLD_UNSAFE= yes
diff --git a/multimedia/libxine/files/ffmpeg8-1.patch b/multimedia/libxine/files/ffmpeg8-1.patch
new file mode 100644
index 000000000000..be5805b82061
--- /dev/null
+++ b/multimedia/libxine/files/ffmpeg8-1.patch
@@ -0,0 +1,114 @@
+# HG changeset patch
+# User Torsten Jager <t.jager@gmx.de>
+# Date 1757753985 -7200
+# Sat Sep 13 10:59:45 2025 +0200
+# Node ID 9bb3977ea7e2b652742b3cdd200b0a4a72eb48bc
+# Parent 9e326869fe0faf21957642c8c7c5cac9ed4f445c
+FFmpeg compatibilty update.
+
+diff -r 9e326869fe0f -r 9bb3977ea7e2 src/combined/ffmpeg/ff_video_decoder.c
+--- a/src/combined/ffmpeg/ff_video_decoder.c Sat May 31 15:55:00 2025 +0200
++++ b/src/combined/ffmpeg/ff_video_decoder.c Sat Sep 13 10:59:45 2025 +0200
+@@ -60,6 +60,10 @@
+
+ #include "ffmpeg_compat.h"
+
++#if XFF_FRAME_RATE == 2
++# include <avcodec/codec_desc.h>
++#endif
++
+ #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(59,0,100)
+ # undef HAVE_POSTPROC
+ #endif
+@@ -2289,8 +2293,8 @@
+ }
+
+ /* transfer some more frame settings for deinterlacing */
+- img->progressive_frame = !this->av_frame->interlaced_frame;
+- img->top_field_first = this->av_frame->top_field_first;
++ img->progressive_frame = !XFF_FRAME_IS_INTERLACED (this->av_frame);
++ img->top_field_first = !!XFF_FRAME_IS_TOP_FIELD_FIRST (this->av_frame);
+
+ /* get back reordered pts */
+ img->pts = ff_untag_pts (this, this->av_frame);
+@@ -2370,20 +2374,29 @@
+
+ static int ff_video_step_get (ff_video_decoder_t *this) {
+ /* use externally provided video_step or fall back to stream's time_base otherwise */
+- int step = this->video_step;
++ int step = this->video_step, num_fields;
+ if (step || !this->context->time_base.den)
+ return step;
+
++#if XFF_FRAME_RATE == 1
++ num_fields = this->context->ticks_per_frame;
++#else /* XFF_FRAME_RATE == 2 */
++ {
++ const AVCodecDescriptor *desc = avcodec_descriptor_get (this->context->codec_id);
++ if (desc)
++ num_fields = (desc->props & AV_CODEC_PROP_FIELDS) ? 2 : 1;
++ else
++ num_fields = 2;
++ }
++#endif
+ /* good: 2 * 1001 / 48000. */
+- step = (int64_t)90000 * this->context->ticks_per_frame
+- * this->context->time_base.num / this->context->time_base.den;
++ step = (int64_t)90000 * num_fields * this->context->time_base.num / this->context->time_base.den;
+ if (step >= 90)
+ return step;
+
+ /* bad: 2 * 1 / 60000. seen this once from broken h.264 video usability info (VUI).
+ * VAAPI seems to apply a similar HACK.*/
+- step = (int64_t)90000000 * this->context->ticks_per_frame
+- * this->context->time_base.num / this->context->time_base.den;
++ step = (int64_t)90000000 * num_fields * this->context->time_base.num / this->context->time_base.den;
+ return step;
+ }
+
+@@ -2680,8 +2693,8 @@
+ img->duration = video_step_to_use;
+
+ /* transfer some more frame settings for deinterlacing */
+- img->progressive_frame = !this->av_frame->interlaced_frame;
+- img->top_field_first = this->av_frame->top_field_first;
++ img->progressive_frame = !XFF_FRAME_IS_INTERLACED (this->av_frame);
++ img->top_field_first = !!XFF_FRAME_IS_TOP_FIELD_FIRST (this->av_frame);
+
+ this->skipframes = img->draw(img, this->stream);
+ this->state = STATE_FRAME_SENT;
+@@ -2894,8 +2907,8 @@
+ if (video_step_to_use <= 750)
+ video_step_to_use = 0;
+ img->duration = this->av_frame2->repeat_pict ? video_step_to_use * 3 / 2 : video_step_to_use;
+- img->progressive_frame = !this->av_frame2->interlaced_frame;
+- img->top_field_first = this->av_frame2->top_field_first;
++ img->progressive_frame = !XFF_FRAME_IS_INTERLACED (this->av_frame2);
++ img->top_field_first = !!XFF_FRAME_IS_TOP_FIELD_FIRST (this->av_frame2);
+
+ this->skipframes = img->draw (img, this->stream);
+ if (free_img)
+diff -r 9e326869fe0f -r 9bb3977ea7e2 src/combined/ffmpeg/ffmpeg_compat.h
+--- a/src/combined/ffmpeg/ffmpeg_compat.h Sat May 31 15:55:00 2025 +0200
++++ b/src/combined/ffmpeg/ffmpeg_compat.h Sat Sep 13 10:59:45 2025 +0200
+@@ -319,4 +319,20 @@
+ # error avcodec.h must be included first !
+ #endif /* defined(LIBAVCODEC_VERSION_INT) */
+
++#if LIBAVUTIL_VERSION_INT >= XFF_INT_VERSION(58,7,0)
++# define XFF_FRAME_IS_INTERLACED(_frame) ((_frame)->flags & AV_FRAME_FLAG_INTERLACED)
++# define XFF_FRAME_IS_TOP_FIELD_FIRST(_frame) ((_frame)->flags & AV_FRAME_FLAG_TOP_FIELD_FIRST)
++# define XFF_FRAME_IS_KEY(_frame) ((_frame)->flags & AV_FRAME_FLAG_KEY)
++#else
++# define XFF_FRAME_IS_INTERLACED(_frame) ((_frame)->interlaced_frame)
++# define XFF_FRAME_IS_TOP_FIELD_FIRST(_frame) ((_frame)->top_field_first)
++# define XFF_FRAME_IS_KEY(_frame) ((_frame)->key_frame)
++#endif
++
++#if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(60,0,0)
++# define XFF_FRAME_RATE 2 /* AV_CODEC_PROP_FIELDS */
++#else
++# define XFF_FRAME_RATE 1 /* AVCodecContext.ticks_per_frame */
++#endif
++
+ #endif /* XINE_AVCODEC_COMPAT_H */
diff --git a/multimedia/libxine/files/ffmpeg8-2.patch b/multimedia/libxine/files/ffmpeg8-2.patch
new file mode 100644
index 000000000000..dffc575f70cd
--- /dev/null
+++ b/multimedia/libxine/files/ffmpeg8-2.patch
@@ -0,0 +1,20 @@
+# HG changeset patch
+# User Xavier Bachelot <xavier@bachelot.org>
+# Date 1758280185 -7200
+# Fri Sep 19 13:09:45 2025 +0200
+# Node ID a8fffd1193b2247c7f732d4df83dcc03fce96dbe
+# Parent 9bb3977ea7e2b652742b3cdd200b0a4a72eb48bc
+Fix FFmpeg compatibilty update.
+
+diff -r 9bb3977ea7e2 -r a8fffd1193b2 src/combined/ffmpeg/ff_video_decoder.c
+--- a/src/combined/ffmpeg/ff_video_decoder.c Sat Sep 13 10:59:45 2025 +0200
++++ b/src/combined/ffmpeg/ff_video_decoder.c Fri Sep 19 13:09:45 2025 +0200
+@@ -61,7 +61,7 @@
+ #include "ffmpeg_compat.h"
+
+ #if XFF_FRAME_RATE == 2
+-# include <avcodec/codec_desc.h>
++# include <libavcodec/codec_desc.h>
+ #endif
+
+ #if LIBAVCODEC_VERSION_INT >= XFF_INT_VERSION(59,0,100)
diff --git a/multimedia/mediaelch/Makefile b/multimedia/mediaelch/Makefile
index 4b1ad8e0646a..35651f626da2 100644
--- a/multimedia/mediaelch/Makefile
+++ b/multimedia/mediaelch/Makefile
@@ -6,6 +6,7 @@ PKGNAMESUFFIX= -${FLAVOR}
PATCH_SITES= https://github.com/Komet/MediaElch/commit/
PATCHFILES+= dbea12fbf2c1fe603819392aa2a181cffa168548.patch:-p1 # Fix build with Qt >= 6.9.0
+PATCHFILES+= f125fad644d72f2740aeab64a2016ae2dd341b35.patch:-p1 # Suppress -Wc++20-extensions
MAINTAINER= ports@freebsd.org
COMMENT= Desktop utility to manage metadata and artwork for Kodi and Jellyfin
diff --git a/multimedia/mediaelch/distinfo b/multimedia/mediaelch/distinfo
index ca61d4434009..e1232c389bde 100644
--- a/multimedia/mediaelch/distinfo
+++ b/multimedia/mediaelch/distinfo
@@ -1,5 +1,7 @@
-TIMESTAMP = 1745679359
+TIMESTAMP = 1763632799
SHA256 (Komet-MediaElch-v2.12.0_GH0.tar.gz) = ffa6f19dbc7760cb3762d02c24392d5e2015dfa8890fc3c69d172b0930dbbb89
SIZE (Komet-MediaElch-v2.12.0_GH0.tar.gz) = 3365121
SHA256 (dbea12fbf2c1fe603819392aa2a181cffa168548.patch) = f23c3292fb0afab2fa056a1d5f8363f19148db2fad14532a1e5060097830dc3f
SIZE (dbea12fbf2c1fe603819392aa2a181cffa168548.patch) = 4096
+SHA256 (f125fad644d72f2740aeab64a2016ae2dd341b35.patch) = 7a2ced59c874c76cd44627d1b5e62b862a41dbe3288945551cd55f5f78b1ae49
+SIZE (f125fad644d72f2740aeab64a2016ae2dd341b35.patch) = 2179
diff --git a/multimedia/mediamtx/Makefile b/multimedia/mediamtx/Makefile
index 154f39a82369..1a221d0e48fb 100644
--- a/multimedia/mediamtx/Makefile
+++ b/multimedia/mediamtx/Makefile
@@ -1,10 +1,9 @@
PORTNAME= mediamtx
DISTVERSIONPREFIX= v
-DISTVERSION= 1.15.3
-PORTREVISION= 1
+DISTVERSION= 1.15.4
CATEGORIES= multimedia net
-MASTER_SITES+= https://github.com/video-dev/hls.js/releases/download/v1.6.13/
-DISTFILES+= release.zip
+MASTER_SITES+= https://github.com/video-dev/hls.js/releases/download/v1.6.15/:hlsjs
+DISTFILES+= release.zip:hlsjs
MAINTAINER= diizzy@FreeBSD.org
COMMENT= Ready-to-use RTSP / RTMP / LL-HLS / WebRTC server and proxy that allows to read, publish and proxy video and audio streams
diff --git a/multimedia/mediamtx/distinfo b/multimedia/mediamtx/distinfo
index 3982f01ee383..88eb1623c217 100644
--- a/multimedia/mediamtx/distinfo
+++ b/multimedia/mediamtx/distinfo
@@ -1,7 +1,7 @@
-TIMESTAMP = 1761176320
-SHA256 (go/multimedia_mediamtx/mediamtx-v1.15.3/release.zip) = 0212e8ab83997218c56450a424ae754c63547a8cc88f5338cce438381623a414
-SIZE (go/multimedia_mediamtx/mediamtx-v1.15.3/release.zip) = 5577940
-SHA256 (go/multimedia_mediamtx/mediamtx-v1.15.3/v1.15.3.mod) = a75acd6faecc4748cd7ab61e57a01c60a98fcb7feb6b42df992418eb395a37e4
-SIZE (go/multimedia_mediamtx/mediamtx-v1.15.3/v1.15.3.mod) = 4490
-SHA256 (go/multimedia_mediamtx/mediamtx-v1.15.3/v1.15.3.zip) = 502822ee437d96b8e78cc825c99745e5ad0692e45a3e19a8d0210c5de0afef7d
-SIZE (go/multimedia_mediamtx/mediamtx-v1.15.3/v1.15.3.zip) = 581868
+TIMESTAMP = 1763797613
+SHA256 (go/multimedia_mediamtx/mediamtx-v1.15.4/release.zip) = 5cd2be2a4f7106b7c82a12bc15af6117f5230af92a44f26f88a0a32b04e57a81
+SIZE (go/multimedia_mediamtx/mediamtx-v1.15.4/release.zip) = 5585486
+SHA256 (go/multimedia_mediamtx/mediamtx-v1.15.4/v1.15.4.mod) = 6ffec2c760dd1c0e7cf2abb270b0ce07dab24dc475a10c6bf512daa7601a0da1
+SIZE (go/multimedia_mediamtx/mediamtx-v1.15.4/v1.15.4.mod) = 4478
+SHA256 (go/multimedia_mediamtx/mediamtx-v1.15.4/v1.15.4.zip) = 78e8456663fc565aea05e405dca68bd2d83bd08c7a068f03cbba4792bd7c50d0
+SIZE (go/multimedia_mediamtx/mediamtx-v1.15.4/v1.15.4.zip) = 587355
diff --git a/multimedia/py-mat2/Makefile b/multimedia/py-mat2/Makefile
index 5abcce3a6f8e..c4b390000a8a 100644
--- a/multimedia/py-mat2/Makefile
+++ b/multimedia/py-mat2/Makefile
@@ -1,6 +1,5 @@
PORTNAME= mat2
-DISTVERSION= 0.13.5
-PORTREVISION= 2
+DISTVERSION= 0.14.0
CATEGORIES= multimedia audio graphics textproc python
MASTER_SITES= PYPI
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
diff --git a/multimedia/py-mat2/distinfo b/multimedia/py-mat2/distinfo
index d04d76933b3f..559f70b56cee 100644
--- a/multimedia/py-mat2/distinfo
+++ b/multimedia/py-mat2/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1736523783
-SHA256 (mat2-0.13.5.tar.gz) = d7e7c4f0f0cfcf8bd656f97919281d0c6207886d84bdfdbb192c152ebf91fe19
-SIZE (mat2-0.13.5.tar.gz) = 52277
+TIMESTAMP = 1763391234
+SHA256 (mat2-0.14.0.tar.gz) = 7f07db8c587f91bdfb15fb384bca05d741edc31888bd9844b9e91290c0f529c3
+SIZE (mat2-0.14.0.tar.gz) = 52116
diff --git a/multimedia/subtitlecomposer/files/patch-CMakeLists.txt b/multimedia/subtitlecomposer/files/patch-CMakeLists.txt
new file mode 100644
index 000000000000..a41c45a3c244
--- /dev/null
+++ b/multimedia/subtitlecomposer/files/patch-CMakeLists.txt
@@ -0,0 +1,19 @@
+commit b3f158cb1c82a47bdfb8593f3cb3e56dce3ddcf9
+Author: Mladen Milinkovic <maxrd2@smoothware.net>
+Date: Tue Nov 4 22:14:00 2025 +0100
+
+ Change CMAKE_MODULE_PATH order
+
+ Prefer "${CMAKE_CURRENT_SOURCE_DIR}/cmake" over "${ECM_MODULE_PATH}"
+
+--- CMakeLists.txt.orig 2025-09-14 20:00:57 UTC
++++ CMakeLists.txt
+@@ -19,7 +19,7 @@ find_package(ECM REQUIRED NO_MODULE)
+ set(CMAKE_CXX_STANDARD 17)
+
+ find_package(ECM REQUIRED NO_MODULE)
+-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${ECM_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
++set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake" ${ECM_MODULE_PATH})
+
+ include(KDEInstallDirs)
+ include(KDECMakeSettings)
diff --git a/multimedia/subtitlecomposer/files/patch-src_CMakeLists.txt b/multimedia/subtitlecomposer/files/patch-src_CMakeLists.txt
index 538c5eb02d97..8ad44c42aef9 100644
--- a/multimedia/subtitlecomposer/files/patch-src_CMakeLists.txt
+++ b/multimedia/subtitlecomposer/files/patch-src_CMakeLists.txt
@@ -1,8 +1,8 @@
---- src/CMakeLists.txt.orig 2023-04-04 01:59:38 UTC
+--- src/CMakeLists.txt.orig 2025-09-14 20:00:57 UTC
+++ src/CMakeLists.txt
-@@ -27,7 +27,7 @@ endif()
+@@ -35,7 +35,7 @@ find_package(OpenAL REQUIRED)
- find_package(FFmpeg 57.83.100 REQUIRED)
+ find_package(FFmpeg 59.27.100 REQUIRED)
find_package(OpenAL REQUIRED)
-find_package(ICU)
+find_package(ICU REQUIRED COMPONENTS i18n uc data)
diff --git a/multimedia/vlc/Makefile b/multimedia/vlc/Makefile
index 75039b4b5c3f..7f61907ca094 100644
--- a/multimedia/vlc/Makefile
+++ b/multimedia/vlc/Makefile
@@ -1,6 +1,6 @@
PORTNAME= vlc
DISTVERSION= 3.0.21
-PORTREVISION= 19
+PORTREVISION= 20
PORTEPOCH= 4
CATEGORIES= multimedia audio net www
MASTER_SITES= https://get.videolan.org/${PORTNAME}/${DISTVERSION:S/a$//}/ \
diff --git a/multimedia/x265/Makefile b/multimedia/x265/Makefile
index 0f84465e8d1b..be9a85a53b7f 100644
--- a/multimedia/x265/Makefile
+++ b/multimedia/x265/Makefile
@@ -1,6 +1,5 @@
PORTNAME= x265
-PORTVERSION= 3.6
-PORTREVISION= 1
+PORTVERSION= 4.1
CATEGORIES= multimedia
MASTER_SITES= https://bitbucket.org/multicoreware/x265_git/downloads/ \
http://ftp.videolan.org/pub/videolan/x265/
@@ -27,7 +26,10 @@ BB_TAG= Release_${DISTVERSION}
OPTIONS_DEFINE= VMAF
OPTIONS_DEFINE_amd64= SVTHEVC
-OPTIONS_DEFAULT= HI10P HI12P HI8P OPTIMIZED_FLAGS
+OPTIONS_DEFINE_powerpc= ALTIVEC
+OPTIONS_DEFINE_powerpc64= ${OPTIONS_DEFINE_powerpc}
+OPTIONS_DEFINE_powerpc64le= ${OPTIONS_DEFINE_powerpc}
+OPTIONS_DEFAULT= HI10P HI12P HI8P OPTIMIZED_FLAGS ALTIVEC
OPTIONS_MULTI= PIXELWIDTH
OPTIONS_MULTI_PIXELWIDTH= HI10P HI12P HI8P
@@ -40,7 +42,7 @@ HI12P_DESC= Enable 12-bit pixels (may break on i386)
HI8P_DESC= Enable 8-bit pixel-width (you, probably, want this)
OPTIMIZED_FLAGS_DESC= Enable O3 optimization
SVTHEVC_DESC= HEVC encoding via SVT-HEVC
-VMAF_DESC= VMAF scores (broken: needs older VMAF)
+VMAF_DESC= VMAF scores
VMAF_USES= localbase:ldflags
DEBUG_CMAKE_ON= -DCMAKE_ASM_NASM_FLAGS:STRING="-g -O0"
@@ -50,15 +52,11 @@ SVTHEVC_CMAKE_BOOL= ENABLE_SVT_HEVC
VMAF_CMAKE_ON= -DVMAF_INCLUDE_DIR:PATH="${LOCALBASE}/include/libvmaf"
VMAF_LIB_DEPENDS= libvmaf.so:multimedia/vmaf
VMAF_CMAKE_BOOL= ENABLE_LIBVMAF
+ALTIVEC_CMAKE_BOOL= ENABLE_ALTIVEC
.include <bsd.port.options.mk>
-.if ${ARCH} == powerpc64le
-CMAKE_ARGS+= -DCPU_POWER8=ON \
- -DENABLE_ALTIVEC=ON
-.endif
-
-.if !${ARCH:Mpowerpc64*} && !${ARCH:Marmv7}
+.if ${ARCH} == i386 && ${PORT_OPTIONS:MHI8P} || ${ARCH} == amd64
BUILD_DEPENDS= nasm:devel/nasm
.endif
@@ -71,6 +69,9 @@ CMAKE_ARGS+= -DMAIN12:BOOL=true
.if "${DEFAULT_DEPTH}" != "HI8P"
CMAKE_ARGS+= -DHIGH_BIT_DEPTH:BOOL=true
+.if ${ARCH} == i386
+CMAKE_ARGS+= -DENABLE_ASSEMBLY:BOOL=false
+.endif
.endif
CMAKE_OTHER_ARGS= ${CMAKE_ARGS:C/.*-D_END_CUSTOM_OPTIONS=1 +//W}
@@ -83,49 +84,34 @@ CFLAGS:= ${CFLAGS:N-O*} -O0 -g
CFLAGS:= ${CFLAGS:N-O*} -O3
.endif
-.for b in ${OTHER_DEPTHS:C/HI([0-9]+)P/\1/}
-EXTRA_LINK_FLAGS+= -L${WRKSRC:H}/${b}bit
-
-.if ${ARCH} == powerpc64le
-
-.if ${b} != 8
-ASSEMBLY= false
-.else
-ASSEMBLY= true
+.if ${ARCH} == armv7
+CMAKE_ARGS+= -DENABLE_NEON:BOOL=true
.endif
-post-patch:
- ${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/x265.h
+.if ${ARCH:Mpowerpc*}
+CMAKE_OTHER_ARGS+= ${CMAKE_ARGS:M*ALTIVEC*} -DCPU_POWER8=false
+CMAKE_ARGS+= -DCPU_POWER8=false
+.endif
-pre-build::
- @${ECHO_MSG} "---> Building the ${b}-bit library ---"
- ${MKDIR} ${WRKSRC:H}/${b}bit
- ${CMAKE_BIN} -S ${WRKSRC} -B ${WRKSRC:H}/${b}bit \
- ${CMAKE_OTHER_ARGS} ${b:C/1./-DHIGH_BIT_DEPTH:BOOL=true/} \
- -DMAIN${b}:BOOL=true -DENABLE_ALTIVEC=${ASSEMBLY} -DCPU_POWER8=true \
- -DEXPORT_C_API:BOOL=false -DENABLE_CLI=false
- ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC:H}/${b}bit ${MAKE_ARGS}
- ${LN} -f ${WRKSRC:H}/${b}bit/libx265.a ${WRKSRC:H}/${b}bit/libx265_${b}bit.a
- ${ECHO_MSG} "---> Built the ${b}-bit library ---"
+.for b in ${OTHER_DEPTHS:C/HI([0-9]+)P/\1/}
+EXTRA_LINK_FLAGS+= -L${WRKSRC:H}/$bbit
-.else
-.if ((${ARCH} == i386 || ${ARCH} == armv7) && $b != 8) || ${ARCH} == powerpc || ${ARCH} == powerpc64
+.if (${ARCH} == i386 && $b != 8) || ${ARCH:Mpowerpc*}
ASSEMBLY= false
.else
ASSEMBLY= true
.endif
pre-build::
- @${ECHO_MSG} "---> Building the ${b}-bit library ---"
- ${MKDIR} ${WRKSRC:H}/${b}bit
- ${CMAKE_BIN} -S ${WRKSRC} -B ${WRKSRC:H}/${b}bit \
+ @${ECHO_MSG} "---> Building the $b-bit library ---"
+ ${MKDIR} ${WRKSRC:H}/$bbit
+ ${CMAKE_BIN} -S ${WRKSRC} -B ${WRKSRC:H}/$bbit \
${CMAKE_OTHER_ARGS} ${b:C/1./-DHIGH_BIT_DEPTH:BOOL=true/} \
- -DMAIN${b}:BOOL=true -DENABLE_ASSEMBLY:BOOL=${ASSEMBLY} -DCPU_POWER8=false -DENABLE_ALTIVEC:BOOL=false \
+ -DMAIN$b:BOOL=true -DENABLE_ASSEMBLY:BOOL=${ASSEMBLY} \
-DEXPORT_C_API:BOOL=false -DENABLE_CLI=false
- ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC:H}/${b}bit ${MAKE_ARGS}
- ${LN} -f ${WRKSRC:H}/${b}bit/libx265.a ${WRKSRC:H}/${b}bit/libx265_${b}bit.a
- ${ECHO_MSG} "---> Built the ${b}-bit library ---"
-.endif
+ ${SETENV} ${MAKE_ENV} ${MAKE_CMD} -C ${WRKSRC:H}/$bbit ${MAKE_ARGS}
+ ${LN} -f ${WRKSRC:H}/$bbit/libx265.a ${WRKSRC:H}/$bbit/libx265_$bbit.a
+ @${ECHO_MSG} "---> Built the $b-bit library ---"
.endfor
.if "${EXTRA_LINK_FLAGS}"
@@ -136,24 +122,18 @@ CMAKE_ARGS+= ${OTHER_DEPTHS:C/HI([0-9]+)P/-DLINKED_\1BIT:BOOL=true/}
CMAKE_ARGS+= -DENABLE_SHARED:BOOL=true
-.if ${ARCH} == i386 && ${DEFAULT_DEPTH} != "HI8P"
-CMAKE_ARGS+= -DENABLE_ASSEMBLY:BOOL=false
-.else
-.if !${ARCH:Mpowerpc*}
-CMAKE_ARGS+= -DENABLE_ASSEMBLY:BOOL=true
-.elif ${ARCH} == powerpc64le
-CMAKE_ARGS+= -DCPU_POWER8=ON \
- -DENABLE_ALTIVEC=ON
-.elif ${ARCH} == powerpc64
-CMAKE_ARGS+= -DCPU_POWER8=OFF \
- -DENABLE_ALTIVEC=OFF
-.endif
-
do-test:
+.if ${PORT_OPTIONS:MHI8P} || ${ARCH} != i386
${WRKDIR}/.build/test/TestBench
+.else
+ @${ECHO_MSG} On ${ARCH} TestBench is only built, when 8bit is enabled
.endif
CMAKE_ARGS+= -D_END_CUSTOM_OPTIONS=1
CMAKE_ARGS+= -DENABLE_PIC:BOOL=true
+.if !defined(DEVELOPER)
+CMAKE_ARGS+= -Wno-dev
+.endif
+
.include <bsd.port.mk>
diff --git a/multimedia/x265/distinfo b/multimedia/x265/distinfo
index 7e5f3d943d14..8f4377694bb7 100644
--- a/multimedia/x265/distinfo
+++ b/multimedia/x265/distinfo
@@ -1,3 +1,3 @@
-TIMESTAMP = 1727555881
-SHA256 (x265_3.6.tar.gz) = 663531f341c5389f460d730e62e10a4fcca3428ca2ca109693867bc5fe2e2807
-SIZE (x265_3.6.tar.gz) = 1655889
+TIMESTAMP = 1762019503
+SHA256 (x265_4.1.tar.gz) = a31699c6a89806b74b0151e5e6a7df65de4b49050482fe5ebf8a4379d7af8f29
+SIZE (x265_4.1.tar.gz) = 1725279
diff --git a/multimedia/x265/files/patch-arm-assembly b/multimedia/x265/files/patch-arm-assembly
index e481269c43f0..dd3f71dd12c4 100644
--- a/multimedia/x265/files/patch-arm-assembly
+++ b/multimedia/x265/files/patch-arm-assembly
@@ -1,12 +1,3 @@
---- source/common/arm/blockcopy8.S 2024-09-30 08:38:43.172350000 +0200
-+++ source/common/arm/blockcopy8.S 2024-09-30 09:13:08.635457000 +0200
-@@ -833,5 +833,5 @@
- vmov.u32 r0, d0[0]
- uasx r0, r0, r0
-- mov r0, r0, lsr 16
-+ lsr r0, r0, #16
- rsb r0, #1024
- bx lr
--- source/common/arm/asm.S 2024-04-04 11:39:50.000000000 +0200
+++ source/common/arm/asm.S 2024-09-30 19:45:33.295896000 +0200
@@ -85,4 +85,9 @@
diff --git a/multimedia/x265/files/patch-warnings b/multimedia/x265/files/patch-warnings
index e1a65940be2e..31e3d2416405 100644
--- a/multimedia/x265/files/patch-warnings
+++ b/multimedia/x265/files/patch-warnings
@@ -331,12 +331,19 @@
+
// skip -- prefix if provided
if (name[0] == '-' && name[1] == '-')
---- source/common/cudata.cpp 2024-09-13 09:02:55.000000000 -0400
-+++ source/common/cudata.cpp 2024-09-24 00:04:19.872724000 -0400
-@@ -74,5 +74,5 @@
- inline bool isEqualRowOrCol(int addrA, int addrB)
- {
-- return isEqualCol(addrA, addrB) | isEqualRow(addrA, addrB);
-+ return isEqualCol(addrA, addrB) || isEqualRow(addrA, addrB);
- }
+--- source/encoder/level.cpp 2024-11-22 07:07:34.000000000 -0500
++++ source/encoder/level.cpp 2025-11-01 20:29:50.066886000 -0400
+@@ -61,13 +61,4 @@
+ };
+-static inline int _confirm(x265_param* param, bool bflag, const char* message)
+-{
+- if (!bflag)
+- return 0;
+-
+- x265_log(param, X265_LOG_ERROR, "%s\n", message);
+- return 1;
+-}
+-
+ /* determine minimum decoder level required to decode the described video */
+ void determineLevel(const x265_param &param, VPS& vps)
diff --git a/multimedia/x265/pkg-plist b/multimedia/x265/pkg-plist
index 25e1a71607c4..179d1313492b 100644
--- a/multimedia/x265/pkg-plist
+++ b/multimedia/x265/pkg-plist
@@ -6,5 +6,5 @@ lib/libhdr10plus.a
lib/libhdr10plus.so
lib/libx265.a
lib/libx265.so
-lib/libx265.so.209
+lib/libx265.so.215
libdata/pkgconfig/x265.pc