From 373520db309430b68dd9ff09cba03a25f711a88e Mon Sep 17 00:00:00 2001 From: Even Rouault Date: Thu, 6 Jul 2017 13:23:29 +0200 Subject: [PATCH] Add documentation for magic values in the code --- src/lib/openjp2/t2.c | 4 ++++ src/lib/openjp2/tcd.c | 4 +++- 2 files changed, 7 insertions(+), 1 deletion(-) 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 * */