summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAntonin Descampe <antonin@gmail.com>2016-05-04 00:27:22 +0200
committerAntonin Descampe <antonin@gmail.com>2016-05-04 00:27:22 +0200
commit51a51bdd031fc11fd0c9d29a9dfdecc9c3fe8b52 (patch)
tree416fa26e2bd814b930e125b79cc1ebae05c85513 /src
parent94cfb1b008319e8b0b17e741f1e29e0a7b90af38 (diff)
update #612 #770 #674
RESTART mode is now working, BYPASS still broken but much better
Diffstat (limited to 'src')
-rw-r--r--src/lib/openjp2/t1.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/openjp2/t1.c b/src/lib/openjp2/t1.c
index 1bf7205e..8eb42a43 100644
--- a/src/lib/openjp2/t1.c
+++ b/src/lib/openjp2/t1.c
@@ -1662,7 +1662,7 @@ static void opj_t1_encode_cblk(opj_t1_t *t1,
bpno--;
}
- if (pass->term && bpno > 0) {
+ if (pass->term) {
type = ((bpno < ((OPJ_INT32) (cblk->numbps) - 4)) && (passtype < 2) && (cblksty & J2K_CCP_CBLKSTY_LAZY)) ? T1_TYPE_RAW : T1_TYPE_MQ;
if (type == T1_TYPE_RAW)
opj_mqc_bypass_init_enc(mqc);
@@ -1691,7 +1691,7 @@ static void opj_t1_encode_cblk(opj_t1_t *t1,
if (pass->rate > opj_mqc_numbytes(mqc))
pass->rate = opj_mqc_numbytes(mqc);
/*Preventing generation of FF as last data byte of a pass*/
- if((pass->rate>1) && (cblk->data[pass->rate - 1] == 0xFF)){
+ if(!(cblksty & J2K_CCP_CBLKSTY_LAZY) && (pass->rate>1) && (cblk->data[pass->rate - 1] == 0xFF)){
pass->rate--;
}
pass->len = pass->rate - (passno == 0 ? 0 : cblk->passes[passno - 1].rate);