diff --git a/config/rootfiles/packages/ffmpeg b/config/rootfiles/packages/ffmpeg
index 31097eaac..d6b7985f6 100644
--- a/config/rootfiles/packages/ffmpeg
+++ b/config/rootfiles/packages/ffmpeg
@@ -26,7 +26,6 @@ usr/bin/ffprobe
 #usr/include/libavcodec/version_major.h
 #usr/include/libavcodec/videotoolbox.h
 #usr/include/libavcodec/vorbis_parser.h
-#usr/include/libavcodec/xvmc.h
 #usr/include/libavdevice
 #usr/include/libavdevice/avdevice.h
 #usr/include/libavdevice/version.h
@@ -74,6 +73,7 @@ usr/bin/ffprobe
 #usr/include/libavutil/encryption_info.h
 #usr/include/libavutil/error.h
 #usr/include/libavutil/eval.h
+#usr/include/libavutil/executor.h
 #usr/include/libavutil/ffversion.h
 #usr/include/libavutil/fifo.h
 #usr/include/libavutil/file.h
@@ -86,6 +86,7 @@ usr/bin/ffprobe
 #usr/include/libavutil/hwcontext.h
 #usr/include/libavutil/hwcontext_cuda.h
 #usr/include/libavutil/hwcontext_d3d11va.h
+#usr/include/libavutil/hwcontext_d3d12va.h
 #usr/include/libavutil/hwcontext_drm.h
 #usr/include/libavutil/hwcontext_dxva2.h
 #usr/include/libavutil/hwcontext_mediacodec.h
@@ -95,6 +96,7 @@ usr/bin/ffprobe
 #usr/include/libavutil/hwcontext_vdpau.h
 #usr/include/libavutil/hwcontext_videotoolbox.h
 #usr/include/libavutil/hwcontext_vulkan.h
+#usr/include/libavutil/iamf.h
 #usr/include/libavutil/imgutils.h
 #usr/include/libavutil/intfloat.h
 #usr/include/libavutil/intreadwrite.h
@@ -134,6 +136,7 @@ usr/bin/ffprobe
 #usr/include/libavutil/uuid.h
 #usr/include/libavutil/version.h
 #usr/include/libavutil/video_enc_params.h
+#usr/include/libavutil/video_hint.h
 #usr/include/libavutil/xtea.h
 #usr/include/libpostproc
 #usr/include/libpostproc/postprocess.h
@@ -148,29 +151,29 @@ usr/bin/ffprobe
 #usr/include/libswscale/version.h
 #usr/include/libswscale/version_major.h
 #usr/lib/libavcodec.so
-usr/lib/libavcodec.so.60
-usr/lib/libavcodec.so.60.3.100
+usr/lib/libavcodec.so.61
+usr/lib/libavcodec.so.61.3.100
 #usr/lib/libavdevice.so
-usr/lib/libavdevice.so.60
-usr/lib/libavdevice.so.60.1.100
+usr/lib/libavdevice.so.61
+usr/lib/libavdevice.so.61.1.100
 #usr/lib/libavfilter.so
-usr/lib/libavfilter.so.9
-usr/lib/libavfilter.so.9.3.100
+usr/lib/libavfilter.so.10
+usr/lib/libavfilter.so.10.1.100
 #usr/lib/libavformat.so
-usr/lib/libavformat.so.60
-usr/lib/libavformat.so.60.3.100
+usr/lib/libavformat.so.61
+usr/lib/libavformat.so.61.1.100
 #usr/lib/libavutil.so
-usr/lib/libavutil.so.58
-usr/lib/libavutil.so.58.2.100
+usr/lib/libavutil.so.59
+usr/lib/libavutil.so.59.8.100
 #usr/lib/libpostproc.so
-usr/lib/libpostproc.so.57
-usr/lib/libpostproc.so.57.1.100
+usr/lib/libpostproc.so.58
+usr/lib/libpostproc.so.58.1.100
 #usr/lib/libswresample.so
-usr/lib/libswresample.so.4
-usr/lib/libswresample.so.4.10.100
+usr/lib/libswresample.so.5
+usr/lib/libswresample.so.5.1.100
 #usr/lib/libswscale.so
-usr/lib/libswscale.so.7
-usr/lib/libswscale.so.7.1.100
+usr/lib/libswscale.so.8
+usr/lib/libswscale.so.8.1.100
 #usr/lib/pkgconfig/libavcodec.pc
 #usr/lib/pkgconfig/libavdevice.pc
 #usr/lib/pkgconfig/libavfilter.pc
diff --git a/lfs/ffmpeg b/lfs/ffmpeg
index 0118f75f2..0431de125 100644
--- a/lfs/ffmpeg
+++ b/lfs/ffmpeg
@@ -1,7 +1,7 @@
 ###############################################################################
 #                                                                             #
 # IPFire.org - A linux based firewall                                         #
-# Copyright (C) 2007-2023  IPFire Team  <info@ipfire.org>                     #
+# Copyright (C) 2007-2024  IPFire Team  <info@ipfire.org>                     #
 #                                                                             #
 # This program is free software: you can redistribute it and/or modify        #
 # it under the terms of the GNU General Public License as published by        #
@@ -26,7 +26,7 @@ include Config
 
 SUMMARY	   = Library for working with various multimedia formats
 
-VER        = 6.0
+VER        = 7.0.2
 
 THISAPP    = ffmpeg-$(VER)
 DL_FILE    = $(THISAPP).tar.xz
@@ -34,7 +34,7 @@ DL_FROM    = $(URL_IPFIRE)
 DIR_APP    = $(DIR_SRC)/$(THISAPP)
 TARGET     = $(DIR_INFO)/$(THISAPP)
 PROG       = ffmpeg
-PAK_VER    = 16
+PAK_VER    = 17
 
 DEPS       = sdl2 lame libvorbis xvid
 
@@ -52,7 +52,7 @@ objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_BLAKE2 = c70884911f3a3e40fe87473f241a2a56b303f5abe7f1d7fa797d05e29e00971f98cbf37832c1c3dc5fa949a5beddef05a6ec55ae6668091976ea870ad93c0e8d
+$(DL_FILE)_BLAKE2 = f6536f41f784f1b49ed0728d80a522676dfe1facbeb7fec3f7796683ce28c73e41508f9a5dd1e5cd18d3ff787d562bb1e6a5085ee0660076b84a76040587e5a8
 
 install : $(TARGET)
 
@@ -85,19 +85,17 @@ $(subst %,%_BLAKE2,$(objects)) :
 $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
 	@$(PREBUILD)
 	@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
-	cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/ffmpeg-6.0-mathpops-clip-constants-used-with-shift.patch
 	cd $(DIR_APP) && \
 		CFLAGS="$(CFLAGS)" \
 		LDFLAGS="$(LDFLAGS)" \
 		./configure \
-		--prefix=/usr \
-		--enable-shared \
-		--disable-static \
-		--enable-gpl \
-		--enable-version3 \
-		--enable-avfilter \
-		--disable-doc
-
+			--prefix=/usr \
+			--enable-shared \
+			--disable-static \
+			--enable-gpl \
+			--enable-version3 \
+			--enable-avfilter \
+			--disable-doc
 	cd $(DIR_APP) && make $(MAKETUNING)
 	cd $(DIR_APP) && make install
 	@rm -rf $(DIR_APP)
diff --git a/src/patches/ffmpeg-6.0-mathpops-clip-constants-used-with-shift.patch b/src/patches/ffmpeg-6.0-mathpops-clip-constants-used-with-shift.patch
deleted file mode 100644
index 52a931002..000000000
--- a/src/patches/ffmpeg-6.0-mathpops-clip-constants-used-with-shift.patch
+++ /dev/null
@@ -1,76 +0,0 @@
-From effadce6c756247ea8bae32dc13bb3e6f464f0eb Mon Sep 17 00:00:00 2001
-From: =?utf8?q?R=C3=A9mi=20Denis-Courmont?= <remi@remlab.net>
-Date: Sun, 16 Jul 2023 18:18:02 +0300
-Subject: [PATCH] avcodec/x86/mathops: clip constants used with shift
- instructions within inline assembly
-
-Fixes assembling with binutil as >= 2.41
-
-Signed-off-by: James Almer <jamrial@gmail.com>
----
- libavcodec/x86/mathops.h | 26 +++++++++++++++++++++++---
- 1 file changed, 23 insertions(+), 3 deletions(-)
-
-diff --git a/libavcodec/x86/mathops.h b/libavcodec/x86/mathops.h
-index 6298f5ed19..ca7e2dffc1 100644
---- a/libavcodec/x86/mathops.h
-+++ b/libavcodec/x86/mathops.h
-@@ -35,12 +35,20 @@
- static av_always_inline av_const int MULL(int a, int b, unsigned shift)
- {
-     int rt, dummy;
-+    if (__builtin_constant_p(shift))
-     __asm__ (
-         "imull %3               \n\t"
-         "shrdl %4, %%edx, %%eax \n\t"
-         :"=a"(rt), "=d"(dummy)
--        :"a"(a), "rm"(b), "ci"((uint8_t)shift)
-+        :"a"(a), "rm"(b), "i"(shift & 0x1F)
-     );
-+    else
-+        __asm__ (
-+            "imull %3               \n\t"
-+            "shrdl %4, %%edx, %%eax \n\t"
-+            :"=a"(rt), "=d"(dummy)
-+            :"a"(a), "rm"(b), "c"((uint8_t)shift)
-+        );
-     return rt;
- }
- 
-@@ -113,19 +121,31 @@ __asm__ volatile(\
- // avoid +32 for shift optimization (gcc should do that ...)
- #define NEG_SSR32 NEG_SSR32
- static inline  int32_t NEG_SSR32( int32_t a, int8_t s){
-+    if (__builtin_constant_p(s))
-     __asm__ ("sarl %1, %0\n\t"
-          : "+r" (a)
--         : "ic" ((uint8_t)(-s))
-+         : "i" (-s & 0x1F)
-     );
-+    else
-+        __asm__ ("sarl %1, %0\n\t"
-+               : "+r" (a)
-+               : "c" ((uint8_t)(-s))
-+        );
-     return a;
- }
- 
- #define NEG_USR32 NEG_USR32
- static inline uint32_t NEG_USR32(uint32_t a, int8_t s){
-+    if (__builtin_constant_p(s))
-     __asm__ ("shrl %1, %0\n\t"
-          : "+r" (a)
--         : "ic" ((uint8_t)(-s))
-+         : "i" (-s & 0x1F)
-     );
-+    else
-+        __asm__ ("shrl %1, %0\n\t"
-+               : "+r" (a)
-+               : "c" ((uint8_t)(-s))
-+        );
-     return a;
- }
- 
--- 
-2.25.1
-
