Showing the changes to codec/decoder (2 of 2 files). Show all
Unified · Split
| @@ -66,8 +66,6 @@ int32_t InitBits (PBitStringAux pBitString, const uint8_t* kpBuf, const int32_t · 65 unmodified lines | ||
| 66 | 66 | |
| 67 | 67 | void_t InitReadBits (PBitStringAux pBitString); |
| 68 | 68 | |
| 69 | −uint32_t EndianFix (uint32_t uiX); | |
| 70 | − | |
| 71 | 69 | |
| 72 | 70 | |
| 73 | 71 | } // namespace WelsDec |
| @@ -41,38 +41,6 @@ · 40 unmodified lines | ||
| 41 | 41 | |
| 42 | 42 | namespace WelsDec { |
| 43 | 43 | |
| 44 | −#ifdef WORDS_BIGENDIAN | |
| 45 | −inline uint32_t EndianFix (uint32_t uiX) { | |
| 46 | − return uiX; | |
| 47 | −} | |
| 48 | −#else //WORDS_BIGENDIAN | |
| 49 | − | |
| 50 | −#if defined(_MSC_VER) && defined(_M_IX86) | |
| 51 | −inline uint32_t EndianFix (uint32_t uiX) { | |
| 52 | − __asm { | |
| 53 | − mov eax, uiX | |
| 54 | − bswap eax | |
| 55 | − mov uiX, eax | |
| 56 | − } | |
| 57 | − return uiX; | |
| 58 | −} | |
| 59 | −#else //_MSC_VER | |
| 60 | − | |
| 61 | −inline uint32_t EndianFix (uint32_t uiX) { | |
| 62 | −#ifdef ARM_ARCHv7 | |
| 63 | − __asm__ __volatile__ ("rev %0, %0":"+r" (uiX)); //Just for the ARMv7 | |
| 64 | −#elif defined (X86_ARCH) | |
| 65 | − __asm__ __volatile__ ("bswap %0":"+r" (uiX)); | |
| 66 | −#else | |
| 67 | − uiX = ((uiX & 0xff000000) >> 24) | ((uiX & 0xff0000) >> 8) | | |
| 68 | − ((uiX & 0xff00) << 8) | ((uiX & 0xff) << 24); | |
| 69 | −#endif | |
| 70 | − return uiX; | |
| 71 | −} | |
| 72 | −#endif //_MSC_VER | |
| 73 | − | |
| 74 | −#endif //WORDS_BIGENDIAN | |
| 75 | − | |
| 76 | 44 | inline uint32_t GetValue4Bytes (uint8_t* pDstNal) { |
| 77 | 45 | uint32_t uiValue = 0; |
| 78 | 46 | uiValue = (pDstNal[0] << 24) | (pDstNal[1] << 16) | (pDstNal[2] << 8) | (pDstNal[3]); |