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;
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) {
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;
}
@ -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++) {
unsigned char cb;
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) {
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);
}
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);
}
}