|
Packit |
664db3 |
#if !defined(_mfrngcode_H)
|
|
Packit |
664db3 |
# define _mfrngcode_H (1)
|
|
Packit |
664db3 |
# include "entcode.h"
|
|
Packit |
664db3 |
|
|
Packit |
664db3 |
/*Constants used by the entropy encoder/decoder.*/
|
|
Packit |
664db3 |
|
|
Packit |
664db3 |
/*The number of bits to output at a time.*/
|
|
Packit |
664db3 |
# define EC_SYM_BITS (8)
|
|
Packit |
664db3 |
/*The total number of bits in each of the state registers.*/
|
|
Packit |
664db3 |
# define EC_CODE_BITS (32)
|
|
Packit |
664db3 |
/*The maximum symbol value.*/
|
|
Packit |
664db3 |
# define EC_SYM_MAX ((1U<
|
|
Packit |
664db3 |
/*Bits to shift by to move a symbol into the high-order position.*/
|
|
Packit |
664db3 |
# define EC_CODE_SHIFT (EC_CODE_BITS-EC_SYM_BITS-1)
|
|
Packit |
664db3 |
/*Carry bit of the high-order range symbol.*/
|
|
Packit |
664db3 |
# define EC_CODE_TOP (((ec_uint32)1U)<
|
|
Packit |
664db3 |
/*Low-order bit of the high-order range symbol.*/
|
|
Packit |
664db3 |
# define EC_CODE_BOT (EC_CODE_TOP>>EC_SYM_BITS)
|
|
Packit |
664db3 |
/*Code for which propagating carries are possible.*/
|
|
Packit |
664db3 |
# define EC_CODE_CARRY (((ec_uint32)EC_SYM_MAX)<
|
|
Packit |
664db3 |
/*The number of bits available for the last, partial symbol in the code field.*/
|
|
Packit |
664db3 |
# define EC_CODE_EXTRA ((EC_CODE_BITS-2)%EC_SYM_BITS+1)
|
|
Packit |
664db3 |
/*A mask for the bits available in the coding buffer.
|
|
Packit |
664db3 |
This allows different platforms to use a variable with more bits, if it is
|
|
Packit |
664db3 |
convenient.
|
|
Packit |
664db3 |
We will only use EC_CODE_BITS of it.*/
|
|
Packit |
664db3 |
# define EC_CODE_MASK ((((ec_uint32)1U)<
|
|
Packit |
664db3 |
|
|
Packit |
664db3 |
|
|
Packit |
664db3 |
/*The non-zero symbol of the second possible reserved ending.
|
|
Packit |
664db3 |
This must be the high-bit.*/
|
|
Packit |
664db3 |
# define EC_FOF_RSV1 (1<
|
|
Packit |
664db3 |
/*A mask for all the other bits.*/
|
|
Packit |
664db3 |
# define EC_FOF_RSV1_MASK (EC_FOF_RSV1-1)
|
|
Packit |
664db3 |
|
|
Packit |
664db3 |
#endif
|