Skip to content

Commit 1d6da89

Browse files
committed
Enable AMD AMF, implements #186
1 parent 59afc8c commit 1d6da89

File tree

2 files changed

+61
-2
lines changed

2 files changed

+61
-2
lines changed

patches/amf-headers.patch

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
diff -crB --new-file amf-headers-v1.5.0/amf.pc.in amf-headers-v1.5.0_patched/amf.pc.in
2+
*** amf-headers-v1.5.0/amf.pc.in 1970-01-01 00:00:00.000000000 +0000
3+
--- amf-headers-v1.5.0_patched/amf.pc.in 2025-11-11 06:48:00.181040000 +0000
4+
***************
5+
*** 0 ****
6+
--- 1,7 ----
7+
+ prefix=@@PREFIX@@
8+
+ includedir=${prefix}/AMF
9+
+
10+
+ Name: amf
11+
+ Description: The version of Advanced Media Framework (AMF) SDK headers
12+
+ Version: 1.5.0
13+
+ Cflags: -I${includedir}
14+
diff -crB --new-file amf-headers-v1.5.0/Makefile amf-headers-v1.5.0_patched/Makefile
15+
*** amf-headers-v1.5.0/Makefile 1970-01-01 00:00:00.000000000 +0000
16+
--- amf-headers-v1.5.0_patched/Makefile 2025-11-11 07:34:38.261171572 +0000
17+
***************
18+
*** 0 ****
19+
--- 1,25 ----
20+
+ PREFIX = /usr/local
21+
+ LIBDIR = lib
22+
+ INSTALL = install
23+
+ SED = sed
24+
+
25+
+ all:
26+
+ ifeq ($(OS),Windows_NT)
27+
+ $(SED) 's#@@PREFIX@@#$(shell cygpath -m ${PREFIX})#' amf.pc.in > amf.pc
28+
+ else
29+
+ $(SED) 's#@@PREFIX@@#$(PREFIX)#' amf.pc.in > amf.pc
30+
+ endif
31+
+
32+
+ install: all
33+
+ $(INSTALL) -m 0755 -d '$(DESTDIR)$(PREFIX)/include/AMF/components'
34+
+ $(INSTALL) -m 0755 -d '$(DESTDIR)$(PREFIX)/include/AMF/core'
35+
+ $(INSTALL) -m 0644 AMF/components/*.h '$(DESTDIR)$(PREFIX)/include/AMF/components'
36+
+ $(INSTALL) -m 0644 AMF/core/*.h '$(DESTDIR)$(PREFIX)/include/AMF/core'
37+
+ $(INSTALL) -m 0755 -d '$(DESTDIR)$(PREFIX)/$(LIBDIR)/pkgconfig'
38+
+ $(INSTALL) -m 0644 amf.pc '$(DESTDIR)$(PREFIX)/$(LIBDIR)/pkgconfig'
39+
+
40+
+ uninstall:
41+
+ rm -rf '$(DESTDIR)$(PREFIX)/include/AMF' '$(DESTDIR)$(PREFIX)/$(LIBDIR)/pkgconfig/amf.pc'
42+
+
43+
+ .PHONY: all install uninstall
44+
+

scripts/build-ffmpeg.py

Lines changed: 17 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -234,6 +234,13 @@ def calculate_sha256(filename: str) -> str:
234234
build_system="make",
235235
)
236236

237+
amfheaders_package = Package(
238+
name="amf-headers",
239+
source_url="https://github.com/GPUOpen-LibrariesAndSDKs/AMF/releases/download/v1.5.0/AMF-headers-v1.5.0.tar.gz",
240+
sha256="d569647fa26f289affe81a206259fa92f819d06db1e80cc334559953e82a3f01",
241+
build_system="make",
242+
)
243+
237244
ffmpeg_package = Package(
238245
name="ffmpeg",
239246
source_url="https://ffmpeg.org/releases/ffmpeg-8.0.tar.xz",
@@ -299,6 +306,9 @@ def main():
299306
# Use CUDA if supported.
300307
use_cuda = plat in {"Linux", "Windows"}
301308

309+
# Use AMD AMF if supported.
310+
use_amf = plat in {"Linux", "Windows"}
311+
302312
# Use GnuTLS only on Linux, FFmpeg has native TLS backends for macOS and Windows.
303313
use_gnutls = plat == "Linux"
304314

@@ -341,8 +351,8 @@ def main():
341351
build_tools.append(
342352
Package(
343353
name="nasm",
344-
source_url="https://www.nasm.us/pub/nasm/releasebuilds/2.14.02/nasm-2.14.02.tar.bz2",
345-
sha256="34fd26c70a277a9fdd54cb5ecf389badedaf48047b269d1008fbc819b24e80bc",
354+
source_url="https://www.nasm.us/pub/nasm/releasebuilds/2.16.03/nasm-2.16.03.tar.bz2",
355+
sha256="bef3de159bcd61adf98bb7cc87ee9046e944644ad76b7633f18ab063edb29e57",
346356
)
347357
)
348358

@@ -388,6 +398,9 @@ def main():
388398
if use_cuda:
389399
ffmpeg_package.build_arguments.extend(["--enable-nvenc", "--enable-nvdec"])
390400

401+
if use_amf:
402+
ffmpeg_package.build_arguments.append("--enable-amf")
403+
391404
if not community:
392405
ffmpeg_package.build_arguments.append("--enable-libfdk_aac")
393406

@@ -414,6 +427,8 @@ def main():
414427
packages += [alsa_package]
415428
if use_cuda:
416429
packages += [nvheaders_package]
430+
if use_amf:
431+
packages += [amfheaders_package]
417432

418433
if use_gnutls:
419434
packages += gnutls_group

0 commit comments

Comments
 (0)