Skip to content

Commit

Permalink
multimedia/ffmpeg: update to 6.0
Browse files Browse the repository at this point in the history
* --enable-avresample is gone per https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/420cedd49745
* SHADERC replaces GLSLANG per https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/da72aca7b025
* VULKAN is enabled per https://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff/fa2e460f635
* LIBPLACEBO is enabled to have even more Vulkan goodies
* LCMS2 is enabled for better ICC profile support
* JXL is enabled for mpv-player/mpv@1345977f9976

Changes:	https://git.ffmpeg.org/gitweb/ffmpeg.git/blob/n6.0:/Changelog
PR:		261302
Reported by:	Repology
Exp-run by:	antoine
Approved by:	tcberner
  • Loading branch information
jbeich authored and Daniel Engberg committed Apr 27, 2023
1 parent 7adde68 commit 685e477
Show file tree
Hide file tree
Showing 6 changed files with 93 additions and 1,438 deletions.
46 changes: 34 additions & 12 deletions multimedia/ffmpeg/Makefile
@@ -1,6 +1,5 @@
PORTNAME= ffmpeg
PORTVERSION= 4.4.4
PORTREVISION= 1
PORTVERSION= 6.0
PORTEPOCH= 1
CATEGORIES= multimedia audio net
MASTER_SITES= https://ffmpeg.org/releases/
Expand Down Expand Up @@ -28,28 +27,28 @@ USE_PERL5= build
SHEBANG_FILES= doc/texi2pod.pl
NOPRECIOUSMAKEVARS= yes # ARCH

PORTSCOUT= limit:^4\.
PORTSCOUT= limit:^6\.

# Option CHROMAPRINT disabled, it cannot work and people are baffled.
OPTIONS_DEFINE= ALSA AMR_NB AMR_WB AOM ARIBB24 ASM ASS BS2B CACA CDIO \
CODEC2 DAV1D DAVS2 DC1394 DEBUG DOCS DRM FDK_AAC FLITE \
FONTCONFIG FREETYPE FREI0R FRIBIDI GLSLANG GME GSM ICONV ILBC \
JACK KLVANC KVAZAAR LADSPA LAME LENSFUN LIBBLURAY LIBRSVG2 \
JACK JXL KLVANC KVAZAAR LADSPA LAME LCMS2 LENSFUN LIBBLURAY LIBPLACEBO LIBRSVG2 \
LIBXML2 LTO LV2 MODPLUG MYSOFA NETWORK NVENC OPENAL OPENCL OPENGL \
OPENH264 OPENJPEG OPENMPT OPENVINO OPTIMIZED_CFLAGS OPUS POCKETSPHINX \
PULSEAUDIO RAV1E RABBITMQ RIST RTCPU RUBBERBAND SDL SMB SNAPPY \
PULSEAUDIO RAV1E RABBITMQ RIST RTCPU RUBBERBAND SDL SHADERC SMB SNAPPY \
SNDIO SOXR SPEEX SRT SSH SVTAV1 SVTHEVC SVTVP9 TENSORFLOW \
TESSERACT THEORA TWOLAME UAVS3D V4L VAAPI VAPOURSYNTH VDPAU VIDSTAB \
VMAF VO_AMRWBENC VORBIS VPX VULKAN WEBP X264 X265 \
XAVS2 XCB XVID XVIDEO ZIMG ZMQ ZVBI
# intel-media-sdk only for i386/amd64
OPTIONS_DEFINE_amd64= MFX
OPTIONS_DEFINE_amd64= MFX VPL
OPTIONS_DEFINE_i386= MFX

OPTIONS_DEFAULT= AOM ASM ASS DAV1D DRM FONTCONFIG FREETYPE FREI0R GMP \
GNUTLS ICONV LAME LIBXML2 NETWORK OPTIMIZED_CFLAGS OPUS \
RTCPU SVTAV1 V4L VAAPI VDPAU VMAF VORBIS VPX WEBP X264 \
X265 XCB
GNUTLS ICONV JXL LAME LCMS2 LIBPLACEBO LIBXML2 NETWORK \
OPTIMIZED_CFLAGS OPUS RTCPU SVTAV1 V4L VAAPI VDPAU VMAF \
VORBIS VPX VULKAN WEBP X264 X265 XCB
OPTIONS_DEFAULT_amd64= NVENC
OPTIONS_DEFAULT_i386= NVENC

Expand Down Expand Up @@ -122,10 +121,12 @@ RIST_DESC= Reliable Internet Stream Transport protocol via librist
RUBBERBAND_DESC=Time-stretching and pitch-shifting with librubberband
RTCPU_DESC= Detect CPU capabilities at runtime
RTMP_DESC= RTMP(T)E protocol support
SHADERC_DESC= GLSL->SPIRV compilation via libshaderc
SRT_DESC= Haivision SRT protocol via libsrt
SVTAV1_DESC= AV1 encoding via SVT-AV1
SVTHEVC_DESC= HEVC encoding via SVT-HEVC
SVTVP9_DESC= VP9 encoding via SVT-VP9
LIBPLACEBO_DESC=GPU filters from libplacebo
LIBRTMP_DESC= ${RTMP_DESC} via librtmp
TENSORFLOW_DESC=TensorFlow as a DNN module backend for DNN based filters like sr
TESSERACT_DESC= Optical Character Recognition via Tesseract
Expand All @@ -134,6 +135,7 @@ UAVS3D_DESC= AVS3 decoding via libuavs3d
VAPOURSYNTH_DESC= VapourSynth demuxer
VIDSTAB_DESC= Video stabilization filter
VMAF_DESC= VMAF filter via libvmaf
VPL_DESC= Intel oneVPL (aka Quick Sync Video)
VULKAN_DESC= Vulkan filters
XAVS2_DESC= AVS2 encoding via libxavs2
XCB_DESC= X11 grabbing using XCB
Expand Down Expand Up @@ -282,6 +284,10 @@ ILBC_CONFIGURE_ENABLE= libilbc
JACK_LIB_DEPENDS= libjack.so:audio/jack
JACK_CONFIGURE_ENABLE= libjack

# jxl
JXL_LIB_DEPENDS= libjxl.so:graphics/libjxl
JXL_CONFIGURE_ENABLE= libjxl

# klvanc
KLVANC_LIB_DEPENDS= libklvanc.so:multimedia/libklvanc
KLVANC_CONFIGURE_ENABLE= libklvanc
Expand All @@ -299,6 +305,10 @@ LADSPA_CONFIGURE_ENABLE= ladspa
LAME_LIB_DEPENDS= libmp3lame.so:audio/lame
LAME_CONFIGURE_ENABLE= libmp3lame

# lcms2
LCMS2_LIB_DEPENDS= liblcms2.so:graphics/lcms2
LCMS2_CONFIGURE_ENABLE= lcms2

# lensfun
LENSFUN_LIB_DEPENDS= liblensfun.so:graphics/lensfun
LENSFUN_CONFIGURE_ENABLE= liblensfun
Expand All @@ -307,6 +317,10 @@ LENSFUN_CONFIGURE_ENABLE= liblensfun
LIBBLURAY_LIB_DEPENDS= libbluray.so:multimedia/libbluray
LIBBLURAY_CONFIGURE_ENABLE= libbluray

# libplacebo
LIBPLACEBO_LIB_DEPENDS= libplacebo.so:graphics/libplacebo
LIBPLACEBO_CONFIGURE_ENABLE= libplacebo

# librsvg
LIBRSVG2_USES= gnome
LIBRSVG2_USE= GNOME=cairo,librsvg2
Expand Down Expand Up @@ -351,7 +365,7 @@ MYSOFA_CONFIGURE_ENABLE= libmysofa
NETWORK_CONFIGURE_ENABLE= network

# nvenc
NVENC_BUILD_DEPENDS= ${LOCALBASE}/include/ffnvcodec/nvEncodeAPI.h:multimedia/ffnvcodec-headers
NVENC_BUILD_DEPENDS= ffnvcodec-headers>=11.1.5.2:multimedia/ffnvcodec-headers
NVENC_CONFIGURE_ENABLE= nvenc

# OpenAL
Expand Down Expand Up @@ -433,6 +447,11 @@ SDL_USES= sdl
SDL_USE= SDL=sdl2
SDL_CONFIGURE_ENABLE= sdl2

# shaderc
SHADERC_LIB_DEPENDS= libshaderc_shared.so:graphics/shaderc
SHADERC_CONFIGURE_ENABLE= libshaderc
SHADERC_PREVENTS= GLSLANG

# smbclient
SMB_USES= samba:lib
SMB_CONFIGURE_ENABLE= libsmbclient
Expand Down Expand Up @@ -536,6 +555,10 @@ VIDSTAB_CONFIGURE_ENABLE= libvidstab
VORBIS_LIB_DEPENDS= libvorbisenc.so:audio/libvorbis
VORBIS_CONFIGURE_ENABLE= libvorbis

# vpl
VPL_LIB_DEPENDS= libvpl.so:multimedia/onevpl
VPL_CONFIGURE_ENABLE= libvpl

# vp8
VPX_LIB_DEPENDS= libvpx.so:multimedia/libvpx
VPX_CONFIGURE_ENABLE= libvpx
Expand All @@ -544,7 +567,7 @@ VPX_CONFIGURE_ENABLE= libvpx
VULKAN_BUILD_DEPENDS= vulkan-headers>0:graphics/vulkan-headers
VULKAN_LIB_DEPENDS= libvulkan.so:graphics/vulkan-loader
VULKAN_CONFIGURE_ENABLE= vulkan
VULKAN_IMPLIES= GLSLANG
VULKAN_IMPLIES= ${"${PORT_OPTIONS:MGLSLANG}":?GLSLANG:SHADERC}

# webp
WEBP_LIB_DEPENDS= libwebp.so:graphics/webp
Expand Down Expand Up @@ -618,7 +641,6 @@ CONFIGURE_ARGS+=--prefix="${PREFIX}" \
--enable-shared \
--enable-pic \
--enable-gpl \
--enable-avresample \
--cc="${CC}" \
--cxx="${CXX}"

Expand Down
6 changes: 3 additions & 3 deletions multimedia/ffmpeg/distinfo
@@ -1,6 +1,6 @@
TIMESTAMP = 1681325571
SHA256 (ffmpeg-4.4.4.tar.xz) = e80b380d595c809060f66f96a5d849511ef4a76a26b76eacf5778b94c3570309
SIZE (ffmpeg-4.4.4.tar.xz) = 9565584
TIMESTAMP = 1677530629
SHA256 (ffmpeg-6.0.tar.xz) = 57be87c22d9b49c112b6d24bc67d42508660e6b718b3db89c44e47e289137082
SIZE (ffmpeg-6.0.tar.xz) = 10234012
SHA256 (0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch) = 376ea23e9d876390fbca936c80cb437bb9daa6232ff65df0ea91673e18b739ff
SIZE (0001-lavc-svt_hevc-add-libsvt-hevc-encoder-wrapper.patch) = 24259
SHA256 (0002-doc-Add-libsvt_hevc-encoder-docs.patch) = d16589efc4be2602a9f436e9938cfee0cc7b5ccd7a4a6b41c0c9a59ae0859fda
Expand Down
14 changes: 14 additions & 0 deletions multimedia/ffmpeg/files/patch-libavutil_thread.h
@@ -0,0 +1,14 @@
pthread_setname_np is implemented on top of PR_SET_NAME on Linux
and is also available on DragonFly, FreeBSD and Solaris

--- libavutil/thread.h.orig 2023-02-27 20:43:45 UTC
+++ libavutil/thread.h
@@ -196,6 +196,8 @@ static inline int ff_thread_setname(const char *name)
{
#if HAVE_PRCTL
return AVERROR(prctl(PR_SET_NAME, name));
+#elif HAVE_PTHREADS
+ return AVERROR(pthread_setname_np(pthread_self(), name));
#endif

return AVERROR(ENOSYS);

0 comments on commit 685e477

Please sign in to comment.