blob: 16b531f9a303444f1c03363f47e3916bf4eec615 [file] [log] [blame]
/*!
************************************************************************
* \file
* macroblock.h
*
* \brief
* Arrays for macroblock processing
*
* \author
* Inge Lille-Langoy <inge.lille-langoy@telenor.com> \n
* Telenor Satellite Services \n
* P.O.Box 6914 St.Olavs plass \n
* N-0130 Oslo, Norway
*
************************************************************************/
#ifndef _MACROBLOCK_H_
#define _MACROBLOCK_H_
void proceed2nextMacroblock(void);
void start_macroblock(int mb_addr, int mb_field);
void terminate_macroblock(Boolean *end_of_slice, Boolean *recode_macroblock);
void write_one_macroblock(int eos_bit);
void LumaPrediction4x4 (int, int, int, int, int, short, short);
void LumaPrediction4x4Bi (int, int, int, int, short, short, int );
int LumaResidualCoding8x8 (int*, int64*, int, short, int, int, short, short);
void LumaResidualCoding (void);
void ChromaResidualCoding (int*);
void IntraChromaPrediction (int*, int*, int*);
void IntraChromaRDDecision (RD_PARAMS);
int TransformDecision(int, int*);
int B8Mode2Value (int b8mode, int b8pdir);
int writeMBLayer (int rdopt, int *coeff_rate);
void write_terminating_bit (short bit);
int writeReferenceFrame (int mode, int i, int j, int fwd_flag, int ref);
int writeMotionVector8x8 (int i0, int j0, int i1, int j1, int refframe, int list_idx, int mv_mode);
int writeLumaCoeff4x4_CABAC (int, int, int);
int writeLumaCoeff8x8_CABAC (int, int);
int writeLumaCoeff8x8 (int, int, int);
int writeCoeff4x4_CAVLC (int block_type, int b8, int b4, int param);
int find_sad_16x16 (int *intra_mode);
#endif