FastLED 3.10.6
Loading...
Searching...
No Matches

◆ wave8_transpose_16x4_pipe4()

void fl::detail::wave8_transpose_16x4_pipe4 ( const Wave8Byte lane_waves_a[16],
const Wave8Byte lane_waves_b[16],
const Wave8Byte lane_waves_c[16],
const Wave8Byte lane_waves_d[16],
u8 output_a[16 *sizeof(Wave8Byte)],
u8 output_b[16 *sizeof(Wave8Byte)],
u8 output_c[16 *sizeof(Wave8Byte)],
u8 output_d[16 *sizeof(Wave8Byte)] )

Definition at line 154 of file wave8.cpp.hpp.

161 {
162 for (int symbol_idx = 0; symbol_idx < 8; symbol_idx++) {
163 u8 la[16];
164 u8 lb[16];
165 u8 lc[16];
166 u8 ld[16];
167 for (int lane = 0; lane < 16; lane++) {
168 la[lane] = lane_waves_a[lane].symbols[symbol_idx].data;
169 lb[lane] = lane_waves_b[lane].symbols[symbol_idx].data;
170 lc[lane] = lane_waves_c[lane].symbols[symbol_idx].data;
171 ld[lane] = lane_waves_d[lane].symbols[symbol_idx].data;
172 }
173 spread_transpose16_symbol(la, output_a + symbol_idx * 16);
174 spread_transpose16_symbol(lb, output_b + symbol_idx * 16);
175 spread_transpose16_symbol(lc, output_c + symbol_idx * 16);
176 spread_transpose16_symbol(ld, output_d + symbol_idx * 16);
177 }
178}
FASTLED_FORCE_INLINE FL_IRAM FL_OPTIMIZE_FUNCTION void spread_transpose16_symbol(const u8 l[16], u8 out[16])
Transpose one symbol of 16 lanes (16 input bytes) into 16 output bytes: 8 pulses × 2 bytes,...
unsigned char u8
Definition stdint.h:131

References fl::FL_NO_EXCEPT, and spread_transpose16_symbol().

Referenced by fl::wave8Transpose_16x4_pipe4().

+ Here is the call graph for this function:
+ Here is the caller graph for this function: