minor changes in cmake flags
[openjpeg.git] / libopenjpeg / j2k.c
index bd4a1bd6bb916b70e91fa6e138b9592b3eccebc3..33ff8545025368bfe8c27d3fac20401e23bfc254 100644 (file)
@@ -245,7 +245,7 @@ j2k_prog_order_t j2k_prog_order_list[] = {
        {PCRL, "PCRL"},
        {RLCP, "RLCP"},
        {RPCL, "RPCL"},
-       {-1, ""}
+       {(OPJ_PROG_ORDER)-1, ""}
 };
 
 char *j2k_convert_progression_order(OPJ_PROG_ORDER prg_order){
@@ -268,6 +268,7 @@ void j2k_dump_image(FILE *fd, opj_image_t * img) {
                fprintf(fd, "  comp %d {\n", compno);
                fprintf(fd, "    dx=%d, dy=%d\n", comp->dx, comp->dy);
                fprintf(fd, "    prec=%d\n", comp->prec);
+               //fprintf(fd, "    bpp=%d\n", comp->bpp);
                fprintf(fd, "    sgnd=%d\n", comp->sgnd);
                fprintf(fd, "  }\n");
        }
@@ -1438,7 +1439,11 @@ static void j2k_write_sod(opj_j2k_t *j2k, void *tile_coder) {
        
        tcp = &cp->tcps[j2k->curtileno];
        for (layno = 0; layno < tcp->numlayers; layno++) {
-               tcp->rates[layno] -= tcp->rates[layno] ? (j2k->sod_start / (cp->th * cp->tw)) : 0;
+               if (tcp->rates[layno]>(j2k->sod_start / (cp->th * cp->tw))) {
+                       tcp->rates[layno]-=(j2k->sod_start / (cp->th * cp->tw));
+               } else if (tcp->rates[layno]) {
+                       tcp->rates[layno]=1;
+               }
        }
        if(j2k->cur_tp_num == 0){
                tcd->tcd_image->tiles->packno = 0;