From dc567e77530c0db712ffc06d5657c6607ec95e52 Mon Sep 17 00:00:00 2001 From: Carl Hetherington Date: Thu, 28 Jan 2021 22:24:24 +0100 Subject: [PATCH] Allow configuration of the number of guard bits when encoding. --- src/lib/openjp2/j2k.c | 2 +- src/lib/openjp2/openjpeg.c | 1 + src/lib/openjp2/openjpeg.h | 2 ++ 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c index 3bfe8020..540d980f 100644 --- a/src/lib/openjp2/j2k.c +++ b/src/lib/openjp2/j2k.c @@ -8202,7 +8202,7 @@ OPJ_BOOL opj_j2k_setup_encoder(opj_j2k_t *p_j2k, tccp->qmfbid = parameters->irreversible ? 0 : 1; tccp->qntsty = parameters->irreversible ? J2K_CCP_QNTSTY_SEQNT : J2K_CCP_QNTSTY_NOQNT; - tccp->numgbits = 2; + tccp->numgbits = parameters->numgbits; if ((OPJ_INT32)i == parameters->roi_compno) { tccp->roishift = parameters->roi_shift; diff --git a/src/lib/openjp2/openjpeg.c b/src/lib/openjp2/openjpeg.c index 0c5f2d5f..bf250795 100644 --- a/src/lib/openjp2/openjpeg.c +++ b/src/lib/openjp2/openjpeg.c @@ -762,6 +762,7 @@ void OPJ_CALLCONV opj_set_default_encoder_parameters(opj_cparameters_t parameters->cp_fixed_alloc = 0; parameters->cp_fixed_quality = 0; parameters->jpip_on = OPJ_FALSE; + parameters->numgbits = 2; /* UniPG>> */ #ifdef USE_JPWL parameters->jpwl_epc_on = OPJ_FALSE; diff --git a/src/lib/openjp2/openjpeg.h b/src/lib/openjp2/openjpeg.h index 68e4e7e1..ab570cf2 100644 --- a/src/lib/openjp2/openjpeg.h +++ b/src/lib/openjp2/openjpeg.h @@ -448,6 +448,8 @@ typedef struct opj_cparameters { int prcw_init[OPJ_J2K_MAXRLVLS]; /** initial precinct height */ int prch_init[OPJ_J2K_MAXRLVLS]; + /** number of guard bits */ + int numgbits; /**@name command line encoder parameters (not used inside the library) */ /*@{*/