[vlc-devel] [PATCH] contrib: ffmpeg: Backport a patch to fix builds on android x86_64

Steve Lhomme robux4 at ycbcr.xyz
Wed Oct 16 16:11:05 CEST 2019


Maybe we should bump the hash to something more recent ?

On 2019-10-16 14:51, Hugo Beauzée-Luyssen wrote:
> ---
>   ...anf-do-not-use-long-double-functions.patch | 64 +++++++++++++++++++
>   contrib/src/ffmpeg/rules.mak                  |  1 +
>   2 files changed, 65 insertions(+)
>   create mode 100644 contrib/src/ffmpeg/0001-avutil-avsscanf-do-not-use-long-double-functions.patch
> 
> diff --git a/contrib/src/ffmpeg/0001-avutil-avsscanf-do-not-use-long-double-functions.patch b/contrib/src/ffmpeg/0001-avutil-avsscanf-do-not-use-long-double-functions.patch
> new file mode 100644
> index 0000000000..e12fe2936b
> --- /dev/null
> +++ b/contrib/src/ffmpeg/0001-avutil-avsscanf-do-not-use-long-double-functions.patch
> @@ -0,0 +1,64 @@
> +From be60dc2145ba2c4e2c66213688b377367bdb9665 Mon Sep 17 00:00:00 2001
> +From: Paul B Mahol <onemda at gmail.com>
> +Date: Sat, 15 Dec 2018 09:58:28 +0100
> +Subject: [PATCH] avutil/avsscanf: do not use long double functions
> +
> +Not needed when only double is used.
> +---
> + libavutil/avsscanf.c | 12 ++++++------
> + 1 file changed, 6 insertions(+), 6 deletions(-)
> +
> +diff --git a/libavutil/avsscanf.c b/libavutil/avsscanf.c
> +index 360170c9a9..1c85412fd4 100644
> +--- a/libavutil/avsscanf.c
> ++++ b/libavutil/avsscanf.c
> +@@ -454,8 +454,8 @@ static double decfloat(FFFILE *f, int c, int bits, int emin, int sign, int pok)
> +
> +     /* Calculate bias term to force rounding, move out lower bits */
> +     if (bits < DBL_MANT_DIG) {
> +-        bias = copysignl(scalbn(1, 2*DBL_MANT_DIG-bits-1), y);
> +-        frac = fmodl(y, scalbn(1, DBL_MANT_DIG-bits));
> ++        bias = copysign(scalbn(1, 2*DBL_MANT_DIG-bits-1), y);
> ++        frac = fmod(y, scalbn(1, DBL_MANT_DIG-bits));
> +         y -= frac;
> +         y += bias;
> +     }
> +@@ -473,7 +473,7 @@ static double decfloat(FFFILE *f, int c, int bits, int emin, int sign, int pok)
> +             else
> +                 frac += 0.75*sign;
> +         }
> +-        if (DBL_MANT_DIG-bits >= 2 && !fmodl(frac, 1))
> ++        if (DBL_MANT_DIG-bits >= 2 && !fmod(frac, 1))
> +             frac++;
> +     }
> +
> +@@ -491,7 +491,7 @@ static double decfloat(FFFILE *f, int c, int bits, int emin, int sign, int pok)
> +             errno = ERANGE;
> +     }
> +
> +-    return scalbnl(y, e2);
> ++    return scalbn(y, e2);
> + }
> +
> + static double hexfloat(FFFILE *f, int bits, int emin, int sign, int pok)
> +@@ -595,7 +595,7 @@ static double hexfloat(FFFILE *f, int bits, int emin, int sign, int pok)
> +     }
> +
> +     if (bits < DBL_MANT_DIG)
> +-        bias = copysignl(scalbn(1, 32+DBL_MANT_DIG-bits-1), sign);
> ++        bias = copysign(scalbn(1, 32+DBL_MANT_DIG-bits-1), sign);
> +
> +     if (bits<32 && y && !(x&1)) x++, y=0;
> +
> +@@ -604,7 +604,7 @@ static double hexfloat(FFFILE *f, int bits, int emin, int sign, int pok)
> +
> +     if (!y) errno = ERANGE;
> +
> +-    return scalbnl(y, e2);
> ++    return scalbn(y, e2);
> + }
> +
> + static double fffloatscan(FFFILE *f, int prec, int pok)
> +--
> +2.20.1
> +
> diff --git a/contrib/src/ffmpeg/rules.mak b/contrib/src/ffmpeg/rules.mak
> index 8179fc3c93..cfafb64699 100644
> --- a/contrib/src/ffmpeg/rules.mak
> +++ b/contrib/src/ffmpeg/rules.mak
> @@ -247,6 +247,7 @@ ifdef USE_FFMPEG
>   	$(APPLY) $(SRC)/ffmpeg/ffmpeg-mkv-overshoot.patch
>   	$(APPLY) $(SRC)/ffmpeg/0001-avcodec-hevcdec-set-the-SEI-parameters-early-on-the-.patch
>   	$(APPLY) $(SRC)/ffmpeg/0001-avcodec-h264_slice-set-the-SEI-parameters-early-on-t.patch
> +	$(APPLY) $(SRC)/ffmpeg/0001-avutil-avsscanf-do-not-use-long-double-functions.patch
>   endif
>   ifdef USE_LIBAV
>   	$(APPLY) $(SRC)/ffmpeg/libav_gsm.patch
> -- 
> 2.20.1
> 
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel
> 


More information about the vlc-devel mailing list