summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEven Rouault <even.rouault@spatialys.com>2017-07-06 13:23:29 +0200
committerEven Rouault <even.rouault@spatialys.com>2017-08-07 18:32:52 +0200
commit373520db309430b68dd9ff09cba03a25f711a88e (patch)
treeb30461d5ca61fe92330c155c89b38bb1d510c812 /src
parent434ace4ff74cc3eee401d4d3c02668c1d85f2a0d (diff)
Add documentation for magic values in the code
Diffstat (limited to 'src')
-rw-r--r--src/lib/openjp2/t2.c4
-rw-r--r--src/lib/openjp2/tcd.c4
2 files changed, 7 insertions, 1 deletions
diff --git a/src/lib/openjp2/t2.c b/src/lib/openjp2/t2.c
index 93b77ef0..760e17ac 100644
--- a/src/lib/openjp2/t2.c
+++ b/src/lib/openjp2/t2.c
@@ -1491,6 +1491,10 @@ static OPJ_BOOL opj_t2_init_seg(opj_tcd_cblk_dec_t* cblk,
((seg - 1)->maxpasses == 10)) ? 2 : 1;
}
} else {
+ /* See paragraph "B.10.6 Number of coding passes" of the standard.
+ * Probably that 109 must be interpreted a (Mb-1)*3 + 1 with Mb=37,
+ * Mb being the maximum number of bit-planes available for the
+ * representation of coefficients in the sub-band */
seg->maxpasses = 109;
}
diff --git a/src/lib/openjp2/tcd.c b/src/lib/openjp2/tcd.c
index 2189dcc3..53e4ded3 100644
--- a/src/lib/openjp2/tcd.c
+++ b/src/lib/openjp2/tcd.c
@@ -965,8 +965,10 @@ static INLINE OPJ_BOOL opj_tcd_init_tile(opj_tcd_t *p_tcd, OPJ_UINT32 p_tile_no,
numbps = (OPJ_INT32)(l_image_comp->prec + l_gain);
l_band->stepsize = (OPJ_FLOAT32)(((1.0 + l_step_size->mant / 2048.0) * pow(2.0,
(OPJ_INT32)(numbps - l_step_size->expn)))) * fraction;
+ /* Mb value of Equation E-2 in "E.1 Inverse quantization
+ * procedure" of the standard */
l_band->numbps = l_step_size->expn + (OPJ_INT32)l_tccp->numgbits -
- 1; /* WHY -1 ? */
+ 1;
if (!l_band->precincts && (l_nb_precincts > 0U)) {
l_band->precincts = (opj_tcd_precinct_t *) opj_malloc(/*3 * */