summaryrefslogtreecommitdiff
path: root/apps/recorder/bmp.c
diff options
context:
space:
mode:
authorKarl Kurbjun <kkurbjun@gmail.com>2009-09-01 00:57:47 +0000
committerKarl Kurbjun <kkurbjun@gmail.com>2009-09-01 00:57:47 +0000
commite4345365f18667018dd11cd56cf9106e8ec3c346 (patch)
tree8531492033abbe2f69a5c753461009b357d9f1d7 /apps/recorder/bmp.c
parent8cb5df6a469ab69179ef304b30455925806b7b95 (diff)
downloadrockbox-e4345365f18667018dd11cd56cf9106e8ec3c346.tar.gz
rockbox-e4345365f18667018dd11cd56cf9106e8ec3c346.zip
Add in BMP loader for vertical stride and include lcd-16bit-vert.c in SOURCES
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22580 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/recorder/bmp.c')
-rw-r--r--apps/recorder/bmp.c19
1 files changed, 19 insertions, 0 deletions
diff --git a/apps/recorder/bmp.c b/apps/recorder/bmp.c
index 8fcd8ca92e..9f83748a82 100644
--- a/apps/recorder/bmp.c
+++ b/apps/recorder/bmp.c
@@ -423,6 +423,24 @@ void output_row_8_native(uint32_t row, void * row_in,
423 } 423 }
424#endif /* LCD_PIXELFORMAT */ 424#endif /* LCD_PIXELFORMAT */
425#elif LCD_DEPTH == 16 425#elif LCD_DEPTH == 16
426#if defined(LCD_STRIDEFORMAT) && LCD_STRIDEFORMAT == VERTICAL_STRIDE
427 /* M:Robe 500 */
428 fb_data *dest = (fb_data *)ctx->bm->data + row;
429 int delta = 127;
430 unsigned r, g, b;
431 for (col = 0; col < ctx->bm->width; col++) {
432 if (ctx->dither)
433 delta = DITHERXDY(col,dy);
434 r = qp->red;
435 g = qp->green;
436 b = (qp++)->blue;
437 r = (31 * r + (r >> 3) + delta) >> 8;
438 g = (63 * g + (g >> 2) + delta) >> 8;
439 b = (31 * b + (b >> 3) + delta) >> 8;
440 *dest = LCD_RGBPACK_LCD(r, g, b);
441 dest += ctx->bm->height;
442 }
443#else
426 /* iriver h300, colour iPods, X5 */ 444 /* iriver h300, colour iPods, X5 */
427 fb_data *dest = (fb_data *)ctx->bm->data + fb_width * row; 445 fb_data *dest = (fb_data *)ctx->bm->data + fb_width * row;
428 int delta = 127; 446 int delta = 127;
@@ -438,6 +456,7 @@ void output_row_8_native(uint32_t row, void * row_in,
438 b = (31 * b + (b >> 3) + delta) >> 8; 456 b = (31 * b + (b >> 3) + delta) >> 8;
439 *dest++ = LCD_RGBPACK_LCD(r, g, b); 457 *dest++ = LCD_RGBPACK_LCD(r, g, b);
440 } 458 }
459#endif
441#endif /* LCD_DEPTH */ 460#endif /* LCD_DEPTH */
442} 461}
443#endif 462#endif