--- /dev/null
+diff --git a/libavutil/x86/float_dsp_init.c b/libavutil/x86/float_dsp_init.c
+index d259a36..3729d91 100644
+--- a/libavutil/x86/float_dsp_init.c
++++ b/libavutil/x86/float_dsp_init.c
+@@ -38,11 +38,13 @@ void ff_float_dsp_init_x86(AVFloatDSPContext *fdsp)
+
+ if (mm_flags & AV_CPU_FLAG_SSE && HAVE_SSE) {
+ fdsp->vector_fmul = ff_vector_fmul_sse;
+- fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_sse;
++ // buggy under 64-bit Windows: http://bugzilla.libav.org/show_bug.cgi?id=336
++ // fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_sse;
+ }
+ if (mm_flags & AV_CPU_FLAG_AVX && HAVE_AVX) {
+ fdsp->vector_fmul = ff_vector_fmul_avx;
+- fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_avx;
++ // buggy under 64-bit Windows: http://bugzilla.libav.org/show_bug.cgi?id=336
++ // fdsp->vector_fmac_scalar = ff_vector_fmac_scalar_avx;
+ }
+ #endif
+ }
hb_log( "decavcodecaInit: avcodec_open failed" );
return 1;
}
- /* Libav's ff_vector_fmac_scalar_*() asm functions are buggy under Win64
- * we can't let it decode the DTS-ES XCh extension until this is fixed
- *
- * Note: the DTS decoder doesn't support request_channels changing
- * mid-stream, so we must do this here */
- if ((w->codec_param == CODEC_ID_DTS) &&
- (w->audio->config.in.channel_layout & ~AV_CH_LOW_FREQUENCY) == AV_CH_LAYOUT_6POINT0)
- {
- hb_deep_log(2, "decavcodecaInit: disabling DTS-ES XCh extension processing");
- pv->context->request_channels =
- 5 + !!(w->audio->config.in.channel_layout & AV_CH_LOW_FREQUENCY);
- }
return 0;
}