Mercurial > libavutil.hg
comparison intreadwrite.h @ 326:46b4da5bf9ed libavutil
cosmetics: Reorder endianness macros by bit depth, alignment prettyprinting.
author | diego |
---|---|
date | Tue, 24 Apr 2007 07:16:47 +0000 |
parents | 85ee113e8336 |
children | cfaf9feae0f9 |
comparison
equal
deleted
inserted
replaced
325:03b6f31e7f4b | 326:46b4da5bf9ed |
---|---|
42 #define ST32(a, b) *((uint32_t*)(a)) = (b) | 42 #define ST32(a, b) *((uint32_t*)(a)) = (b) |
43 | 43 |
44 #endif /* !__GNUC__ */ | 44 #endif /* !__GNUC__ */ |
45 | 45 |
46 /* endian macros */ | 46 /* endian macros */ |
47 #define AV_RB8(x) (((uint8_t*)(x))[0]) | 47 #define AV_RB8(x) (((uint8_t*)(x))[0]) |
48 #define AV_WB8(p, d) { ((uint8_t*)(p))[0] = (d); } | 48 #define AV_WB8(p, d) { ((uint8_t*)(p))[0] = (d); } |
49 | 49 |
50 #define AV_RB16(x) ((((uint8_t*)(x))[0] << 8) | ((uint8_t*)(x))[1]) | 50 #define AV_RL8(x) AV_RB8(x) |
51 #define AV_WL8(p, d) AV_WB8(p, d) | |
52 | |
53 #define AV_RB16(x) ((((uint8_t*)(x))[0] << 8) | ((uint8_t*)(x))[1]) | |
51 #define AV_WB16(p, d) { \ | 54 #define AV_WB16(p, d) { \ |
52 ((uint8_t*)(p))[1] = (d); \ | 55 ((uint8_t*)(p))[1] = (d); \ |
53 ((uint8_t*)(p))[0] = (d)>>8; } | 56 ((uint8_t*)(p))[0] = (d)>>8; } |
54 | 57 |
55 #define AV_RB24(x) ((((uint8_t*)(x))[0] << 16) | \ | 58 #define AV_RL16(x) ((((uint8_t*)(x))[1] << 8) | \ |
56 (((uint8_t*)(x))[1] << 8) | \ | 59 ((uint8_t*)(x))[0]) |
57 ((uint8_t*)(x))[2]) | 60 #define AV_WL16(p, d) { \ |
61 ((uint8_t*)(p))[0] = (d); \ | |
62 ((uint8_t*)(p))[1] = (d)>>8; } | |
63 | |
64 #define AV_RB24(x) ((((uint8_t*)(x))[0] << 16) | \ | |
65 (((uint8_t*)(x))[1] << 8) | \ | |
66 ((uint8_t*)(x))[2]) | |
58 #define AV_WB24(p, d) { \ | 67 #define AV_WB24(p, d) { \ |
59 ((uint8_t*)(p))[2] = (d); \ | 68 ((uint8_t*)(p))[2] = (d); \ |
60 ((uint8_t*)(p))[1] = (d)>>8; \ | 69 ((uint8_t*)(p))[1] = (d)>>8; \ |
61 ((uint8_t*)(p))[0] = (d)>>16; } | 70 ((uint8_t*)(p))[0] = (d)>>16; } |
62 | 71 |
63 #define AV_RB32(x) ((((uint8_t*)(x))[0] << 24) | \ | 72 #define AV_RL24(x) ((((uint8_t*)(x))[2] << 16) | \ |
64 (((uint8_t*)(x))[1] << 16) | \ | 73 (((uint8_t*)(x))[1] << 8) | \ |
65 (((uint8_t*)(x))[2] << 8) | \ | 74 ((uint8_t*)(x))[0]) |
66 ((uint8_t*)(x))[3]) | 75 #define AV_WL24(p, d) { \ |
76 ((uint8_t*)(p))[0] = (d); \ | |
77 ((uint8_t*)(p))[1] = (d)>>8; \ | |
78 ((uint8_t*)(p))[2] = (d)>>16; } | |
79 | |
80 #define AV_RB32(x) ((((uint8_t*)(x))[0] << 24) | \ | |
81 (((uint8_t*)(x))[1] << 16) | \ | |
82 (((uint8_t*)(x))[2] << 8) | \ | |
83 ((uint8_t*)(x))[3]) | |
67 #define AV_WB32(p, d) { \ | 84 #define AV_WB32(p, d) { \ |
68 ((uint8_t*)(p))[3] = (d); \ | 85 ((uint8_t*)(p))[3] = (d); \ |
69 ((uint8_t*)(p))[2] = (d)>>8; \ | 86 ((uint8_t*)(p))[2] = (d)>>8; \ |
70 ((uint8_t*)(p))[1] = (d)>>16; \ | 87 ((uint8_t*)(p))[1] = (d)>>16; \ |
71 ((uint8_t*)(p))[0] = (d)>>24; } | 88 ((uint8_t*)(p))[0] = (d)>>24; } |
72 | 89 |
73 #define AV_RL8(x) AV_RB8(x) | 90 #define AV_RL32(x) ((((uint8_t*)(x))[3] << 24) | \ |
74 #define AV_WL8(p, d) AV_WB8(p, d) | 91 (((uint8_t*)(x))[2] << 16) | \ |
75 | 92 (((uint8_t*)(x))[1] << 8) | \ |
76 #define AV_RL16(x) ((((uint8_t*)(x))[1] << 8) | ((uint8_t*)(x))[0]) | |
77 #define AV_WL16(p, d) { \ | |
78 ((uint8_t*)(p))[0] = (d); \ | |
79 ((uint8_t*)(p))[1] = (d)>>8; } | |
80 | |
81 #define AV_RL24(x) ((((uint8_t*)(x))[2] << 16) | \ | |
82 (((uint8_t*)(x))[1] << 8) | \ | |
83 ((uint8_t*)(x))[0]) | 93 ((uint8_t*)(x))[0]) |
84 #define AV_WL24(p, d) { \ | |
85 ((uint8_t*)(p))[0] = (d); \ | |
86 ((uint8_t*)(p))[1] = (d)>>8; \ | |
87 ((uint8_t*)(p))[2] = (d)>>16; } | |
88 | |
89 #define AV_RL32(x) ((((uint8_t*)(x))[3] << 24) | \ | |
90 (((uint8_t*)(x))[2] << 16) | \ | |
91 (((uint8_t*)(x))[1] << 8) | \ | |
92 ((uint8_t*)(x))[0]) | |
93 #define AV_WL32(p, d) { \ | 94 #define AV_WL32(p, d) { \ |
94 ((uint8_t*)(p))[0] = (d); \ | 95 ((uint8_t*)(p))[0] = (d); \ |
95 ((uint8_t*)(p))[1] = (d)>>8; \ | 96 ((uint8_t*)(p))[1] = (d)>>8; \ |
96 ((uint8_t*)(p))[2] = (d)>>16; \ | 97 ((uint8_t*)(p))[2] = (d)>>16; \ |
97 ((uint8_t*)(p))[3] = (d)>>24; } | 98 ((uint8_t*)(p))[3] = (d)>>24; } |