* POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef __MQC_H
-#define __MQC_H
+#ifndef OPJ_MQC_H
+#define OPJ_MQC_H
#include "opj_common.h"
/** 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
OPJ_UINT32 a;
/** number of bits already read or free to write */
OPJ_UINT32 ct;
+ /* only used by decoder, to count the number of times a terminating 0xFF >0x8F marker is read */
+ OPJ_UINT32 end_of_byte_stream_counter;
/** pointer to the current position in the buffer */
OPJ_BYTE *bp;
/** pointer to the start of the buffer */
/** 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] */
OPJ_BYTE backup[OPJ_COMMON_CBLK_DATA_EXTRA];
} opj_mqc_t;
+#define BYPASS_CT_INIT 0xDEADBEEF
+
#include "mqc_inl.h"
/** @name Exported functions */
@param ctxno Number that identifies the context
*/
#define opj_mqc_setcurctx(mqc, ctxno) (mqc)->curctx = &(mqc)->ctxs[(OPJ_UINT32)(ctxno)]
-/**
-Encode a symbol using the MQ-coder
-@param mqc MQC handle
-@param d The symbol to be encoded (0 or 1)
-*/
-void opj_mqc_encode(opj_mqc_t *mqc, OPJ_UINT32 d);
+
/**
Flush the encoder, so that all remaining data is written
@param mqc MQC handle
/*@}*/
-#endif /* __MQC_H */
+#endif /* OPJ_MQC_H */