src.nth.io/

summaryrefslogtreecommitdiff
path: root/main/display.h
diff options
context:
space:
mode:
Diffstat (limited to 'main/display.h')
-rw-r--r--main/display.h11
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);