diff options
author | Dave Chapman <dave@dchapman.com> | 2005-11-15 02:20:05 +0000 |
---|---|---|
committer | Dave Chapman <dave@dchapman.com> | 2005-11-15 02:20:05 +0000 |
commit | 4202df0549c885af9990bcf7e3b2f2b2d01fea17 (patch) | |
tree | 9ba010ccfaa6b761d47fdd3bd759eafe7366d5ad /tools | |
parent | 07480a7c9df825410c3e100688db83c212e87bbe (diff) | |
download | rockbox-4202df0549c885af9990bcf7e3b2f2b2d01fea17.tar.gz rockbox-4202df0549c885af9990bcf7e3b2f2b2d01fea17.zip |
Add output format for the ipod's byte-swapped rgb565
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7890 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'tools')
-rw-r--r-- | tools/bmp2rb.c | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/tools/bmp2rb.c b/tools/bmp2rb.c index 08de2e2390..61737f8b0f 100644 --- a/tools/bmp2rb.c +++ b/tools/bmp2rb.c | |||
@@ -310,6 +310,11 @@ int transform_bitmap(const struct RGBQUAD *src, long width, long height, | |||
310 | dst_h = height; | 310 | dst_h = height; |
311 | break; | 311 | break; |
312 | 312 | ||
313 | case 5: /* 16-bit packed and byte-swapped RGB (5-6-5) */ | ||
314 | dst_w = width; | ||
315 | dst_h = height; | ||
316 | break; | ||
317 | |||
313 | default: /* unknown */ | 318 | default: /* unknown */ |
314 | debugf("error - Undefined destination format\n"); | 319 | debugf("error - Undefined destination format\n"); |
315 | return 1; | 320 | return 1; |
@@ -363,6 +368,7 @@ int transform_bitmap(const struct RGBQUAD *src, long width, long height, | |||
363 | break; | 368 | break; |
364 | 369 | ||
365 | case 4: /* 16-bit packed RGB (5-6-5) */ | 370 | case 4: /* 16-bit packed RGB (5-6-5) */ |
371 | case 5: /* 16-bit packed and byte-swapped RGB (5-6-5) */ | ||
366 | for (row = 0; row < height; row++) | 372 | for (row = 0; row < height; row++) |
367 | for (col = 0; col < width; col++) | 373 | for (col = 0; col < width; col++) |
368 | { | 374 | { |
@@ -371,7 +377,10 @@ int transform_bitmap(const struct RGBQUAD *src, long width, long height, | |||
371 | ((src[row * width + col].rgbGreen >> 2) << 5) | | 377 | ((src[row * width + col].rgbGreen >> 2) << 5) | |
372 | ((src[row * width + col].rgbBlue >> 3))); | 378 | ((src[row * width + col].rgbBlue >> 3))); |
373 | 379 | ||
374 | (*dest)[row * dst_w + col] = rgb; | 380 | if (format == 4) |
381 | (*dest)[row * dst_w + col] = rgb; | ||
382 | else | ||
383 | (*dest)[row * dst_w + col] = ((rgb&0xff00)>>8)|((rgb&0x00ff)<<8); | ||
375 | } | 384 | } |
376 | break; | 385 | break; |
377 | } | 386 | } |
@@ -459,6 +468,7 @@ void print_usage(void) | |||
459 | "\t 2 Iriver H1x0 4-grey\n" | 468 | "\t 2 Iriver H1x0 4-grey\n" |
460 | "\t 3 Canonical 8-bit grayscale\n" | 469 | "\t 3 Canonical 8-bit grayscale\n" |
461 | "\t 4 16-bit packed 5-6-5 RGB (iriver H300)\n" | 470 | "\t 4 16-bit packed 5-6-5 RGB (iriver H300)\n" |
471 | "\t 5 16-bit packed and byte-swapped 5-6-5 RGB (iPod)\n" | ||
462 | , APPLICATION_NAME); | 472 | , APPLICATION_NAME); |
463 | printf("build date: " __DATE__ "\n\n"); | 473 | printf("build date: " __DATE__ "\n\n"); |
464 | } | 474 | } |