summaryrefslogtreecommitdiff
path: root/tools/bmp2rb.c
diff options
context:
space:
mode:
Diffstat (limited to 'tools/bmp2rb.c')
-rw-r--r--tools/bmp2rb.c22
1 files changed, 20 insertions, 2 deletions
diff --git a/tools/bmp2rb.c b/tools/bmp2rb.c
index 0262473fc1..478badefd7 100644
--- a/tools/bmp2rb.c
+++ b/tools/bmp2rb.c
@@ -326,6 +326,12 @@ int transform_bitmap(const struct RGBQUAD *src, int width, int height,
326 dst_h = height; 326 dst_h = height;
327 dst_d = 8; 327 dst_d = 8;
328 break; 328 break;
329
330 case 7: /* greyscale X5 remote 4-grey */
331 dst_w = width;
332 dst_h = (height + 7) / 8;
333 dst_d = 16;
334 break;
329 335
330 default: /* unknown */ 336 default: /* unknown */
331 debugf("error - Undefined destination format\n"); 337 debugf("error - Undefined destination format\n");
@@ -405,6 +411,17 @@ int transform_bitmap(const struct RGBQUAD *src, int width, int height,
405 (~brightness(src[row * width + col]) & 0xC0) >> (2 * (col & 3)); 411 (~brightness(src[row * width + col]) & 0xC0) >> (2 * (col & 3));
406 } 412 }
407 break; 413 break;
414
415 case 7: /* greyscale X5 remote 4-grey */
416 for (row = 0; row < height; row++)
417 for (col = 0; col < width; col++)
418 {
419 unsigned short data = (~brightness(src[row * width + col]) & 0xC0) >> 6;
420
421 data = (data | (data << 7)) & 0x0101;
422 (*dest)[(row/8) * dst_w + col] |= data << (row & 7);
423 }
424 break;
408 } 425 }
409 426
410 return 0; 427 return 0;
@@ -514,10 +531,11 @@ void print_usage(void)
514 "\t 0 Archos recorder, Ondio, Gmini 120/SP, Iriver H1x0 mono\n" 531 "\t 0 Archos recorder, Ondio, Gmini 120/SP, Iriver H1x0 mono\n"
515 "\t 1 Archos player graphics library\n" 532 "\t 1 Archos player graphics library\n"
516 "\t 2 Iriver H1x0 4-grey\n" 533 "\t 2 Iriver H1x0 4-grey\n"
517 "\t 3 Canonical 8-bit grayscale\n" 534 "\t 3 Canonical 8-bit greyscale\n"
518 "\t 4 16-bit packed 5-6-5 RGB (iriver H300)\n" 535 "\t 4 16-bit packed 5-6-5 RGB (iriver H300)\n"
519 "\t 5 16-bit packed and byte-swapped 5-6-5 RGB (iPod)\n" 536 "\t 5 16-bit packed and byte-swapped 5-6-5 RGB (iPod)\n"
520 "\t 6 Greayscale iPod 4-grey\n" 537 "\t 6 Greyscale iPod 4-grey\n"
538 "\t 7 Greyscale X5 remote 4-grey\n"
521 , APPLICATION_NAME); 539 , APPLICATION_NAME);
522 printf("build date: " __DATE__ "\n\n"); 540 printf("build date: " __DATE__ "\n\n");
523} 541}