diff options
Diffstat (limited to 'tools/bmp2rb.c')
-rw-r--r-- | tools/bmp2rb.c | 17 |
1 files changed, 16 insertions, 1 deletions
diff --git a/tools/bmp2rb.c b/tools/bmp2rb.c index e2e02a2a50..264179a571 100644 --- a/tools/bmp2rb.c +++ b/tools/bmp2rb.c | |||
@@ -319,6 +319,7 @@ int transform_bitmap(const struct RGBQUAD *src, int width, int height, | |||
319 | 319 | ||
320 | case 4: /* 16-bit packed RGB (5-6-5) */ | 320 | case 4: /* 16-bit packed RGB (5-6-5) */ |
321 | case 5: /* 16-bit packed and byte-swapped RGB (5-6-5) */ | 321 | case 5: /* 16-bit packed and byte-swapped RGB (5-6-5) */ |
322 | case 8: /* 16-bit packed RGB (5-6-5) vertical stride*/ | ||
322 | dst_w = width; | 323 | dst_w = width; |
323 | dst_h = height; | 324 | dst_h = height; |
324 | dst_d = 16; | 325 | dst_d = 16; |
@@ -425,6 +426,19 @@ int transform_bitmap(const struct RGBQUAD *src, int width, int height, | |||
425 | (*dest)[(row/8) * dst_w + col] |= data << (row & 7); | 426 | (*dest)[(row/8) * dst_w + col] |= data << (row & 7); |
426 | } | 427 | } |
427 | break; | 428 | break; |
429 | |||
430 | case 8: /* 16-bit packed RGB (5-6-5) vertical stride*/ | ||
431 | for (row = 0; row < height; row++) | ||
432 | for (col = 0; col < width; col++) | ||
433 | { | ||
434 | unsigned short rgb = | ||
435 | (((src[row * width + col].rgbRed >> 3) << 11) | | ||
436 | ((src[row * width + col].rgbGreen >> 2) << 5) | | ||
437 | ((src[row * width + col].rgbBlue >> 3))); | ||
438 | |||
439 | (*dest)[col * dst_h + row] = rgb; | ||
440 | } | ||
441 | break; | ||
428 | } | 442 | } |
429 | 443 | ||
430 | return 0; | 444 | return 0; |
@@ -569,7 +583,8 @@ void print_usage(void) | |||
569 | "\t 4 16-bit packed 5-6-5 RGB (iriver H300)\n" | 583 | "\t 4 16-bit packed 5-6-5 RGB (iriver H300)\n" |
570 | "\t 5 16-bit packed and byte-swapped 5-6-5 RGB (iPod)\n" | 584 | "\t 5 16-bit packed and byte-swapped 5-6-5 RGB (iPod)\n" |
571 | "\t 6 Greyscale iPod 4-grey\n" | 585 | "\t 6 Greyscale iPod 4-grey\n" |
572 | "\t 7 Greyscale X5 remote 4-grey\n"); | 586 | "\t 7 Greyscale X5 remote 4-grey\n" |
587 | "\t 8 16-bit packed 5-6-5 RGB with a vertical stride\n"); | ||
573 | printf("build date: " __DATE__ "\n\n"); | 588 | printf("build date: " __DATE__ "\n\n"); |
574 | } | 589 | } |
575 | 590 | ||