OpenJPEG
1.5.1
|
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 | mqc_byteout (opj_mqc_t *mqc) |
Output a byte, doing bit-stuffing if necessary. More... | |
static void | 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 | mqc_codemps (opj_mqc_t *mqc) |
Encode the most probable symbol. More... | |
static void | mqc_codelps (opj_mqc_t *mqc) |
Encode the most least symbol. More... | |
static void | mqc_setbits (opj_mqc_t *mqc) |
Fill mqc->c with 1's for flushing. More... | |
static INLINE int | mqc_mpsexchange (opj_mqc_t *const mqc) |
FIXME: documentation ??? More... | |
static INLINE int | mqc_lpsexchange (opj_mqc_t *const mqc) |
FIXME: documentation ??? More... | |
static INLINE void | mqc_bytein (opj_mqc_t *const mqc) |
Input a byte. More... | |
static INLINE void | mqc_renormd (opj_mqc_t *const mqc) |
Renormalize mqc->a and mqc->c while decoding. More... | |
Exported functions | |
opj_mqc_t * | mqc_create (void) |
Create a new MQC handle. More... | |
void | mqc_destroy (opj_mqc_t *mqc) |
Destroy a previously created MQC handle. More... | |
int | mqc_numbytes (opj_mqc_t *mqc) |
Return the number of bytes written/read since initialisation. More... | |
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) More... | |
void | mqc_setstate (opj_mqc_t *mqc, int ctxno, int msb, int prob) |
Set the state of a particular context. More... | |
void | mqc_init_enc (opj_mqc_t *mqc, unsigned char *bp) |
Initialize the encoder. More... | |
void | mqc_encode (opj_mqc_t *mqc, int d) |
Encode a symbol using the MQ-coder. More... | |
void | mqc_flush (opj_mqc_t *mqc) |
Flush the encoder, so that all remaining data is written. More... | |
void | mqc_bypass_init_enc (opj_mqc_t *mqc) |
BYPASS mode switch, initialization operation. More... | |
void | mqc_bypass_enc (opj_mqc_t *mqc, int d) |
BYPASS mode switch, coding operation. More... | |
int | mqc_bypass_flush_enc (opj_mqc_t *mqc) |
BYPASS mode switch, flush operation. More... | |
void | mqc_reset_enc (opj_mqc_t *mqc) |
RESET mode switch. More... | |
int | mqc_restart_enc (opj_mqc_t *mqc) |
RESTART mode switch (TERMALL) More... | |
void | mqc_restart_init_enc (opj_mqc_t *mqc) |
RESTART mode switch (TERMALL) reinitialisation. More... | |
void | mqc_erterm_enc (opj_mqc_t *mqc) |
ERTERM mode switch (PTERM) More... | |
void | mqc_segmark_enc (opj_mqc_t *mqc) |
SEGMARK mode switch (SEGSYM) More... | |
void | mqc_init_dec (opj_mqc_t *mqc, unsigned char *bp, int len) |
Initialize the decoder. More... | |
int | mqc_decode (opj_mqc_t *const mqc) |
Decode a symbol. More... | |
#define | mqc_setcurctx(mqc, ctxno) (mqc)->curctx = &(mqc)->ctxs[(int)(ctxno)] |
Set the current context used for coding/decoding. More... | |
#define MQC_NUMCTXS 19 |
Referenced by mqc_resetstates().
#define mqc_setcurctx | ( | mqc, | |
ctxno | |||
) | (mqc)->curctx = &(mqc)->ctxs[(int)(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().
|
static |
Input a byte.
mqc | MQC handle |
References opj_mqc::bp, opj_mqc::c, opj_mqc::ct, and opj_mqc::end.
Referenced by mqc_init_dec(), and 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 mqc_erterm_enc(), mqc_flush(), mqc_renorme(), and mqc_restart_enc().
|
static |
Encode the most least symbol.
mqc | MQC handle |
References opj_mqc::a, opj_mqc::c, opj_mqc::curctx, and mqc_renorme().
Referenced by mqc_encode().
|
static |
Encode the most probable symbol.
mqc | MQC handle |
References opj_mqc::a, opj_mqc::c, opj_mqc::curctx, and mqc_renorme().
Referenced by mqc_encode().
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().
FIXME: documentation ???
mqc | MQC handle |
References opj_mqc::a, and opj_mqc::curctx.
Referenced by mqc_decode().
FIXME: documentation ???
mqc | MQC handle |
References opj_mqc::a, and opj_mqc::curctx.
Referenced by mqc_decode().
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().
Renormalize mqc->a and mqc->c while decoding.
mqc | MQC handle |
References opj_mqc::a, opj_mqc::c, opj_mqc::ct, and mqc_bytein().
Referenced by 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 mqc_byteout().
Referenced by mqc_codelps(), and mqc_codemps().
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().
|
static |
Fill mqc->c with 1's for flushing.
mqc | MQC handle |
References opj_mqc::a, and opj_mqc::c.
Referenced by mqc_flush().
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.
Referenced by mqc_reset_enc(), t1_decode_cblk(), and t1_encode_cblk().