[trunk] Run decoder on input dataset from issue 254. Add fake md5sum to make sure...
[openjpeg.git] / tests / comparePGXimages.c
index 36ddb835bf96740d7255ea250de4ccae0706b273..425a66d9234348522c46ccfdb1af9e4e384be3b1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2011, Mickael Savinaud, Communications & Systemes <mickael.savinaud@c-s.fr>
+ * Copyright (c) 2011-2012, Centre National d'Etudes Spatiales (CNES), France 
  * All rights reserved.
  *
  * Redistribution and use in source and binary forms, with or without
@@ -37,7 +37,7 @@
 #include <string.h>
 #include <ctype.h>
 
-#include "opj_config.h"
+#include "opj_apps_config.h"
 #include "opj_getopt.h"
 
 #include "openjpeg.h"
@@ -47,7 +47,7 @@
 double* parseToleranceValues( char* inArg, const int nbcomp);
 void comparePGXimages_help_display(void);
 opj_image_t* readImageFromFilePGX(char* filename, int nbFilenamePGX, char *separator);
-#ifdef HAVE_LIBPNG
+#ifdef OPJ_HAVE_LIBPNG
 int imageToPNG(const opj_image_t* image, const char* filename, int num_comp_select);
 #endif
 
@@ -86,14 +86,14 @@ void comparePGXimages_help_display(void) {
   fprintf(stdout,"  -s \t OPTIONAL \t 1 or 2 filename separator to take into account PGX image with different components, "
                                       "please indicate b or t before separator to indicate respectively the separator "
                                       "for ref/base file and for test file.  \n");
-  fprintf(stdout,"  -r \t OPTIONAL \t indicate if you want to run this function as conformance test or as non regression test\n");
+  fprintf(stdout,"  -d \t OPTIONAL \t indicate if you want to run this function as conformance test or as non regression test\n");
   fprintf(stdout,"\n");
 }
 
 /*******************************************************************************
  * Parse command line
  *******************************************************************************/
-int parse_cmdline_cmp(int argc, char **argv, test_cmp_parameters* param)
+static int parse_cmdline_cmp(int argc, char **argv, test_cmp_parameters* param)
 {
   char *MSElistvalues = NULL;  char *PEAKlistvalues= NULL;
   char *separatorList = NULL;
@@ -332,7 +332,7 @@ double* parseToleranceValues( char* inArg, const int nbcomp)
  * Create filenames from a filename by used separator and nb components
  * (begin to 0)
  *******************************************************************************/
-char* createMultiComponentsFilename(const char* inFilename, const int indexF, const char* separator)
+static char* createMultiComponentsFilename(const char* inFilename, const int indexF, const char* separator)
 {
   char s[255];
   char *outFilename, *ptr;
@@ -446,7 +446,7 @@ opj_image_t* readImageFromFilePGX(char* filename, int nbFilenamePGX, char *separ
     free(filenameComponentPGX);
     }
 
-  image = opj_image_create(nbFilenamePGX, param_image_read, CLRSPC_UNSPECIFIED);
+  image = opj_image_create(nbFilenamePGX, param_image_read, OPJ_CLRSPC_UNSPECIFIED);
   for (it_file = 0; it_file < nbFilenamePGX; it_file++)
     {
     /* Copy data into output image and free memory*/
@@ -464,7 +464,7 @@ opj_image_t* readImageFromFilePGX(char* filename, int nbFilenamePGX, char *separ
 /*******************************************************************************
  *
  *******************************************************************************/
-#ifdef HAVE_LIBPNG
+#ifdef OPJ_HAVE_LIBPNG
 int imageToPNG(const opj_image_t* image, const char* filename, int num_comp_select)
 {
   opj_image_cmptparm_t param_image_write;
@@ -480,7 +480,7 @@ int imageToPNG(const opj_image_t* image, const char* filename, int num_comp_sele
   param_image_write.prec = image->comps[num_comp_select].prec;
   param_image_write.sgnd = image->comps[num_comp_select].sgnd;
 
-  image_write = opj_image_create(1, &param_image_write, CLRSPC_GRAY);
+  image_write = opj_image_create(1, &param_image_write, OPJ_CLRSPC_GRAY);
   memcpy(image_write->comps->data, image->comps[num_comp_select].data, param_image_write.h * param_image_write.w * sizeof(int));
 
   imagetopng(image_write, filename);
@@ -497,7 +497,7 @@ int imageToPNG(const opj_image_t* image, const char* filename, int num_comp_sele
 int main(int argc, char **argv)
 {
   test_cmp_parameters inParam;
-  int it_comp, itpxl;
+  OPJ_UINT32 it_comp, itpxl;
   int failed = 0;
   int nbFilenamePGXbase, nbFilenamePGXtest;
   char *filenamePNGtest= NULL, *filenamePNGbase = NULL, *filenamePNGdiff = NULL;
@@ -531,7 +531,8 @@ int main(int argc, char **argv)
          inParam.nr_flag, inParam.separator_base, inParam.separator_test);
 
   if ( (inParam.tabMSEvalues != NULL) && (inParam.tabPEAKvalues != NULL))
-  {
+    {
+    int it_comp;
     printf(" MSE values = [");
     for (it_comp = 0; it_comp < inParam.nbcomp; it_comp++)
       printf(" %f ", inParam.tabMSEvalues[it_comp]);
@@ -677,7 +678,7 @@ int main(int argc, char **argv)
      return EXIT_FAILURE;
      }
 
-   imageDiff = opj_image_create(imageBase->numcomps, param_image_diff, CLRSPC_UNSPECIFIED);
+   imageDiff = opj_image_create(imageBase->numcomps, param_image_diff, OPJ_CLRSPC_UNSPECIFIED);
    /* Free memory*/
    free(param_image_diff);
 
@@ -755,7 +756,7 @@ int main(int argc, char **argv)
          printf("<DartMeasurement name=\"NumberOfPixelsWithDifferences_%d\" type=\"numeric/int\"> %d </DartMeasurement> \n", it_comp, nbPixelDiff);
          printf("<DartMeasurement name=\"ComponentError_%d\" type=\"numeric/double\"> %f </DartMeasurement> \n", it_comp, sumDiff);
 
-#ifdef HAVE_LIBPNG
+#ifdef OPJ_HAVE_LIBPNG
          sprintf(it_compc, "_%i", it_comp);
          strcat(it_compc,".png");
          strcat(filenamePNGbase_it_comp, it_compc);
@@ -765,6 +766,7 @@ int main(int argc, char **argv)
          strcat(filenamePNGdiff_it_comp, it_compc);
          /*printf("filenamePNGdiff_it = %s [%d / %d octets]\n",filenamePNGdiff_it_comp, strlen(filenamePNGdiff_it_comp),memsizedifffilename );*/
 
+         /*
          if ( imageToPNG(imageBase, filenamePNGbase_it_comp, it_comp) == EXIT_SUCCESS )
            {
            printf("<DartMeasurementFile name=\"BaselineImage_%d\" type=\"image/png\"> %s </DartMeasurementFile> \n", it_comp, filenamePNGbase_it_comp);
@@ -779,6 +781,8 @@ int main(int argc, char **argv)
            {
            printf("<DartMeasurementFile name=\"DiffferenceImage_%d\" type=\"image/png\"> %s </DartMeasurementFile> \n", it_comp, filenamePNGdiff_it_comp);
            }
+           */
+
 #endif
          failed = 1;
          }