diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2019-04-25 00:17:13 +0200 |
|---|---|---|
| committer | Even Rouault <even.rouault@spatialys.com> | 2019-04-25 14:40:55 +0200 |
| commit | 1e3a57563defb6aa7cf24ffd2394d4a820e13bda (patch) | |
| tree | d354eafe1586bd14086b30528484cc6a1cb9752c /src/lib | |
| parent | 5dd75f62e20efff9f094fd1dbd0d4d00e8b37689 (diff) | |
compression: emit POC marker when only one single POC is requested (fixes #1191)
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/openjp2/j2k.c | 9 | ||||
| -rw-r--r-- | src/lib/openjp2/t2.c | 8 |
2 files changed, 16 insertions, 1 deletions
diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c index aa0f43f9..6e000d54 100644 --- a/src/lib/openjp2/j2k.c +++ b/src/lib/openjp2/j2k.c @@ -1702,6 +1702,13 @@ static OPJ_BOOL opj_j2k_check_poc_val(const opj_poc_t *p_pocs, for (resno = 0; resno < p_nb_resolutions; ++resno) { for (compno = 0; compno < p_num_comps; ++compno) { loss |= (packet_array[index] != 1); +#ifdef DEBUG_VERBOSE + if (packet_array[index] != 1) { + fprintf(stderr, + "Missing packet in POC: layno=%d resno=%d compno=%d\n", + layno, resno, compno); + } +#endif /*index = step_r * resno + step_c * compno + step_l * layno;*/ index += step_c; } @@ -11759,7 +11766,7 @@ static OPJ_BOOL opj_j2k_write_first_tile_part(opj_j2k_t *p_j2k, total_data_size -= l_current_nb_bytes_written; } #endif - if (l_cp->tcps[p_j2k->m_current_tile_number].numpocs) { + if (l_cp->tcps[p_j2k->m_current_tile_number].POC) { l_current_nb_bytes_written = 0; opj_j2k_write_poc_in_memory(p_j2k, p_data, &l_current_nb_bytes_written, p_manager); diff --git a/src/lib/openjp2/t2.c b/src/lib/openjp2/t2.c index 9825118c..0887b9f5 100644 --- a/src/lib/openjp2/t2.c +++ b/src/lib/openjp2/t2.c @@ -673,6 +673,14 @@ static OPJ_BOOL opj_t2_encode_packet(OPJ_UINT32 tileno, OPJ_BOOL packet_empty = OPJ_FALSE; #endif +#ifdef DEBUG_VERBOSE + if (p_t2_mode == FINAL_PASS) { + fprintf(stderr, + "encode packet compono=%d, resno=%d, precno=%d, layno=%d\n", + compno, resno, precno, layno); + } +#endif + /* <SOP 0xff91> */ if (tcp->csty & J2K_CP_CSTY_SOP) { if (length < 6) { |
