15FASTLED_NAMESPACE_BEGIN
26void bilinearExpandArbitrary(
const CRGB *input,
CRGB *output,
27 uint16_t inputWidth, uint16_t inputHeight,
37void bilinearExpandPowerOf2(
const CRGB *input,
CRGB *output, uint8_t inputWidth, uint8_t inputHeight,
XYMap xyMap);
40inline void bilinearExpand(
const CRGB *input,
CRGB *output, uint16_t inputWidth,
41 uint16_t inputHeight,
XYMap xyMap) {
42 uint16_t outputWidth = xyMap.getWidth();
43 uint16_t outputHeight = xyMap.getHeight();
44 const bool wontFit = (outputWidth != xyMap.getWidth() || outputHeight != xyMap.getHeight());
47 if (wontFit || (inputWidth & (inputWidth - 1)) || (inputHeight & (inputHeight - 1))) {
48 bilinearExpandArbitrary(input, output, inputWidth, inputHeight, xyMap);
50 bilinearExpandPowerOf2(input, output, inputWidth, inputHeight, xyMap);
54void bilinearExpandFloat(
const CRGB *input,
CRGB *output,
55 uint8_t inputWidth, uint8_t inputHeight,
Representation of an RGB pixel (Red, Green, Blue)