From f8f0863d2bdb448fbc680920a3a6ea0cfd872c3c Mon Sep 17 00:00:00 2001 From: ajacoutot Date: Fri, 1 May 2015 08:41:30 +0000 Subject: [PATCH] Disable some AVX / FMA3 SIMD functions which are currently crashing VLC when using DTS or some AAC audio. from brad (maintainer) --- graphics/ffmpeg/Makefile | 4 +-- .../patch-libavcodec_x86_dcadsp_init_c | 21 ++++++++++++++ .../patch-libavutil_x86_float_dsp_init_c | 28 +++++++++++++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 graphics/ffmpeg/patches/patch-libavcodec_x86_dcadsp_init_c create mode 100644 graphics/ffmpeg/patches/patch-libavutil_x86_float_dsp_init_c diff --git a/graphics/ffmpeg/Makefile b/graphics/ffmpeg/Makefile index 583f3cd1b1c..20e34f38472 100644 --- a/graphics/ffmpeg/Makefile +++ b/graphics/ffmpeg/Makefile @@ -1,11 +1,11 @@ -# $OpenBSD: Makefile,v 1.113 2015/04/28 07:13:15 ajacoutot Exp $ +# $OpenBSD: Makefile,v 1.114 2015/05/01 08:41:30 ajacoutot Exp $ COMMENT= audio/video converter and streamer V= 20150412 DISTNAME= ffmpeg-git-${V} PKGNAME= ffmpeg-${V} -REVISION= 0 +REVISION= 1 CATEGORIES= graphics multimedia MASTER_SITES= http://comstyle.com/source/ EXTRACT_SUFX= .tar.xz diff --git a/graphics/ffmpeg/patches/patch-libavcodec_x86_dcadsp_init_c b/graphics/ffmpeg/patches/patch-libavcodec_x86_dcadsp_init_c new file mode 100644 index 00000000000..68595d1baaa --- /dev/null +++ b/graphics/ffmpeg/patches/patch-libavcodec_x86_dcadsp_init_c @@ -0,0 +1,21 @@ +$OpenBSD: patch-libavcodec_x86_dcadsp_init_c,v 1.1 2015/05/01 08:41:30 ajacoutot Exp $ + +Disable AVX / FMA3 DTS SIMD functions for now which are currently +crashing when using VLC with DTS. + +--- libavcodec/x86/dcadsp_init.c.orig Sat May 31 21:16:47 2014 ++++ libavcodec/x86/dcadsp_init.c Fri May 1 04:12:19 2015 +@@ -103,11 +103,13 @@ av_cold void ff_synth_filter_init_x86(SynthFilterConte + if (EXTERNAL_SSE2(cpu_flags)) { + s->synth_filter_float = synth_filter_sse2; + } ++#if 0 + if (EXTERNAL_AVX(cpu_flags)) { + s->synth_filter_float = synth_filter_avx; + } + if (EXTERNAL_FMA3(cpu_flags)) { + s->synth_filter_float = synth_filter_fma3; + } ++#endif + #endif /* HAVE_YASM */ + } diff --git a/graphics/ffmpeg/patches/patch-libavutil_x86_float_dsp_init_c b/graphics/ffmpeg/patches/patch-libavutil_x86_float_dsp_init_c new file mode 100644 index 00000000000..5512b303d44 --- /dev/null +++ b/graphics/ffmpeg/patches/patch-libavutil_x86_float_dsp_init_c @@ -0,0 +1,28 @@ +$OpenBSD: patch-libavutil_x86_float_dsp_init_c,v 1.1 2015/05/01 08:41:30 ajacoutot Exp $ + +Disable AVX / FMA3 float SIMD functions for now which are currently +crashing when using VLC with AAC. + +--- libavutil/x86/float_dsp_init.c.orig Wed Jun 18 01:20:32 2014 ++++ libavutil/x86/float_dsp_init.c Fri May 1 04:18:40 2015 +@@ -86,14 +86,20 @@ av_cold void ff_float_dsp_init_x86(AVFloatDSPContext * + fdsp->vector_dmul_scalar = ff_vector_dmul_scalar_sse2; + } + if (EXTERNAL_AVX(cpu_flags)) { ++#if 0 + fdsp->vector_fmul = ff_vector_fmul_avx; ++#endif + fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_avx; + fdsp->vector_dmul_scalar = ff_vector_dmul_scalar_avx; ++#if 0 + fdsp->vector_fmul_add = ff_vector_fmul_add_avx; ++#endif + fdsp->vector_fmul_reverse = ff_vector_fmul_reverse_avx; + } + if (EXTERNAL_FMA3(cpu_flags)) { + fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_fma3; ++#if 0 + fdsp->vector_fmul_add = ff_vector_fmul_add_fma3; ++#endif + } + }