亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? newpred.hpp

?? 小波圖像變換
?? HPP
字號:
/**************************************************************************

This software module was originally developed by 

	Hideaki Kimata (NTT)


in the course of development of the MPEG-4 Video (ISO/IEC 14496-2) standard.
This software module is an implementation of a part of one or more MPEG-4 
Video (ISO/IEC 14496-2) tools as specified by the MPEG-4 Video (ISO/IEC 
14496-2) standard. 

ISO/IEC gives users of the MPEG-4 Video (ISO/IEC 14496-2) standard free 
license to this software module or modifications thereof for use in hardware
or software products claiming conformance to the MPEG-4 Video (ISO/IEC 
14496-2) standard. 

Those intending to use this software module in hardware or software products
are advised that its use may infringe existing patents. The original 
developer of this software module and his/her company, the subsequent 
editors and their companies, and ISO/IEC have no liability for use of this 
software module or modifications thereof in an implementation. Copyright is 
not released for non MPEG-4 Video (ISO/IEC 14496-2) standard conforming 
products. 

NTT retains full right to use the code for his/her own 
purpose, assign or donate the code to a third party and to inhibit third 
parties from using the code for non MPEG-4 Video (ISO/IEC 14496-2) standard
conforming products. This copyright notice must be included in all copies or
derivative works. 

Copyright (c) 1999.

Module Name:

	newpred.hpp

Abstract:

	Interface of the CNewPred class.

Revision History:

**************************************************************************/

#if !defined(AFX_NEWPRED_H__2E698A43_7818_11D1_80C6_0000F82273F4__INCLUDED_)
#define AFX_NEWPRED_H__2E698A43_7818_11D1_80C6_0000F82273F4__INCLUDED_

#if _MSC_VER >= 1000
#pragma once
#endif // _MSC_VER >= 1000

#ifdef __MFC_
#ifdef _DEBUG
#undef THIS_FILE
static char BASED_CODE THIS_FILE[] = __FILE__;
#endif

#define new DEBUG_NEW				   
#endif // __MFC_

#define NP_REQUESTED_BACKWARD_MESSAGE_TYPE  3	// backchannel message type
#define ENC_BUFCNT 5							// number of encoder additional memory
#define DEC_BUFCNT 5							// number of decoder additional memory

#define NP_MAX_NUMSLICE	18					// maxium number of NP segmet
#define	INPUT_BUF_MAX	256
#define	MAX_NumGOB		NP_MAX_NUMSLICE

#define NUMBITS_NEWPRED_ENABLE						1
#define NUMBITS_REQUESTED_BACKWARD_MESSAGE_TYPE		2
#define NUMBITS_NEWPRED_SEGMENT_TYPE				1
#define NUMBITS_VOP_ID_FOR_PREDICTION_INDICATION	1

#define NUMBITS_VOP_ID_PLUS							3
#define NP_MAX_NUMBITS_VOP_ID						15 // maxium bit number of vop_id

#define	NP_MAX(x, y)		((x) >= (y) ? (x) : (y))

typedef struct NEWPRED_Slice_data {
	PixelC*		pchY;
	PixelC*		pchU;
	PixelC*		pchV;
} NEWPRED_dat;

typedef struct NEWPRED_Slice_buf {
	int			iSizeY;
	int			iSizeUV;
	int			vop_id;
	int			iSlice;
	NEWPRED_dat pdata;		// backup reference picture data
} NEWPRED_buf;

typedef struct NEWPRED_control {
	int		ref_tbl[0x800][MAX_NumGOB];
	NEWPRED_buf***	NPRefBuf;
	int*			ref;
} NEWPREDcnt;

typedef enum
{
	NP_ENCODER,
	NP_DECODER,
}	NP_WHO_AM_I;

typedef enum
{
	NP_VOP_HEADER,
	NP_VP_HEADER
}	NP_SYNTAX_TYPE;

class CNewPred
{
public:
	CNewPred();
	virtual ~CNewPred();

	Bool	CheckSlice(int iMBX, int iMBY, Bool bChkTop = TRUE);
	int		CNewPred::GetSliceNum(int iMBX, int iMBY);
	int		NextSliceHeadMBA(int iMBX, int iMBY);
	int		GetCurrentVOP_id();

	void	shiftBuffer(							// store reference picture memory
				int			vop_id,
				int			max_refsel
			);

	int		make_next_decbuf(
				NEWPREDcnt*	newpredCnt,
				int			vop_id,
				int			slice_no
			);

	int		NowMBA(int vp_id);

	void	CopyBuftoNPRefBuf(int iSlice, int iBufCnt);
	void	CopyBufUtoNPRefBufY(int iSlice, int iBufCnt);
	void	CopyBufUtoNPRefBufU(int iSlice, int iBufCnt);
	void	CopyBufUtoNPRefBufV(int iSlice, int iBufCnt);

	void 	*aalloc(int col, int row , int size);
	void 	afree(int** p);
	void	SetQBuf(									// set NP and Original reference picture memory
				CVOPU8YUVBA*	pRefQ0,
				CVOPU8YUVBA*	pRefQ1
			);

	void 	SetNPRefBuf(						// set data from reference to NP memory
				NEWPRED_buf**	pNewBuf,
				int				vop_id,
				int				iBufCnt
			);

	Bool	CopyNPtoVM(							// set data from NP to reference memory
				Int				iSlice_no,
				PixelC*			RefpointY,
				PixelC*			RefpointU,
				PixelC*			RefpointV
			);

	Bool	CopyNPtoPrev(
				Int				iSlice_no,
				PixelC*			RefpointY,
				PixelC*			RefpointU,
				PixelC*			RefpointV
			);

	void	ChangeRefOfSlice(					// padding reference picture
				const PixelC*	ppxlcRefY,
				const PixelC*	RefbufY,
				const PixelC*	ppxlcRefU,
				const PixelC*	RefbufU,
				const PixelC*	ppxlcRefV,
				const PixelC*	RefbufV,
				Int				iMBX,
				Int				iMBY,
				CRct			rctRefFrameY,
				CRct			rctRefFrameUV
			);

	void	ChangeRefOfSliceYUV(				// padding reference picture
				const PixelC*	ppxlcRef,
				const PixelC*	Refbuf0,
				Int				iMBX,
				Int				iMBY,
				CRct			RefSize,
				char			mode
			);

	void	CopyReftoBuf(						// backup reference picture to virtual memory
				const PixelC*	RefbufY,
				const PixelC*	RefbufU,
				const PixelC*	RefbufV,
				CRct			rctRefFrameY,
				CRct			rctRefFrameUV
			);

	void	CopyRefYtoBufY(const PixelC* ppxlcRefY, CRct RefSize);
	void	CopyBufYtoRefY(const PixelC* ppxlcRefY, CRct RefSize);
	void	CopyRefUtoBufU(const PixelC* ppxlcRefU, CRct RefSize);
	void	CopyBufUtoRefU(const PixelC* ppxlcRefU, CRct RefSize);
	void	CopyRefVtoBufV(const PixelC* ppxlcRefV, CRct RefSize);
	void	CopyBufVtoRefV(const PixelC* ppxlcRefV, CRct RefSize);

	void	GetSlicePoint(char * pchSlicePointParam);
	int		getwidth(){return(m_iWidth);}

	int CNewPred::SliceTailMBA(int iMBX, int iMBY);

#ifdef _DEBUG
	void cdecl NPDebugMessage( char* pszMsg, ... );
#endif

	/*
	 *  variable
	 */
	Bool			m_bNewPredEnable;
	int				m_iRequestedBackwardMessegeType;
	Bool			m_bNewPredSegmentType;
	int				m_iNumBuffEnc;
	int				m_iNumBuffDec;
	NP_WHO_AM_I		m_enumWho;
	NEWPREDcnt*		m_pNewPredControl;
	int				m_iNumSlice;
	NEWPRED_buf**	m_pShiftBufTmp;

	int				m_iAUsage;
	int				m_bShapeOnly;

	Int				m_iNPNumMBX, m_iNPNumMBY;
	int*			m_iHMBNum;

	UInt	m_maxVopID;

	PixelC*		m_pchNewPredRefY;
	PixelC*		m_pchNewPredRefU;
	PixelC*		m_pchNewPredRefV;

protected:

	NP_WHO_AM_I		Who_Am_I();					// check wther encoder or decoder
	void			IncrementVopID();
	short			check_space(char* buf);
	void			check_comment(char* buf);

	/*
	 *  variable
	 */
	int*	m_piSlicePoint;
	int		m_iVopID;
	int		m_iNumBitsVopID;
	int		m_iVopID4Prediction_Indication;
	int		m_iVopID4Prediction;

	int		m_iWidth;
	int		m_iHeight;
	int		num_MB;
	int		m_iCurrentSlice;
	CRct	m_rctNPFrameY;
	CRct	m_rctNPFrameUV;

	UInt	m_uiFirstFrame;
	UInt	m_uiLastFrame;
	CVOPU8YUVBA*	m_pNPvopcRefQ0;
	CVOPU8YUVBA*	m_pNPvopcRefQ1;

	PixelC*	m_pDecbufY;
	PixelC*	m_pDecbufU;
	PixelC*	m_pDecbufV;

};
		
class CNewPredEncoder : public CNewPred
{
public:
	CNewPredEncoder();
	virtual ~CNewPredEncoder();
	void	SetObject(
			int				iNumBitsTimeIncr,
			int				iWidth,
			int				iHeight,
			UInt			uiVOId,
			char*			pchRefname,
			char*			pchSlicePointParam,
			Bool			bNewpredSegmentType,
			int				iAUsage,
			int				bShapeOnly,
			CVOPU8YUVBA*	pNPvopcRefQ0,
			CVOPU8YUVBA*	pNPvopcRefQ1,
			CRct			rctNPFrameY,
			CRct			rctNPFrameUV
		);

	Int		SetVPData(
		NP_SYNTAX_TYPE	mode,
		int		*md_iVopID,	
		int		*md_iNumBitsVopID,
		int		*md_iVopID4Prediction_Indication,
		int		*md_iVopID4Prediction
		);
	
	NEWPREDcnt*		initNEWPREDcnt(
		UInt		uiVO_id
		);
	void	endNEWPREDcnt(
				NEWPREDcnt*	newpredCnt
		);
	void	makeNextRef(
				NEWPREDcnt*	newpredCnt,
				int			slice_no
		);
	void	makeNextBuf(
				NEWPREDcnt*	newpredCnt,
				int			vop_id,
				int			slice_no
		);

	void	load_ref_ind();


protected:
	char	refname[INPUT_BUF_MAX];

	struct	{
		int		iHeader;
		int		iData;
	}	m_stSliceSize[NP_MAX_NUMSLICE];
};

class CNewPredDecoder : public CNewPred
{
public:
	CNewPredDecoder();
	virtual ~CNewPredDecoder();
	void	SetObject(
			int				iNumBitsTimeIncr,
			int				iWidth,
			int				iHeight,
			char*			pchSlicePointParam,
			Bool			bNewpredSegmentType,
			int				iAUsage,
			int				bShapeOnly,
			CVOPU8YUVBA*	pNPvopcRefQ0,
			CVOPU8YUVBA*	pNPvopcRefQ1,
			CRct			rctNPFrameY,
			CRct			rctNPFrameUV
		);

	Bool	GetRef(
		NP_SYNTAX_TYPE	mode,
		VOPpredType type,
		int		md_iVopID,	
		int		md_iVopID4Prediction_Indication,
		int		md_iVopID4Prediction
		);						

	NEWPREDcnt*	initNEWPREDcnt();

	void	endNEWPREDcnt(NEWPREDcnt* newpredCnt);

	void	ResetObject(int iCurrentVOP_id)
	{
		m_iVopID = iCurrentVOP_id;
	}

protected:
	int				m_DecoderError;
};

#endif // !defined(AFX_NEWPRED_H__2E698A43_7818_11D1_80C6_0000F82273F4__INCLUDED_)

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
中文字幕 久热精品 视频在线| 秋霞午夜av一区二区三区| 五月激情六月综合| 国产盗摄视频一区二区三区| 欧美日韩综合在线| 欧美国产日韩a欧美在线观看| 亚洲国产另类av| 99久久免费国产| 久久久久国产精品麻豆ai换脸 | 91麻豆国产在线观看| 日韩一级免费观看| 亚洲激情自拍偷拍| 99麻豆久久久国产精品免费| 欧美精品一区二区三区四区 | 欧美日韩一区二区三区四区五区| 国产精品视频看| 精品综合久久久久久8888| 欧美三级电影在线看| 亚洲老司机在线| 成人午夜电影小说| 国产午夜精品一区二区| 免费成人深夜小野草| 欧美美女视频在线观看| 亚洲精品成人少妇| 色噜噜狠狠成人中文综合| 日本一区二区免费在线| 国产一区二区精品久久99| 欧美成人激情免费网| 首页国产欧美日韩丝袜| 91精品久久久久久久久99蜜臂 | 亚洲色欲色欲www在线观看| 东方aⅴ免费观看久久av| 久久综合给合久久狠狠狠97色69| 日本vs亚洲vs韩国一区三区二区 | 国产精品无遮挡| 国产91在线|亚洲| 国产欧美一区二区精品性| 国产91清纯白嫩初高中在线观看| 国产午夜亚洲精品午夜鲁丝片| 国产凹凸在线观看一区二区| www亚洲一区| 成人激情黄色小说| 亚洲少妇30p| 欧美私模裸体表演在线观看| 日韩**一区毛片| 精品国产a毛片| 国产不卡在线一区| 一区二区三区在线视频播放| 欧美日韩在线播放一区| 日本成人在线网站| 久久久精品日韩欧美| 99久久er热在这里只有精品15| 一区二区三区在线免费| 日韩一区二区免费电影| 国产乱一区二区| 中文字幕日韩一区| 欧美高清视频在线高清观看mv色露露十八| 日韩av电影免费观看高清完整版在线观看| 精品1区2区在线观看| 不卡免费追剧大全电视剧网站| 亚洲视频小说图片| 91精品久久久久久久91蜜桃 | 蜜芽一区二区三区| 欧美国产97人人爽人人喊| 91久久精品午夜一区二区| 青青草精品视频| 国产精品伦一区| 欧美精品v国产精品v日韩精品| 狠狠色伊人亚洲综合成人| 亚洲精品一二三| 精品区一区二区| 一本久久综合亚洲鲁鲁五月天 | 色又黄又爽网站www久久| 日精品一区二区三区| 国产午夜久久久久| 日韩欧美123| av爱爱亚洲一区| 热久久国产精品| 一区二区视频在线| 久久夜色精品国产欧美乱极品| 色婷婷av一区二区三区软件| 国产一区二区精品久久99 | 亚洲视频在线观看一区| 日韩欧美成人午夜| 欧美三级日韩在线| 成人精品视频一区二区三区尤物| 日韩avvvv在线播放| 亚洲精品乱码久久久久| 亚洲国产岛国毛片在线| 日韩欧美高清dvd碟片| 精品1区2区3区| 色综合久久久久网| 成人黄色在线网站| 国产伦精品一区二区三区视频青涩 | 午夜激情一区二区三区| 国产精品超碰97尤物18| 26uuu亚洲| 精品电影一区二区三区| 91精品国产综合久久精品性色| 色婷婷久久综合| 99久久免费国产| jizzjizzjizz欧美| 成人18视频日本| 国产凹凸在线观看一区二区| 国产一区二区三区日韩 | 免费一区二区视频| 午夜不卡av免费| 亚洲18女电影在线观看| 亚洲制服丝袜一区| 亚洲欧美视频在线观看| 国产精品第一页第二页第三页| 日本一区二区三区高清不卡| 久久精品在这里| 亚洲国产高清在线| 日韩一区在线播放| 亚洲色图在线播放| 一级中文字幕一区二区| 曰韩精品一区二区| 亚洲一区av在线| 丝袜a∨在线一区二区三区不卡| 午夜电影久久久| 美国三级日本三级久久99| 美国毛片一区二区| 国产精品亚洲一区二区三区妖精| 国产麻豆日韩欧美久久| 99在线热播精品免费| 色菇凉天天综合网| 91精品视频网| 国产女人水真多18毛片18精品视频| 国产亚洲美州欧州综合国| 国产精品乱码一区二三区小蝌蚪| 综合av第一页| 午夜影院在线观看欧美| 极品尤物av久久免费看| 成人久久视频在线观看| 色老汉av一区二区三区| 91精品国产一区二区三区蜜臀 | 717成人午夜免费福利电影| 日韩限制级电影在线观看| 久久亚洲二区三区| 亚洲欧美一区二区三区极速播放 | 婷婷久久综合九色综合绿巨人 | 91香蕉视频在线| 欧美三级在线视频| 精品久久久久久最新网址| 国产精品二三区| 日本三级亚洲精品| 成人免费看片app下载| 欧美久久久久免费| 久久精品欧美一区二区三区不卡| 亚洲欧美日韩国产中文在线| 美女网站在线免费欧美精品| 成人的网站免费观看| 欧美日韩国产片| 中文字幕免费不卡| 日本在线不卡视频一二三区| 成人av影视在线观看| 51精品久久久久久久蜜臀| 亚洲国产精品黑人久久久| 日韩中文字幕91| 91行情网站电视在线观看高清版| 日韩三级视频在线观看| 伊人夜夜躁av伊人久久| 国产麻豆欧美日韩一区| 欧美高清视频不卡网| 国产精品乱人伦一区二区| 久久91精品久久久久久秒播| 色欧美片视频在线观看| 国产日韩欧美高清| 久久精工是国产品牌吗| 欧美日韩你懂得| 亚洲天堂精品在线观看| 精品一区二区免费在线观看| 在线欧美小视频| 国产精品久久久久久户外露出| 免费观看91视频大全| 欧美日韩日本视频| 亚洲精品欧美在线| 不卡视频一二三| 中文幕一区二区三区久久蜜桃| 捆绑调教美女网站视频一区| 欧美另类变人与禽xxxxx| 国产iv一区二区三区| 欧美卡1卡2卡| 伊人婷婷欧美激情| 久久精品久久久精品美女| 91在线porny国产在线看| 久久亚洲综合av| 极品尤物av久久免费看| 欧美一区二区精美| 日韩福利电影在线观看| 欧美日韩大陆一区二区| 国产自产2019最新不卡| 99国产欧美另类久久久精品| 欧美一区二区三区啪啪| 亚洲摸摸操操av| 成人久久视频在线观看| 日韩欧美精品在线| 一区二区高清视频在线观看| 国产毛片精品国产一区二区三区|