Disable some AVX / FMA3 SIMD functions which are currently crashing VLC

when using DTS or some AAC audio.

from brad (maintainer)
This commit is contained in:
ajacoutot 2015-05-01 08:41:30 +00:00
parent 259cb2369e
commit f8f0863d2b
3 changed files with 51 additions and 2 deletions

View File

@ -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

View File

@ -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 */
}

View File

@ -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
}
}