1 #ifndef SHMIF_RGBA
2 #define SHMIF_RGBA(r, g, b, a)(\
3 ((uint32_t) (a) << 24) |\
4 ((uint32_t) (r) << 16) |\
5 ((uint32_t) (g) << 8) |\
6 ((uint32_t) (b)) )
7 #endif
8
9 #ifndef SHMIF_RGBA_RSHIFT
10 #define SHMIF_RGBA_RSHIFT 16
11 #endif
12
13 #ifndef SHMIF_RGBA_GSHIFT
14 #define SHMIF_RGBA_GSHIFT 8
15 #endif
16
17 #ifndef SHMIF_RGBA_BSHIFT
18 #define SHMIF_RGBA_BSHIFT 0
19 #endif
20
21 #ifndef SHMIF_RGBA_ASHIFT
22 #define SHMIF_RGBA_ASHIFT 24
23 #endif
24
25 #ifndef SHMIF_RGBA_DECOMP
SHMIF_RGBA_DECOMP(shmif_pixel val,uint8_t * r,uint8_t * g,uint8_t * b,uint8_t * a)26 static inline void SHMIF_RGBA_DECOMP(shmif_pixel val,
27 uint8_t* r, uint8_t* g, uint8_t* b, uint8_t* a)
28 {
29 *b = (val & 0x000000ff);
30 *g = (val & 0x0000ff00) >> 8;
31 *r = (val & 0x00ff0000) >> 16;
32 *a = (val & 0xff000000) >> 24;
33 }
34 #endif
35