Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] Ffmpeg6pkg
@ 2024-07-06 20:05 zlice
  2024-07-20 21:44 ` [PR PATCH] [Updated] New package: ffmpeg6-6.0.1 classabbyamp
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: zlice @ 2024-07-06 20:05 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1424 bytes --]

There is a new pull request by zlice against master on the void-packages repository

https://github.com/zlice/void-packages ffmpeg6pkg
https://github.com/void-linux/void-packages/pull/51132

Ffmpeg6pkg
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, **x86_64**, **i686**
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - **aarch64**
  - **x86_64-musl**


#### Comments

Makes `ffmpeg` a transitional meta package that is still version 4 but depends on `ffmpeg6` which has binaries and libraries. Should allow for a slow transition to move things over to 6 and avoid breaking current installs.


#### pre-reqs

- opencv https://github.com/void-linux/void-packages/pull/51124
- qtav remove https://github.com/void-linux/void-packages/pull/51123
- flowblade https://github.com/void-linux/void-packages/pull/50385
- idjc https://github.com/void-linux/void-packages/pull/48944

![it-starts-timon](https://github.com/void-linux/void-packages/assets/8009811/6f701b03-00a7-4bb4-8ccc-70a375bdc491)


A patch file from https://github.com/void-linux/void-packages/pull/51132.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ffmpeg6pkg-51132.patch --]
[-- Type: text/x-diff, Size: 19535 bytes --]

From 528cd0253dc3c29b5c8b46807468aefc57c849a5 Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
Date: Sat, 6 Jul 2024 15:52:45 -0400
Subject: [PATCH 1/3] nv-codec-headers: update to 12.0.16.1

---
 srcpkgs/nv-codec-headers/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/nv-codec-headers/template b/srcpkgs/nv-codec-headers/template
index 8f04477e378e55..6798f9cbd6bb2f 100644
--- a/srcpkgs/nv-codec-headers/template
+++ b/srcpkgs/nv-codec-headers/template
@@ -1,15 +1,15 @@
 # Template file for 'nv-codec-headers'
 pkgname=nv-codec-headers
 reverts="12.2.72.0_1"
-version=11.1.5.1
-revision=2
+version=12.0.16.1
+revision=1
 build_style=gnu-makefile
 short_desc="FFmpeg version of headers required to interface with Nvidias codec APIs"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="http://git.videolan.org/?p=ffmpeg/nv-codec-headers.git"
 distfiles="https://github.com/FFmpeg/nv-codec-headers/archive/n${version}.tar.gz"
-checksum=d095fbd56aa93772471a323be0ebe65504a0f43f06c76a30b6d25da77b06ae9c
+checksum=37e31c7ed0c9bf2da74646a3ec426c38a6d29e60b1fb7bff3e03a99b9412e050
 
 post_install() {
 	sed -n '4,25p' include/ffnvcodec/nvEncodeAPI.h > LICENSE

From 2c3f2b59a7f95548a2e936ee6d293fee024f0d8e Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
Date: Fri, 5 Jul 2024 19:26:21 -0400
Subject: [PATCH 2/3] New package: ffmpeg6-6.0.1

---
 common/shlibs                               |   8 +
 srcpkgs/ffmpeg/template                     |  17 +-
 srcpkgs/ffmpeg6-devel                       |   1 +
 srcpkgs/ffmpeg6/patches/qsv.patch           |  15 ++
 srcpkgs/ffmpeg6/patches/qt6-webengine.patch |  36 +++
 srcpkgs/ffmpeg6/template                    | 235 ++++++++++++++++++++
 srcpkgs/ffplay                              |   2 +-
 srcpkgs/libavcodec6                         |   1 +
 srcpkgs/libavdevice6                        |   1 +
 srcpkgs/libavfilter6                        |   1 +
 srcpkgs/libavformat6                        |   1 +
 srcpkgs/libavresample6                      |   1 +
 srcpkgs/libavutil6                          |   1 +
 srcpkgs/libpostproc6                        |   1 +
 srcpkgs/libswresample6                      |   1 +
 srcpkgs/libswscale6                         |   1 +
 16 files changed, 311 insertions(+), 12 deletions(-)
 create mode 120000 srcpkgs/ffmpeg6-devel
 create mode 100644 srcpkgs/ffmpeg6/patches/qsv.patch
 create mode 100644 srcpkgs/ffmpeg6/patches/qt6-webengine.patch
 create mode 100644 srcpkgs/ffmpeg6/template
 create mode 120000 srcpkgs/libavcodec6
 create mode 120000 srcpkgs/libavdevice6
 create mode 120000 srcpkgs/libavfilter6
 create mode 120000 srcpkgs/libavformat6
 create mode 120000 srcpkgs/libavresample6
 create mode 120000 srcpkgs/libavutil6
 create mode 120000 srcpkgs/libpostproc6
 create mode 120000 srcpkgs/libswresample6
 create mode 120000 srcpkgs/libswscale6

diff --git a/common/shlibs b/common/shlibs
index d5d256bededd64..ad18f9f6e2bc4c 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -392,6 +392,14 @@ libid3tag.so.0 libid3tag-0.15.1b_1
 libgif.so.7 giflib-5.1.0_1
 libImlib2.so.1 imlib2-1.4.2_1
 libmp3lame.so.0 lame-3.98.2_1
+libavdevice.so.60 libavdevice6-6.0_1
+libavformat.so.60 libavformat6-6.0_1
+libswscale.so.7 libswscale6-6.0_1
+libswresample.so.4 libswresample6-6.0_1
+libpostproc.so.57 libpostproc6-6.0_1
+libavcodec.so.60 libavcodec6-6.0_1
+libavutil.so.58 libavutil6-6.0_1
+libavfilter.so.9 libavfilter6-6.0_1
 libavdevice.so.58 libavdevice-4.0_1
 libavformat.so.58 libavformat-4.0_1
 libswscale.so.5 libswscale-4.0_1
diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index 93618cd977537e..5b1e9e9c13cd8e 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -2,8 +2,8 @@
 # audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
 pkgname=ffmpeg
 version=4.4.4
-revision=7
-short_desc="Decoding, encoding and streaming software"
+revision=8
+short_desc="Decoding, encoding and streaming software - ffmpeg4 libraries only"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.ffmpeg.org"
@@ -29,7 +29,8 @@ makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-deve
  $(vopt_if srt srt-devel) $(vopt_if rist librist-devel)
  $(vopt_if vulkan 'vulkan-loader-devel')
  $(vopt_if nvenc nv-codec-headers) $(vopt_if nvdec nv-codec-headers)"
-depends="ffplay>=${version}_${revision}"
+# ffmpeg6 provides ffmpeg, ffprobe, ffplay, etc
+depends="ffmpeg6"
 
 build_options="x265 v4l2 vaapi vdpau vpx fdk_aac aom nvenc sndio pulseaudio
  dav1d zimg webp sofa vulkan drm svtav1 srt rist nvdec"
@@ -137,6 +138,7 @@ do_build() {
 
 do_install() {
 	make DESTDIR=${DESTDIR} install install-man
+	rm -rf ${DESTDIR}/usr/bin
 }
 
 libavcodec_package() {
@@ -214,6 +216,7 @@ ffmpeg-devel_package() {
 		libswresample>=${version}_${revision}
 		libavresample>=${version}_${revision}"
 	short_desc+=" - development files"
+	conflicts="ffmpeg6-devel"
 
 	if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
 		# /usr/bin/strip: error: the input file '/destdir//ffmpeg-devel-4.4.4/usr/lib/libavfilter.a(vf_atadenoise.o)' has no sections
@@ -229,11 +232,3 @@ ffmpeg-devel_package() {
 		vmove usr/share/man/man3
 	}
 }
-
-ffplay_package() {
-	short_desc="Simple video player using FFmpeg and SDL2"
-	pkg_install() {
-		vmove usr/bin/ffplay
-		vmove "usr/share/man/man1/ffplay*"
-	}
-}
diff --git a/srcpkgs/ffmpeg6-devel b/srcpkgs/ffmpeg6-devel
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/ffmpeg6-devel
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/ffmpeg6/patches/qsv.patch b/srcpkgs/ffmpeg6/patches/qsv.patch
new file mode 100644
index 00000000000000..94ef68f5683f3a
--- /dev/null
+++ b/srcpkgs/ffmpeg6/patches/qsv.patch
@@ -0,0 +1,15 @@
+diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
+index da700f25e9..b501964089 100644
+--- a/libavcodec/qsvdec.c
++++ b/libavcodec/qsvdec.c
+@@ -1076,6 +1076,9 @@  static int qsv_decode_frame(AVCodecContext *avctx, AVFrame *frame,
+ 
+         ret = qsv_process_data(avctx, &s->qsv, frame, got_frame, &s->buffer_pkt);
+         if (ret < 0){
++            if (ret == AVERROR(EAGAIN))
++                ret = 0;
++
+             /* Drop buffer_pkt when failed to decode the packet. Otherwise,
+                the decoder will keep decoding the failure packet. */
+             av_packet_unref(&s->buffer_pkt);
+
diff --git a/srcpkgs/ffmpeg6/patches/qt6-webengine.patch b/srcpkgs/ffmpeg6/patches/qt6-webengine.patch
new file mode 100644
index 00000000000000..c0b397ba849438
--- /dev/null
+++ b/srcpkgs/ffmpeg6/patches/qt6-webengine.patch
@@ -0,0 +1,36 @@
+https://aur.archlinux.org/cgit/aur.git/tree/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch?h=ffmpeg-intel-full-git
+diff --git a/libavformat/avformat.h b/libavformat/avformat.h
+index cd7b0d941c..b4a6dce885 100644
+--- a/libavformat/avformat.h
++++ b/libavformat/avformat.h
+@@ -1025,6 +1025,10 @@
+
+ #define AV_PROGRAM_RUNNING 1
+
++// Chromium: We use the internal field first_dts vvv
++int64_t    av_stream_get_first_dts(const AVStream *st);
++// Chromium: We use the internal field first_dts ^^^
++
+ /**
+  * New fields can be added to the end with minor version bumps.
+  * Removal, reordering and changes to existing fields require a major
+
+diff --git a/libavformat/utils.c b/libavformat/utils.c
+index de7580c32d..0ef0fe530e 100644
+--- a/libavformat/utils.c
++++ b/libavformat/utils.c
+@@ -152,6 +152,13 @@
+     return AV_CODEC_ID_NONE;
+ }
+
++// Chromium: We use the internal field first_dts vvv
++int64_t av_stream_get_first_dts(const AVStream *st)
++{
++  return cffstream(st)->first_dts;
++}
++// Chromium: We use the internal field first_dts ^^^
++
+ enum AVCodecID ff_get_pcm_codec_id(int bps, int flt, int be, int sflags)
+ {
+     if (bps <= 0 || bps > 64)
+
diff --git a/srcpkgs/ffmpeg6/template b/srcpkgs/ffmpeg6/template
new file mode 100644
index 00000000000000..6af2ac03526b51
--- /dev/null
+++ b/srcpkgs/ffmpeg6/template
@@ -0,0 +1,235 @@
+# Template file for 'ffmpeg6'
+# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
+pkgname=ffmpeg6
+version=6.0.1
+revision=1
+short_desc="Decoding, encoding and streaming software"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-3.0-or-later"
+homepage="https://www.ffmpeg.org"
+changelog="https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/Changelog"
+distfiles="https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz"
+checksum=9b16b8731d78e596b4be0d720428ca42df642bb2d78342881ff7f5bc29fc9623
+
+hostmakedepends="pkg-config perl"
+makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-devel
+ libXext-devel libXvMC-devel libxcb-devel lame-devel libtheora-devel
+ libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel
+ libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel
+ speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel
+ libbs2b-devel libvidstab-devel vmaf-devel libbluray-devel
+ $(vopt_if pulseaudio pulseaudio-devel)
+ $(vopt_if vaapi libva-devel) $(vopt_if vdpau libvdpau-devel)
+ $(vopt_if x265 x265-devel) $(vopt_if v4l2 v4l-utils-devel)
+ $(vopt_if fdk_aac fdk-aac-devel) $(vopt_if vpx libvpx-devel)
+ $(vopt_if aom libaom-devel) $(vopt_if sndio sndio-devel)
+ $(vopt_if dav1d libdav1d-devel) $(vopt_if zimg zimg-devel)
+ $(vopt_if webp libwebp-devel) $(vopt_if sofa libmysofa-devel)
+ $(vopt_if drm libdrm-devel) $(vopt_if svtav1 libsvt-av1-devel)
+ $(vopt_if srt srt-devel) $(vopt_if rist librist-devel)
+ $(vopt_if vulkan 'vulkan-loader-devel')
+ $(vopt_if onevpl 'oneVPL oneVPL-devel')
+ $(vopt_if nvenc nv-codec-headers) $(vopt_if nvdec nv-codec-headers)"
+depends="ffplay>=${version}_${revision}"
+
+build_options="x265 v4l2 vaapi vdpau vpx fdk_aac aom nvenc sndio pulseaudio
+ dav1d zimg webp sofa vulkan drm svtav1 srt rist nvdec onevpl"
+build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d webp vulkan drm srt rist"
+desc_option_srt="Enable support for SRT (Secure, Reliable, Transport)"
+desc_option_rist="Enable support for RIST (Reliable Internet Stream Transport)"
+desc_option_sofa="Enable support for AES SOFA"
+desc_option_webp="Enable support for WebP"
+
+case "$XBPS_TARGET_MACHINE" in
+	i686*)
+		build_options_default+=" vaapi vdpau nvenc nvdec"
+		hostmakedepends+=" nasm"
+		;;
+	x86_64*)
+		hostmakedepends+=" nasm"
+		build_options_default+=" vaapi vdpau nvenc nvdec onevpl"
+		;;
+	ppc64*) build_options_default+=" vaapi vdpau";;
+	mips*) CFLAGS="-mnan=legacy";;
+esac
+
+if [ "$XBPS_TARGET_WORDSIZE" != "32" ]; then
+	build_options_default+=" svtav1"
+fi
+
+_apply_patch() {
+	local args="$1" pname="$(basename $2)"
+
+	if [ ! -f ".${pname}_done" ]; then
+		patch -N $args -i $2
+		touch .${pname}_done
+	fi
+}
+
+post_patch() {
+	case "$XBPS_TARGET_MACHINE" in
+		ppc64le*) ;;
+		ppc*) _apply_patch -p1 ${FILESDIR}/altivec.patch ;;
+	esac
+}
+
+do_configure() {
+	# Fix gcc on x86_64-musl only
+	if [ "$XBPS_TARGET_MACHINE" = "x86_64-musl" ]; then
+		vsed -i configure -e "s;_cflags_speed='-O3';_cflags_speed='-O2';"
+	fi
+
+	if [ "$CROSS_BUILD" ]; then
+		case "$XBPS_TARGET_MACHINE" in
+			arm*) _arch="arm";;
+			aarch64*) _arch="aarch64";;
+			mips*) _arch="mips";;
+			ppc64*) _arch="ppc64";;
+			ppc*) _arch="ppc";;
+			*) _arch="${XBPS_TARGET_MACHINE%%-musl}";;
+		esac
+
+		_args+=" --enable-cross-compile
+			--sysroot=$XBPS_CROSS_BASE
+			--cross-prefix=${XBPS_CROSS_TRIPLET}-
+			--target-os=linux --arch=${_arch}"
+	fi
+
+	case "$XBPS_TARGET_MACHINE" in
+		ppc|ppc-musl) _args+=" --disable-altivec";;
+	esac
+
+	./configure --prefix=/usr --disable-debug --enable-gpl --enable-gnutls \
+		--disable-stripping \
+		--enable-libcdio --enable-version3 --enable-runtime-cpudetect \
+		--enable-libmp3lame --enable-libvorbis --enable-libxvid \
+		--enable-libx264 $(vopt_enable vpx libvpx) --enable-libtheora \
+		--enable-shared --enable-static --enable-libxcb \
+		$(vopt_enable pulseaudio libpulse) --enable-libfreetype --enable-libmodplug \
+		--enable-libspeex --enable-libcelt --enable-libass \
+		--enable-libopus --enable-librtmp --enable-libjack \
+		$(vopt_if fdk_aac '--enable-nonfree --enable-libfdk-aac') \
+		--disable-libopencore_amrnb --disable-libopencore_amrwb \
+		--disable-libopenjpeg --enable-libbluray \
+		--enable-postproc --enable-opencl --enable-libvmaf ${_args} \
+		$(vopt_enable x265 libx265) \
+		$(vopt_enable v4l2 libv4l2) \
+		$(vopt_enable aom libaom) $(vopt_enable vaapi) $(vopt_enable vdpau) \
+		--enable-libbs2b --enable-libvidstab \
+		$(vopt_enable dav1d libdav1d) \
+		$(vopt_enable zimg libzimg) \
+		$(vopt_enable webp libwebp) \
+		$(vopt_enable sofa libmysofa) \
+		$(vopt_enable vulkan) \
+		$(vopt_enable onevpl libvpl) \
+		$(vopt_enable drm libdrm) \
+		$(vopt_enable svtav1 libsvtav1) \
+		$(vopt_enable srt libsrt) \
+		$(vopt_enable rist librist) \
+		$(vopt_enable nvenc nvenc) \
+		$(vopt_enable nvdec nvdec)
+}
+
+do_build() {
+	make ${makejobs}
+	make doc/ff{mpeg,play}.1
+}
+
+do_install() {
+	make DESTDIR=${DESTDIR} install install-man
+}
+
+libavcodec6_package() {
+	short_desc="FFmpeg codec library"
+	pkg_install() {
+		vmove "usr/lib/libavcodec.so.*"
+	}
+}
+
+libavdevice6_package() {
+	short_desc="FFmpeg device handling library"
+	pkg_install() {
+		vmove "usr/lib/libavdevice.so.*"
+	}
+}
+
+libavresample6_package() {
+	short_desc="Package deprecated, removal needed"
+	build_style=meta
+}
+
+libavformat6_package() {
+	short_desc="FFmpeg file format library"
+	pkg_install() {
+		vmove "usr/lib/libavformat.so.*"
+	}
+}
+
+libavutil6_package() {
+	short_desc="FFmpeg utility library"
+	pkg_install() {
+		vmove "usr/lib/libavutil.so.*"
+	}
+}
+
+libavfilter6_package() {
+	short_desc="FFmpeg audio/video filter library"
+	pkg_install() {
+		vmove "usr/lib/libavfilter.so.*"
+	}
+}
+
+libpostproc6_package() {
+	short_desc="FFmpeg video postprocessing library"
+	pkg_install() {
+		vmove "usr/lib/libpostproc.so.*"
+	}
+}
+
+libswscale6_package() {
+	short_desc="FFmpeg video scaling library"
+	pkg_install() {
+		vmove "usr/lib/libswscale.so.*"
+	}
+}
+
+libswresample6_package() {
+	short_desc="FFmpeg video resampling library"
+	pkg_install() {
+		vmove "usr/lib/libswresample.so.*"
+	}
+}
+
+ffmpeg6-devel_package() {
+	depends="
+		libavcodec6>=${version}_${revision}
+		libavdevice6>=${version}_${revision}
+		libavformat6>=${version}_${revision}
+		libavutil6>=${version}_${revision}
+		libavfilter6>=${version}_${revision}
+		libpostproc6>=${version}_${revision}
+		libswscale6>=${version}_${revision}
+		libswresample6>=${version}_${revision}"
+	short_desc+=" - development files"
+	conflicts="ffmpeg-devel"
+	if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
+		# /usr/bin/strip: error: the input file '/destdir//ffmpeg-devel-4.4.4/usr/lib/libavfilter.a(vf_atadenoise.o)' has no sections
+		nostrip_files="/usr/lib/libavfilter.a"
+	fi
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove usr/share/ffmpeg/examples
+		vmove usr/share/man/man3
+	}
+}
+
+ffplay_package() {
+	short_desc="Simple video player using FFmpeg and SDL2"
+	pkg_install() {
+		vmove usr/bin/ffplay
+		vmove "usr/share/man/man1/ffplay*"
+	}
+}
diff --git a/srcpkgs/ffplay b/srcpkgs/ffplay
index a9f1eea092d5e9..ccdfc6aa0e84ea 120000
--- a/srcpkgs/ffplay
+++ b/srcpkgs/ffplay
@@ -1 +1 @@
-ffmpeg
\ No newline at end of file
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavcodec6 b/srcpkgs/libavcodec6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavcodec6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavdevice6 b/srcpkgs/libavdevice6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavdevice6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavfilter6 b/srcpkgs/libavfilter6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavfilter6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavformat6 b/srcpkgs/libavformat6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavformat6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavresample6 b/srcpkgs/libavresample6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavresample6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavutil6 b/srcpkgs/libavutil6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavutil6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libpostproc6 b/srcpkgs/libpostproc6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libpostproc6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libswresample6 b/srcpkgs/libswresample6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libswresample6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libswscale6 b/srcpkgs/libswscale6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libswscale6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file

From 36fa0915c8f51c86d05d04e37d3ef40d77c20dc5 Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
Date: Sat, 6 Jul 2024 15:38:10 -0400
Subject: [PATCH 3/3] ffmpeg4: convert to meta build for ffmpeg6

---
 srcpkgs/ffmpeg/template | 12 ++++++++----
 1 file changed, 8 insertions(+), 4 deletions(-)

diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index 5b1e9e9c13cd8e..222e954960a3a5 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -3,6 +3,7 @@
 pkgname=ffmpeg
 version=4.4.4
 revision=8
+build_style=meta
 short_desc="Decoding, encoding and streaming software - ffmpeg4 libraries only"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
@@ -35,6 +36,7 @@ depends="ffmpeg6"
 build_options="x265 v4l2 vaapi vdpau vpx fdk_aac aom nvenc sndio pulseaudio
  dav1d zimg webp sofa vulkan drm svtav1 srt rist nvdec"
 build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d webp vulkan drm srt rist"
+
 desc_option_srt="Enable support for SRT (Secure, Reliable, Transport)"
 desc_option_rist="Enable support for RIST (Reliable Internet Stream Transport)"
 desc_option_sofa="Enable support for AES SOFA"
@@ -133,12 +135,16 @@ do_configure() {
 
 do_build() {
 	make ${makejobs}
-	make doc/ff{mpeg,play}.1
 }
 
+# transitional dummy package for ffmpeg6
+# binaries conflict with 6
 do_install() {
-	make DESTDIR=${DESTDIR} install install-man
+	make DESTDIR=${DESTDIR} install
 	rm -rf ${DESTDIR}/usr/bin
+	rm -rf ${DESTDIR}/usr/share/man/man1
+	rm -rf ${DESTDIR}/usr/share/ffmpeg/ffprobe.xsd
+	rm -rf ${DESTDIR}/usr/share/ffmpeg/libvpx*ffpreset
 }
 
 libavcodec_package() {
@@ -217,12 +223,10 @@ ffmpeg-devel_package() {
 		libavresample>=${version}_${revision}"
 	short_desc+=" - development files"
 	conflicts="ffmpeg6-devel"
-
 	if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
 		# /usr/bin/strip: error: the input file '/destdir//ffmpeg-devel-4.4.4/usr/lib/libavfilter.a(vf_atadenoise.o)' has no sections
 		nostrip_files="/usr/lib/libavfilter.a"
 	fi
-
 	pkg_install() {
 		vmove usr/include
 		vmove usr/lib/pkgconfig

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PR PATCH] [Updated] New package: ffmpeg6-6.0.1
  2024-07-06 20:05 [PR PATCH] Ffmpeg6pkg zlice
@ 2024-07-20 21:44 ` classabbyamp
  2024-07-20 21:44 ` classabbyamp
                   ` (6 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: classabbyamp @ 2024-07-20 21:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1452 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/zlice/void-packages ffmpeg6pkg
https://github.com/void-linux/void-packages/pull/51132

New package: ffmpeg6-6.0.1
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, **x86_64**, **i686**
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - **aarch64**
  - **x86_64-musl**


#### Comments

Makes `ffmpeg` a transitional meta package that is still version 4 but depends on `ffmpeg6` which has binaries and libraries. Should allow for a slow transition to move things over to 6 and avoid breaking current installs.


#### pre-reqs

- opencv https://github.com/void-linux/void-packages/pull/51124
- qtav remove https://github.com/void-linux/void-packages/pull/51123
- flowblade https://github.com/void-linux/void-packages/pull/50385
- idjc https://github.com/void-linux/void-packages/pull/48944

![it-starts-timon](https://github.com/void-linux/void-packages/assets/8009811/6f701b03-00a7-4bb4-8ccc-70a375bdc491)


A patch file from https://github.com/void-linux/void-packages/pull/51132.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ffmpeg6pkg-51132.patch --]
[-- Type: text/x-diff, Size: 18450 bytes --]

From 351a88ce1daf7ff95b6dbde4a4811b823fab5f6f Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
Date: Sat, 6 Jul 2024 15:52:45 -0400
Subject: [PATCH 1/3] nv-codec-headers: update to 12.0.16.1

---
 srcpkgs/nv-codec-headers/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/nv-codec-headers/template b/srcpkgs/nv-codec-headers/template
index 8f04477e378e55..6798f9cbd6bb2f 100644
--- a/srcpkgs/nv-codec-headers/template
+++ b/srcpkgs/nv-codec-headers/template
@@ -1,15 +1,15 @@
 # Template file for 'nv-codec-headers'
 pkgname=nv-codec-headers
 reverts="12.2.72.0_1"
-version=11.1.5.1
-revision=2
+version=12.0.16.1
+revision=1
 build_style=gnu-makefile
 short_desc="FFmpeg version of headers required to interface with Nvidias codec APIs"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="http://git.videolan.org/?p=ffmpeg/nv-codec-headers.git"
 distfiles="https://github.com/FFmpeg/nv-codec-headers/archive/n${version}.tar.gz"
-checksum=d095fbd56aa93772471a323be0ebe65504a0f43f06c76a30b6d25da77b06ae9c
+checksum=37e31c7ed0c9bf2da74646a3ec426c38a6d29e60b1fb7bff3e03a99b9412e050
 
 post_install() {
 	sed -n '4,25p' include/ffnvcodec/nvEncodeAPI.h > LICENSE

From ea5fe870f4274b9f516a6454eeebf795a05ecc4a Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
Date: Sat, 6 Jul 2024 15:38:10 -0400
Subject: [PATCH 2/3] ffmpeg: remove bin packages

now provided by ffmpeg6
---
 srcpkgs/ffmpeg/template | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index 93618cd977537e..0778dff73e8089 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -2,8 +2,9 @@
 # audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
 pkgname=ffmpeg
 version=4.4.4
-revision=7
-short_desc="Decoding, encoding and streaming software"
+revision=8
+build_style=meta
+short_desc="Decoding, encoding and streaming software (transitional dummy package)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.ffmpeg.org"
@@ -29,11 +30,13 @@ makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-deve
  $(vopt_if srt srt-devel) $(vopt_if rist librist-devel)
  $(vopt_if vulkan 'vulkan-loader-devel')
  $(vopt_if nvenc nv-codec-headers) $(vopt_if nvdec nv-codec-headers)"
-depends="ffplay>=${version}_${revision}"
+# ffmpeg6 provides ffmpeg, ffprobe, ffplay, etc
+depends="ffmpeg6"
 
 build_options="x265 v4l2 vaapi vdpau vpx fdk_aac aom nvenc sndio pulseaudio
  dav1d zimg webp sofa vulkan drm svtav1 srt rist nvdec"
 build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d webp vulkan drm srt rist"
+
 desc_option_srt="Enable support for SRT (Secure, Reliable, Transport)"
 desc_option_rist="Enable support for RIST (Reliable Internet Stream Transport)"
 desc_option_sofa="Enable support for AES SOFA"
@@ -132,11 +135,16 @@ do_configure() {
 
 do_build() {
 	make ${makejobs}
-	make doc/ff{mpeg,play}.1
 }
 
+# transitional dummy package for ffmpeg6
+# binaries conflict with 6
 do_install() {
-	make DESTDIR=${DESTDIR} install install-man
+	make DESTDIR=${DESTDIR} install
+	rm -rf ${DESTDIR}/usr/bin
+	rm -rf ${DESTDIR}/usr/share/man/man1
+	rm -rf ${DESTDIR}/usr/share/ffmpeg/ffprobe.xsd
+	rm -rf ${DESTDIR}/usr/share/ffmpeg/libvpx*ffpreset
 }
 
 libavcodec_package() {
@@ -214,6 +222,7 @@ ffmpeg-devel_package() {
 		libswresample>=${version}_${revision}
 		libavresample>=${version}_${revision}"
 	short_desc+=" - development files"
+	conflicts="ffmpeg6-devel"
 
 	if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
 		# /usr/bin/strip: error: the input file '/destdir//ffmpeg-devel-4.4.4/usr/lib/libavfilter.a(vf_atadenoise.o)' has no sections
@@ -231,9 +240,7 @@ ffmpeg-devel_package() {
 }
 
 ffplay_package() {
-	short_desc="Simple video player using FFmpeg and SDL2"
-	pkg_install() {
-		vmove usr/bin/ffplay
-		vmove "usr/share/man/man1/ffplay*"
-	}
+	short_desc="Simple video player using FFmpeg and SDL2 (transitional dummy package)"
+	build_style="meta"
+	depends="ffplay6"
 }

From ae7b3583edeb9eb2aa4e82bfbd3ea6f4b6db606d Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
Date: Sat, 20 Jul 2024 17:40:38 -0400
Subject: [PATCH 3/3] New package: ffmpeg6-6.0.1

---
 common/shlibs                               |   8 +
 srcpkgs/ffmpeg6-devel                       |   1 +
 srcpkgs/ffmpeg6/patches/qsv.patch           |  15 ++
 srcpkgs/ffmpeg6/patches/qt6-webengine.patch |  36 +++
 srcpkgs/ffmpeg6/template                    | 234 ++++++++++++++++++++
 srcpkgs/ffplay6                             |   1 +
 srcpkgs/libavcodec6                         |   1 +
 srcpkgs/libavdevice6                        |   1 +
 srcpkgs/libavfilter6                        |   1 +
 srcpkgs/libavformat6                        |   1 +
 srcpkgs/libavresample6                      |   1 +
 srcpkgs/libavutil6                          |   1 +
 srcpkgs/libpostproc6                        |   1 +
 srcpkgs/libswresample6                      |   1 +
 srcpkgs/libswscale6                         |   1 +
 15 files changed, 304 insertions(+)
 create mode 120000 srcpkgs/ffmpeg6-devel
 create mode 100644 srcpkgs/ffmpeg6/patches/qsv.patch
 create mode 100644 srcpkgs/ffmpeg6/patches/qt6-webengine.patch
 create mode 100644 srcpkgs/ffmpeg6/template
 create mode 120000 srcpkgs/ffplay6
 create mode 120000 srcpkgs/libavcodec6
 create mode 120000 srcpkgs/libavdevice6
 create mode 120000 srcpkgs/libavfilter6
 create mode 120000 srcpkgs/libavformat6
 create mode 120000 srcpkgs/libavresample6
 create mode 120000 srcpkgs/libavutil6
 create mode 120000 srcpkgs/libpostproc6
 create mode 120000 srcpkgs/libswresample6
 create mode 120000 srcpkgs/libswscale6

diff --git a/common/shlibs b/common/shlibs
index 252abb54d1b7a2..ef925b00db9f8e 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -392,6 +392,14 @@ libid3tag.so.0 libid3tag-0.15.1b_1
 libgif.so.7 giflib-5.1.0_1
 libImlib2.so.1 imlib2-1.4.2_1
 libmp3lame.so.0 lame-3.98.2_1
+libavdevice.so.60 libavdevice6-6.0_1
+libavformat.so.60 libavformat6-6.0_1
+libswscale.so.7 libswscale6-6.0_1
+libswresample.so.4 libswresample6-6.0_1
+libpostproc.so.57 libpostproc6-6.0_1
+libavcodec.so.60 libavcodec6-6.0_1
+libavutil.so.58 libavutil6-6.0_1
+libavfilter.so.9 libavfilter6-6.0_1
 libavdevice.so.58 libavdevice-4.0_1
 libavformat.so.58 libavformat-4.0_1
 libswscale.so.5 libswscale-4.0_1
diff --git a/srcpkgs/ffmpeg6-devel b/srcpkgs/ffmpeg6-devel
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/ffmpeg6-devel
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/ffmpeg6/patches/qsv.patch b/srcpkgs/ffmpeg6/patches/qsv.patch
new file mode 100644
index 00000000000000..94ef68f5683f3a
--- /dev/null
+++ b/srcpkgs/ffmpeg6/patches/qsv.patch
@@ -0,0 +1,15 @@
+diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
+index da700f25e9..b501964089 100644
+--- a/libavcodec/qsvdec.c
++++ b/libavcodec/qsvdec.c
+@@ -1076,6 +1076,9 @@  static int qsv_decode_frame(AVCodecContext *avctx, AVFrame *frame,
+ 
+         ret = qsv_process_data(avctx, &s->qsv, frame, got_frame, &s->buffer_pkt);
+         if (ret < 0){
++            if (ret == AVERROR(EAGAIN))
++                ret = 0;
++
+             /* Drop buffer_pkt when failed to decode the packet. Otherwise,
+                the decoder will keep decoding the failure packet. */
+             av_packet_unref(&s->buffer_pkt);
+
diff --git a/srcpkgs/ffmpeg6/patches/qt6-webengine.patch b/srcpkgs/ffmpeg6/patches/qt6-webengine.patch
new file mode 100644
index 00000000000000..c0b397ba849438
--- /dev/null
+++ b/srcpkgs/ffmpeg6/patches/qt6-webengine.patch
@@ -0,0 +1,36 @@
+https://aur.archlinux.org/cgit/aur.git/tree/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch?h=ffmpeg-intel-full-git
+diff --git a/libavformat/avformat.h b/libavformat/avformat.h
+index cd7b0d941c..b4a6dce885 100644
+--- a/libavformat/avformat.h
++++ b/libavformat/avformat.h
+@@ -1025,6 +1025,10 @@
+
+ #define AV_PROGRAM_RUNNING 1
+
++// Chromium: We use the internal field first_dts vvv
++int64_t    av_stream_get_first_dts(const AVStream *st);
++// Chromium: We use the internal field first_dts ^^^
++
+ /**
+  * New fields can be added to the end with minor version bumps.
+  * Removal, reordering and changes to existing fields require a major
+
+diff --git a/libavformat/utils.c b/libavformat/utils.c
+index de7580c32d..0ef0fe530e 100644
+--- a/libavformat/utils.c
++++ b/libavformat/utils.c
+@@ -152,6 +152,13 @@
+     return AV_CODEC_ID_NONE;
+ }
+
++// Chromium: We use the internal field first_dts vvv
++int64_t av_stream_get_first_dts(const AVStream *st)
++{
++  return cffstream(st)->first_dts;
++}
++// Chromium: We use the internal field first_dts ^^^
++
+ enum AVCodecID ff_get_pcm_codec_id(int bps, int flt, int be, int sflags)
+ {
+     if (bps <= 0 || bps > 64)
+
diff --git a/srcpkgs/ffmpeg6/template b/srcpkgs/ffmpeg6/template
new file mode 100644
index 00000000000000..a925e95395cc8a
--- /dev/null
+++ b/srcpkgs/ffmpeg6/template
@@ -0,0 +1,234 @@
+# Template file for 'ffmpeg6'
+# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
+pkgname=ffmpeg6
+version=6.0.1
+revision=1
+hostmakedepends="pkg-config perl"
+makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-devel
+ libXext-devel libXvMC-devel libxcb-devel lame-devel libtheora-devel
+ libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel
+ libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel
+ speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel
+ libbs2b-devel libvidstab-devel vmaf-devel libbluray-devel
+ $(vopt_if pulseaudio pulseaudio-devel)
+ $(vopt_if vaapi libva-devel) $(vopt_if vdpau libvdpau-devel)
+ $(vopt_if x265 x265-devel) $(vopt_if v4l2 v4l-utils-devel)
+ $(vopt_if fdk_aac fdk-aac-devel) $(vopt_if vpx libvpx-devel)
+ $(vopt_if aom libaom-devel) $(vopt_if sndio sndio-devel)
+ $(vopt_if dav1d libdav1d-devel) $(vopt_if zimg zimg-devel)
+ $(vopt_if webp libwebp-devel) $(vopt_if sofa libmysofa-devel)
+ $(vopt_if drm libdrm-devel) $(vopt_if svtav1 libsvt-av1-devel)
+ $(vopt_if srt srt-devel) $(vopt_if rist librist-devel)
+ $(vopt_if vulkan 'vulkan-loader-devel')
+ $(vopt_if onevpl 'oneVPL oneVPL-devel')
+ $(vopt_if nvenc nv-codec-headers) $(vopt_if nvdec nv-codec-headers)"
+depends="ffplay6>=${version}_${revision}"
+short_desc="Decoding, encoding and streaming software"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-3.0-or-later"
+homepage="https://www.ffmpeg.org"
+changelog="https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/Changelog"
+distfiles="https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz"
+checksum=9b16b8731d78e596b4be0d720428ca42df642bb2d78342881ff7f5bc29fc9623
+
+build_options="x265 v4l2 vaapi vdpau vpx fdk_aac aom nvenc sndio pulseaudio
+ dav1d zimg webp sofa vulkan drm svtav1 srt rist nvdec onevpl"
+build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d webp vulkan drm srt rist"
+desc_option_srt="Enable support for SRT (Secure, Reliable, Transport)"
+desc_option_rist="Enable support for RIST (Reliable Internet Stream Transport)"
+desc_option_sofa="Enable support for AES SOFA"
+desc_option_webp="Enable support for WebP"
+
+case "$XBPS_TARGET_MACHINE" in
+	i686*)
+		build_options_default+=" vaapi vdpau nvenc nvdec"
+		hostmakedepends+=" nasm"
+		;;
+	x86_64*)
+		hostmakedepends+=" nasm"
+		build_options_default+=" vaapi vdpau nvenc nvdec onevpl"
+		;;
+	ppc64*) build_options_default+=" vaapi vdpau";;
+	mips*) CFLAGS="-mnan=legacy";;
+esac
+
+if [ "$XBPS_TARGET_WORDSIZE" != "32" ]; then
+	build_options_default+=" svtav1"
+fi
+
+_apply_patch() {
+	local args="$1" pname="$(basename $2)"
+
+	if [ ! -f ".${pname}_done" ]; then
+		patch -N $args -i $2
+		touch .${pname}_done
+	fi
+}
+
+post_patch() {
+	case "$XBPS_TARGET_MACHINE" in
+		ppc64le*) ;;
+		ppc*) _apply_patch -p1 ${FILESDIR}/altivec.patch ;;
+	esac
+}
+
+do_configure() {
+	# Fix gcc on x86_64-musl only
+	if [ "$XBPS_TARGET_MACHINE" = "x86_64-musl" ]; then
+		vsed -i configure -e "s;_cflags_speed='-O3';_cflags_speed='-O2';"
+	fi
+
+	if [ "$CROSS_BUILD" ]; then
+		case "$XBPS_TARGET_MACHINE" in
+			arm*) _arch="arm";;
+			aarch64*) _arch="aarch64";;
+			mips*) _arch="mips";;
+			ppc64*) _arch="ppc64";;
+			ppc*) _arch="ppc";;
+			*) _arch="${XBPS_TARGET_MACHINE%%-musl}";;
+		esac
+
+		_args+=" --enable-cross-compile
+			--sysroot=$XBPS_CROSS_BASE
+			--cross-prefix=${XBPS_CROSS_TRIPLET}-
+			--target-os=linux --arch=${_arch}"
+	fi
+
+	case "$XBPS_TARGET_MACHINE" in
+		ppc|ppc-musl) _args+=" --disable-altivec";;
+	esac
+
+	./configure --prefix=/usr --disable-debug --enable-gpl --enable-gnutls \
+		--disable-stripping \
+		--enable-libcdio --enable-version3 --enable-runtime-cpudetect \
+		--enable-libmp3lame --enable-libvorbis --enable-libxvid \
+		--enable-libx264 $(vopt_enable vpx libvpx) --enable-libtheora \
+		--enable-shared --enable-static --enable-libxcb \
+		$(vopt_enable pulseaudio libpulse) --enable-libfreetype --enable-libmodplug \
+		--enable-libspeex --enable-libcelt --enable-libass \
+		--enable-libopus --enable-librtmp --enable-libjack \
+		$(vopt_if fdk_aac '--enable-nonfree --enable-libfdk-aac') \
+		--disable-libopencore_amrnb --disable-libopencore_amrwb \
+		--disable-libopenjpeg --enable-libbluray \
+		--enable-postproc --enable-opencl --enable-libvmaf ${_args} \
+		$(vopt_enable x265 libx265) \
+		$(vopt_enable v4l2 libv4l2) \
+		$(vopt_enable aom libaom) $(vopt_enable vaapi) $(vopt_enable vdpau) \
+		--enable-libbs2b --enable-libvidstab \
+		$(vopt_enable dav1d libdav1d) \
+		$(vopt_enable zimg libzimg) \
+		$(vopt_enable webp libwebp) \
+		$(vopt_enable sofa libmysofa) \
+		$(vopt_enable vulkan) \
+		$(vopt_enable onevpl libvpl) \
+		$(vopt_enable drm libdrm) \
+		$(vopt_enable svtav1 libsvtav1) \
+		$(vopt_enable srt libsrt) \
+		$(vopt_enable rist librist) \
+		$(vopt_enable nvenc nvenc) \
+		$(vopt_enable nvdec nvdec)
+}
+
+do_build() {
+	make ${makejobs}
+	make doc/ff{mpeg,play}.1
+}
+
+do_install() {
+	make DESTDIR=${DESTDIR} install install-man
+}
+
+libavcodec6_package() {
+	short_desc="FFmpeg codec library"
+	pkg_install() {
+		vmove "usr/lib/libavcodec.so.*"
+	}
+}
+
+libavdevice6_package() {
+	short_desc="FFmpeg device handling library"
+	pkg_install() {
+		vmove "usr/lib/libavdevice.so.*"
+	}
+}
+
+libavresample6_package() {
+	short_desc="Package deprecated, removal needed"
+	build_style=meta
+}
+
+libavformat6_package() {
+	short_desc="FFmpeg file format library"
+	pkg_install() {
+		vmove "usr/lib/libavformat.so.*"
+	}
+}
+
+libavutil6_package() {
+	short_desc="FFmpeg utility library"
+	pkg_install() {
+		vmove "usr/lib/libavutil.so.*"
+	}
+}
+
+libavfilter6_package() {
+	short_desc="FFmpeg audio/video filter library"
+	pkg_install() {
+		vmove "usr/lib/libavfilter.so.*"
+	}
+}
+
+libpostproc6_package() {
+	short_desc="FFmpeg video postprocessing library"
+	pkg_install() {
+		vmove "usr/lib/libpostproc.so.*"
+	}
+}
+
+libswscale6_package() {
+	short_desc="FFmpeg video scaling library"
+	pkg_install() {
+		vmove "usr/lib/libswscale.so.*"
+	}
+}
+
+libswresample6_package() {
+	short_desc="FFmpeg video resampling library"
+	pkg_install() {
+		vmove "usr/lib/libswresample.so.*"
+	}
+}
+
+ffmpeg6-devel_package() {
+	depends="
+		libavcodec6>=${version}_${revision}
+		libavdevice6>=${version}_${revision}
+		libavformat6>=${version}_${revision}
+		libavutil6>=${version}_${revision}
+		libavfilter6>=${version}_${revision}
+		libpostproc6>=${version}_${revision}
+		libswscale6>=${version}_${revision}
+		libswresample6>=${version}_${revision}"
+	short_desc+=" - development files"
+	conflicts="ffmpeg-devel"
+	if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
+		# /usr/bin/strip: error: the input file '/destdir//ffmpeg-devel-4.4.4/usr/lib/libavfilter.a(vf_atadenoise.o)' has no sections
+		nostrip_files="/usr/lib/libavfilter.a"
+	fi
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove usr/share/ffmpeg/examples
+		vmove usr/share/man/man3
+	}
+}
+
+ffplay6_package() {
+	short_desc="Simple video player using FFmpeg and SDL2"
+	pkg_install() {
+		vmove usr/bin/ffplay
+		vmove "usr/share/man/man1/ffplay*"
+	}
+}
diff --git a/srcpkgs/ffplay6 b/srcpkgs/ffplay6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/ffplay6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavcodec6 b/srcpkgs/libavcodec6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavcodec6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavdevice6 b/srcpkgs/libavdevice6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavdevice6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavfilter6 b/srcpkgs/libavfilter6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavfilter6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavformat6 b/srcpkgs/libavformat6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavformat6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavresample6 b/srcpkgs/libavresample6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavresample6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavutil6 b/srcpkgs/libavutil6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavutil6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libpostproc6 b/srcpkgs/libpostproc6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libpostproc6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libswresample6 b/srcpkgs/libswresample6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libswresample6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libswscale6 b/srcpkgs/libswscale6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libswscale6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: New package: ffmpeg6-6.0.1
  2024-07-06 20:05 [PR PATCH] Ffmpeg6pkg zlice
  2024-07-20 21:44 ` [PR PATCH] [Updated] New package: ffmpeg6-6.0.1 classabbyamp
@ 2024-07-20 21:44 ` classabbyamp
  2024-07-20 21:45 ` classabbyamp
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: classabbyamp @ 2024-07-20 21:44 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 225 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/51132#issuecomment-2241303287

Comment:
- rebased
- made ffplay a transitional package too
- linted ffmpeg6 template

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: New package: ffmpeg6-6.0.1
  2024-07-06 20:05 [PR PATCH] Ffmpeg6pkg zlice
  2024-07-20 21:44 ` [PR PATCH] [Updated] New package: ffmpeg6-6.0.1 classabbyamp
  2024-07-20 21:44 ` classabbyamp
@ 2024-07-20 21:45 ` classabbyamp
  2024-07-21  1:01 ` [PR REVIEW] " classabbyamp
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: classabbyamp @ 2024-07-20 21:45 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 275 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/51132#issuecomment-2241303589

Comment:
not a fan of how `ffmpeg{,6}-devel` conflict with each other, but I think the only way to make that better is to add `replaces=`

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PR REVIEW] New package: ffmpeg6-6.0.1
  2024-07-06 20:05 [PR PATCH] Ffmpeg6pkg zlice
                   ` (2 preceding siblings ...)
  2024-07-20 21:45 ` classabbyamp
@ 2024-07-21  1:01 ` classabbyamp
  2024-07-21  1:02 ` classabbyamp
                   ` (3 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: classabbyamp @ 2024-07-21  1:01 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 187 bytes --]

New review comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/51132#discussion_r1685542841

Comment:
does this still happen on ffmpeg6?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: New package: ffmpeg6-6.0.1
  2024-07-06 20:05 [PR PATCH] Ffmpeg6pkg zlice
                   ` (3 preceding siblings ...)
  2024-07-21  1:01 ` [PR REVIEW] " classabbyamp
@ 2024-07-21  1:02 ` classabbyamp
  2024-07-21  1:49 ` [PR REVIEW] " zlice
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 9+ messages in thread
From: classabbyamp @ 2024-07-21  1:02 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 326 bytes --]

New comment by classabbyamp on void-packages repository

https://github.com/void-linux/void-packages/pull/51132#issuecomment-2241303287

Comment:
- rebased
- made ffplay a transitional package too
- linted ffmpeg6 template

once ffmpeg 4 is less needed, let's make the `ffmpeg` template a metapackage fully, à la `linux`

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PR REVIEW] New package: ffmpeg6-6.0.1
  2024-07-06 20:05 [PR PATCH] Ffmpeg6pkg zlice
                   ` (4 preceding siblings ...)
  2024-07-21  1:02 ` classabbyamp
@ 2024-07-21  1:49 ` zlice
  2024-07-21 22:42 ` [PR PATCH] [Updated] " classabbyamp
  2024-07-21 23:03 ` [PR PATCH] [Closed]: " classabbyamp
  7 siblings, 0 replies; 9+ messages in thread
From: zlice @ 2024-07-21  1:49 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1363 bytes --]

New review comment by zlice on void-packages repository

https://github.com/void-linux/void-packages/pull/51132#discussion_r1685589919

Comment:
```
=> ffmpeg6-devel-6.0.1_1: running post-install hook: 06-strip-and-debug-pkgs ...
   Stripped static library: /usr/lib/libswresample.a
   Stripped static library: /usr/lib/libavcodec.a
   Stripped static library: /usr/lib/libavformat.a
   Stripped static library: /usr/lib/libswscale.a
   Stripped static library: /usr/lib/libavutil.a
   Stripped static library: /usr/lib/libpostproc.a
   Stripped static library: /usr/lib/libavdevice.a
/usr/bin/strip: error: the input file '/destdir//ffmpeg6-devel-6.0.1/usr/lib/libavfilter.a(vf_atadenoise.o)' has no sections
=> ERROR: ffmpeg6-devel-6.0.1_1: failed to strip /usr/lib/libavfilter.a
=> ERROR: ffmpeg6-devel-6.0.1_1: post-install_06-strip-and-debug-pkgs: 'find ${PKGDESTDIR} -type f' exited with 1
=> ERROR:   in hook() at common/hooks/post-install/06-strip-and-debug-pkgs.sh:68
=> ERROR:   in run_func() at common/xbps-src/shutils/common.sh:57
=> ERROR:   in run_pkg_hooks() at common/xbps-src/shutils/common.sh:314
=> ERROR:   in main() at common/xbps-src/libexec/xbps-src-doinstall.sh:66
```

forget the exact reason but other distros `--disable-stripping` and there was some ffmpeg/gcc/strip thing about the library not having sections bc 'x'

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PR PATCH] [Updated] New package: ffmpeg6-6.0.1
  2024-07-06 20:05 [PR PATCH] Ffmpeg6pkg zlice
                   ` (5 preceding siblings ...)
  2024-07-21  1:49 ` [PR REVIEW] " zlice
@ 2024-07-21 22:42 ` classabbyamp
  2024-07-21 23:03 ` [PR PATCH] [Closed]: " classabbyamp
  7 siblings, 0 replies; 9+ messages in thread
From: classabbyamp @ 2024-07-21 22:42 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1452 bytes --]

There is an updated pull request by classabbyamp against master on the void-packages repository

https://github.com/zlice/void-packages ffmpeg6pkg
https://github.com/void-linux/void-packages/pull/51132

New package: ffmpeg6-6.0.1
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, **x86_64**, **i686**
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - **aarch64**
  - **x86_64-musl**


#### Comments

Makes `ffmpeg` a transitional meta package that is still version 4 but depends on `ffmpeg6` which has binaries and libraries. Should allow for a slow transition to move things over to 6 and avoid breaking current installs.


#### pre-reqs

- opencv https://github.com/void-linux/void-packages/pull/51124
- qtav remove https://github.com/void-linux/void-packages/pull/51123
- flowblade https://github.com/void-linux/void-packages/pull/50385
- idjc https://github.com/void-linux/void-packages/pull/48944

![it-starts-timon](https://github.com/void-linux/void-packages/assets/8009811/6f701b03-00a7-4bb4-8ccc-70a375bdc491)


A patch file from https://github.com/void-linux/void-packages/pull/51132.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-ffmpeg6pkg-51132.patch --]
[-- Type: text/x-diff, Size: 23654 bytes --]

From 677a2164e4e42d0211a168900b7293c8587af88f Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
Date: Sat, 6 Jul 2024 15:52:45 -0400
Subject: [PATCH 1/4] nv-codec-headers: update to 12.0.16.1

---
 srcpkgs/nv-codec-headers/template | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/srcpkgs/nv-codec-headers/template b/srcpkgs/nv-codec-headers/template
index 8f04477e378e55..6798f9cbd6bb2f 100644
--- a/srcpkgs/nv-codec-headers/template
+++ b/srcpkgs/nv-codec-headers/template
@@ -1,15 +1,15 @@
 # Template file for 'nv-codec-headers'
 pkgname=nv-codec-headers
 reverts="12.2.72.0_1"
-version=11.1.5.1
-revision=2
+version=12.0.16.1
+revision=1
 build_style=gnu-makefile
 short_desc="FFmpeg version of headers required to interface with Nvidias codec APIs"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="MIT"
 homepage="http://git.videolan.org/?p=ffmpeg/nv-codec-headers.git"
 distfiles="https://github.com/FFmpeg/nv-codec-headers/archive/n${version}.tar.gz"
-checksum=d095fbd56aa93772471a323be0ebe65504a0f43f06c76a30b6d25da77b06ae9c
+checksum=37e31c7ed0c9bf2da74646a3ec426c38a6d29e60b1fb7bff3e03a99b9412e050
 
 post_install() {
 	sed -n '4,25p' include/ffnvcodec/nvEncodeAPI.h > LICENSE

From ef6cfa888f9740e4d1d7b1eaff39014a125a4c2d Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
Date: Sat, 6 Jul 2024 15:38:10 -0400
Subject: [PATCH 2/4] ffmpeg: remove bin packages

now provided by ffmpeg6
---
 srcpkgs/ffmpeg/template | 27 +++++++++++++++++----------
 1 file changed, 17 insertions(+), 10 deletions(-)

diff --git a/srcpkgs/ffmpeg/template b/srcpkgs/ffmpeg/template
index 93618cd977537e..0778dff73e8089 100644
--- a/srcpkgs/ffmpeg/template
+++ b/srcpkgs/ffmpeg/template
@@ -2,8 +2,9 @@
 # audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
 pkgname=ffmpeg
 version=4.4.4
-revision=7
-short_desc="Decoding, encoding and streaming software"
+revision=8
+build_style=meta
+short_desc="Decoding, encoding and streaming software (transitional dummy package)"
 maintainer="Orphaned <orphan@voidlinux.org>"
 license="GPL-3.0-or-later"
 homepage="https://www.ffmpeg.org"
@@ -29,11 +30,13 @@ makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-deve
  $(vopt_if srt srt-devel) $(vopt_if rist librist-devel)
  $(vopt_if vulkan 'vulkan-loader-devel')
  $(vopt_if nvenc nv-codec-headers) $(vopt_if nvdec nv-codec-headers)"
-depends="ffplay>=${version}_${revision}"
+# ffmpeg6 provides ffmpeg, ffprobe, ffplay, etc
+depends="ffmpeg6"
 
 build_options="x265 v4l2 vaapi vdpau vpx fdk_aac aom nvenc sndio pulseaudio
  dav1d zimg webp sofa vulkan drm svtav1 srt rist nvdec"
 build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d webp vulkan drm srt rist"
+
 desc_option_srt="Enable support for SRT (Secure, Reliable, Transport)"
 desc_option_rist="Enable support for RIST (Reliable Internet Stream Transport)"
 desc_option_sofa="Enable support for AES SOFA"
@@ -132,11 +135,16 @@ do_configure() {
 
 do_build() {
 	make ${makejobs}
-	make doc/ff{mpeg,play}.1
 }
 
+# transitional dummy package for ffmpeg6
+# binaries conflict with 6
 do_install() {
-	make DESTDIR=${DESTDIR} install install-man
+	make DESTDIR=${DESTDIR} install
+	rm -rf ${DESTDIR}/usr/bin
+	rm -rf ${DESTDIR}/usr/share/man/man1
+	rm -rf ${DESTDIR}/usr/share/ffmpeg/ffprobe.xsd
+	rm -rf ${DESTDIR}/usr/share/ffmpeg/libvpx*ffpreset
 }
 
 libavcodec_package() {
@@ -214,6 +222,7 @@ ffmpeg-devel_package() {
 		libswresample>=${version}_${revision}
 		libavresample>=${version}_${revision}"
 	short_desc+=" - development files"
+	conflicts="ffmpeg6-devel"
 
 	if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
 		# /usr/bin/strip: error: the input file '/destdir//ffmpeg-devel-4.4.4/usr/lib/libavfilter.a(vf_atadenoise.o)' has no sections
@@ -231,9 +240,7 @@ ffmpeg-devel_package() {
 }
 
 ffplay_package() {
-	short_desc="Simple video player using FFmpeg and SDL2"
-	pkg_install() {
-		vmove usr/bin/ffplay
-		vmove "usr/share/man/man1/ffplay*"
-	}
+	short_desc="Simple video player using FFmpeg and SDL2 (transitional dummy package)"
+	build_style="meta"
+	depends="ffplay6"
 }

From e2befbd49ceb6ea624db8322ab0fd29a875794ec Mon Sep 17 00:00:00 2001
From: zlice <zlice555@gmail.com>
Date: Sat, 20 Jul 2024 17:40:38 -0400
Subject: [PATCH 3/4] New package: ffmpeg6-6.0.1

---
 common/shlibs                               |   8 +
 srcpkgs/ffmpeg6-devel                       |   1 +
 srcpkgs/ffmpeg6/patches/qsv.patch           |  15 ++
 srcpkgs/ffmpeg6/patches/qt6-webengine.patch |  36 +++
 srcpkgs/ffmpeg6/template                    | 234 ++++++++++++++++++++
 srcpkgs/ffplay6                             |   1 +
 srcpkgs/libavcodec6                         |   1 +
 srcpkgs/libavdevice6                        |   1 +
 srcpkgs/libavfilter6                        |   1 +
 srcpkgs/libavformat6                        |   1 +
 srcpkgs/libavresample6                      |   1 +
 srcpkgs/libavutil6                          |   1 +
 srcpkgs/libpostproc6                        |   1 +
 srcpkgs/libswresample6                      |   1 +
 srcpkgs/libswscale6                         |   1 +
 15 files changed, 304 insertions(+)
 create mode 120000 srcpkgs/ffmpeg6-devel
 create mode 100644 srcpkgs/ffmpeg6/patches/qsv.patch
 create mode 100644 srcpkgs/ffmpeg6/patches/qt6-webengine.patch
 create mode 100644 srcpkgs/ffmpeg6/template
 create mode 120000 srcpkgs/ffplay6
 create mode 120000 srcpkgs/libavcodec6
 create mode 120000 srcpkgs/libavdevice6
 create mode 120000 srcpkgs/libavfilter6
 create mode 120000 srcpkgs/libavformat6
 create mode 120000 srcpkgs/libavresample6
 create mode 120000 srcpkgs/libavutil6
 create mode 120000 srcpkgs/libpostproc6
 create mode 120000 srcpkgs/libswresample6
 create mode 120000 srcpkgs/libswscale6

diff --git a/common/shlibs b/common/shlibs
index 3e00d163604c75..3a49ea5d6df2c0 100644
--- a/common/shlibs
+++ b/common/shlibs
@@ -392,6 +392,14 @@ libid3tag.so.0 libid3tag-0.15.1b_1
 libgif.so.7 giflib-5.1.0_1
 libImlib2.so.1 imlib2-1.4.2_1
 libmp3lame.so.0 lame-3.98.2_1
+libavdevice.so.60 libavdevice6-6.0_1
+libavformat.so.60 libavformat6-6.0_1
+libswscale.so.7 libswscale6-6.0_1
+libswresample.so.4 libswresample6-6.0_1
+libpostproc.so.57 libpostproc6-6.0_1
+libavcodec.so.60 libavcodec6-6.0_1
+libavutil.so.58 libavutil6-6.0_1
+libavfilter.so.9 libavfilter6-6.0_1
 libavdevice.so.58 libavdevice-4.0_1
 libavformat.so.58 libavformat-4.0_1
 libswscale.so.5 libswscale-4.0_1
diff --git a/srcpkgs/ffmpeg6-devel b/srcpkgs/ffmpeg6-devel
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/ffmpeg6-devel
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/ffmpeg6/patches/qsv.patch b/srcpkgs/ffmpeg6/patches/qsv.patch
new file mode 100644
index 00000000000000..94ef68f5683f3a
--- /dev/null
+++ b/srcpkgs/ffmpeg6/patches/qsv.patch
@@ -0,0 +1,15 @@
+diff --git a/libavcodec/qsvdec.c b/libavcodec/qsvdec.c
+index da700f25e9..b501964089 100644
+--- a/libavcodec/qsvdec.c
++++ b/libavcodec/qsvdec.c
+@@ -1076,6 +1076,9 @@  static int qsv_decode_frame(AVCodecContext *avctx, AVFrame *frame,
+ 
+         ret = qsv_process_data(avctx, &s->qsv, frame, got_frame, &s->buffer_pkt);
+         if (ret < 0){
++            if (ret == AVERROR(EAGAIN))
++                ret = 0;
++
+             /* Drop buffer_pkt when failed to decode the packet. Otherwise,
+                the decoder will keep decoding the failure packet. */
+             av_packet_unref(&s->buffer_pkt);
+
diff --git a/srcpkgs/ffmpeg6/patches/qt6-webengine.patch b/srcpkgs/ffmpeg6/patches/qt6-webengine.patch
new file mode 100644
index 00000000000000..c0b397ba849438
--- /dev/null
+++ b/srcpkgs/ffmpeg6/patches/qt6-webengine.patch
@@ -0,0 +1,36 @@
+https://aur.archlinux.org/cgit/aur.git/tree/040-ffmpeg-add-av_stream_get_first_dts-for-chromium.patch?h=ffmpeg-intel-full-git
+diff --git a/libavformat/avformat.h b/libavformat/avformat.h
+index cd7b0d941c..b4a6dce885 100644
+--- a/libavformat/avformat.h
++++ b/libavformat/avformat.h
+@@ -1025,6 +1025,10 @@
+
+ #define AV_PROGRAM_RUNNING 1
+
++// Chromium: We use the internal field first_dts vvv
++int64_t    av_stream_get_first_dts(const AVStream *st);
++// Chromium: We use the internal field first_dts ^^^
++
+ /**
+  * New fields can be added to the end with minor version bumps.
+  * Removal, reordering and changes to existing fields require a major
+
+diff --git a/libavformat/utils.c b/libavformat/utils.c
+index de7580c32d..0ef0fe530e 100644
+--- a/libavformat/utils.c
++++ b/libavformat/utils.c
+@@ -152,6 +152,13 @@
+     return AV_CODEC_ID_NONE;
+ }
+
++// Chromium: We use the internal field first_dts vvv
++int64_t av_stream_get_first_dts(const AVStream *st)
++{
++  return cffstream(st)->first_dts;
++}
++// Chromium: We use the internal field first_dts ^^^
++
+ enum AVCodecID ff_get_pcm_codec_id(int bps, int flt, int be, int sflags)
+ {
+     if (bps <= 0 || bps > 64)
+
diff --git a/srcpkgs/ffmpeg6/template b/srcpkgs/ffmpeg6/template
new file mode 100644
index 00000000000000..a925e95395cc8a
--- /dev/null
+++ b/srcpkgs/ffmpeg6/template
@@ -0,0 +1,234 @@
+# Template file for 'ffmpeg6'
+# audacity also needs to be bumped when a new ffmpeg version bumps libavformat's soname!
+pkgname=ffmpeg6
+version=6.0.1
+revision=1
+hostmakedepends="pkg-config perl"
+makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-devel
+ libXext-devel libXvMC-devel libxcb-devel lame-devel libtheora-devel
+ libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel
+ libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel
+ speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel
+ libbs2b-devel libvidstab-devel vmaf-devel libbluray-devel
+ $(vopt_if pulseaudio pulseaudio-devel)
+ $(vopt_if vaapi libva-devel) $(vopt_if vdpau libvdpau-devel)
+ $(vopt_if x265 x265-devel) $(vopt_if v4l2 v4l-utils-devel)
+ $(vopt_if fdk_aac fdk-aac-devel) $(vopt_if vpx libvpx-devel)
+ $(vopt_if aom libaom-devel) $(vopt_if sndio sndio-devel)
+ $(vopt_if dav1d libdav1d-devel) $(vopt_if zimg zimg-devel)
+ $(vopt_if webp libwebp-devel) $(vopt_if sofa libmysofa-devel)
+ $(vopt_if drm libdrm-devel) $(vopt_if svtav1 libsvt-av1-devel)
+ $(vopt_if srt srt-devel) $(vopt_if rist librist-devel)
+ $(vopt_if vulkan 'vulkan-loader-devel')
+ $(vopt_if onevpl 'oneVPL oneVPL-devel')
+ $(vopt_if nvenc nv-codec-headers) $(vopt_if nvdec nv-codec-headers)"
+depends="ffplay6>=${version}_${revision}"
+short_desc="Decoding, encoding and streaming software"
+maintainer="Orphaned <orphan@voidlinux.org>"
+license="GPL-3.0-or-later"
+homepage="https://www.ffmpeg.org"
+changelog="https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/Changelog"
+distfiles="https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz"
+checksum=9b16b8731d78e596b4be0d720428ca42df642bb2d78342881ff7f5bc29fc9623
+
+build_options="x265 v4l2 vaapi vdpau vpx fdk_aac aom nvenc sndio pulseaudio
+ dav1d zimg webp sofa vulkan drm svtav1 srt rist nvdec onevpl"
+build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d webp vulkan drm srt rist"
+desc_option_srt="Enable support for SRT (Secure, Reliable, Transport)"
+desc_option_rist="Enable support for RIST (Reliable Internet Stream Transport)"
+desc_option_sofa="Enable support for AES SOFA"
+desc_option_webp="Enable support for WebP"
+
+case "$XBPS_TARGET_MACHINE" in
+	i686*)
+		build_options_default+=" vaapi vdpau nvenc nvdec"
+		hostmakedepends+=" nasm"
+		;;
+	x86_64*)
+		hostmakedepends+=" nasm"
+		build_options_default+=" vaapi vdpau nvenc nvdec onevpl"
+		;;
+	ppc64*) build_options_default+=" vaapi vdpau";;
+	mips*) CFLAGS="-mnan=legacy";;
+esac
+
+if [ "$XBPS_TARGET_WORDSIZE" != "32" ]; then
+	build_options_default+=" svtav1"
+fi
+
+_apply_patch() {
+	local args="$1" pname="$(basename $2)"
+
+	if [ ! -f ".${pname}_done" ]; then
+		patch -N $args -i $2
+		touch .${pname}_done
+	fi
+}
+
+post_patch() {
+	case "$XBPS_TARGET_MACHINE" in
+		ppc64le*) ;;
+		ppc*) _apply_patch -p1 ${FILESDIR}/altivec.patch ;;
+	esac
+}
+
+do_configure() {
+	# Fix gcc on x86_64-musl only
+	if [ "$XBPS_TARGET_MACHINE" = "x86_64-musl" ]; then
+		vsed -i configure -e "s;_cflags_speed='-O3';_cflags_speed='-O2';"
+	fi
+
+	if [ "$CROSS_BUILD" ]; then
+		case "$XBPS_TARGET_MACHINE" in
+			arm*) _arch="arm";;
+			aarch64*) _arch="aarch64";;
+			mips*) _arch="mips";;
+			ppc64*) _arch="ppc64";;
+			ppc*) _arch="ppc";;
+			*) _arch="${XBPS_TARGET_MACHINE%%-musl}";;
+		esac
+
+		_args+=" --enable-cross-compile
+			--sysroot=$XBPS_CROSS_BASE
+			--cross-prefix=${XBPS_CROSS_TRIPLET}-
+			--target-os=linux --arch=${_arch}"
+	fi
+
+	case "$XBPS_TARGET_MACHINE" in
+		ppc|ppc-musl) _args+=" --disable-altivec";;
+	esac
+
+	./configure --prefix=/usr --disable-debug --enable-gpl --enable-gnutls \
+		--disable-stripping \
+		--enable-libcdio --enable-version3 --enable-runtime-cpudetect \
+		--enable-libmp3lame --enable-libvorbis --enable-libxvid \
+		--enable-libx264 $(vopt_enable vpx libvpx) --enable-libtheora \
+		--enable-shared --enable-static --enable-libxcb \
+		$(vopt_enable pulseaudio libpulse) --enable-libfreetype --enable-libmodplug \
+		--enable-libspeex --enable-libcelt --enable-libass \
+		--enable-libopus --enable-librtmp --enable-libjack \
+		$(vopt_if fdk_aac '--enable-nonfree --enable-libfdk-aac') \
+		--disable-libopencore_amrnb --disable-libopencore_amrwb \
+		--disable-libopenjpeg --enable-libbluray \
+		--enable-postproc --enable-opencl --enable-libvmaf ${_args} \
+		$(vopt_enable x265 libx265) \
+		$(vopt_enable v4l2 libv4l2) \
+		$(vopt_enable aom libaom) $(vopt_enable vaapi) $(vopt_enable vdpau) \
+		--enable-libbs2b --enable-libvidstab \
+		$(vopt_enable dav1d libdav1d) \
+		$(vopt_enable zimg libzimg) \
+		$(vopt_enable webp libwebp) \
+		$(vopt_enable sofa libmysofa) \
+		$(vopt_enable vulkan) \
+		$(vopt_enable onevpl libvpl) \
+		$(vopt_enable drm libdrm) \
+		$(vopt_enable svtav1 libsvtav1) \
+		$(vopt_enable srt libsrt) \
+		$(vopt_enable rist librist) \
+		$(vopt_enable nvenc nvenc) \
+		$(vopt_enable nvdec nvdec)
+}
+
+do_build() {
+	make ${makejobs}
+	make doc/ff{mpeg,play}.1
+}
+
+do_install() {
+	make DESTDIR=${DESTDIR} install install-man
+}
+
+libavcodec6_package() {
+	short_desc="FFmpeg codec library"
+	pkg_install() {
+		vmove "usr/lib/libavcodec.so.*"
+	}
+}
+
+libavdevice6_package() {
+	short_desc="FFmpeg device handling library"
+	pkg_install() {
+		vmove "usr/lib/libavdevice.so.*"
+	}
+}
+
+libavresample6_package() {
+	short_desc="Package deprecated, removal needed"
+	build_style=meta
+}
+
+libavformat6_package() {
+	short_desc="FFmpeg file format library"
+	pkg_install() {
+		vmove "usr/lib/libavformat.so.*"
+	}
+}
+
+libavutil6_package() {
+	short_desc="FFmpeg utility library"
+	pkg_install() {
+		vmove "usr/lib/libavutil.so.*"
+	}
+}
+
+libavfilter6_package() {
+	short_desc="FFmpeg audio/video filter library"
+	pkg_install() {
+		vmove "usr/lib/libavfilter.so.*"
+	}
+}
+
+libpostproc6_package() {
+	short_desc="FFmpeg video postprocessing library"
+	pkg_install() {
+		vmove "usr/lib/libpostproc.so.*"
+	}
+}
+
+libswscale6_package() {
+	short_desc="FFmpeg video scaling library"
+	pkg_install() {
+		vmove "usr/lib/libswscale.so.*"
+	}
+}
+
+libswresample6_package() {
+	short_desc="FFmpeg video resampling library"
+	pkg_install() {
+		vmove "usr/lib/libswresample.so.*"
+	}
+}
+
+ffmpeg6-devel_package() {
+	depends="
+		libavcodec6>=${version}_${revision}
+		libavdevice6>=${version}_${revision}
+		libavformat6>=${version}_${revision}
+		libavutil6>=${version}_${revision}
+		libavfilter6>=${version}_${revision}
+		libpostproc6>=${version}_${revision}
+		libswscale6>=${version}_${revision}
+		libswresample6>=${version}_${revision}"
+	short_desc+=" - development files"
+	conflicts="ffmpeg-devel"
+	if [ "$XBPS_TARGET_MACHINE" = "i686" ]; then
+		# /usr/bin/strip: error: the input file '/destdir//ffmpeg-devel-4.4.4/usr/lib/libavfilter.a(vf_atadenoise.o)' has no sections
+		nostrip_files="/usr/lib/libavfilter.a"
+	fi
+	pkg_install() {
+		vmove usr/include
+		vmove usr/lib/pkgconfig
+		vmove "usr/lib/*.a"
+		vmove "usr/lib/*.so"
+		vmove usr/share/ffmpeg/examples
+		vmove usr/share/man/man3
+	}
+}
+
+ffplay6_package() {
+	short_desc="Simple video player using FFmpeg and SDL2"
+	pkg_install() {
+		vmove usr/bin/ffplay
+		vmove "usr/share/man/man1/ffplay*"
+	}
+}
diff --git a/srcpkgs/ffplay6 b/srcpkgs/ffplay6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/ffplay6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavcodec6 b/srcpkgs/libavcodec6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavcodec6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavdevice6 b/srcpkgs/libavdevice6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavdevice6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavfilter6 b/srcpkgs/libavfilter6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavfilter6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavformat6 b/srcpkgs/libavformat6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavformat6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavresample6 b/srcpkgs/libavresample6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavresample6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libavutil6 b/srcpkgs/libavutil6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libavutil6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libpostproc6 b/srcpkgs/libpostproc6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libpostproc6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libswresample6 b/srcpkgs/libswresample6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libswresample6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file
diff --git a/srcpkgs/libswscale6 b/srcpkgs/libswscale6
new file mode 120000
index 00000000000000..ccdfc6aa0e84ea
--- /dev/null
+++ b/srcpkgs/libswscale6
@@ -0,0 +1 @@
+ffmpeg6
\ No newline at end of file

From 11f817ee646c56e4d46a22d9555c66a5c6f62895 Mon Sep 17 00:00:00 2001
From: classabbyamp <void@placeviolette.net>
Date: Sun, 21 Jul 2024 18:42:40 -0400
Subject: [PATCH 4/4] fixup! New package: ffmpeg6-6.0.1

---
 srcpkgs/ffmpeg6/template | 56 ++++++++++++++--------------------------
 1 file changed, 20 insertions(+), 36 deletions(-)

diff --git a/srcpkgs/ffmpeg6/template b/srcpkgs/ffmpeg6/template
index a925e95395cc8a..4538a152394226 100644
--- a/srcpkgs/ffmpeg6/template
+++ b/srcpkgs/ffmpeg6/template
@@ -9,19 +9,13 @@ makedepends="zlib-devel bzip2-devel freetype-devel alsa-lib-devel libXfixes-deve
  libvorbis-devel x264-devel xvidcore-devel jack-devel SDL2-devel
  libcdio-paranoia-devel librtmp-devel libmodplug-devel gnutls-devel
  speex-devel celt-devel harfbuzz-devel libass-devel opus-devel ocl-icd-devel
- libbs2b-devel libvidstab-devel vmaf-devel libbluray-devel
- $(vopt_if pulseaudio pulseaudio-devel)
- $(vopt_if vaapi libva-devel) $(vopt_if vdpau libvdpau-devel)
- $(vopt_if x265 x265-devel) $(vopt_if v4l2 v4l-utils-devel)
- $(vopt_if fdk_aac fdk-aac-devel) $(vopt_if vpx libvpx-devel)
- $(vopt_if aom libaom-devel) $(vopt_if sndio sndio-devel)
- $(vopt_if dav1d libdav1d-devel) $(vopt_if zimg zimg-devel)
- $(vopt_if webp libwebp-devel) $(vopt_if sofa libmysofa-devel)
- $(vopt_if drm libdrm-devel) $(vopt_if svtav1 libsvt-av1-devel)
- $(vopt_if srt srt-devel) $(vopt_if rist librist-devel)
- $(vopt_if vulkan 'vulkan-loader-devel')
- $(vopt_if onevpl 'oneVPL oneVPL-devel')
- $(vopt_if nvenc nv-codec-headers) $(vopt_if nvdec nv-codec-headers)"
+ libbs2b-devel libvidstab-devel vmaf-devel libbluray-devel pulseaudio-devel
+ x265-devel v4l-utils-devel libvpx-devel libaom-devel libdav1d-devel
+ libwebp-devel libdrm-devel srt-devel librist-devel vulkan-loader-devel
+ zimg-devel libmysofa-devel
+ $(vopt_if svtav1 libsvt-av1-devel) $(vopt_if vaapi libva-devel)
+ $(vopt_if vdpau libvdpau-devel) $(vopt_if fdk_aac fdk-aac-devel)
+ $(vopt_if onevpl oneVPL-devel) $(vopt_if nvcodec nv-codec-headers)"
 depends="ffplay6>=${version}_${revision}"
 short_desc="Decoding, encoding and streaming software"
 maintainer="Orphaned <orphan@voidlinux.org>"
@@ -31,22 +25,17 @@ changelog="https://raw.githubusercontent.com/FFmpeg/FFmpeg/master/Changelog"
 distfiles="https://www.ffmpeg.org/releases/ffmpeg-${version}.tar.xz"
 checksum=9b16b8731d78e596b4be0d720428ca42df642bb2d78342881ff7f5bc29fc9623
 
-build_options="x265 v4l2 vaapi vdpau vpx fdk_aac aom nvenc sndio pulseaudio
- dav1d zimg webp sofa vulkan drm svtav1 srt rist nvdec onevpl"
-build_options_default="x265 v4l2 vpx aom sndio pulseaudio dav1d webp vulkan drm srt rist"
-desc_option_srt="Enable support for SRT (Secure, Reliable, Transport)"
-desc_option_rist="Enable support for RIST (Reliable Internet Stream Transport)"
+build_options="vaapi vdpau fdk_aac nvcodec svtav1 onevpl"
 desc_option_sofa="Enable support for AES SOFA"
-desc_option_webp="Enable support for WebP"
 
 case "$XBPS_TARGET_MACHINE" in
 	i686*)
-		build_options_default+=" vaapi vdpau nvenc nvdec"
+		build_options_default+=" vaapi vdpau nvcodec"
 		hostmakedepends+=" nasm"
 		;;
 	x86_64*)
 		hostmakedepends+=" nasm"
-		build_options_default+=" vaapi vdpau nvenc nvdec onevpl"
+		build_options_default+=" vaapi vdpau nvcodec onevpl"
 		;;
 	ppc64*) build_options_default+=" vaapi vdpau";;
 	mips*) CFLAGS="-mnan=legacy";;
@@ -102,31 +91,26 @@ do_configure() {
 		--disable-stripping \
 		--enable-libcdio --enable-version3 --enable-runtime-cpudetect \
 		--enable-libmp3lame --enable-libvorbis --enable-libxvid \
-		--enable-libx264 $(vopt_enable vpx libvpx) --enable-libtheora \
+		--enable-libx264 --enable-libvpx --enable-libtheora \
 		--enable-shared --enable-static --enable-libxcb \
-		$(vopt_enable pulseaudio libpulse) --enable-libfreetype --enable-libmodplug \
+		--enable-libpulse --enable-libfreetype --enable-libmodplug \
 		--enable-libspeex --enable-libcelt --enable-libass \
 		--enable-libopus --enable-librtmp --enable-libjack \
-		$(vopt_if fdk_aac '--enable-nonfree --enable-libfdk-aac') \
 		--disable-libopencore_amrnb --disable-libopencore_amrwb \
 		--disable-libopenjpeg --enable-libbluray \
 		--enable-postproc --enable-opencl --enable-libvmaf ${_args} \
-		$(vopt_enable x265 libx265) \
-		$(vopt_enable v4l2 libv4l2) \
-		$(vopt_enable aom libaom) $(vopt_enable vaapi) $(vopt_enable vdpau) \
-		--enable-libbs2b --enable-libvidstab \
-		$(vopt_enable dav1d libdav1d) \
+		--enable-libx265 --enable-libv4l2 --enable-libaom \
+		--enable-libbs2b --enable-libvidstab --enable-libdav1d \
+		--enable-libsrt --enable-librist --enable-libwebp \
+		--enable-vulkan --enable-libdrm \
+		$(vopt_if fdk_aac '--enable-nonfree --enable-libfdk-aac') \
+		$(vopt_enable vaapi) $(vopt_enable vdpau) \
 		$(vopt_enable zimg libzimg) \
-		$(vopt_enable webp libwebp) \
 		$(vopt_enable sofa libmysofa) \
-		$(vopt_enable vulkan) \
 		$(vopt_enable onevpl libvpl) \
-		$(vopt_enable drm libdrm) \
 		$(vopt_enable svtav1 libsvtav1) \
-		$(vopt_enable srt libsrt) \
-		$(vopt_enable rist librist) \
-		$(vopt_enable nvenc nvenc) \
-		$(vopt_enable nvdec nvdec)
+		$(vopt_enable nvcodec nvenc) \
+		$(vopt_enable nvcodec nvdec)
 }
 
 do_build() {

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PR PATCH] [Closed]: New package: ffmpeg6-6.0.1
  2024-07-06 20:05 [PR PATCH] Ffmpeg6pkg zlice
                   ` (6 preceding siblings ...)
  2024-07-21 22:42 ` [PR PATCH] [Updated] " classabbyamp
@ 2024-07-21 23:03 ` classabbyamp
  7 siblings, 0 replies; 9+ messages in thread
From: classabbyamp @ 2024-07-21 23:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 1290 bytes --]

There's a closed pull request on the void-packages repository

New package: ffmpeg6-6.0.1
https://github.com/void-linux/void-packages/pull/51132

Description:
#### Testing the changes
- I tested the changes in this PR: **YES**

#### New package
- This new package conforms to the [package requirements](https://github.com/void-linux/void-packages/blob/master/CONTRIBUTING.md#package-requirements): **YES**

#### Local build testing
- I built this PR locally for my native architecture, **x86_64**, **i686**
- I built this PR locally for these architectures (if supported. mark crossbuilds):
  - **aarch64**
  - **x86_64-musl**


#### Comments

Makes `ffmpeg` a transitional meta package that is still version 4 but depends on `ffmpeg6` which has binaries and libraries. Should allow for a slow transition to move things over to 6 and avoid breaking current installs.


#### pre-reqs

- opencv https://github.com/void-linux/void-packages/pull/51124
- qtav remove https://github.com/void-linux/void-packages/pull/51123
- flowblade https://github.com/void-linux/void-packages/pull/50385
- idjc https://github.com/void-linux/void-packages/pull/48944

![it-starts-timon](https://github.com/void-linux/void-packages/assets/8009811/6f701b03-00a7-4bb4-8ccc-70a375bdc491)


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2024-07-21 23:03 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-07-06 20:05 [PR PATCH] Ffmpeg6pkg zlice
2024-07-20 21:44 ` [PR PATCH] [Updated] New package: ffmpeg6-6.0.1 classabbyamp
2024-07-20 21:44 ` classabbyamp
2024-07-20 21:45 ` classabbyamp
2024-07-21  1:01 ` [PR REVIEW] " classabbyamp
2024-07-21  1:02 ` classabbyamp
2024-07-21  1:49 ` [PR REVIEW] " zlice
2024-07-21 22:42 ` [PR PATCH] [Updated] " classabbyamp
2024-07-21 23:03 ` [PR PATCH] [Closed]: " classabbyamp

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).