| /*! | |
| *************************************************************************** | |
| * \file | |
| * rdopt_coding_state.h | |
| * | |
| * \author | |
| * Heiko Schwarz | |
| * | |
| * \date | |
| * 17. April 2001 | |
| * | |
| * \brief | |
| * Headerfile for storing/restoring coding state | |
| * (for rd-optimized mode decision) | |
| ************************************************************************** | |
| */ | |
| #ifndef _RD_OPT_CS_H_ | |
| #define _RD_OPT_CS_H_ | |
| typedef struct { | |
| // important variables of data partition array | |
| int no_part; | |
| EncodingEnvironment *encenv; | |
| Bitstream *bitstream; | |
| // contexts for binary arithmetic coding | |
| int symbol_mode; | |
| MotionInfoContexts *mot_ctx; | |
| TextureInfoContexts *tex_ctx; | |
| // bit counter | |
| int bitcounter[MAX_BITCOUNTER_MB]; | |
| // elements of current macroblock | |
| int mvd[2][BLOCK_MULTIPLE][BLOCK_MULTIPLE][2]; | |
| int64 cbp_bits; | |
| } CSobj; | |
| typedef CSobj* CSptr; | |
| void delete_coding_state (CSptr); //!< delete structure | |
| CSptr create_coding_state (void); //!< create structure | |
| void store_coding_state (CSptr); //!< store parameters | |
| void reset_coding_state (CSptr); //!< restore parameters | |
| #endif | |