Lines Matching +full:4 +full:d
22 * Perform a full C2P step on 16 8-bit pixels, stored in 4 32-bit words
28 static void c2p_16x8(u32 d[4])
30 transp4(d, 8, 2);
31 transp4(d, 1, 2);
32 transp4x(d, 16, 2);
33 transp4x(d, 2, 2);
34 transp4(d, 4, 1);
42 static const int perm_c2p_16x8[4] = { 1, 3, 0, 2 };
49 static inline void store_iplan2(void *dst, u32 bpp, u32 d[4])
53 for (i = 0; i < bpp/2; i++, dst += 4)
54 put_unaligned_be32(d[perm_c2p_16x8[i]], dst);
62 static inline void store_iplan2_masked(void *dst, u32 bpp, u32 d[4], u32 mask)
66 for (i = 0; i < bpp/2; i++, dst += 4)
67 put_unaligned_be32(comp(d[perm_c2p_16x8[i]],
83 * @bpp: Bits per pixel of the planar frame buffer (2, 4, or 8)
91 u32 words[4];
92 } d;
110 memset(d.pixels, 0, sizeof(d));
111 memcpy(d.pixels+dst_idx, c, width);
113 c2p_16x8(d.words);
114 store_iplan2_masked(p, bpp, d.words, first);
122 memset(d.pixels, 0, dst_idx);
123 memcpy(d.pixels+dst_idx, c, w);
125 c2p_16x8(d.words);
126 store_iplan2_masked(p, bpp, d.words, first);
132 memcpy(d.pixels, c, 16);
134 c2p_16x8(d.words);
135 store_iplan2(p, bpp, d.words);
142 memcpy(d.pixels, c, w);
143 memset(d.pixels+w, 0, 16-w);
144 c2p_16x8(d.words);
145 store_iplan2_masked(p, bpp, d.words, last);