URL
https://opencores.org/ocsvn/bluespec-h264/bluespec-h264/trunk
Subversion Repositories bluespec-h264
[/] [bluespec-h264/] [trunk/] [test/] [decoder/] [ldecod/] [inc/] [defines.h] - Rev 100
Compare with Previous | Blame | View Log
/*! ************************************************************************** * \file defines.h * * \brief * Headerfile containing some useful global definitions * * \author * Detlev Marpe * Copyright (C) 2000 HEINRICH HERTZ INSTITUTE All Rights Reserved. * * \date * 21. March 2001 ************************************************************************** */ #ifndef _DEFINES_H_ #define _DEFINES_H_ #if defined _DEBUG #define TRACE 0 //!< 0:Trace off 1:Trace on 2:detailed CABAC context information #else #define TRACE 0 //!< 0:Trace off 1:Trace on 2:detailed CABAC context information #endif // Dump dbp for debug purposes #define DUMP_DPB 0 //#define PAIR_FIELDS_IN_OUTPUT //#define MAX_NUM_SLICES 150 #define MAX_NUM_SLICES 50 //FREXT Profile IDC definitions #define FREXT_HP 100 //!< YUV 4:2:0/8 "High" #define FREXT_Hi10P 110 //!< YUV 4:2:0/10 "High 10" #define FREXT_Hi422 122 //!< YUV 4:2:2/10 "High 4:2:2" #define FREXT_Hi444 144 //!< YUV 4:4:4/12 "High 4:4:4" #define YUV400 0 #define YUV420 1 #define YUV422 2 #define YUV444 3 #define ZEROSNR 0 // CAVLC #define LUMA 0 #define LUMA_INTRA16x16DC 1 #define LUMA_INTRA16x16AC 2 #define TOTRUN_NUM 15 #define RUNBEFORE_NUM 7 //--- block types for CABAC ---- #define LUMA_16DC 0 #define LUMA_16AC 1 #define LUMA_8x8 2 #define LUMA_8x4 3 #define LUMA_4x8 4 #define LUMA_4x4 5 #define CHROMA_DC 6 #define CHROMA_AC 7 #define CHROMA_DC_2x4 8 #define CHROMA_DC_4x4 9 #define NUM_BLOCK_TYPES 10 #define MAX_CODED_FRAME_SIZE 8000000 //!< bytes for one frame //#define _LEAKYBUCKET_ #define P8x8 8 #define I4MB 9 #define I16MB 10 #define IBLOCK 11 #define SI4MB 12 #define I8MB 13 #define IPCM 14 #define MAXMODE 15 #define IS_INTRA(MB) ((MB)->mb_type==I4MB || (MB)->mb_type==I16MB ||(MB)->mb_type==IPCM || (MB)->mb_type==I8MB || (MB)->mb_type==SI4MB) #define IS_NEWINTRA(MB) ((MB)->mb_type==I16MB || (MB)->mb_type==IPCM) #define IS_OLDINTRA(MB) ((MB)->mb_type==I4MB) #define IS_INTER(MB) ((MB)->mb_type!=I4MB && (MB)->mb_type!=I16MB && (MB)->mb_type!=I8MB && (MB)->mb_type!=IPCM) #define IS_INTERMV(MB) ((MB)->mb_type!=I4MB && (MB)->mb_type!=I16MB && (MB)->mb_type!=I8MB && (MB)->mb_type!=0 && (MB)->mb_type!=IPCM) #define IS_DIRECT(MB) ((MB)->mb_type==0 && (img->type==B_SLICE )) #define IS_COPY(MB) ((MB)->mb_type==0 && (img->type==P_SLICE || img->type==SP_SLICE)) #define IS_P8x8(MB) ((MB)->mb_type==P8x8) // Quantization parameter range #define MIN_QP 0 #define MAX_QP 51 #define BLOCK_SIZE 4 #define MB_BLOCK_SIZE 16 #define MB_BLOCK_PIXELS 256 // MB_BLOCK_SIZE * MB_BLOCK_SIZE #define BLOCK_MULTIPLE 4 // (MB_BLOCK_SIZE/BLOCK_SIZE) #define NO_INTRA_PMODE 9 //!< #intra prediction modes /* 4x4 intra prediction modes */ #define VERT_PRED 0 #define HOR_PRED 1 #define DC_PRED 2 #define DIAG_DOWN_LEFT_PRED 3 #define DIAG_DOWN_RIGHT_PRED 4 #define VERT_RIGHT_PRED 5 #define HOR_DOWN_PRED 6 #define VERT_LEFT_PRED 7 #define HOR_UP_PRED 8 // 16x16 intra prediction modes #define VERT_PRED_16 0 #define HOR_PRED_16 1 #define DC_PRED_16 2 #define PLANE_16 3 // 8x8 chroma intra prediction modes #define DC_PRED_8 0 #define HOR_PRED_8 1 #define VERT_PRED_8 2 #define PLANE_8 3 #define EOS 1 //!< End Of Sequence #define SOP 2 //!< Start Of Picture #define SOS 3 //!< Start Of Slice #define DECODING_OK 0 #define SEARCH_SYNC 1 #define PICTURE_DECODED 2 #define MAX_REFERENCE_PICTURES 32 //!< H264 allows 32 fields #define INVALIDINDEX (-135792468) #define MVPRED_MEDIAN 0 #define MVPRED_L 1 #define MVPRED_U 2 #define MVPRED_UR 3 #define DECODE_COPY_MB 0 #define DECODE_MB 1 //#define DECODE_MB_BFRAME 2 //Start code and Emulation Prevention need this to be defined in identical manner at encoder and decoder #define ZEROBYTES_SHORTSTARTCODE 2 //indicates the number of zero bytes in the short start-code prefix #endif