diff options
Diffstat (limited to 'tools/bmp2rb.c')
-rw-r--r-- | tools/bmp2rb.c | 22 |
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 | } |