|
|
|
@ -55,12 +55,6 @@ |
|
|
|
|
# define AV_WN16(p, v) AV_WB16(p, v) |
|
|
|
|
# endif |
|
|
|
|
|
|
|
|
|
# if defined(AV_RN32) && !defined(AV_RB32) |
|
|
|
|
# define AV_RB32(p) AV_RN32(p) |
|
|
|
|
# elif !defined(AV_RN32) && defined(AV_RB32) |
|
|
|
|
# define AV_RN32(p) AV_RB32(p) |
|
|
|
|
# endif |
|
|
|
|
|
|
|
|
|
# if defined(AV_RN24) && !defined(AV_RB24) |
|
|
|
|
# define AV_RB24(p) AV_RN24(p) |
|
|
|
|
# elif !defined(AV_RN24) && defined(AV_RB24) |
|
|
|
@ -73,6 +67,12 @@ |
|
|
|
|
# define AV_WN24(p, v) AV_WB24(p, v) |
|
|
|
|
# endif |
|
|
|
|
|
|
|
|
|
# if defined(AV_RN32) && !defined(AV_RB32) |
|
|
|
|
# define AV_RB32(p) AV_RN32(p) |
|
|
|
|
# elif !defined(AV_RN32) && defined(AV_RB32) |
|
|
|
|
# define AV_RN32(p) AV_RB32(p) |
|
|
|
|
# endif |
|
|
|
|
|
|
|
|
|
# if defined(AV_WN32) && !defined(AV_WB32) |
|
|
|
|
# define AV_WB32(p, v) AV_WN32(p, v) |
|
|
|
|
# elif !defined(AV_WN32) && defined(AV_WB32) |
|
|
|
@ -105,12 +105,6 @@ |
|
|
|
|
# define AV_WN16(p, v) AV_WL16(p, v) |
|
|
|
|
# endif |
|
|
|
|
|
|
|
|
|
# if defined(AV_RN32) && !defined(AV_RL32) |
|
|
|
|
# define AV_RL32(p) AV_RN32(p) |
|
|
|
|
# elif !defined(AV_RN32) && defined(AV_RL32) |
|
|
|
|
# define AV_RN32(p) AV_RL32(p) |
|
|
|
|
# endif |
|
|
|
|
|
|
|
|
|
# if defined(AV_RN24) && !defined(AV_RL24) |
|
|
|
|
# define AV_RL24(p) AV_RN24(p) |
|
|
|
|
# elif !defined(AV_RN24) && defined(AV_RL24) |
|
|
|
@ -123,6 +117,12 @@ |
|
|
|
|
# define AV_WN24(p, v) AV_WL24(p, v) |
|
|
|
|
# endif |
|
|
|
|
|
|
|
|
|
# if defined(AV_RN32) && !defined(AV_RL32) |
|
|
|
|
# define AV_RL32(p) AV_RN32(p) |
|
|
|
|
# elif !defined(AV_RN32) && defined(AV_RL32) |
|
|
|
|
# define AV_RN32(p) AV_RL32(p) |
|
|
|
|
# endif |
|
|
|
|
|
|
|
|
|
# if defined(AV_WN32) && !defined(AV_WL32) |
|
|
|
|
# define AV_WL32(p, v) AV_WN32(p, v) |
|
|
|
|
# elif !defined(AV_WN32) && defined(AV_WL32) |
|
|
|
@ -170,95 +170,107 @@ struct unaligned_16 { uint16_t l; } __attribute__((packed)); |
|
|
|
|
#else |
|
|
|
|
|
|
|
|
|
#ifndef AV_RB16 |
|
|
|
|
#define AV_RB16(x) ((((const uint8_t*)(x))[0] << 8) | \ |
|
|
|
|
((const uint8_t*)(x))[1]) |
|
|
|
|
# define AV_RB16(x) \ |
|
|
|
|
((((const uint8_t*)(x))[0] << 8) | \
|
|
|
|
|
((const uint8_t*)(x))[1]) |
|
|
|
|
#endif |
|
|
|
|
#ifndef AV_WB16 |
|
|
|
|
#define AV_WB16(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[1] = (d); \
|
|
|
|
|
((uint8_t*)(p))[0] = (d)>>8; } while(0) |
|
|
|
|
# define AV_WB16(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[1] = (d); \
|
|
|
|
|
((uint8_t*)(p))[0] = (d)>>8; \
|
|
|
|
|
} while(0) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#ifndef AV_RL16 |
|
|
|
|
#define AV_RL16(x) ((((const uint8_t*)(x))[1] << 8) | \ |
|
|
|
|
((const uint8_t*)(x))[0]) |
|
|
|
|
# define AV_RL16(x) \ |
|
|
|
|
((((const uint8_t*)(x))[1] << 8) | \
|
|
|
|
|
((const uint8_t*)(x))[0]) |
|
|
|
|
#endif |
|
|
|
|
#ifndef AV_WL16 |
|
|
|
|
#define AV_WL16(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[0] = (d); \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>8; } while(0) |
|
|
|
|
# define AV_WL16(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[0] = (d); \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>8; \
|
|
|
|
|
} while(0) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#ifndef AV_RB32 |
|
|
|
|
#define AV_RB32(x) ((((const uint8_t*)(x))[0] << 24) | \ |
|
|
|
|
(((const uint8_t*)(x))[1] << 16) | \
|
|
|
|
|
(((const uint8_t*)(x))[2] << 8) | \
|
|
|
|
|
((const uint8_t*)(x))[3]) |
|
|
|
|
# define AV_RB32(x) \ |
|
|
|
|
((((const uint8_t*)(x))[0] << 24) | \
|
|
|
|
|
(((const uint8_t*)(x))[1] << 16) | \
|
|
|
|
|
(((const uint8_t*)(x))[2] << 8) | \
|
|
|
|
|
((const uint8_t*)(x))[3]) |
|
|
|
|
#endif |
|
|
|
|
#ifndef AV_WB32 |
|
|
|
|
#define AV_WB32(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[3] = (d); \
|
|
|
|
|
((uint8_t*)(p))[2] = (d)>>8; \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>16; \
|
|
|
|
|
((uint8_t*)(p))[0] = (d)>>24; } while(0) |
|
|
|
|
# define AV_WB32(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[3] = (d); \
|
|
|
|
|
((uint8_t*)(p))[2] = (d)>>8; \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>16; \
|
|
|
|
|
((uint8_t*)(p))[0] = (d)>>24; \
|
|
|
|
|
} while(0) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#ifndef AV_RL32 |
|
|
|
|
#define AV_RL32(x) ((((const uint8_t*)(x))[3] << 24) | \ |
|
|
|
|
(((const uint8_t*)(x))[2] << 16) | \
|
|
|
|
|
(((const uint8_t*)(x))[1] << 8) | \
|
|
|
|
|
((const uint8_t*)(x))[0]) |
|
|
|
|
# define AV_RL32(x) \ |
|
|
|
|
((((const uint8_t*)(x))[3] << 24) | \
|
|
|
|
|
(((const uint8_t*)(x))[2] << 16) | \
|
|
|
|
|
(((const uint8_t*)(x))[1] << 8) | \
|
|
|
|
|
((const uint8_t*)(x))[0]) |
|
|
|
|
#endif |
|
|
|
|
#ifndef AV_WL32 |
|
|
|
|
#define AV_WL32(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[0] = (d); \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>8; \
|
|
|
|
|
((uint8_t*)(p))[2] = (d)>>16; \
|
|
|
|
|
((uint8_t*)(p))[3] = (d)>>24; } while(0) |
|
|
|
|
# define AV_WL32(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[0] = (d); \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>8; \
|
|
|
|
|
((uint8_t*)(p))[2] = (d)>>16; \
|
|
|
|
|
((uint8_t*)(p))[3] = (d)>>24; \
|
|
|
|
|
} while(0) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#ifndef AV_RB64 |
|
|
|
|
#define AV_RB64(x) (((uint64_t)((const uint8_t*)(x))[0] << 56) | \ |
|
|
|
|
((uint64_t)((const uint8_t*)(x))[1] << 48) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[2] << 40) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[3] << 32) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[4] << 24) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[5] << 16) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[6] << 8) | \
|
|
|
|
|
(uint64_t)((const uint8_t*)(x))[7]) |
|
|
|
|
# define AV_RB64(x) \ |
|
|
|
|
(((uint64_t)((const uint8_t*)(x))[0] << 56) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[1] << 48) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[2] << 40) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[3] << 32) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[4] << 24) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[5] << 16) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[6] << 8) | \
|
|
|
|
|
(uint64_t)((const uint8_t*)(x))[7]) |
|
|
|
|
#endif |
|
|
|
|
#ifndef AV_WB64 |
|
|
|
|
#define AV_WB64(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[7] = (d); \
|
|
|
|
|
((uint8_t*)(p))[6] = (d)>>8; \
|
|
|
|
|
((uint8_t*)(p))[5] = (d)>>16; \
|
|
|
|
|
((uint8_t*)(p))[4] = (d)>>24; \
|
|
|
|
|
((uint8_t*)(p))[3] = (d)>>32; \
|
|
|
|
|
((uint8_t*)(p))[2] = (d)>>40; \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>48; \
|
|
|
|
|
((uint8_t*)(p))[0] = (d)>>56; } while(0) |
|
|
|
|
# define AV_WB64(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[7] = (d); \
|
|
|
|
|
((uint8_t*)(p))[6] = (d)>>8; \
|
|
|
|
|
((uint8_t*)(p))[5] = (d)>>16; \
|
|
|
|
|
((uint8_t*)(p))[4] = (d)>>24; \
|
|
|
|
|
((uint8_t*)(p))[3] = (d)>>32; \
|
|
|
|
|
((uint8_t*)(p))[2] = (d)>>40; \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>48; \
|
|
|
|
|
((uint8_t*)(p))[0] = (d)>>56; \
|
|
|
|
|
} while(0) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#ifndef AV_RL64 |
|
|
|
|
#define AV_RL64(x) (((uint64_t)((const uint8_t*)(x))[7] << 56) | \ |
|
|
|
|
((uint64_t)((const uint8_t*)(x))[6] << 48) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[5] << 40) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[4] << 32) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[3] << 24) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[2] << 16) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[1] << 8) | \
|
|
|
|
|
(uint64_t)((const uint8_t*)(x))[0]) |
|
|
|
|
# define AV_RL64(x) \ |
|
|
|
|
(((uint64_t)((const uint8_t*)(x))[7] << 56) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[6] << 48) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[5] << 40) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[4] << 32) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[3] << 24) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[2] << 16) | \
|
|
|
|
|
((uint64_t)((const uint8_t*)(x))[1] << 8) | \
|
|
|
|
|
(uint64_t)((const uint8_t*)(x))[0]) |
|
|
|
|
#endif |
|
|
|
|
#ifndef AV_WL64 |
|
|
|
|
#define AV_WL64(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[0] = (d); \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>8; \
|
|
|
|
|
((uint8_t*)(p))[2] = (d)>>16; \
|
|
|
|
|
((uint8_t*)(p))[3] = (d)>>24; \
|
|
|
|
|
((uint8_t*)(p))[4] = (d)>>32; \
|
|
|
|
|
((uint8_t*)(p))[5] = (d)>>40; \
|
|
|
|
|
((uint8_t*)(p))[6] = (d)>>48; \
|
|
|
|
|
((uint8_t*)(p))[7] = (d)>>56; } while(0) |
|
|
|
|
# define AV_WL64(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[0] = (d); \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>8; \
|
|
|
|
|
((uint8_t*)(p))[2] = (d)>>16; \
|
|
|
|
|
((uint8_t*)(p))[3] = (d)>>24; \
|
|
|
|
|
((uint8_t*)(p))[4] = (d)>>32; \
|
|
|
|
|
((uint8_t*)(p))[5] = (d)>>40; \
|
|
|
|
|
((uint8_t*)(p))[6] = (d)>>48; \
|
|
|
|
|
((uint8_t*)(p))[7] = (d)>>56; \
|
|
|
|
|
} while(0) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#if HAVE_BIGENDIAN |
|
|
|
@ -356,27 +368,31 @@ struct unaligned_16 { uint16_t l; } __attribute__((packed)); |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#ifndef AV_RB24 |
|
|
|
|
#define AV_RB24(x) ((((const uint8_t*)(x))[0] << 16) | \ |
|
|
|
|
(((const uint8_t*)(x))[1] << 8) | \
|
|
|
|
|
((const uint8_t*)(x))[2]) |
|
|
|
|
# define AV_RB24(x) \ |
|
|
|
|
((((const uint8_t*)(x))[0] << 16) | \
|
|
|
|
|
(((const uint8_t*)(x))[1] << 8) | \
|
|
|
|
|
((const uint8_t*)(x))[2]) |
|
|
|
|
#endif |
|
|
|
|
#ifndef AV_WB24 |
|
|
|
|
#define AV_WB24(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[2] = (d); \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>8; \
|
|
|
|
|
((uint8_t*)(p))[0] = (d)>>16; } while(0) |
|
|
|
|
# define AV_WB24(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[2] = (d); \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>8; \
|
|
|
|
|
((uint8_t*)(p))[0] = (d)>>16; \
|
|
|
|
|
} while(0) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#ifndef AV_RL24 |
|
|
|
|
#define AV_RL24(x) ((((const uint8_t*)(x))[2] << 16) | \ |
|
|
|
|
(((const uint8_t*)(x))[1] << 8) | \
|
|
|
|
|
((const uint8_t*)(x))[0]) |
|
|
|
|
# define AV_RL24(x) \ |
|
|
|
|
((((const uint8_t*)(x))[2] << 16) | \
|
|
|
|
|
(((const uint8_t*)(x))[1] << 8) | \
|
|
|
|
|
((const uint8_t*)(x))[0]) |
|
|
|
|
#endif |
|
|
|
|
#ifndef AV_WL24 |
|
|
|
|
#define AV_WL24(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[0] = (d); \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>8; \
|
|
|
|
|
((uint8_t*)(p))[2] = (d)>>16; } while(0) |
|
|
|
|
# define AV_WL24(p, d) do { \ |
|
|
|
|
((uint8_t*)(p))[0] = (d); \
|
|
|
|
|
((uint8_t*)(p))[1] = (d)>>8; \
|
|
|
|
|
((uint8_t*)(p))[2] = (d)>>16; \
|
|
|
|
|
} while(0) |
|
|
|
|
#endif |
|
|
|
|
|
|
|
|
|
#endif /* AVUTIL_INTREADWRITE_H */ |
|
|
|
|