|
OpenJPEG 1.5.2
|
Implementation of an MQ-Coder (MQC). More...
Go to the source code of this file.
Data Structures | |
| struct | opj_mqc_state |
| This struct defines the state of a context. More... | |
| struct | opj_mqc |
| MQ coder. More... | |
Macros | |
| #define | MQC_NUMCTXS 19 |
Typedefs | |
| typedef struct opj_mqc_state | opj_mqc_state_t |
| This struct defines the state of a context. | |
| typedef struct opj_mqc | opj_mqc_t |
| MQ coder. | |
Exported functions | |
| #define | mqc_setcurctx(mqc, ctxno) |
| Set the current context used for coding/decoding. | |
| opj_mqc_t * | mqc_create (void) |
| Create a new MQC handle. | |
| void | mqc_destroy (opj_mqc_t *mqc) |
| Destroy a previously created MQC handle. | |
| int | mqc_numbytes (opj_mqc_t *mqc) |
| Return the number of bytes written/read since initialisation. | |
| void | mqc_resetstates (opj_mqc_t *mqc) |
| Reset the states of all the context of the coder/decoder (each context is set to a state where 0 and 1 are more or less equiprobable). | |
| void | mqc_setstate (opj_mqc_t *mqc, int ctxno, int msb, int prob) |
| Set the state of a particular context. | |
| void | mqc_init_enc (opj_mqc_t *mqc, unsigned char *bp) |
| Initialize the encoder. | |
| void | mqc_encode (opj_mqc_t *mqc, int d) |
| Encode a symbol using the MQ-coder. | |
| void | mqc_flush (opj_mqc_t *mqc) |
| Flush the encoder, so that all remaining data is written. | |
| void | mqc_bypass_init_enc (opj_mqc_t *mqc) |
| BYPASS mode switch, initialization operation. | |
| void | mqc_bypass_enc (opj_mqc_t *mqc, int d) |
| BYPASS mode switch, coding operation. | |
| int | mqc_bypass_flush_enc (opj_mqc_t *mqc) |
| BYPASS mode switch, flush operation. | |
| void | mqc_reset_enc (opj_mqc_t *mqc) |
| RESET mode switch. | |
| int | mqc_restart_enc (opj_mqc_t *mqc) |
| RESTART mode switch (TERMALL). | |
| void | mqc_restart_init_enc (opj_mqc_t *mqc) |
| RESTART mode switch (TERMALL) reinitialisation. | |
| void | mqc_erterm_enc (opj_mqc_t *mqc) |
| ERTERM mode switch (PTERM). | |
| void | mqc_segmark_enc (opj_mqc_t *mqc) |
| SEGMARK mode switch (SEGSYM). | |
| void | mqc_init_dec (opj_mqc_t *mqc, unsigned char *bp, int len) |
| Initialize the decoder. | |
| int | mqc_decode (opj_mqc_t *const mqc) |
| Decode a symbol. | |
Implementation of an MQ-Coder (MQC).
The functions in MQC.C have for goal to realize the MQ-coder operations. The functions in MQC.C are used by some function in T1.C.
| #define MQC_NUMCTXS 19 |
Referenced by mqc_resetstates().
| #define mqc_setcurctx | ( | mqc, | |
| ctxno ) |
Set the current context used for coding/decoding.
| mqc | MQC handle |
| ctxno | Number that identifies the context |
Referenced by mqc_init_dec(), mqc_init_enc(), mqc_restart_init_enc(), mqc_segmark_enc(), t1_dec_clnpass(), t1_dec_clnpass_step(), t1_dec_clnpass_step_partial(), t1_dec_clnpass_step_vsc(), t1_dec_refpass_step_mqc(), t1_dec_refpass_step_mqc_vsc(), t1_dec_sigpass_step_mqc(), t1_dec_sigpass_step_mqc_vsc(), t1_enc_clnpass(), t1_enc_clnpass_step(), t1_enc_refpass_step(), and t1_enc_sigpass_step().
| typedef struct opj_mqc_state opj_mqc_state_t |
This struct defines the state of a context.
| void mqc_bypass_enc | ( | opj_mqc_t * | mqc, |
| int | d ) |
BYPASS mode switch, coding operation.
JPEG 2000 p 505.
| mqc | MQC handle |
| d | The symbol to be encoded (0 or 1) |
References opj_mqc::bp, opj_mqc::c, and opj_mqc::ct.
Referenced by t1_enc_refpass_step(), and t1_enc_sigpass_step().
| int mqc_bypass_flush_enc | ( | opj_mqc_t * | mqc | ) |
BYPASS mode switch, flush operation.
| mqc | MQC handle |
References opj_mqc::bp, opj_mqc::c, and opj_mqc::ct.
| void mqc_bypass_init_enc | ( | opj_mqc_t * | mqc | ) |
BYPASS mode switch, initialization operation.
JPEG 2000 p 505.
| mqc | MQC handle |
References opj_mqc::c, and opj_mqc::ct.
Referenced by t1_encode_cblk().
| opj_mqc_t * mqc_create | ( | void | ) |
Create a new MQC handle.
References opj_malloc.
Referenced by t1_create().
| int mqc_decode | ( | opj_mqc_t *const | mqc | ) |
Decode a symbol.
| mqc | MQC handle |
References opj_mqc::a, opj_mqc::c, opj_mqc::curctx, mqc_lpsexchange(), mqc_mpsexchange(), and mqc_renormd().
Referenced by t1_dec_clnpass(), t1_dec_clnpass_step(), t1_dec_clnpass_step_partial(), t1_dec_clnpass_step_vsc(), t1_dec_refpass_step_mqc(), t1_dec_refpass_step_mqc_vsc(), t1_dec_sigpass_step_mqc(), and t1_dec_sigpass_step_mqc_vsc().
| void mqc_destroy | ( | opj_mqc_t * | mqc | ) |
Destroy a previously created MQC handle.
| mqc | MQC handle to destroy |
References opj_free.
Referenced by t1_destroy().
| void mqc_encode | ( | opj_mqc_t * | mqc, |
| int | d ) |
Encode a symbol using the MQ-coder.
| mqc | MQC handle |
| d | The symbol to be encoded (0 or 1) |
References opj_mqc::curctx, mqc_codelps(), and mqc_codemps().
Referenced by mqc_segmark_enc(), t1_enc_clnpass(), t1_enc_clnpass_step(), t1_enc_refpass_step(), and t1_enc_sigpass_step().
| void mqc_erterm_enc | ( | opj_mqc_t * | mqc | ) |
ERTERM mode switch (PTERM).
| mqc | MQC handle |
References opj_mqc::bp, opj_mqc::c, opj_mqc::ct, and mqc_byteout().
Referenced by t1_encode_cblk().
| void mqc_flush | ( | opj_mqc_t * | mqc | ) |
Flush the encoder, so that all remaining data is written.
| mqc | MQC handle |
References opj_mqc::bp, opj_mqc::c, opj_mqc::ct, mqc_byteout(), and mqc_setbits().
Referenced by t1_encode_cblk().
| void mqc_init_dec | ( | opj_mqc_t * | mqc, |
| unsigned char * | bp, | ||
| int | len ) |
Initialize the decoder.
| mqc | MQC handle |
| bp | Pointer to the start of the buffer from which the bytes will be read |
| len | Length of the input buffer |
References opj_mqc::a, opj_mqc::bp, opj_mqc::c, opj_mqc::ct, opj_mqc::end, mqc_bytein(), mqc_setcurctx, opj_realloc, and opj_mqc::start.
Referenced by t1_decode_cblk().
| void mqc_init_enc | ( | opj_mqc_t * | mqc, |
| unsigned char * | bp ) |
Initialize the encoder.
| mqc | MQC handle |
| bp | Pointer to the start of the buffer where the bytes will be written |
References opj_mqc::a, opj_mqc::bp, opj_mqc::c, opj_mqc::ct, mqc_setcurctx, and opj_mqc::start.
Referenced by t1_encode_cblk().
| int mqc_numbytes | ( | opj_mqc_t * | mqc | ) |
Return the number of bytes written/read since initialisation.
| mqc | MQC handle |
References opj_mqc::bp, and opj_mqc::start.
Referenced by t1_encode_cblk().
| void mqc_reset_enc | ( | opj_mqc_t * | mqc | ) |
RESET mode switch.
| mqc | MQC handle |
References mqc_resetstates(), mqc_setstate(), T1_CTXNO_AGG, T1_CTXNO_UNI, and T1_CTXNO_ZC.
Referenced by t1_encode_cblk().
| void mqc_resetstates | ( | opj_mqc_t * | mqc | ) |
Reset the states of all the context of the coder/decoder (each context is set to a state where 0 and 1 are more or less equiprobable).
| mqc | MQC handle |
References opj_mqc::ctxs, MQC_NUMCTXS, and mqc_states.
Referenced by mqc_reset_enc(), t1_decode_cblk(), and t1_encode_cblk().
| int mqc_restart_enc | ( | opj_mqc_t * | mqc | ) |
RESTART mode switch (TERMALL).
| mqc | MQC handle |
References opj_mqc::c, opj_mqc::ct, and mqc_byteout().
| void mqc_restart_init_enc | ( | opj_mqc_t * | mqc | ) |
RESTART mode switch (TERMALL) reinitialisation.
| mqc | MQC handle |
References opj_mqc::a, opj_mqc::bp, opj_mqc::c, opj_mqc::ct, and mqc_setcurctx.
Referenced by t1_encode_cblk().
| void mqc_segmark_enc | ( | opj_mqc_t * | mqc | ) |
SEGMARK mode switch (SEGSYM).
| mqc | MQC handle |
References mqc_encode(), and mqc_setcurctx.
Referenced by t1_encode_cblk().
| void mqc_setstate | ( | opj_mqc_t * | mqc, |
| int | ctxno, | ||
| int | msb, | ||
| int | prob ) |
Set the state of a particular context.
| mqc | MQC handle |
| ctxno | Number that identifies the context |
| msb | The MSB of the new state of the context |
| prob | Number that identifies the probability of the symbols for the new state of the context |
References opj_mqc::ctxs, and mqc_states.
Referenced by mqc_reset_enc(), t1_decode_cblk(), and t1_encode_cblk().