summary refs log tree commit diff
path: root/pkgs/development/libraries/ffmpeg
diff options
context:
space:
mode:
authorZane van Iperen <zane@zanevaniperen.com>2021-05-16 08:05:03 +1000
committerZane van Iperen <zane@zanevaniperen.com>2021-05-16 08:05:03 +1000
commit8f64c5d9fcce5981b8ea2a861566e382ddbc9731 (patch)
treef0bd2566cb137b62e66ce7952a18f397d4c73e8a /pkgs/development/libraries/ffmpeg
parentf1b78f86182a4372a4dd1b79301f01eebcd3b49d (diff)
downloadnixpkgs-8f64c5d9fcce5981b8ea2a861566e382ddbc9731.tar
nixpkgs-8f64c5d9fcce5981b8ea2a861566e382ddbc9731.tar.gz
nixpkgs-8f64c5d9fcce5981b8ea2a861566e382ddbc9731.tar.bz2
nixpkgs-8f64c5d9fcce5981b8ea2a861566e382ddbc9731.tar.lz
nixpkgs-8f64c5d9fcce5981b8ea2a861566e382ddbc9731.tar.xz
nixpkgs-8f64c5d9fcce5981b8ea2a861566e382ddbc9731.tar.zst
nixpkgs-8f64c5d9fcce5981b8ea2a861566e382ddbc9731.zip
ffmpeg_4: fix build error on darwin
See https://trac.ffmpeg.org/ticket/9242
Diffstat (limited to 'pkgs/development/libraries/ffmpeg')
-rw-r--r--pkgs/development/libraries/ffmpeg/4.nix3
-rw-r--r--pkgs/development/libraries/ffmpeg/v2-0001-avcodec-videotoolboxenc-define-TARGET_CPU_ARM64-t.patch35
2 files changed, 38 insertions, 0 deletions
diff --git a/pkgs/development/libraries/ffmpeg/4.nix b/pkgs/development/libraries/ffmpeg/4.nix
index c765cdf73c5..3a1b1c489c0 100644
--- a/pkgs/development/libraries/ffmpeg/4.nix
+++ b/pkgs/development/libraries/ffmpeg/4.nix
@@ -9,4 +9,7 @@ callPackage ./generic.nix (rec {
   branch = "4.4";
   sha256 = "03kxc29y8190k4y8s8qdpsghlbpmchv1m8iqygq2qn0vfm4ka2a2";
   darwinFrameworks = [ Cocoa CoreMedia VideoToolbox ];
+
+  /* Work around https://trac.ffmpeg.org/ticket/9242 */
+  patches = [ ./v2-0001-avcodec-videotoolboxenc-define-TARGET_CPU_ARM64-t.patch ];
 } // args)
diff --git a/pkgs/development/libraries/ffmpeg/v2-0001-avcodec-videotoolboxenc-define-TARGET_CPU_ARM64-t.patch b/pkgs/development/libraries/ffmpeg/v2-0001-avcodec-videotoolboxenc-define-TARGET_CPU_ARM64-t.patch
new file mode 100644
index 00000000000..c0c2c1fb23b
--- /dev/null
+++ b/pkgs/development/libraries/ffmpeg/v2-0001-avcodec-videotoolboxenc-define-TARGET_CPU_ARM64-t.patch
@@ -0,0 +1,35 @@
+From 5b562aaddbc6e7a94a079c2e88230b205a7f4d73 Mon Sep 17 00:00:00 2001
+From: Zane van Iperen <zane@zanevaniperen.com>
+Date: Sat, 15 May 2021 19:33:52 +1000
+Subject: [PATCH v2] avcodec/videotoolboxenc: #define TARGET_CPU_ARM64 to 0 if
+ not provided by the SDK
+
+Fixes build failure on older SDKs without it.
+
+Fixes #9242
+
+Signed-off-by: Zane van Iperen <zane@zanevaniperen.com>
+---
+ libavcodec/videotoolboxenc.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+NB: This is untested, I do not have a Mac to try it on.
+
+diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
+index 58239e0ab9..f063a86e73 100644
+--- a/libavcodec/videotoolboxenc.c
++++ b/libavcodec/videotoolboxenc.c
+@@ -50,6 +50,10 @@ enum { kCVPixelFormatType_420YpCbCr10BiPlanarFullRange = 'xf20' };
+ enum { kCVPixelFormatType_420YpCbCr10BiPlanarVideoRange = 'x420' };
+ #endif
+ 
++#ifndef TARGET_CPU_ARM64
++#   define TARGET_CPU_ARM64 0
++#endif
++
+ typedef OSStatus (*getParameterSetAtIndex)(CMFormatDescriptionRef videoDesc,
+                                            size_t parameterSetIndex,
+                                            const uint8_t **parameterSetPointerOut,
+-- 
+2.29.3
+