diff options
Diffstat (limited to 'src/libffmpeg/libavutil/bswap.h')
-rw-r--r-- | src/libffmpeg/libavutil/bswap.h | 48 |
1 files changed, 24 insertions, 24 deletions
diff --git a/src/libffmpeg/libavutil/bswap.h b/src/libffmpeg/libavutil/bswap.h index 50fd57178..25d418c69 100644 --- a/src/libffmpeg/libavutil/bswap.h +++ b/src/libffmpeg/libavutil/bswap.h @@ -19,22 +19,22 @@ #if defined(ARCH_X86) || defined(ARCH_X86_64) static always_inline uint16_t bswap_16(uint16_t x) { - __asm("rorw $8, %0" : - LEGACY_REGS (x) : + __asm("rorw $8, %0" : + LEGACY_REGS (x) : "0" (x)); return x; } static always_inline uint32_t bswap_32(uint32_t x) { -#if __CPU__ > 386 - __asm("bswap %0": +#if __CPU__ != 386 + __asm("bswap %0": "=r" (x) : #else - __asm("xchgb %b0,%h0\n" - " rorl $16,%0\n" - " xchgb %b0,%h0": - LEGACY_REGS (x) : + __asm("xchgb %b0,%h0\n" + " rorl $16,%0\n" + " xchgb %b0,%h0": + LEGACY_REGS (x) : #endif "0" (x)); return x; @@ -43,12 +43,12 @@ static always_inline uint32_t bswap_32(uint32_t x) static inline uint64_t bswap_64(uint64_t x) { #ifdef ARCH_X86_64 - __asm("bswap %0": - "=r" (x) : + __asm("bswap %0": + "=r" (x) : "0" (x)); return x; #else - union { + union { uint64_t ll; struct { uint32_t l,h; @@ -63,22 +63,22 @@ static inline uint64_t bswap_64(uint64_t x) #elif defined(ARCH_SH4) static always_inline uint16_t bswap_16(uint16_t x) { - __asm__("swap.b %0,%0":"=r"(x):"0"(x)); - return x; + __asm__("swap.b %0,%0":"=r"(x):"0"(x)); + return x; } static always_inline uint32_t bswap_32(uint32_t x) { - __asm__( - "swap.b %0,%0\n" - "swap.w %0,%0\n" - "swap.b %0,%0\n" - :"=r"(x):"0"(x)); - return x; + __asm__( + "swap.b %0,%0\n" + "swap.w %0,%0\n" + "swap.b %0,%0\n" + :"=r"(x):"0"(x)); + return x; } static inline uint64_t bswap_64(uint64_t x) { - union { + union { uint64_t ll; struct { uint32_t l,h; @@ -119,9 +119,9 @@ static inline uint64_t bswap_64(uint64_t x) x= ((x<<16)&0xFFFF0000FFFF0000ULL) | ((x>>16)&0x0000FFFF0000FFFFULL); return (x>>32) | (x<<32); #else - union { + union { uint64_t ll; - uint32_t l[2]; + uint32_t l[2]; } w, r; w.ll = x; r.l[0] = bswap_32 (w.l[1]); @@ -129,9 +129,9 @@ static inline uint64_t bswap_64(uint64_t x) return r.ll; #endif } -#endif /* !ARCH_X86 */ +#endif /* !ARCH_X86 */ -#endif /* !HAVE_BYTESWAP_H */ +#endif /* !HAVE_BYTESWAP_H */ // be2me ... BigEndian to MachineEndian // le2me ... LittleEndian to MachineEndian |