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

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

?? mb.hpp

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

This software module was originally developed by 

	Ming-Chieh Lee (mingcl@microsoft.com), Microsoft Corporation
	Wei-ge Chen (wchen@microsoft.com), Microsoft Corporation
	Bruce Lin (blin@microsoft.com), Microsoft Corporation
	Chuang Gu (chuanggu@microsoft.com), Microsoft Corporation
	(date: March, 1996)

in the course of development of the MPEG-4 Video (ISO/IEC 14496-2). 
This software module is an implementation of a part of one or more MPEG-4 Video tools 
as specified by the MPEG-4 Video. 
ISO/IEC gives users of the MPEG-4 Video free license to this software module or modifications 
thereof for use in hardware or software products claiming conformance to the MPEG-4 Video. 
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 conforming products. 
Microsoft 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 standard> conforming products. 
This copyright notice must be included in all copies or derivative works. 

Copyright (c) 1996, 1997.

Module Name:

	MB.hpp

Abstract:

	MacroBlock base class 

Revision History:

NOTE:
	
	For encoder:
		
		m_pvopfCurrQ holds the original data until it is texture quantized

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

#ifndef __MB_HPP_
#define __MB_HPP_

class CBlock;

class CMacroBlock
{
friend class CVOPofMBs;
public:
	// Constructors
	virtual ~CMacroBlock ();
	CMacroBlock (
		const VOLMode& volmd, // VOP mode
		const VOPMode& vopmd, // VOP mode
		const CVOPIntYUVBA* pvopfRef0, // reference VOP in a previous time
		const CVOPIntYUVBA* pvopfRef1 // reference VOP in a later time
	);

	// Attributes
	virtual const CMotionVector* rgMVForward () const {return m_rgmvForward;} // motion vector(s), 4 MV's for advanced mode
	virtual const CMotionVector* rgMVBackward () const {return m_rgmvBackward;} // motion vector(s), 4 MV's for advanced mode
	virtual CMotionVector mvForwardOfBlock (UInt iblk) const;  // motion vector(s), 4 MV's for advanced mode
	virtual CMotionVector mvBackwardOfBlock (UInt iblk) const;  // motion vector(s), 4 MV's for advanced mode
	virtual CMotionVector mvDirectDelta (UInt iblk) const;  // motion vector(s), 4 MV's for advanced mode
	virtual CMotionVector mvBY () const {return m_mvBY;}	//shape motion vector
	virtual const CVOPIntYUVBA* pvopfQOfMB () const {return m_pvopfCurrQ;}
	virtual const CMBMode& mode () const {return *m_pmbmd;}
	virtual const CRct& whereY () const {return m_pvopfCurrQ -> whereY ();}
	virtual const CRct& whereUV () const {return m_pvopfCurrQ -> whereUV ();}
	virtual CBlock** ppBlock () const {return m_ppblk;}
	virtual Bool bTranspAveraged () const {return m_bTranspAveraged;} 

	// Operations
	virtual own CVOPIntYUVBA* motionComp (MBType mbType = FORWARD) const; // non-overlapped motion compensation, overlapped MC is done at the vopmb level
	Void setMVForward (const CMotionVector& mvSrc, const Int blkn) 
		{m_rgmvForward [(UInt) blkn] = mvSrc;} // set motion vectors
	Void setMVBackward (const CMotionVector& mvSrc, const Int blkn) 
		{m_rgmvBackward [(UInt) blkn] = mvSrc;} // set motion vectors
	Void setMVBY (const CMotionVector& mvSrc)	{m_mvBY = mvSrc;} //set shape mv
	Void zeroPadCurrQ ();
	Void repeatPadCurrQ ();
	Void averagePadCurrQ ();
	Void repeatPadCurrQFromRight (const CMacroBlock& pmb);
	Void repeatPadCurrQFromBottom (const CMacroBlock& pmb);
	Void repeatPadCurrQFromLeft (const CMacroBlock& pmb);
	Void repeatPadCurrQFromTop (const CMacroBlock& pmb);

	// Resultant
	Bool isBlockAllTransparent (const Int blkn) const;
	Bool isAllBlocksAllValue (PixelI pxlf, Int blkn)	const;

///////////////// implementation /////////////////

protected:
	const CVOPIntYUVBA* m_pvopfRef0; // reference VOP in a previous time
	const CVOPIntYUVBA* m_pvopfRef1; // reference VOP in a later time
	own CVOPIntYUVBA* m_pvopfCurrQ; // macroblock
	own CMotionVector* m_rgmvForward; // forward motion vectors
	own CMotionVector* m_rgmvBackward; // backward motion vectors
	own CMotionVector* m_rgmvDirectDelta; // delta motion vectors for direct mode
	CMotionVector m_mvBY;					//mv for binary shape
	const VOLMode& m_volmd; // VOL mode
	const VOPMode& m_vopmd; // VOP mode
	CMBMode* m_pmbmd;
	CBlock** m_ppblk; // block objects
	UInt m_uiNumBlks; // number of blocks for texture coding.  10 for gray-scale alpha and 6 otherwise

	// for padding
	Bool m_bTranspAveraged;
	
	Void clapQuant (); // clap the pixel value to be within 0 and 255
	own CVOPIntYUVBA* motionCompFB (MBType mbType) const;	// motion comp, Forward and Backward
	own CIntImage* motionCompYBA (MBType mbType, PlaneType plnType) const; // non-oevrlapped MC for Y, B, and A plane
	own CIntImage* motionCompForCAE () const;		//only one MV, 18x18 motion comp, forward only
	Void motionCompUV (MBType mbType, CVOPIntYUVBA* pvopf, const CVector2D& mv, const CVector2D& mvBW = CVector2D ()) const; // non-overlapped motion compensation, overlapped MC is done at the vopmb level
	CVector2D mvDivideY (const CVector2D& mv, UInt divisor) const;
	CVector2D mvLookupUV (const CVector2D& mv, UInt uiNumNonTranspBlocks) const;
	Void backwardMVFromForwardMV (Bool bInBoundRef1, Bool bhas4MVRef1, const CMotionVector* rgmvRef1);
	Void decideTransparencyStatus (); //also change mvs of trasnparent blocks to NOT_MV to be consistent
	Void setQuantizedBinary (const CIntImage* pfiB);
	const CBlock* findPredictorBlock (Int iBlk, 
									  IntraPredDirection predDir,
									  const CMacroBlock* pmbPredLeft, 
									  const CMacroBlock* pmbPredTop, 
									  const CMacroBlock* pmbPredLeftTop = NULL);
	Void decideIntraPrediction (const CMacroBlock* pmbPredLeft, 
								const CMacroBlock* pmbPredTop, 
								const CMacroBlock* pmbPredLeftTop,
								Bool bDecideDCOnly = FALSE,
								Int blkn = ALL_Y_BLOCKS);


};

#endif // __MENCB_HPP_ 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美亚洲自拍偷拍| 韩国欧美一区二区| 国产精品欧美一级免费| 久久精品亚洲乱码伦伦中文| 欧美国产欧美综合| 国产精品国产自产拍高清av| 美女看a上一区| 亚洲综合图片区| 亚洲国产成人一区二区三区| 久久综合色婷婷| 懂色一区二区三区免费观看| 韩国成人精品a∨在线观看| 成人爽a毛片一区二区免费| 在线视频综合导航| 日韩精品在线一区二区| 中文字幕第一区第二区| 亚洲一区在线观看免费| 国产福利精品导航| 欧美情侣在线播放| 中文字幕制服丝袜一区二区三区 | 亚洲人成亚洲人成在线观看图片| 日韩va欧美va亚洲va久久| 欧美图区在线视频| 欧美经典一区二区| 黑人巨大精品欧美一区| 白白色亚洲国产精品| 久久久夜色精品亚洲| 韩国v欧美v亚洲v日本v| 日韩欧美久久久| 石原莉奈一区二区三区在线观看| 一本到三区不卡视频| 亚洲欧洲三级电影| av电影在线观看完整版一区二区| 欧美国产精品中文字幕| 91热门视频在线观看| 亚洲色图另类专区| 欧美又粗又大又爽| 日本成人中文字幕| 精品国产乱码久久久久久图片 | 欧美在线观看视频在线| 亚洲激情图片qvod| 欧美日韩一级二级| 蜜桃av噜噜一区| 国产精品美女一区二区三区| 色综合色狠狠综合色| 爽好久久久欧美精品| 欧美成人aa大片| 成人黄色在线看| 免费人成黄页网站在线一区二区| 3d动漫精品啪啪1区2区免费| 久久精品免费观看| 中文字幕av在线一区二区三区| 日本道精品一区二区三区| 麻豆久久久久久| 曰韩精品一区二区| 久久精品亚洲乱码伦伦中文| 一本久久精品一区二区| 国产一区二区三区日韩| 亚洲国产欧美在线| 国产亚洲精品资源在线26u| 色婷婷av一区| 国产精品一区免费在线观看| 亚洲老司机在线| 国产丝袜欧美中文另类| 欧美精品 日韩| 在线播放一区二区三区| 91麻豆精东视频| 国产99一区视频免费| 久久国产精品色| 秋霞午夜av一区二区三区| 亚洲国产日韩av| 国产在线视视频有精品| 免费观看一级欧美片| 久久精品国产久精国产爱| 日本伊人色综合网| 奇米四色…亚洲| 免费xxxx性欧美18vr| 男女男精品网站| 国产精品12区| 国产精品自拍av| 国产98色在线|日韩| 国产99久久久久| 99视频有精品| 在线视频一区二区三| 欧美日韩高清一区| 欧美日韩aaaaaa| 日韩欧美在线一区二区三区| 欧美一级欧美三级在线观看| 日韩欧美第一区| 欧美国产日韩一二三区| 亚洲乱码国产乱码精品精小说| 亚洲一区二区三区精品在线| 亚洲一本大道在线| 久久国产日韩欧美精品| 99精品视频一区| 欧美一区二区三级| 国产精品视频线看| 天堂精品中文字幕在线| 国产成人免费在线观看不卡| av午夜精品一区二区三区| 欧美一区二区三区四区在线观看| 国产视频一区二区三区在线观看| 国产精品国产精品国产专区不蜜 | 久久久久久影视| 日韩激情视频在线观看| 成人午夜在线免费| 欧美一三区三区四区免费在线看| 中文字幕av一区二区三区免费看 | 中文字幕免费不卡在线| 一区二区视频在线看| 国产一区二区三区四区五区美女| 91丨九色丨蝌蚪丨老版| 久久久久久毛片| 国产最新精品精品你懂的| 欧美日韩性生活| 一区二区三区高清在线| 99久久综合99久久综合网站| 国产清纯在线一区二区www| 亚洲精品视频免费看| 91美女视频网站| 日韩理论电影院| 欧美在线视频日韩| 91精品在线观看入口| 欧美一区二区三区在线看| 亚洲激情av在线| 91福利精品第一导航| 一区二区三区高清在线| 欧美喷潮久久久xxxxx| 亚洲大型综合色站| 日韩一区二区高清| 日韩黄色免费电影| 日韩欧美国产1| 国产激情偷乱视频一区二区三区 | 亚洲激情在线播放| 欧美三级日韩三级| 久久国产精品色| 欧美高清在线精品一区| 色综合久久88色综合天天6| 欧美男男青年gay1069videost| 精品国产亚洲一区二区三区在线观看| 亚洲高清免费视频| 91精品黄色片免费大全| 韩国一区二区视频| 一区二区三区免费看视频| 欧美精品色一区二区三区| 国产精品小仙女| 亚洲电影一区二区三区| 日韩美女在线视频| 不卡的av中国片| 免费看日韩a级影片| 国产欧美日韩中文久久| 欧美日本高清视频在线观看| 国产激情偷乱视频一区二区三区| 亚洲另类色综合网站| 国产欧美日韩麻豆91| 欧美精品日日鲁夜夜添| 国产不卡视频一区| 色老头久久综合| 日韩精品中文字幕在线一区| 国产精品灌醉下药二区| 欧美一区二区黄| 色妹子一区二区| 大桥未久av一区二区三区中文| 亚洲一线二线三线视频| 日韩免费高清电影| 国产欧美久久久精品影院| 日韩欧美成人一区| 日韩视频免费观看高清完整版在线观看| 99综合电影在线视频| 91亚洲精品一区二区乱码| 一本一本久久a久久精品综合麻豆 一本一道波多野结衣一区二区 | 精品一区二区av| 亚洲福利视频一区| 亚洲成人动漫精品| 日韩国产一二三区| 狠狠久久亚洲欧美| 国产高清精品久久久久| 国产成人午夜电影网| 色综合视频在线观看| 欧美老肥妇做.爰bbww| 欧美不卡一二三| 国产日韩欧美一区二区三区综合| 欧美国产国产综合| 亚洲国产精品久久久久婷婷884 | 国产91精品免费| 91一区二区在线| 欧美人体做爰大胆视频| 精品国产乱码久久久久久夜甘婷婷| 久久女同精品一区二区| 亚洲乱码一区二区三区在线观看| 日韩一区精品字幕| 在线亚洲一区观看| 欧美一区二区三区在| 国产精品久久久久一区二区三区共 | 国产亚洲欧美日韩俺去了| 亚洲一区二区欧美日韩| 国产一区二区三区美女| 欧美视频三区在线播放| 国产精品丝袜黑色高跟| 狠狠色丁香久久婷婷综合_中 |