This is applied upstream and can be removed when we update opus version
--- /dev/null
+--- opus/celt/float_cast.h 2013-11-29 21:17:15.000000000 +0100
++++ /home/vlc/vlc/contrib/windowsphone/opus/celt/float_cast.h 2014-12-15 16:55:21.951193100 +0100
+@@ -97,7 +97,7 @@
+ {
+ return _mm_cvtss_si32(_mm_load_ss(&value));
+ }
+-#elif (defined(_MSC_VER) && _MSC_VER >= 1400) && (defined (WIN32) || defined (_WIN32))
++#elif (defined(_MSC_VER) && _MSC_VER >= 1400) && (defined (WIN32) || defined (_WIN32)) && !defined(_M_ARM)
+ #include <math.h>
+
+ /* Win32 doesn't seem to have these functions.
opus: opus-$(OPUS_VERSION).tar.gz .sum-opus
$(UNPACK)
$(UPDATE_AUTOCONFIG)
+ifdef HAVE_VISUALSTUDIO
+ $(APPLY) $(SRC)/opus/msvc.patch
+endif
$(MOVE)
OPUS_CONF= --disable-extra-programs --disable-doc