ref: 4033940ba7921041239f78f82710d5acb7a11766
parent: 9b46788676e7adf2b26a652e73a416a972451b79
parent: 4a08781c189b4c79e716f39ea751938bf2a20bb1
author: Ethan Hugg <ethanhugg@gmail.com>
date: Tue Jan 7 08:13:05 EST 2014
Merge pull request #105 from mstorsjo/msvc-disable-inline-asm-on-arm Use MSVC inline assembly only on (32-bit) X86
--- a/codec/decoder/core/src/bit_stream.cpp
+++ b/codec/decoder/core/src/bit_stream.cpp
@@ -48,7 +48,7 @@
}
#else //WORDS_BIGENDIAN
-#if defined(WIN32) && defined(_MSC_VER)
+#if defined(_MSC_VER) && defined(_M_IX86)
inline uint32_t EndianFix (uint32_t uiX) {
__asm {
mov eax, uiX
--- a/codec/decoder/core/src/parse_mb_syn_cavlc.cpp
+++ b/codec/decoder/core/src/parse_mb_syn_cavlc.cpp
@@ -559,7 +559,7 @@
for (; i < uiTotalCoeff; i++) {
if (pBitsCache->uiRemainBits <= 16) SHIFT_BUFFER (pBitsCache);
-#if defined(WIN32) && !defined(WIN64) && defined(_MSC_VER)
+#if defined(_MSC_VER) && defined(_M_IX86)
uiCache32Bit = pBitsCache->uiCache32Bit;
WELS_GET_PREFIX_BITS (uiCache32Bit, iPrefixBits);
#else
@@ -662,7 +662,7 @@
iRun[i] = pVlcTable->kpZeroTable[6][uiValue][0];
} else {
if (pBitsCache->uiRemainBits < 16) SHIFT_BUFFER (pBitsCache);
-#if defined(WIN32) && !defined(WIN64) && defined(_MSC_VER)
+#if defined(_MSC_VER) && defined(_M_IX86)
uiCache32Bit = pBitsCache->uiCache32Bit;
WELS_GET_PREFIX_BITS (uiCache32Bit, iPrefixBits);
#else
--- a/codec/encoder/core/inc/macros.h
+++ b/codec/encoder/core/inc/macros.h
@@ -273,7 +273,7 @@
#else
-#if defined(WIN32) && !defined(WIN64) && defined(_MSC_VER)
+#if defined(_MSC_VER) && defined(_M_IX86)
static inline uint32_t ENDIAN_FIX (uint32_t x) {
__asm {
mov eax, x