⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 global_declare.h

📁 adi bf533视频编码程序
💻 H
字号:
#ifndef	_GLOBAL_DECLARE_H_
#define _GLOBAL_DECLARE_H_

#include "ippdefs.h"
#include "ippvc.h"
#include "ippVideoEncoderMPEG4.h"
#include "def_gary.h"


extern void (*restore_MB_get_MB_refwin) (
	Ipp8u *MB_restore, Ipp8u *refvop_Y, Ipp8u *refvop_U, Ipp8u *refvop_V, 
	Ipp8u *src656, Ipp8u *MB_dst, 
	Ipp8u *win_Y_src, Ipp8u *win_U_src, Ipp8u *win_V_src,
	Ipp8u *win_Y_dst, Ipp8u *win_U_dst, Ipp8u *win_V_dst,
	int flag
);
	
extern void restore_MB_get_MB_refwin_no_pre(
	Ipp8u *MB_restore, Ipp8u *refvop_Y, Ipp8u *refvop_U, Ipp8u *refvop_V, 
	Ipp8u *src656, Ipp8u *MB_dst, 
	Ipp8u *win_Y_src, Ipp8u *win_U_src, Ipp8u *win_V_src,
	Ipp8u *win_Y_dst, Ipp8u *win_U_dst, Ipp8u *win_V_dst,
	int flag
);
	
extern void restore_MB_get_MB_refwin_prepro(
	Ipp8u *MB_restore, Ipp8u *refvop_Y, Ipp8u *refvop_U, Ipp8u *refvop_V, 
	Ipp8u *src656, Ipp8u *MB_dst, 
	Ipp8u *win_Y_src, Ipp8u *win_U_src, Ipp8u *win_V_src,
	Ipp8u *win_Y_dst, Ipp8u *win_U_dst, Ipp8u *win_V_dst,
	int flag
);


extern 	void MB_Gaus_filter(Ipp8u *MB, int width);
extern 	void MB_no_pre(Ipp8u *MB, int width);
extern 	void (*MB_preprocess)(Ipp8u *MB, int width);

extern	struct ippBitStream                cBS;
extern	struct mp4_VisualObject            VO;
extern	struct mp4_VideoObjectLayer        VOL;
extern	struct mp4_VideoObjectPlane        VOP;
//extern 	struct mp4_MacroBlock             MBinfo[810];	//for 2cif format;

extern	short int temp[64];
extern	short int coeff[64];
/**************************************************************/
extern    double mPSNR_Y,mPSNR_U,mPSNR_V;
extern    int     mSourceFormat;          // 4:2:0, 4:2:2, 4:4:4, ...
extern    int     mSourceWidth;           // width
extern    int     mSourceHeight;          // height
extern    int     mExpandSize;
extern    int     mNumMacroBlockPerRow;
extern    int     mNumMacroBlockPerCol;
	
extern    int     mStepLuma;
extern    int     mStepChroma;
	
extern    int     mLumaPlaneSize;
extern    int     mChromaPlaneSize;
extern    int     mPlanes;

extern    int    VideoEncoder_mIsInit;
extern    int     mExpandSizeA;
extern    int     VideoEncoder_mError;


extern int YUV656_BUF_WIDTH;

//extern	Ipp8u mBuffer[];//4	--128KB
//extern Ipp8u	mBuf656[4][(1440+16)*(288+4)];
//extern Ipp8u	mPrefeY[2][752*320], mPrefeU[2][376*160], mPrefeV[2][376*160];
extern Ipp8u * const mBuffer;
extern Ipp8u * const mBuf656;
extern Ipp8u * const mPrefeY;
extern Ipp8u * const mPrefeU;
extern Ipp8u * const mPrefeV;

extern Ipp8u 	*mPrefY[2], *mPrefU[2], *mPrefV[2];
extern Ipp8u	*mPtr656[4];

extern Ipp8u	*mCurrPtr656;
extern Ipp8u	*mCurrPtrY, *mCurrPtrU, *mCurrPtrV;
extern Ipp8u	*mForwPtrY, *mForwPtrU, *mForwPtrV;

//extern Ipp8u MB_refwin_buf0[4016];
//extern Ipp8u MB_refwin_buf1[4016];
//extern Ipp8u *MB_buffer[2];
//extern Ipp8u *win_buffer[2];
extern Ipp8u MB_buf_0[];
extern Ipp8u MB_buf_1[];
extern Ipp8u *MB_buffer[];
extern Ipp8u refwin_buffer[];
extern Ipp8u *refwin_Y;
extern Ipp8u *refwin_U;
extern Ipp8u *refwin_V;
extern int refwin_Y_step;
extern int refwin_UV_step;


extern 	struct  IppMotionVector		_refmv[REFMV_NUM];
extern	struct  IppMotionVector		*refmv;

extern	short 	_refYDC[REFYDC_NUM];
extern	short	*refYDC;
extern	short 	_refUDC[REFUVDC_NUM];
extern	short	*refUDC;
extern	short 	_refVDC[REFUVDC_NUM];
extern	short	*refVDC;
extern	short	refYAC[REFYAC_NUM][8];
extern	short	refUAC[REFUVAC_NUM][8];
extern	short	refVAC[REFUVAC_NUM][8];


extern    unsigned int        VideoEncoderMPEG4_mFrameCount;
extern	  int     mQuantIVOP, mQuantPVOP;

extern    int     mIVOPdist, mPVOPdist;
extern    int     mPVOPsearchHor, mPVOPsearchVer;
extern    int     mPVOPfcodeForw;
extern    Ipp16s  mDefDC;
extern 	  int	  mMEthrIntra;

extern    int     mCalcPSNR;
extern    int     mVOPtime;


extern int bypass_dist;

extern int cur_dma_buf_i;
extern int next_dma_buf_i;
extern int cur_enc_buf_i;
extern int MBDMA_YS0_x_mod;
extern int MBDMA_YS0_y_mod;
extern int MBDMA_YS0_y_mod_prepro;
extern int MBDMA_UVS0_y_mod;
extern int prepro_back_offset;
extern int MB_byte_step;
extern int MB_row_step;


#define DEBUG(value, uprange, downrange) \
	if ((value) > (uprange) || (value) < (downrange)) { \
		printf("error\n"); \
		while(1); \
	}


#endif	//endif of _GLOBAL_DECLARE_H_

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -