123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100 |
- /****************************************************************************
- *
- * Module Title : decodemode.h
- *
- * Description : functions for decoding modes and motionvectors
- *
- * AUTHOR : James Bankoski
- *
- *****************************************************************************
- * Revision History
- *
- * 1.00 JBB 30OCT01 New Configuration baseline.
- *
- *****************************************************************************
- */
- /****************************************************************************
- * Header Files
- *****************************************************************************
- */
- #ifndef STRICT
- #define STRICT /* Strict type checking. */
- #endif
- /****************************************************************************
- * Implicit Imports
- *****************************************************************************
- */
- extern UINT8 Stats[9][4][4][4];
- extern UINT8 NNStats[7][4][4][4];
- extern UINT8 NN2Stats[7][4][4][4];
- extern UINT8 blockStats[3][4][4][4];
- #define MODETYPES 3
- #define MODEVECTORS 16
- #define PROBVECTORXMIT 174
- #define PROBIDEALXMIT 254
- /****************************************************************************
- * Exported data structures.
- *****************************************************************************
- */
- typedef struct _modeContext
- {
- UINT8 left;
- UINT8 above;
- UINT8 last;
- } MODE_CONTEXT;
- typedef struct _htorp
- {
- unsigned char selector : 1; // 1 bit selector 0->ptr, 1->token
- unsigned char value : 7;
- } torp;
- typedef struct _hnode
- {
- torp left;
- torp right;
- } HNODE;
- typedef enum _MODETYPE
- {
- MACROBLOCK,
- NONEAREST_MACROBLOCK,
- NONEAR_MACROBLOCK,
- BLOCK
- } MODETYPE;
- #ifndef MAPCA
- __inline
- #endif
- int mbClass(int i);
- /****************************************************************************
- * Imports
- *****************************************************************************
- */
- extern HNODE MBCodingMode[9];
- extern HNODE NN2MBCodingMode[8];
- extern HNODE NNMBCodingMode[7];
- extern HNODE BlockCodingMode[3];
- extern UINT8 BaselineXmittedProbs[4][2][MAX_MODES];
- /****************************************************************************
- * Function Prototypes
- *****************************************************************************
- */
- void DecodeModeProbs(PB_INSTANCE *pbi);
- extern void FindNearestandNextNearest(PB_INSTANCE* pbi, UINT32 MBrow, UINT32 MBcol,
- MOTION_VECTORA* nearest, MOTION_VECTORA* nextnearest, UINT8 Frame,int *type);
- extern void BuildModeTree(PB_INSTANCE *pbi);
|