blob: 6ee5142ffd57858f3551a4998969648438d46203 [file] [log] [blame]
/*!
***************************************************************************
* \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