summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2021-01-28 22:24:24 +0100
committerCarl Hetherington <cth@carlh.net>2021-01-28 22:24:24 +0100
commita1403c2e2e71c6252d97abf9ddca421ce925d456 (patch)
tree99fec7106924d5f74d02ee6d9a935b8b04889f36
parent585b84a5d409f6b98f17e15c41ea6d7c21c2a773 (diff)
Allow configuration of the number of guard bits when encoding.
-rw-r--r--src/lib/openjp2/j2k.c2
-rw-r--r--src/lib/openjp2/openjpeg.c1
-rw-r--r--src/lib/openjp2/openjpeg.h2
3 files changed, 4 insertions, 1 deletions
diff --git a/src/lib/openjp2/j2k.c b/src/lib/openjp2/j2k.c
index a08fc518..ac40e39d 100644
--- a/src/lib/openjp2/j2k.c
+++ b/src/lib/openjp2/j2k.c
@@ -7287,7 +7287,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 4e649a74..027713e2 100644
--- a/src/lib/openjp2/openjpeg.c
+++ b/src/lib/openjp2/openjpeg.c
@@ -693,6 +693,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 66993b7b..8d913f92 100644
--- a/src/lib/openjp2/openjpeg.h
+++ b/src/lib/openjp2/openjpeg.h
@@ -408,6 +408,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) */
/*@{*/