byteswap.h File Reference

Go to the documentation of this file. Source: include/ffw/media/byteswap.h

#ifndef FFW_MEDIA_BYTESWAP
#define FFW_MEDIA_BYTESWAP

#include <algorithm>

namespace ffw {
    #ifdef FFW_WINDOWS_MSVC

    inline unsigned short byteSwap16(unsigned short Value) {
        return _byteswap_ushort(Value);
    }
    inline unsigned long byteSwap32(unsigned long Value) {
        return _byteswap_ulong(Value);
    }
    inline unsigned long long byteSwap64(unsigned long long Value) {
        return _byteswap_uint64(Value);
    }
#else

    inline unsigned short byteSwap16(unsigned short Value) {
        return __builtin_bswap16(Value);
    }
    inline unsigned long byteSwap32(unsigned long Value) {
        return __builtin_bswap32(Value);
    }
    inline unsigned long long byteSwap64(unsigned long long Value) {
        return __builtin_bswap64(Value);
    }
#endif
}

#endif