77 #include "jasper/jas_types.h"    78 #include "jasper/jas_stream.h"    80 #include "jpc_mqcod.h"    90 #define JPC_MQENC_DEFTERM       0           91 #define JPC_MQENC_PTERM         1          114         jpc_mqstate_t **ctxs;
   117         jpc_mqstate_t **curctx;
   126         int_fast16_t lastbyte;
   156 jpc_mqenc_t *jpc_mqenc_create(
int maxctxs, jas_stream_t *out);
   159 void jpc_mqenc_destroy(jpc_mqenc_t *enc);
   166 void jpc_mqenc_init(jpc_mqenc_t *enc);
   173 #define jpc_mqenc_setcurctx(enc, ctxno) \   174         ((enc)->curctx = &(enc)->ctxs[ctxno]);   177 void jpc_mqenc_setctx(jpc_mqenc_t *enc, 
int ctxno, jpc_mqctx_t *ctx);
   180 void jpc_mqenc_setctxs(jpc_mqenc_t *enc, 
int numctxs, jpc_mqctx_t *ctxs);
   187 #define jpc_mqenc_error(enc) \   191 void jpc_mqenc_getstate(jpc_mqenc_t *enc, jpc_mqencstate_t *state);
   194 int jpc_mqenc_flush(jpc_mqenc_t *enc, 
int termmode);
   202 #define jpc_mqenc_putbit(enc, bit)      jpc_mqenc_putbit_macro(enc, bit)   204 #define jpc_mqenc_putbit(enc, bit)      jpc_mqenc_putbit_func(enc, bit)   211 int jpc_mqenc_dump(jpc_mqenc_t *mqenc, FILE *out);
   219 #define jpc_mqenc_putbit_macro(enc, bit) \   220         (((*((enc)->curctx))->mps == (bit)) ? \   221           (((enc)->areg -= (*(enc)->curctx)->qeval), \   222           ((!((enc)->areg & 0x8000)) ? (jpc_mqenc_codemps2(enc)) : \   223           ((enc)->creg += (*(enc)->curctx)->qeval))) : \   224           jpc_mqenc_codelps(enc))   229 int jpc_mqenc_codemps2(jpc_mqenc_t *enc);
   230 int jpc_mqenc_codelps(jpc_mqenc_t *enc);
   234 int jpc_mqenc_putbit_func(jpc_mqenc_t *enc, 
int bit);