summaryrefslogtreecommitdiff
path: root/firmware/export/lcd.h
diff options
context:
space:
mode:
authorJens Arnold <amiconn@rockbox.org>2008-01-09 23:48:26 +0000
committerJens Arnold <amiconn@rockbox.org>2008-01-09 23:48:26 +0000
commit6a56c14e17f6ba113ec0d4d40e75bffd61b293cc (patch)
tree64bcdd8d5d4afa2ca6dd1aa0976cdafa9a346b26 /firmware/export/lcd.h
parent75380fd27d175bab1818ef35a9100e74fc6a461b (diff)
downloadrockbox-6a56c14e17f6ba113ec0d4d40e75bffd61b293cc.tar.gz
rockbox-6a56c14e17f6ba113ec0d4d40e75bffd61b293cc.zip
Greyscale library: Changed the internal data format once more (separated pixel values and phases), allowing for further optimisation of drawing, scrolling etc. * Optimised grey phase blitting in the core reduces CPU load on all architectures, most significantly on coldfire. Previous version was too slow to keep up at 45MHz, leading to unwanted graininess (update frequency was halved). Also fixed screendump on 2bpp targets with vertical pixel packing.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16043 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/export/lcd.h')
-rw-r--r--firmware/export/lcd.h10
1 files changed, 3 insertions, 7 deletions
diff --git a/firmware/export/lcd.h b/firmware/export/lcd.h
index 57c9b1d3b8..669ef67f02 100644
--- a/firmware/export/lcd.h
+++ b/firmware/export/lcd.h
@@ -131,13 +131,9 @@ extern void lcd_yuv_blit(unsigned char * const src[3],
131 int src_x, int src_y, int stride, 131 int src_x, int src_y, int stride,
132 int x, int y, int width, int height); 132 int x, int y, int width, int height);
133#else 133#else
134struct grey_data { 134extern void lcd_grey_phase_blit(unsigned char *values, unsigned char *phases,
135 unsigned char phase; /* SH1 uses it signed (doesn't matter for high level) */ 135 int bx, int by, int bwidth, int bheight,
136 unsigned char value; /* 0..128 are allowed */ 136 int stride);
137} __attribute__((packed));
138extern void lcd_grey_data(const struct grey_data *data, int count); /* private */
139extern void lcd_grey_phase_blit(const struct grey_data *data, int bx, int by,
140 int bwidth, int bheight, int stride);
141#endif 137#endif
142 138
143/* performance function */ 139/* performance function */