From 418169aff8faf2cf90124cd95dba0af821cea73d Mon Sep 17 00:00:00 2001 From: Solomon Peachy Date: Thu, 13 Oct 2022 11:03:53 -0400 Subject: Revert "Remove YUV blitting functions and LCD modes" This reverts commit fe6aa21e9eb88f49005863efd2003d0982920048. Change-Id: I8bb1e5d6c52ed1478002d2140ef494ec5d62b8e3 --- firmware/export/config/mrobe500.h | 2 +- firmware/export/lcd.h | 11 ++++++++++- 2 files changed, 11 insertions(+), 2 deletions(-) (limited to 'firmware/export') diff --git a/firmware/export/config/mrobe500.h b/firmware/export/config/mrobe500.h index 0ecec80e02..621c0b75ca 100644 --- a/firmware/export/config/mrobe500.h +++ b/firmware/export/config/mrobe500.h @@ -220,7 +220,7 @@ #define HAVE_USB_HID_MOUSE /* Define this if hardware supports alternate blitting */ -#define HAVE_LCD_MODES (LCD_MODE_RGB565 | LCD_MODE_PAL256) +#define HAVE_LCD_MODES (LCD_MODE_RGB565 | LCD_MODE_YUV | LCD_MODE_PAL256) #define CONFIG_CPU DM320 diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h index 29c34b698b..67b22190ad 100644 --- a/firmware/export/lcd.h +++ b/firmware/export/lcd.h @@ -145,6 +145,7 @@ struct scrollinfo; #if defined(HAVE_LCD_MODES) void lcd_set_mode(int mode); #define LCD_MODE_RGB565 0x00000001 +#define LCD_MODE_YUV 0x00000002 #define LCD_MODE_PAL256 0x00000004 #if HAVE_LCD_MODES & LCD_MODE_PAL256 @@ -235,7 +236,15 @@ extern bool lcd_putsxy_scroll_func(int x, int y, const unsigned char *string, void *data, int x_offset); /* performance function */ -#if !defined(HAVE_LCD_COLOR) +#if defined(HAVE_LCD_COLOR) +#if MEMORYSIZE > 2 +#define LCD_YUV_DITHER 0x1 + extern void lcd_yuv_set_options(unsigned options); + extern void lcd_blit_yuv(unsigned char * const src[3], + int src_x, int src_y, int stride, + int x, int y, int width, int height); +#endif /* MEMORYSIZE > 2 */ +#else extern void lcd_blit_mono(const unsigned char *data, int x, int by, int width, int bheight, int stride); extern void lcd_blit_grey_phase(unsigned char *values, unsigned char *phases, -- cgit v1.2.3