param_image_read[it_file].dy = 0;
param_image_read[it_file].h = image_read->comps->h;
param_image_read[it_file].w = image_read->comps->w;
- param_image_read[it_file].bpp = image_read->comps->bpp;
param_image_read[it_file].prec = image_read->comps->prec;
param_image_read[it_file].sgnd = image_read->comps->sgnd;
{
opj_image_t* image_read = NULL;
opj_cparameters_t parameters;
+#ifdef OPJ_HAVE_LIBTIFF
+ const unsigned int target_bitdepth = 0;
+#endif
(void)nbFilenamePGX;
(void)separator;
/* Read the tif file corresponding to the component */
#ifdef OPJ_HAVE_LIBTIFF
- image_read = tiftoimage(filename, ¶meters);
+ image_read = tiftoimage(filename, ¶meters, target_bitdepth);
#endif
if (!image_read) {
fprintf(stderr, "Unable to load TIF file\n");
param_image_read[it_file].dy = 0;
param_image_read[it_file].h = image_read->comps->h;
param_image_read[it_file].w = image_read->comps->w;
- param_image_read[it_file].bpp = image_read->comps->bpp;
param_image_read[it_file].prec = image_read->comps->prec;
param_image_read[it_file].sgnd = image_read->comps->sgnd;
param_image_write.dy = 0;
param_image_write.h = image->comps[num_comp_select].h;
param_image_write.w = image->comps[num_comp_select].w;
- param_image_write.bpp = image->comps[num_comp_select].bpp;
param_image_write.prec = image->comps[num_comp_select].prec;
param_image_write.sgnd = image->comps[num_comp_select].sgnd;
param_image_diff[it_comp].dy = 0;
param_image_diff[it_comp].sgnd = 0;
param_image_diff[it_comp].prec = 8;
- param_image_diff[it_comp].bpp = 1;
param_image_diff[it_comp].h = imageBase->comps[it_comp].h;
param_image_diff[it_comp].w = imageBase->comps[it_comp].w;
goto cleanup;
}
- if (((imageBase->comps)[it_comp]).bpp != ((imageTest->comps)[it_comp]).bpp &&
- !inParam.ignore_prec) {
- printf("ERROR: bit per pixel mismatch [comp %d] (%d><%d)\n", it_comp,
- ((imageBase->comps)[it_comp]).bpp, ((imageTest->comps)[it_comp]).bpp);
- goto cleanup;
- }
-
if (((imageBase->comps)[it_comp]).h != ((imageTest->comps)[it_comp]).h) {
printf("ERROR: height mismatch [comp %d] (%d><%d)\n", it_comp,
((imageBase->comps)[it_comp]).h, ((imageTest->comps)[it_comp]).h);
double MSE = 0;
unsigned right_shift_input = 0;
unsigned right_shift_output = 0;
- if (((imageBase->comps)[it_comp]).bpp > ((imageTest->comps)[it_comp]).bpp) {
- right_shift_input = ((imageBase->comps)[it_comp]).bpp - ((
- imageTest->comps)[it_comp]).bpp;
+ if (((imageBase->comps)[it_comp]).prec > ((imageTest->comps)[it_comp]).prec) {
+ right_shift_input = ((imageBase->comps)[it_comp]).prec - ((
+ imageTest->comps)[it_comp]).prec;
} else {
- right_shift_output = ((imageTest->comps)[it_comp]).bpp - ((
- imageBase->comps)[it_comp]).bpp;
+ right_shift_output = ((imageTest->comps)[it_comp]).prec - ((
+ imageBase->comps)[it_comp]).prec;
}
for (itpxl = 0;
itpxl < ((imageDiff->comps)[it_comp]).w * ((imageDiff->comps)[it_comp]).h;