diff options
Diffstat (limited to 'main/display.h')
| -rw-r--r-- | main/display.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/main/display.h b/main/display.h index 9092efb..5f939b9 100644 --- a/main/display.h +++ b/main/display.h @@ -31,7 +31,16 @@ esp_err_t display_wake(void); // orientation. Source dimensions must match the effective resolution: // portrait -> src is 480x800 (rotated 90° CW into the 800x480 panel) // landscape -> src is 800x480 (copied 1:1) -// Used by /frame after JPEG decode. +// CPU-rotation + format-conversion path used by local_screens for the +// info / loading screens (cold path). /frame uses the zero-copy +// BGR888 path below. esp_err_t display_present_rgb565(const uint16_t *src, uint16_t src_w, uint16_t src_h); + +// Zero-copy hot path. Source is already 800x480 with bytes in [B, G, R] +// memory order (i.e. the format the panel pipeline natively wants); +// hand it straight to esp_lcd_panel_draw_bitmap. No CPU pixel work, no +// format conversion, no rotation — Scrypted is responsible for sending +// the buffer pre-rotated and pre-scaled to panel-native dimensions. +esp_err_t display_present_bgr888(const void *bgr888); |
