mirror of https://github.com/mpv-player/mpv
42 lines
972 B
C
42 lines
972 B
C
#ifndef MP_ENDIAN_H_
|
|
#define MP_ENDIAN_H_
|
|
|
|
#include <sys/types.h>
|
|
|
|
#if !defined(BYTE_ORDER)
|
|
|
|
#if defined(__BYTE_ORDER)
|
|
#define BYTE_ORDER __BYTE_ORDER
|
|
#define LITTLE_ENDIAN __LITTLE_ENDIAN
|
|
#define BIG_ENDIAN __BIG_ENDIAN
|
|
#elif defined(__BYTE_ORDER__)
|
|
#define BYTE_ORDER __BYTE_ORDER__
|
|
#define LITTLE_ENDIAN __ORDER_LITTLE_ENDIAN__
|
|
#define BIG_ENDIAN __ORDER_BIG_ENDIAN__
|
|
#elif defined(__DARWIN_BYTE_ORDER)
|
|
#define BYTE_ORDER __DARWIN_BYTE_ORDER
|
|
#define LITTLE_ENDIAN __DARWIN_LITTLE_ENDIAN
|
|
#define BIG_ENDIAN __DARWIN_BIG_ENDIAN
|
|
#else
|
|
#include <libavutil/bswap.h>
|
|
#if AV_HAVE_BIGENDIAN
|
|
#define BYTE_ORDER 1234
|
|
#define LITTLE_ENDIAN 4321
|
|
#define BIG_ENDIAN 1234
|
|
#else
|
|
#define BYTE_ORDER 1234
|
|
#define LITTLE_ENDIAN 1234
|
|
#define BIG_ENDIAN 4321
|
|
#endif
|
|
#endif
|
|
|
|
#endif /* !defined(BYTE_ORDER) */
|
|
|
|
#if BYTE_ORDER == BIG_ENDIAN
|
|
#define MP_SELECT_LE_BE(LE, BE) BE
|
|
#else
|
|
#define MP_SELECT_LE_BE(LE, BE) LE
|
|
#endif
|
|
|
|
#endif
|