21 u16 inputHeight,
const fl::XYMap&
xyMap);
31 u8 inputHeight,
const fl::XYMap&
xyMap);
42 u16 inputHeight, u16 outputWidth, u16 outputHeight);
53 u8 inputHeight,
u8 outputWidth,
u8 outputHeight);
58 u16 outputWidth =
xyMap.getWidth();
59 u16 outputHeight =
xyMap.getHeight();
61 (outputWidth !=
xyMap.getWidth() || outputHeight !=
xyMap.getHeight());
68 if (wontFit || (inputWidth & (inputWidth - 1)) ||
69 (inputHeight & (inputHeight - 1))) {
71 outputWidth, outputHeight);
74 outputWidth, outputHeight);
78 if (wontFit || (inputWidth & (inputWidth - 1)) ||
79 (inputHeight & (inputHeight - 1))) {
96 u8 v11,
float dx,
float dy);
void upscaleRectangular(const CRGB *input, CRGB *output, u16 inputWidth, u16 inputHeight, u16 outputWidth, u16 outputHeight)
Optimized upscale for rectangular/line-by-line XY maps.
void upscaleRectangularPowerOf2(const CRGB *input, CRGB *output, u8 inputWidth, u8 inputHeight, u8 outputWidth, u8 outputHeight)
Optimized upscale for rectangular/line-by-line XY maps (power-of-2 version).
void upscaleArbitraryFloat(const CRGB *input, CRGB *output, u16 inputWidth, u16 inputHeight, const XYMap &xyMap)
void upscaleArbitrary(const CRGB *input, CRGB *output, u16 inputWidth, u16 inputHeight, const XYMap &xyMap)
Performs bilinear interpolation for upscaling an image.
u8 upscaleFloat(u8 v00, u8 v10, u8 v01, u8 v11, float dx, float dy)
void upscale(const CRGB *input, CRGB *output, u16 inputWidth, u16 inputHeight, const fl::XYMap &xyMap)
void upscalePowerOf2(const CRGB *input, CRGB *output, u8 inputWidth, u8 inputHeight, const XYMap &xyMap)
Performs bilinear interpolation for upscaling an image.
Base definition for an LED controller.
Representation of an 8-bit RGB pixel (Red, Green, Blue)