manage case 0 frames inside yuv_num_frames function and correct some warnings with...
authorMickael Savinaud <savmickael@users.noreply.github.com>
Thu, 28 Jul 2011 10:45:22 +0000 (10:45 +0000)
committerMickael Savinaud <savmickael@users.noreply.github.com>
Thu, 28 Jul 2011 10:45:22 +0000 (10:45 +0000)
13 files changed:
applications/codec/convert.c
applications/codec/j2k_to_image.c
applications/common/getopt.c
applications/jpip/opj_client/opj_dec_server/opj_dec_server.c
applications/mj2/frames_to_mj2.c
applications/mj2/mj2.c
applications/mj2/mj2.h
applications/mj2/mj2_convert.c
applications/mj2/mj2_convert.h
libopenjpeg/dwt.c
libopenjpeg/j2k.c
libopenjpeg/jpwl/jpwl.c
libopenjpeg/jpwl/jpwl_lib.c

index 502539f73850111309ec4f12ea07dddafee04035..c7adabe99559f48f13ed307c9c577da604452b93 100644 (file)
@@ -1968,7 +1968,6 @@ int imagetotif(opj_image_t * image, const char *outfile)
        int width, height, imgsize;
        int bps,index,adjust, sgnd;
        int ushift, dshift, has_alpha, force16;
-       unsigned int last_i=0;
        TIFF *tif;
        tdata_t buf;
        tstrip_t strip;
@@ -2029,7 +2028,7 @@ int imagetotif(opj_image_t * image, const char *outfile)
        for(strip = 0; strip < TIFFNumberOfStrips(tif); strip++) 
   {
        unsigned char *dat8;
-       tsize_t i, ssize;
+       tsize_t i, ssize, last_i = 0;
   int step, restx;
        ssize = TIFFStripSize(tif);
        dat8 = (unsigned char*)buf;
index b8f237bd54f4e5cdb8d473f94cdceaa14590e406..3da8311922dd053a1d168b46ba74dd605899b81a 100644 (file)
@@ -595,7 +595,7 @@ int main(int argc, char **argv) {
                file_length = ftell(fsrc);
                fseek(fsrc, 0, SEEK_SET);
                src = (unsigned char *) malloc(file_length);
-               if (fread(src, 1, file_length, fsrc) != file_length)
+               if (fread(src, 1, file_length, fsrc) != (size_t)file_length)
                {
                        free(src);
                        fclose(fsrc);
index 5e444d399e63e2502e009e7a068a13d39543529e..a02dde9677bd1bf78204ee7cff9e56d4e7828c9f 100644 (file)
@@ -129,7 +129,7 @@ int getopt(int nargc, char *const *nargv, const char *ostr) {
 
 
 int getopt_long(int argc, char * const argv[], const char *optstring,
-struct option *longopts, int totlen) {
+const struct option *longopts, int totlen) {
        static int lastidx,lastofs;
        char *tmp;
        int i,len;
index e27097975c7c480def07919442d48cf46f9818be..895ade5ca4cb663e5703ee3e0ff0826eef58c6f3 100644 (file)
@@ -144,7 +144,7 @@ int main(int argc, char *argv[]){
   
   int listening_socket = open_listeningsocket();
   
-  int addrlen = sizeof(peer_sin);
+  unsigned int addrlen = sizeof(peer_sin);
 
   cachelist_param_t *cachelist = gene_cachelist();
   
index 4e89956fa312e9d8c55b38a80b973f87aa2bff51..1e0d29a9b37a7268d8a7cc82af09532ea05f7c22 100644 (file)
@@ -199,29 +199,29 @@ void help_display()
   fprintf(stdout,"TotalDisto\n\n");
 }
 
-int give_progression(char progression[4])
+OPJ_PROG_ORDER give_progression(char progression[5])
 {
   if (progression[0] == 'L' && progression[1] == 'R'
     && progression[2] == 'C' && progression[3] == 'P') {
-    return 0;
+    return LRCP;
   } else {
     if (progression[0] == 'R' && progression[1] == 'L'
       && progression[2] == 'C' && progression[3] == 'P') {
-      return 1;
+      return RLCP;
     } else {
       if (progression[0] == 'R' && progression[1] == 'P'
                                && progression[2] == 'C' && progression[3] == 'L') {
-                               return 2;
+                               return RPCL;
       } else {
                                if (progression[0] == 'P' && progression[1] == 'C'
                                        && progression[2] == 'R' && progression[3] == 'L') {
-                                       return 3;
+                                       return PCRL;
                                } else {
                                        if (progression[0] == 'C' && progression[1] == 'P'
                                                && progression[2] == 'R' && progression[3] == 'L') {
-                                               return 4;
+                                               return CPRL;
                                        } else {
-                                               return -1;
+                                               return PROG_UNKNOWN;
                                        }
                                }
       }
@@ -475,9 +475,9 @@ int main(int argc, char **argv)
       /* ----------------------------------------------------- */
     case 'p':                  /* progression order */
                        {
-                               char progression[4];
+                               char progression[5];
                                
-                               strncpy(progression, optarg, 4);
+                               strncpy(progression, optarg, 5);
                                j2k_parameters->prog_order = give_progression(progression);
                                if (j2k_parameters->prog_order == -1) {
                                        fprintf(stderr, "Unrecognized progression order "
@@ -696,7 +696,7 @@ int main(int argc, char **argv)
        movie->tk[0].num_samples = 
         yuv_num_frames(&movie->tk[0],mj2_parameters.infile);
 
-       if (movie->tk[0].num_samples == -1) {
+       if (movie->tk[0].num_samples == 0) {
                return 1;
        }
 
index dfab191794a5297bcb97f5b20981105022f00157..fe48415be7dd5936f9c5effed0c0bc5abdcb8a98 100644 (file)
@@ -240,9 +240,7 @@ void mj2_tts_decompact(mj2_tk_t * tk)
 */
 void mj2_stsc_decompact(mj2_tk_t * tk)
 {
-  int j, i;
-  unsigned int k;
-  int sampleno=0;
+  unsigned int i, j, k, sampleno = 0;
   
   if (tk->num_samplestochunk == 1) {
     tk->num_chunks =
@@ -283,10 +281,8 @@ void mj2_stsc_decompact(mj2_tk_t * tk)
 */
 void mj2_stco_decompact(mj2_tk_t * tk)
 {
-  int j;
-  unsigned int i;
-  int k = 0;
-  int intra_chunk_offset;
+  unsigned int i, j, k = 0;
+  unsigned int intra_chunk_offset;
        
   for (i = 0; i < tk->num_chunks; i++) {
     intra_chunk_offset = 0;
@@ -585,7 +581,7 @@ int mj2_read_stsz(mj2_tk_t * tk, opj_cio_t *cio)
 */
 void mj2_write_stsc(mj2_tk_t * tk, opj_cio_t *cio)
 {
-  int i;
+  unsigned int i;
   mj2_box_t box;
        
   box.init_pos = cio_tell(cio);
@@ -617,7 +613,7 @@ void mj2_write_stsc(mj2_tk_t * tk, opj_cio_t *cio)
 */
 int mj2_read_stsc(mj2_tk_t * tk, opj_cio_t *cio)
 {
-  int i;
+  unsigned int i;
   mj2_box_t box;
        
   mj2_read_boxhdr(&box, cio);  /* Box Size */
index d4f27451e686af7b12576ca8d3005964cd33e226..2e3d0b15c3721c9e3834ee349b0258665715274d 100644 (file)
@@ -103,7 +103,7 @@ typedef struct mj2_tts {
 Chunk
 */
 typedef struct mj2_chunk {             
-  int num_samples;
+  unsigned int num_samples;
   int sample_descr_idx;
   int offset;
 } mj2_chunk_t;
@@ -112,8 +112,8 @@ typedef struct mj2_chunk {
 Sample to chunk
 */
 typedef struct mj2_sampletochunk {             
-  int first_chunk;
-  int samples_per_chunk;
+  unsigned int first_chunk;
+  unsigned int samples_per_chunk;
   int sample_descr_idx;
 } mj2_sampletochunk_t;
 
@@ -205,7 +205,7 @@ typedef struct mj2_tk {
   mj2_tts_t *tts;              
   unsigned int num_chunks;
   mj2_chunk_t *chunk;
-  int num_samplestochunk;
+  unsigned int num_samplestochunk;
   mj2_sampletochunk_t *sampletochunk;
   char *name;
   opj_jp2_t jp2_struct;
index 0f2d975d7eecb35a82209fb218a982674bbf783f..3d842883fc3f6729092ec97cd3a975f7c11b501f 100644 (file)
 /*                                   */
 /*  -----------------------          */
 
-int yuv_num_frames(mj2_tk_t * tk, char *infile)
+unsigned int yuv_num_frames(mj2_tk_t * tk, char *infile)
 {
-  int numimages, frame_size, prec_size;
-  long end_of_f;
+  unsigned int prec_size;
+  long end_of_f, frame_size;
        FILE *f;
 
   f = fopen(infile,"rb");
   if (!f) {  
     fprintf(stderr, "failed to open %s for reading\n",infile);
-    return -1;
+    return 0;
   }
        prec_size = (tk->depth + 7)/8;/* bytes of precision */
 
-  frame_size = (int) (tk->w * tk->h * (1.0 + (double) 2 / (double) (tk->CbCr_subsampling_dx * tk->CbCr_subsampling_dy)));      /* Calculate frame size */
+  frame_size = (long) (tk->w * tk->h * (1.0 + (double) 2 / (double) (tk->CbCr_subsampling_dx * tk->CbCr_subsampling_dy)));     /* Calculate frame size */
        frame_size *= prec_size; 
        
   fseek(f, 0, SEEK_END);
@@ -60,13 +60,11 @@ int yuv_num_frames(mj2_tk_t * tk, char *infile)
     fprintf(stderr,
                        "YUV does not contains any frame of %d x %d size\n", tk->w,
                        tk->h);
-    return -1;
+    return 0;
   }
+  fclose(f);
        
-  numimages = end_of_f / frame_size;   /* Calculate number of images */
-       fclose(f);
-
-  return numimages;
+  return (unsigned int)(end_of_f / frame_size);
 }
 
 //  -----------------------
index 78e6c470a003afa12a9543a9c0f2e0d6e93ade9c..19ba99f71784c10ede503101904bc2bb96af0f16 100644 (file)
@@ -39,7 +39,7 @@ opj_image_t *mj2_image_create(mj2_tk_t * tk, opj_cparameters_t *parameters);
 
 char yuvtoimage(mj2_tk_t * tk, opj_image_t * img, int frame_num, opj_cparameters_t *parameters, char* infile);
 
-int yuv_num_frames(mj2_tk_t * tk, char *infile);
+unsigned int yuv_num_frames(mj2_tk_t * tk, char *infile);
 
 
 #endif
index 3436b103123399b583249edb35809f52a1b7b9b9..e7d74e2f99ddcf045dd92ed654b80417b9d47bfb 100644 (file)
@@ -527,7 +527,7 @@ static void dwt_decode_tile(opj_tcd_tilecomp_t* tilec, int numres, DWT1DFN dwt_1
 
        int w = tilec->x1 - tilec->x0;
 
-       h.mem = opj_aligned_malloc(dwt_decode_max_resolution(tr, numres) * sizeof(int));
+       h.mem = (int*)opj_aligned_malloc(dwt_decode_max_resolution(tr, numres) * sizeof(int));
        v.mem = h.mem;
 
        while( --numres) {
index cbdee114692e5a8bf6c64086614fc98ca669f483..0b09899a04b7ba68c8e692bf49e44bbe3fd5143c 100644 (file)
@@ -236,7 +236,7 @@ static void j2k_read_unk(opj_j2k_t *j2k);
 /* ----------------------------------------------------------------------- */
 typedef struct j2k_prog_order{
        OPJ_PROG_ORDER enum_prog;
-       char str_prog[4];
+       char str_prog[5];
 }j2k_prog_order_t;
 
 j2k_prog_order_t j2k_prog_order_list[] = {
index 707e46fd37f6d0e466ffe9f0e78f2ddcdc0d6978..a910ea780938c1a7afa713a333c038b7f646e7ca 100644 (file)
@@ -75,9 +75,10 @@ jpwl_epc_ms_t *jpwl_epc_create(opj_j2k_t *j2k, opj_bool esd_on, opj_bool red_on,
 @param sensval pointer to an array of sensitivity values (if NULL, they will be automatically filled)\r
 @return returns the freshly created ESD\r
 */\r
-jpwl_esd_ms_t *jpwl_esd_create(opj_j2k_t *j2k, int comps, unsigned char addrm, unsigned char ad_size,\r
-                                                               unsigned char senst, int se_size, int tileno,\r
-                                                               unsigned long int svalnum, void *sensval);\r
+jpwl_esd_ms_t *jpwl_esd_create(opj_j2k_t *j2k, int comps, \r
+       unsigned char addrm, unsigned char ad_size,\r
+       unsigned char senst, int se_size, int tileno,\r
+       unsigned long int svalnum, void *sensval);\r
                        \r
 /** this function is used to compare two JPWL markers based on\r
 their relevant wishlist position\r
@@ -168,7 +169,7 @@ void j2k_add_marker(opj_codestream_info_t *cstr_info, unsigned short int type, i
        /* expand the list? */\r
        if ((cstr_info->marknum + 1) > cstr_info->maxmarknum) {\r
                cstr_info->maxmarknum = 100 + (int) ((float) cstr_info->maxmarknum * 1.0F);\r
-               cstr_info->marker = opj_realloc(cstr_info->marker, cstr_info->maxmarknum);\r
+               cstr_info->marker = (opj_marker_info_t*)opj_realloc(cstr_info->marker, cstr_info->maxmarknum);\r
        }\r
 \r
        /* add the marker */\r
@@ -906,7 +907,7 @@ void j2k_read_epc(opj_j2k_t *j2k) {
        unsigned short int Lepc, Pcrc = 0x0000;\r
        unsigned char Pepc;     \r
        opj_cio_t *cio = j2k->cio;\r
-       char *ans1;\r
+       const char *ans1;\r
 \r
        /* Simply read the EPC parameters */\r
        Lepcp = cio_tell(cio);\r
index f60d33b1ea258c12ee6847b3162c5dc19c7fd2c3..90a71cec6799367e728c1c7b302ec407c6dea778 100644 (file)
@@ -1200,9 +1200,10 @@ int jpwl_esds_add(opj_j2k_t *j2k, jpwl_marker_t *jwmarker, int *jwmarker_num,
        return 0;
 }
 
-jpwl_esd_ms_t *jpwl_esd_create(opj_j2k_t *j2k, int comp, unsigned char addrm, unsigned char ad_size,
-                                                               unsigned char senst, unsigned char se_size, int tileno,
-                                                               unsigned long int svalnum, void *sensval) {
+jpwl_esd_ms_t *jpwl_esd_create(opj_j2k_t *j2k, int comp, 
+       unsigned char addrm, unsigned char ad_size,
+       unsigned char senst, int se_size, int tileno,
+       unsigned long int svalnum, void *sensval) {
 
        jpwl_esd_ms_t *esd = NULL;
 
@@ -1232,7 +1233,7 @@ jpwl_esd_ms_t *jpwl_esd_create(opj_j2k_t *j2k, int comp, unsigned char addrm, un
        /* packet mode */
        case (0):
                ad_size = 0; /* as per the standard */
-               esd->sensval_size = se_size; 
+               esd->sensval_size = (unsigned int)se_size; 
                break;
 
        /* byte range */