|
FastLED 3.9.15
|
| FL_OPTIMIZE_FUNCTION FL_IRAM void fl::wave8Transpose_16_bf1 | ( | const u8(&) | lanes[16], |
| const Wave8ByteExpansionLut & | lut, | ||
| u8(&) | output[16 *sizeof(Wave8Byte)] ) |
BF1: chipset-aware direct encode for 16-lane Wave8 (#2548 deep-dive).
Bypasses the byte_lut. Uses the algebraic identity output_bit(s, p, lane) = M0_p XOR (input_bit_(7-s) AND D_p) where W0/W1 are the bit-0/bit-1 waveform patterns extracted from the lut. Bit-identical to wave8Transpose_16 for ANY Wave8 chipset. The bit-transpose of input bytes is computed ONCE (not 8× per symbol). Measured 9 651 → 4 465 µs/frame (2.16×) vs baseline on P4 v1.3.
Definition at line 159 of file wave8.cpp.hpp.
References FL_RESTRICT_PARAM, W0, W1, and fl::detail::wave8_transpose_16_bf1().
Here is the call graph for this function: