summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVladimír Čunát <v@cunat.cz>2021-01-30 09:19:42 +0100
committerVladimír Čunát <v@cunat.cz>2021-01-30 09:19:42 +0100
commit1c12fe62b6100b6c7846e4046e60ec50598e23e9 (patch)
tree0f2aa4e1caee7ba46f33d1d675d697a4bbe2e662
parent8026cf173606daec2d5f63f3aef96c1bf9db1d60 (diff)
parent2daee780a07e145b14aa466928bec08e00857822 (diff)
Merge #111172: libav: libvpx >= 1.8 drops some formats
This fixes the build.
-rw-r--r--pkgs/development/libraries/libav/default.nix1
-rw-r--r--pkgs/development/libraries/libav/vpx-12.3-libvpx-1.8.patch46
2 files changed, 47 insertions, 0 deletions
diff --git a/pkgs/development/libraries/libav/default.nix b/pkgs/development/libraries/libav/default.nix
index 51aa634e4084..93d6e0d209c2 100644
--- a/pkgs/development/libraries/libav/default.nix
+++ b/pkgs/development/libraries/libav/default.nix
@@ -43,6 +43,7 @@ let
patches = []
++ optional (vpxSupport && hasPrefix "0.8." version) ./vpxenc-0.8.17-libvpx-1.5.patch
+ ++ optional (vpxSupport && hasPrefix "12." version) ./vpx-12.3-libvpx-1.8.patch
;
postPatch = ''
diff --git a/pkgs/development/libraries/libav/vpx-12.3-libvpx-1.8.patch b/pkgs/development/libraries/libav/vpx-12.3-libvpx-1.8.patch
new file mode 100644
index 000000000000..8f8e5003284f
--- /dev/null
+++ b/pkgs/development/libraries/libav/vpx-12.3-libvpx-1.8.patch
@@ -0,0 +1,46 @@
+--- libav/libavcodec/libvpx.c.orig 2018-02-12 21:25:59 UTC
++++ libav/libavcodec/libvpx.c
+@@ -25,6 +25,7 @@
+ enum AVPixelFormat ff_vpx_imgfmt_to_pixfmt(vpx_img_fmt_t img)
+ {
+ switch (img) {
++#if VPX_IMAGE_ABI_VERSION < 5
+ case VPX_IMG_FMT_RGB24: return AV_PIX_FMT_RGB24;
+ case VPX_IMG_FMT_RGB565: return AV_PIX_FMT_RGB565BE;
+ case VPX_IMG_FMT_RGB555: return AV_PIX_FMT_RGB555BE;
+@@ -36,10 +37,13 @@ enum AVPixelFormat ff_vpx_imgfmt_to_pixfmt(vpx_img_fmt
+ case VPX_IMG_FMT_ARGB_LE: return AV_PIX_FMT_BGRA;
+ case VPX_IMG_FMT_RGB565_LE: return AV_PIX_FMT_RGB565LE;
+ case VPX_IMG_FMT_RGB555_LE: return AV_PIX_FMT_RGB555LE;
++#endif
+ case VPX_IMG_FMT_I420: return AV_PIX_FMT_YUV420P;
+ case VPX_IMG_FMT_I422: return AV_PIX_FMT_YUV422P;
+ case VPX_IMG_FMT_I444: return AV_PIX_FMT_YUV444P;
++#if VPX_IMAGE_ABI_VERSION < 5
+ case VPX_IMG_FMT_444A: return AV_PIX_FMT_YUVA444P;
++#endif
+ #if VPX_IMAGE_ABI_VERSION >= 3
+ case VPX_IMG_FMT_I440: return AV_PIX_FMT_YUV440P;
+ case VPX_IMG_FMT_I42016: return AV_PIX_FMT_YUV420P16BE;
+@@ -53,6 +57,7 @@ enum AVPixelFormat ff_vpx_imgfmt_to_pixfmt(vpx_img_fmt
+ vpx_img_fmt_t ff_vpx_pixfmt_to_imgfmt(enum AVPixelFormat pix)
+ {
+ switch (pix) {
++#if VPX_IMAGE_ABI_VERSION < 5
+ case AV_PIX_FMT_RGB24: return VPX_IMG_FMT_RGB24;
+ case AV_PIX_FMT_RGB565BE: return VPX_IMG_FMT_RGB565;
+ case AV_PIX_FMT_RGB555BE: return VPX_IMG_FMT_RGB555;
+@@ -64,10 +69,13 @@ vpx_img_fmt_t ff_vpx_pixfmt_to_imgfmt(enum AVPixelForm
+ case AV_PIX_FMT_BGRA: return VPX_IMG_FMT_ARGB_LE;
+ case AV_PIX_FMT_RGB565LE: return VPX_IMG_FMT_RGB565_LE;
+ case AV_PIX_FMT_RGB555LE: return VPX_IMG_FMT_RGB555_LE;
++#endif
+ case AV_PIX_FMT_YUV420P: return VPX_IMG_FMT_I420;
+ case AV_PIX_FMT_YUV422P: return VPX_IMG_FMT_I422;
+ case AV_PIX_FMT_YUV444P: return VPX_IMG_FMT_I444;
++#if VPX_IMAGE_ABI_VERSION < 5
+ case AV_PIX_FMT_YUVA444P: return VPX_IMG_FMT_444A;
++#endif
+ #if VPX_IMAGE_ABI_VERSION >= 3
+ case AV_PIX_FMT_YUV440P: return VPX_IMG_FMT_I440;
+ case AV_PIX_FMT_YUV420P16BE: return VPX_IMG_FMT_I42016;