One component input image handled

This commit is contained in:
Francois-Olivier Devaux 2004-09-06 15:47:09 +00:00
parent 3c730a804b
commit 2ebe5f2c92
1 changed files with 13 additions and 6 deletions

View File

@ -205,9 +205,16 @@ int imagetoyuv(j2k_image_t * img, j2k_cp_t * cp, char *outfile)
FILE *f; FILE *f;
int i; int i;
if (img->numcomps != 3 || img->comps[0].dx != img->comps[1].dx / 2 if (img->numcomps == 3) {
if (img->comps[0].dx != img->comps[1].dx / 2
|| img->comps[1].dx != img->comps[2].dx) { || img->comps[1].dx != img->comps[2].dx) {
fprintf(stderr, "Error with image components sizes\n"); fprintf(stderr,
"Error with the input image components size: cannot create yuv file)\n");
return 1;
}
} else if (!(img->numcomps == 1)) {
fprintf(stderr,
"Error with the number of image components(must be one or three)\n");
return 1; return 1;
} }
@ -225,7 +232,7 @@ int imagetoyuv(j2k_image_t * img, j2k_cp_t * cp, char *outfile)
} }
if (img->numcomps > 2) { if (img->numcomps == 3) {
for (i = 0; i < (img->comps[1].w * img->comps[1].h); i++) { for (i = 0; i < (img->comps[1].w * img->comps[1].h); i++) {
unsigned char cb; unsigned char cb;
cb = img->comps[1].data[i]; cb = img->comps[1].data[i];
@ -240,13 +247,13 @@ int imagetoyuv(j2k_image_t * img, j2k_cp_t * cp, char *outfile)
} }
} else if (img->numcomps == 1) { } else if (img->numcomps == 1) {
for (i = 0; i < (img->comps[0].w * img->comps[0].h * 0.25); i++) { for (i = 0; i < (img->comps[0].w * img->comps[0].h * 0.25); i++) {
unsigned char cb = 0; unsigned char cb = 125;
fwrite(&cb, 1, 1, f); fwrite(&cb, 1, 1, f);
} }
for (i = 0; i < (img->comps[0].w * img->comps[0].h * 0.25); i++) { for (i = 0; i < (img->comps[0].w * img->comps[0].h * 0.25); i++) {
unsigned char cr = 0; unsigned char cr = 125;
fwrite(&cr, 1, 1, f); fwrite(&cr, 1, 1, f);
} }
} }