OpenJPEG
2.1.0
|
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. More... | |
typedef struct opj_mqc | opj_mqc_t |
MQ coder. More... | |
Local static functions | |
static void | opj_mqc_byteout (opj_mqc_t *mqc) |
Output a byte, doing bit-stuffing if necessary. More... | |
static void | opj_mqc_renorme (opj_mqc_t *mqc) |
Renormalize mqc->a and mqc->c while encoding, so that mqc->a stays between 0x8000 and 0x10000. More... | |
static void | opj_mqc_codemps (opj_mqc_t *mqc) |
Encode the most probable symbol. More... | |
static void | opj_mqc_codelps (opj_mqc_t *mqc) |
Encode the most least symbol. More... | |
static void | opj_mqc_setbits (opj_mqc_t *mqc) |
Fill mqc->c with 1's for flushing. More... | |
static INLINE OPJ_INT32 | opj_mqc_mpsexchange (opj_mqc_t *const mqc) |
FIXME DOC. More... | |
static INLINE OPJ_INT32 | opj_mqc_lpsexchange (opj_mqc_t *const mqc) |
FIXME DOC. More... | |
static INLINE void | opj_mqc_bytein (opj_mqc_t *const mqc) |
Input a byte. More... | |
static INLINE void | opj_mqc_renormd (opj_mqc_t *const mqc) |
Renormalize mqc->a and mqc->c while decoding. More... | |
Exported functions | |
opj_mqc_t * | opj_mqc_create (void) |
Create a new MQC handle. More... | |
void | opj_mqc_destroy (opj_mqc_t *mqc) |
Destroy a previously created MQC handle. More... | |
OPJ_UINT32 | opj_mqc_numbytes (opj_mqc_t *mqc) |
Return the number of bytes written/read since initialisation. More... | |
void | opj_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) More... | |
void | opj_mqc_setstate (opj_mqc_t *mqc, OPJ_UINT32 ctxno, OPJ_UINT32 msb, OPJ_INT32 prob) |
Set the state of a particular context. More... | |
void | opj_mqc_init_enc (opj_mqc_t *mqc, OPJ_BYTE *bp) |
Initialize the encoder. More... | |
void | opj_mqc_encode (opj_mqc_t *mqc, OPJ_UINT32 d) |
Encode a symbol using the MQ-coder. More... | |
void | opj_mqc_flush (opj_mqc_t *mqc) |
Flush the encoder, so that all remaining data is written. More... | |
void | opj_mqc_bypass_init_enc (opj_mqc_t *mqc) |
BYPASS mode switch, initialization operation. More... | |
void | opj_mqc_bypass_enc (opj_mqc_t *mqc, OPJ_UINT32 d) |
BYPASS mode switch, coding operation. More... | |
OPJ_UINT32 | opj_mqc_bypass_flush_enc (opj_mqc_t *mqc) |
BYPASS mode switch, flush operation. More... | |
void | opj_mqc_reset_enc (opj_mqc_t *mqc) |
RESET mode switch. More... | |
OPJ_UINT32 | opj_mqc_restart_enc (opj_mqc_t *mqc) |
RESTART mode switch (TERMALL) More... | |
void | opj_mqc_restart_init_enc (opj_mqc_t *mqc) |
RESTART mode switch (TERMALL) reinitialisation. More... | |
void | opj_mqc_erterm_enc (opj_mqc_t *mqc) |
ERTERM mode switch (PTERM) More... | |
void | opj_mqc_segmark_enc (opj_mqc_t *mqc) |
SEGMARK mode switch (SEGSYM) More... | |
OPJ_BOOL | opj_mqc_init_dec (opj_mqc_t *mqc, OPJ_BYTE *bp, OPJ_UINT32 len) |
Initialize the decoder. More... | |
OPJ_INT32 | opj_mqc_decode (opj_mqc_t *const mqc) |
Decode a symbol. More... | |
#define | opj_mqc_setcurctx(mqc, ctxno) (mqc)->curctx = &(mqc)->ctxs[(OPJ_UINT32)(ctxno)] |
Set the current context used for coding/decoding. More... | |
#define MQC_NUMCTXS 19 |
Referenced by opj_mqc_resetstates().
#define opj_mqc_setcurctx | ( | mqc, | |
ctxno | |||
) | (mqc)->curctx = &(mqc)->ctxs[(OPJ_UINT32)(ctxno)] |
Set the current context used for coding/decoding.
mqc | MQC handle |
ctxno | Number that identifies the context |
Referenced by opj_mqc_init_dec(), opj_mqc_init_enc(), opj_mqc_restart_init_enc(), opj_mqc_segmark_enc(), opj_t1_dec_clnpass(), opj_t1_dec_clnpass_step(), opj_t1_dec_clnpass_step_partial(), opj_t1_dec_clnpass_step_vsc(), opj_t1_dec_refpass_step_mqc(), opj_t1_dec_refpass_step_mqc_vsc(), opj_t1_dec_sigpass_step_mqc(), opj_t1_dec_sigpass_step_mqc_vsc(), opj_t1_enc_clnpass(), opj_t1_enc_clnpass_step(), opj_t1_enc_refpass_step(), and opj_t1_enc_sigpass_step().
typedef struct opj_mqc_state opj_mqc_state_t |
This struct defines the state of a context.
void opj_mqc_bypass_enc | ( | opj_mqc_t * | mqc, |
OPJ_UINT32 | 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 opj_t1_enc_refpass_step(), and opj_t1_enc_sigpass_step().
OPJ_UINT32 opj_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 opj_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 opj_t1_encode_cblk().
|
static |
Input a byte.
mqc | MQC handle |
References opj_mqc::bp, opj_mqc::c, opj_mqc::ct, and opj_mqc::end.
Referenced by opj_mqc_init_dec(), and opj_mqc_renormd().
|
static |
Output a byte, doing bit-stuffing if necessary.
After a 0xff byte, the next byte must be smaller than 0x90.
mqc | MQC handle |
References opj_mqc::bp, opj_mqc::c, and opj_mqc::ct.
Referenced by opj_mqc_erterm_enc(), opj_mqc_flush(), opj_mqc_renorme(), and opj_mqc_restart_enc().
|
static |
Encode the most least symbol.
mqc | MQC handle |
References opj_mqc::a, opj_mqc::c, opj_mqc::curctx, and opj_mqc_renorme().
Referenced by opj_mqc_encode().
|
static |
Encode the most probable symbol.
mqc | MQC handle |
References opj_mqc::a, opj_mqc::c, opj_mqc::curctx, and opj_mqc_renorme().
Referenced by opj_mqc_encode().
opj_mqc_t* opj_mqc_create | ( | void | ) |
Create a new MQC handle.
References opj_malloc.
Referenced by opj_t1_create().
Decode a symbol.
mqc | MQC handle |
References opj_mqc::a, opj_mqc::c, opj_mqc::curctx, opj_mqc_lpsexchange(), opj_mqc_mpsexchange(), and opj_mqc_renormd().
Referenced by opj_t1_dec_clnpass(), opj_t1_dec_clnpass_step(), opj_t1_dec_clnpass_step_partial(), opj_t1_dec_clnpass_step_vsc(), opj_t1_dec_refpass_step_mqc(), opj_t1_dec_refpass_step_mqc_vsc(), opj_t1_dec_sigpass_step_mqc(), and opj_t1_dec_sigpass_step_mqc_vsc().
void opj_mqc_destroy | ( | opj_mqc_t * | mqc | ) |
Destroy a previously created MQC handle.
mqc | MQC handle to destroy |
References opj_free.
Referenced by opj_t1_destroy().
void opj_mqc_encode | ( | opj_mqc_t * | mqc, |
OPJ_UINT32 | d | ||
) |
Encode a symbol using the MQ-coder.
mqc | MQC handle |
d | The symbol to be encoded (0 or 1) |
References opj_mqc::curctx, opj_mqc_codelps(), and opj_mqc_codemps().
Referenced by opj_mqc_segmark_enc(), opj_t1_enc_clnpass(), opj_t1_enc_clnpass_step(), opj_t1_enc_refpass_step(), and opj_t1_enc_sigpass_step().
void opj_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 opj_mqc_byteout().
Referenced by opj_t1_encode_cblk().
void opj_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, opj_mqc_byteout(), and opj_mqc_setbits().
Referenced by opj_t1_encode_cblk().
OPJ_BOOL opj_mqc_init_dec | ( | opj_mqc_t * | mqc, |
OPJ_BYTE * | bp, | ||
OPJ_UINT32 | 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, OPJ_FALSE, opj_free, opj_mqc_bytein(), opj_mqc_setcurctx, opj_realloc, OPJ_TRUE, and opj_mqc::start.
Referenced by opj_t1_decode_cblk().
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, opj_mqc_setcurctx, and opj_mqc::start.
Referenced by opj_t1_encode_cblk().
FIXME DOC.
mqc | MQC handle |
References opj_mqc::a, and opj_mqc::curctx.
Referenced by opj_mqc_decode().
FIXME DOC.
mqc | MQC handle |
References opj_mqc::a, opj_mqc::curctx, and opj_mqc_state::mps.
Referenced by opj_mqc_decode().
OPJ_UINT32 opj_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 opj_t1_encode_cblk().
Renormalize mqc->a and mqc->c while decoding.
mqc | MQC handle |
References opj_mqc::a, opj_mqc::c, opj_mqc::ct, and opj_mqc_bytein().
Referenced by opj_mqc_decode().
|
static |
Renormalize mqc->a and mqc->c while encoding, so that mqc->a stays between 0x8000 and 0x10000.
mqc | MQC handle |
References opj_mqc::a, opj_mqc::c, opj_mqc::ct, and opj_mqc_byteout().
Referenced by opj_mqc_codelps(), and opj_mqc_codemps().
void opj_mqc_reset_enc | ( | opj_mqc_t * | mqc | ) |
RESET mode switch.
mqc | MQC handle |
References opj_mqc_resetstates(), opj_mqc_setstate(), T1_CTXNO_AGG, T1_CTXNO_UNI, and T1_CTXNO_ZC.
Referenced by opj_t1_encode_cblk().
void opj_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 opj_mqc_reset_enc(), opj_t1_decode_cblk(), and opj_t1_encode_cblk().
OPJ_UINT32 opj_mqc_restart_enc | ( | opj_mqc_t * | mqc | ) |
RESTART mode switch (TERMALL)
mqc | MQC handle |
References opj_mqc::c, opj_mqc::ct, and opj_mqc_byteout().
void opj_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 opj_mqc_setcurctx.
Referenced by opj_t1_encode_cblk().
void opj_mqc_segmark_enc | ( | opj_mqc_t * | mqc | ) |
SEGMARK mode switch (SEGSYM)
mqc | MQC handle |
References opj_mqc_encode(), and opj_mqc_setcurctx.
Referenced by opj_t1_encode_cblk().
|
static |
Fill mqc->c with 1's for flushing.
mqc | MQC handle |
References opj_mqc::a, and opj_mqc::c.
Referenced by opj_mqc_flush().
void opj_mqc_setstate | ( | opj_mqc_t * | mqc, |
OPJ_UINT32 | ctxno, | ||
OPJ_UINT32 | msb, | ||
OPJ_INT32 | 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.
Referenced by opj_mqc_reset_enc(), opj_t1_decode_cblk(), and opj_t1_encode_cblk().