Bridges VideoDecoder's write() calls to a TinyGPU ILI9341Driver - VideoDecoder always hands over one complete frame per write() call (see its class comment), so this can push the whole frame in one go. Usually the data is in RGB565 format, but other formats are supported as well.
More...
#include <OutputTinyGPU.h>
Bridges VideoDecoder's write() calls to a TinyGPU ILI9341Driver - VideoDecoder always hands over one complete frame per write() call (see its class comment), so this can push the whole frame in one go. Usually the data is in RGB565 format, but other formats are supported as well.
write() never allocates or copies a full-frame buffer of its own: it wraps the caller's already-decoded frame in a SurfaceWithExternalBuffer (a TinyGPU view over externally-owned memory) and hands that straight to the display driver, so RAM use stays independent of the frame size - only clearScreen()'s small band buffer (kBandHeight rows) is actually owned/allocated here.
- Author
- Phil Schatzmann
- Copyright
- GPLv3
◆ OutputTinyGPU()
| OutputTinyGPU |
( |
ILI9341Driver< RGB565 > & |
driver, |
|
|
int |
width, |
|
|
int |
height, |
|
|
int |
pinBacklight, |
|
|
int |
bandHeight = 40 |
|
) |
| |
|
inline |
- Parameters
-
| bandHeight | height (in pixels) of the strip used to clear the screen in begin() - kept small (default 40) so the clear buffer stays a small, single allocation instead of a full-screen framebuffer; see TinyGPU's bouncing-ball example for the same technique. |
◆ begin()
◆ clearScreen()
◆ flush()
◆ setVideoInfo()
Defines the video format and dimensions - call before begin() if you.
◆ setVideoInfoSource()
Defines the source of the video information (width, height, fps, format)
◆ write()
| size_t write |
( |
const uint8_t * |
data, |
|
|
size_t |
len |
|
) |
| |
|
inlineoverridevirtual |
◆ height
◆ info_
◆ kBandHeight
◆ kPinBacklight
◆ p_info
◆ tftDriver
| ILI9341Driver<RGB565>& tftDriver |
|
protected |
◆ width
The documentation for this class was generated from the following file: