summaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2019-04-25 00:17:13 +0200
committerEven Rouault <even.rouault@spatialys.com>2019-04-25 14:40:55 +0200
commit1e3a57563defb6aa7cf24ffd2394d4a820e13bda (patch)
treed354eafe1586bd14086b30528484cc6a1cb9752c /src/lib
parent5dd75f62e20efff9f094fd1dbd0d4d00e8b37689 (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.c9
-rw-r--r--src/lib/openjp2/t2.c8
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) {