libav: libvpx >= 1.8 drops some formats

+47
+1
pkgs/development/libraries/libav/default.nix
··· 43 43 44 44 patches = [] 45 45 ++ optional (vpxSupport && hasPrefix "0.8." version) ./vpxenc-0.8.17-libvpx-1.5.patch 46 + ++ optional (vpxSupport && hasPrefix "12." version) ./vpx-12.3-libvpx-1.8.patch 46 47 ; 47 48 48 49 postPatch = ''
+46
pkgs/development/libraries/libav/vpx-12.3-libvpx-1.8.patch
··· 1 + --- libav/libavcodec/libvpx.c.orig 2018-02-12 21:25:59 UTC 2 + +++ libav/libavcodec/libvpx.c 3 + @@ -25,6 +25,7 @@ 4 + enum AVPixelFormat ff_vpx_imgfmt_to_pixfmt(vpx_img_fmt_t img) 5 + { 6 + switch (img) { 7 + +#if VPX_IMAGE_ABI_VERSION < 5 8 + case VPX_IMG_FMT_RGB24: return AV_PIX_FMT_RGB24; 9 + case VPX_IMG_FMT_RGB565: return AV_PIX_FMT_RGB565BE; 10 + case VPX_IMG_FMT_RGB555: return AV_PIX_FMT_RGB555BE; 11 + @@ -36,10 +37,13 @@ enum AVPixelFormat ff_vpx_imgfmt_to_pixfmt(vpx_img_fmt 12 + case VPX_IMG_FMT_ARGB_LE: return AV_PIX_FMT_BGRA; 13 + case VPX_IMG_FMT_RGB565_LE: return AV_PIX_FMT_RGB565LE; 14 + case VPX_IMG_FMT_RGB555_LE: return AV_PIX_FMT_RGB555LE; 15 + +#endif 16 + case VPX_IMG_FMT_I420: return AV_PIX_FMT_YUV420P; 17 + case VPX_IMG_FMT_I422: return AV_PIX_FMT_YUV422P; 18 + case VPX_IMG_FMT_I444: return AV_PIX_FMT_YUV444P; 19 + +#if VPX_IMAGE_ABI_VERSION < 5 20 + case VPX_IMG_FMT_444A: return AV_PIX_FMT_YUVA444P; 21 + +#endif 22 + #if VPX_IMAGE_ABI_VERSION >= 3 23 + case VPX_IMG_FMT_I440: return AV_PIX_FMT_YUV440P; 24 + case VPX_IMG_FMT_I42016: return AV_PIX_FMT_YUV420P16BE; 25 + @@ -53,6 +57,7 @@ enum AVPixelFormat ff_vpx_imgfmt_to_pixfmt(vpx_img_fmt 26 + vpx_img_fmt_t ff_vpx_pixfmt_to_imgfmt(enum AVPixelFormat pix) 27 + { 28 + switch (pix) { 29 + +#if VPX_IMAGE_ABI_VERSION < 5 30 + case AV_PIX_FMT_RGB24: return VPX_IMG_FMT_RGB24; 31 + case AV_PIX_FMT_RGB565BE: return VPX_IMG_FMT_RGB565; 32 + case AV_PIX_FMT_RGB555BE: return VPX_IMG_FMT_RGB555; 33 + @@ -64,10 +69,13 @@ vpx_img_fmt_t ff_vpx_pixfmt_to_imgfmt(enum AVPixelForm 34 + case AV_PIX_FMT_BGRA: return VPX_IMG_FMT_ARGB_LE; 35 + case AV_PIX_FMT_RGB565LE: return VPX_IMG_FMT_RGB565_LE; 36 + case AV_PIX_FMT_RGB555LE: return VPX_IMG_FMT_RGB555_LE; 37 + +#endif 38 + case AV_PIX_FMT_YUV420P: return VPX_IMG_FMT_I420; 39 + case AV_PIX_FMT_YUV422P: return VPX_IMG_FMT_I422; 40 + case AV_PIX_FMT_YUV444P: return VPX_IMG_FMT_I444; 41 + +#if VPX_IMAGE_ABI_VERSION < 5 42 + case AV_PIX_FMT_YUVA444P: return VPX_IMG_FMT_444A; 43 + +#endif 44 + #if VPX_IMAGE_ABI_VERSION >= 3 45 + case AV_PIX_FMT_YUV440P: return VPX_IMG_FMT_I440; 46 + case AV_PIX_FMT_YUV420P16BE: return VPX_IMG_FMT_I42016;