Fixed issues with generation of SOP marker.
This commit is contained in:
@@ -1444,8 +1444,10 @@ static void j2k_write_sod(opj_j2k_t *j2k, void *tile_coder) {
|
||||
for (layno = 0; layno < tcp->numlayers; layno++) {
|
||||
tcp->rates[layno] -= tcp->rates[layno] ? (j2k->sod_start / (cp->th * cp->tw)) : 0;
|
||||
}
|
||||
if(cstr_info && (j2k->cur_tp_num == 0)) {
|
||||
cstr_info->packno = 0;
|
||||
if(j2k->cur_tp_num == 0){
|
||||
tcd->tcd_image->tiles->packno = 0;
|
||||
if(cstr_info)
|
||||
cstr_info->packno = 0;
|
||||
}
|
||||
|
||||
l = tcd_encode_tile(tcd, j2k->curtileno, cio_getbp(cio), cio_numbytesleft(cio) - 2, cstr_info);
|
||||
|
||||
@@ -147,8 +147,8 @@ static int t2_encode_packet(opj_tcd_tile_t * tile, opj_tcp_t * tcp, opj_pi_itera
|
||||
c[1] = 145;
|
||||
c[2] = 0;
|
||||
c[3] = 4;
|
||||
c[4] = (cstr_info->packno % 65536) / 256;
|
||||
c[5] = (cstr_info->packno % 65536) % 256;
|
||||
c[4] = (tile->packno % 65536) / 256;
|
||||
c[5] = (tile->packno % 65536) % 256;
|
||||
c += 6;
|
||||
}
|
||||
/* </SOP> */
|
||||
@@ -656,6 +656,7 @@ int t2_encode_packets(opj_t2_t* t2,int tileno, opj_tcd_tile_t *tile, int maxlaye
|
||||
cstr_info->packno++;
|
||||
}
|
||||
/* << INDEX */
|
||||
tile->packno++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -144,6 +144,8 @@ typedef struct opj_tcd_tile {
|
||||
int numpix; /* add fixed_quality */
|
||||
double distotile; /* add fixed_quality */
|
||||
double distolayer[100]; /* add fixed_quality */
|
||||
/** packet number */
|
||||
int packno;
|
||||
} opj_tcd_tile_t;
|
||||
|
||||
/**
|
||||
|
||||
Reference in New Issue
Block a user