65 lines
2.6 KiB
C
65 lines
2.6 KiB
C
|
|
/*!
|
|
***************************************************************************
|
|
* \file
|
|
* cabac.h
|
|
*
|
|
* \brief
|
|
* Header file for entropy coding routines
|
|
*
|
|
* \author
|
|
* Detlev Marpe \n
|
|
* Copyright (C) 2000 HEINRICH HERTZ INSTITUTE All Rights Reserved.
|
|
*
|
|
* \date
|
|
* 21. Oct 2000 (Changes by Tobias Oelbaum 28.08.2001)
|
|
***************************************************************************
|
|
*/
|
|
|
|
#ifndef _CABAC_H_
|
|
#define _CABAC_H_
|
|
|
|
#include "global.h"
|
|
|
|
typedef struct Run_Level
|
|
{
|
|
int level;
|
|
int run;
|
|
} RunLevel;
|
|
extern MotionInfoContexts* create_contexts_MotionInfo(void);
|
|
extern TextureInfoContexts* create_contexts_TextureInfo(void);
|
|
extern void delete_contexts_MotionInfo(MotionInfoContexts *enco_ctx);
|
|
extern void delete_contexts_TextureInfo(TextureInfoContexts *enco_ctx);
|
|
|
|
extern void cabac_new_slice(Slice *currSlice);
|
|
|
|
extern int readMB_typeInfo_CABAC(Macroblock *currMB, DecodingEnvironmentPtr dep_dp);
|
|
extern int readB8_typeInfo_CABAC(Slice *currSlice, DecodingEnvironmentPtr dep_dp);
|
|
extern int readIntraPredMode_CABAC(Slice *currSlice, DecodingEnvironmentPtr dep_dp);
|
|
extern char readRefFrame_CABAC(Macroblock *currMB, DecodingEnvironmentPtr dep_dp, int list, int x, int y);
|
|
extern char readRefFrame_CABAC0(Macroblock *currMB, DecodingEnvironmentPtr dep_dp, int list, int y);
|
|
extern int readMVD_CABAC(Macroblock *currMB, DecodingEnvironmentPtr dep_dp, int k, int list, int x, int y);
|
|
extern int readCBP_CABAC (Macroblock *currMB, DecodingEnvironmentPtr dep_dp);
|
|
|
|
// readRunLevel_CABAC returns level and sets *run
|
|
extern RunLevel readRunLevel_CABAC(Macroblock *currMB, DecodingEnvironmentPtr dep_dp, int context);
|
|
extern short readDquant_CABAC(Slice *currSlice, DecodingEnvironmentPtr dep_dp);
|
|
extern char readCIPredMode_CABAC (Macroblock *currMB, DecodingEnvironmentPtr dep_dp);
|
|
extern int readMB_skip_flagInfo_CABAC (Macroblock *currMB, DecodingEnvironmentPtr dep_dp);
|
|
extern Boolean readFieldModeInfo_CABAC (Macroblock *currMB, DecodingEnvironmentPtr dep_dp);
|
|
extern Boolean readMB_transform_size_flag_CABAC(Macroblock *currMB, DecodingEnvironmentPtr dep_dp);
|
|
|
|
extern void readIPCM_CABAC(Slice *currSlice, struct datapartition *dP);
|
|
|
|
extern int cabac_startcode_follows(Slice *currSlice, int eos_bit);
|
|
|
|
|
|
extern int check_next_mb_and_get_field_mode_CABAC(Slice *currSlice, DataPartition *act_dp);
|
|
|
|
extern void CheckAvailabilityOfNeighborsCABAC(Macroblock *currMB);
|
|
|
|
extern void set_read_and_store_CBP(Macroblock **currMB, int chroma_format_idc);
|
|
|
|
#endif // _CABAC_H_
|
|
|