diff --git a/src/lib/openjp2/mqc.c b/src/lib/openjp2/mqc.c index 8f69e29e..6299b171 100644 --- a/src/lib/openjp2/mqc.c +++ b/src/lib/openjp2/mqc.c @@ -79,7 +79,7 @@ static void opj_mqc_setbits(opj_mqc_t *mqc); /* */ /* This array defines all the possible states for a context. */ /* */ -static opj_mqc_state_t mqc_states[47 * 2] = { +static const opj_mqc_state_t mqc_states[47 * 2] = { {0x5601, 0, &mqc_states[2], &mqc_states[3]}, {0x5601, 1, &mqc_states[3], &mqc_states[2]}, {0x3401, 0, &mqc_states[4], &mqc_states[12]}, diff --git a/src/lib/openjp2/mqc.h b/src/lib/openjp2/mqc.h index ac3aff10..69a2a79d 100644 --- a/src/lib/openjp2/mqc.h +++ b/src/lib/openjp2/mqc.h @@ -61,9 +61,9 @@ typedef struct opj_mqc_state { /** the Most Probable Symbol (0 or 1) */ OPJ_UINT32 mps; /** next state if the next encoded symbol is the MPS */ - struct opj_mqc_state *nmps; + const struct opj_mqc_state *nmps; /** next state if the next encoded symbol is the LPS */ - struct opj_mqc_state *nlps; + const struct opj_mqc_state *nlps; } opj_mqc_state_t; #define MQC_NUMCTXS 19 @@ -87,9 +87,9 @@ typedef struct opj_mqc { /** pointer to the end of the buffer */ OPJ_BYTE *end; /** Array of contexts */ - opj_mqc_state_t *ctxs[MQC_NUMCTXS]; + const opj_mqc_state_t *ctxs[MQC_NUMCTXS]; /** Active context */ - opj_mqc_state_t **curctx; + const opj_mqc_state_t **curctx; /* lut_ctxno_zc shifted by (1 << 9) * bandno */ const OPJ_BYTE* lut_ctxno_zc_orient; /** Original value of the 2 bytes at end[0] and end[1] */ diff --git a/src/lib/openjp2/mqc_inl.h b/src/lib/openjp2/mqc_inl.h index d95d9492..310a3287 100644 --- a/src/lib/openjp2/mqc_inl.h +++ b/src/lib/openjp2/mqc_inl.h @@ -157,7 +157,7 @@ static INLINE OPJ_UINT32 opj_mqc_raw_decode(opj_mqc_t *mqc) } #define DOWNLOAD_MQC_VARIABLES(mqc, curctx, c, a, ct) \ - register opj_mqc_state_t **curctx = mqc->curctx; \ + register const opj_mqc_state_t **curctx = mqc->curctx; \ register OPJ_UINT32 c = mqc->c; \ register OPJ_UINT32 a = mqc->a; \ register OPJ_UINT32 ct = mqc->ct