]> granicus.if.org Git - openjpeg/commitdiff
[trunk] Another round of fixes for sign conversion warnings.
authorMathieu Malaterre <mathieu.malaterre@gmail.com>
Fri, 7 Mar 2014 11:57:37 +0000 (11:57 +0000)
committerMathieu Malaterre <mathieu.malaterre@gmail.com>
Fri, 7 Mar 2014 11:57:37 +0000 (11:57 +0000)
Update issue 256

src/lib/openjp2/t2.c

index 480944dedacb82736fbec0bebbe6683fe9634d1d..0a2cff1543183f78de20b9873400917c19451dd5 100644 (file)
@@ -573,7 +573,8 @@ OPJ_BOOL opj_t2_encode_packet(  OPJ_UINT32 tileno,
                                 cblk = &prc->cblks.enc[cblkno];
 
                                 cblk->numpasses = 0;
-                                opj_tgt_setvalue(prc->imsbtree, cblkno, band->numbps - cblk->numbps);
+                                assert(band->numbps>=0);
+                                opj_tgt_setvalue(prc->imsbtree, cblkno, (OPJ_INT32)((OPJ_UINT32)band->numbps - cblk->numbps));
                         }
                         ++band;
                 }
@@ -595,7 +596,7 @@ OPJ_BOOL opj_t2_encode_packet(  OPJ_UINT32 tileno,
                         opj_tcd_layer_t *layer = &cblk->layers[layno];
 
                         if (!cblk->numpasses && layer->numpasses) {
-                                opj_tgt_setvalue(prc->incltree, cblkno, layno);
+                                opj_tgt_setvalue(prc->incltree, cblkno, (OPJ_INT32)layno);
                         }
 
                         ++cblk;
@@ -611,7 +612,7 @@ OPJ_BOOL opj_t2_encode_packet(  OPJ_UINT32 tileno,
 
                         /* cblk inclusion bits */
                         if (!cblk->numpasses) {
-                                opj_tgt_encode(bio, prc->incltree, cblkno, layno + 1);
+                                opj_tgt_encode(bio, prc->incltree, cblkno, (OPJ_INT32)(layno + 1));
                         } else {
                                 opj_bio_write(bio, layer->numpasses != 0, 1);
                         }
@@ -639,14 +640,14 @@ OPJ_BOOL opj_t2_encode_packet(  OPJ_UINT32 tileno,
                                 len += pass->len;
 
                                 if (pass->term || passno == (cblk->numpasses + layer->numpasses) - 1) {
-                                        increment = opj_int_max(increment, opj_int_floorlog2(len) + 1 - (cblk->numlenbits + opj_int_floorlog2(nump)));
+                                        increment = opj_uint_max(increment, opj_uint_floorlog2(len) + 1 - (cblk->numlenbits + opj_uint_floorlog2(nump)));
                                         len = 0;
                                         nump = 0;
                                 }
 
                                 ++pass;
                         }
-                        opj_t2_putcommacode(bio, increment);
+                        opj_t2_putcommacode(bio, (OPJ_INT32)increment);
 
                         /* computation of the new Length indicator */
                         cblk->numlenbits += increment;
@@ -658,7 +659,7 @@ OPJ_BOOL opj_t2_encode_packet(  OPJ_UINT32 tileno,
                                 len += pass->len;
 
                                 if (pass->term || passno == (cblk->numpasses + layer->numpasses) - 1) {
-                                        opj_bio_write(bio, len, cblk->numlenbits + opj_int_floorlog2(nump));
+                                        opj_bio_write(bio, len, cblk->numlenbits + (OPJ_UINT32)opj_int_floorlog2((OPJ_INT32)nump));
                                         len = 0;
                                         nump = 0;
                                 }
@@ -935,7 +936,7 @@ OPJ_BOOL opj_t2_read_packet_header( opj_t2_t* p_t2,
 
                         /* if cblk not yet included before --> inclusion tagtree */
                         if (!l_cblk->numsegs) {
-                                l_included = opj_tgt_decode(l_bio, l_prc->incltree, cblkno, p_pi->layno + 1);
+                                l_included = opj_tgt_decode(l_bio, l_prc->incltree, cblkno, (OPJ_INT32)(p_pi->layno + 1));
                                 /* else one bit */
                         }
                         else {
@@ -953,11 +954,12 @@ OPJ_BOOL opj_t2_read_packet_header( opj_t2_t* p_t2,
                         if (!l_cblk->numsegs) {
                                 OPJ_UINT32 i = 0;
 
-                                while (!opj_tgt_decode(l_bio, l_prc->imsbtree, cblkno, i)) {
+                                while (!opj_tgt_decode(l_bio, l_prc->imsbtree, cblkno, (OPJ_INT32)i)) {
                                         ++i;
                                 }
 
-                                l_cblk->numbps = l_band->numbps + 1 - i;
+                                assert(l_band->numbps >= 0);
+                                l_cblk->numbps = (OPJ_UINT32)l_band->numbps + 1 - i;
                                 l_cblk->numlenbits = 3;
                         }
 
@@ -985,13 +987,13 @@ OPJ_BOOL opj_t2_read_packet_header( opj_t2_t* p_t2,
                                         }
                                 }
                         }
-                        n = l_cblk->numnewpasses;
+                        n = (OPJ_INT32)l_cblk->numnewpasses;
 
                         do {
-                                l_cblk->segs[l_segno].numnewpasses = opj_int_min(l_cblk->segs[l_segno].maxpasses - l_cblk->segs[l_segno].numpasses, n);
+                                l_cblk->segs[l_segno].numnewpasses = (OPJ_UINT32)opj_int_min((OPJ_INT32)(l_cblk->segs[l_segno].maxpasses - l_cblk->segs[l_segno].numpasses), n);
                                 l_cblk->segs[l_segno].newlen = opj_bio_read(l_bio, l_cblk->numlenbits + opj_uint_floorlog2(l_cblk->segs[l_segno].numnewpasses));
 
-                                n -= l_cblk->segs[l_segno].numnewpasses;
+                                n -= (OPJ_INT32)l_cblk->segs[l_segno].numnewpasses;
                                 if (n > 0) {
                                         ++l_segno;