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

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

?? vopses.hpp

?? 小波圖像變換
?? HPP
?? 第 1 頁 / 共 3 頁
字號:
/*************************************************************************

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)
and edited by
        Wei Wu (weiwu@stallion.risc.rockwell.com) Rockwell Science Center

and also edited by
	Yoshihiro Kikuchi (TOSHIBA CORPORATION)
	Takeshi Nagai (TOSHIBA CORPORATION)
	Toshiaki Watanabe (TOSHIBA CORPORATION)
	Noboru Yamaguchi (TOSHIBA CORPORATION)

and edited by Xuemin Chen (General Instrument Corp.)
    Mathias Wien (wien@ient.rwth-aachen.de), RWTH Aachen / Robert BOSCH GmbH 

and also edited by
	Yoshinori Suzuki (Hitachi, Ltd.)

and also edited by
    Fujitsu Laboratories Ltd. (contact: Eishi Morimatsu)
    Sehoon Son (shson@unitel.co.kr) Samsung AIT

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:

	vopSes.hpp

Abstract:

	Base class for the encoder for one Video Object.

Revision History:
    December 20, 1997   Interlaced tools added by General Instrument Corp.(GI)
                        X. Chen (xchen@gi.com), B. Eifrig (beifrig@gi.com)
        May. 9   1998:  add boundary by Hyundai Electronics 
                                  Cheol-Soo Park (cspark@super5.hyundai.co.kr) 
        May. 9   1998:  add field based MC padding by Hyundai Electronics 
                                  Cheol-Soo Park (cspark@super5.hyundai.co.kr) 
        Feb 16   1999:  add Quarter Sample 
                        Mathias Wien (wien@ient.rwth-aachen.de) 
        Feb 23   1999:  GMC add by Yoshinori Suzuki (Hitachi, Ltd.) 
	Sep.06	1999 : RRV added by Eishi Morimatsu (Fujitsu Laboratories Ltd.) 
*************************************************************************/

#ifndef __VOPSES_HPP_ 
#define __VOPSES_HPP_

typedef enum {NOT_DONE, PIECE_DONE, UPDATE_DONE} SptMBstatus;

#define BlockMemory Int*
typedef struct MacroBlockMemory {
	BlockMemory* rgblkm;
} MacroBlockMemory;
// GMC
struct trajpoint
{
  Int x;
  Int y;
};
typedef struct trajpoint TrajPoint;

struct gme_para
{
	Double  dp1;
	Double  dp2;
	Double  dp3;
	Double  dp4;
	Double  dp5;
	Double  dp6;
	Double  dp7;
	Double  dp8;
};
typedef struct gme_para GME_para;
// ~GMC

class ArCodec;

class CInvBlockDCT;

class CVideoObject
{
public:
	// Constructors
	virtual ~CVideoObject ();
	CVideoObject ();

	// Attributes
	const CVOPU8YUVBA* pvopcQuantCurr () const {return m_pvopcCurrQ;}
	const CVOPU8YUVBA* pvopcRefQPrev () const {return m_pvopcRefQ0;}
	const CVOPU8YUVBA* pvopcRefQLater () const {return m_pvopcRefQ1;}
	//This modification is for reconstructed BVOP image in SS coding should be used as refrence layer 
	const CVOPU8YUVBA* pvopcReconCurr () const; 
	//						{return   ((m_vopmd.vopPredType == BVOP && m_volmd.volType == BASE_LAYER) 
	//								 ||(m_vopmd.vopPredType == BVOP && m_vopmd.iRefSelectCode != 0)
	//								 ||(m_vopmd.vopPredType == SPRITE && m_volmd.fAUsage != RECTANGLE)) 
	//								 ? m_pvopcCurrQ : m_pvopcRefQ1;}	//reconstructed current frame
	const VOLMode& volmd () const {return m_volmd;}
	const VOPMode& vopmd () const {return m_vopmd;}

//OBSS_SAIT_991015
	VOLMode& getvolmd () {return m_volmd;}			//OBSSFIX_1:1
	Int getvolWidth () {return m_ivolWidth;}		//OBSSFIX_1:1
	Int getvolHeight () {return m_ivolHeight;}		//OBSSFIX_1:1
	ShapeMode* shapemd () {return m_rgBaseshpmd;}
	Void setShapeMode (ShapeMode* shapemode) {m_rgBaseshpmd = shapemode;}
	CMotionVector* getmvBaseBY() {return m_rgmvBaseBY; }					
	Void setmvBaseBY (CMotionVector* pmvBaseBY) {m_rgmvBaseBY = pmvBaseBY;}	
	Int getMBYRef() {return m_iNumMBYRef; }
	Int getMBXRef() {return m_iNumMBXRef; }
	Int getMBBaseYRef() {return m_iNumMBBaseYRef; }		
	Int getMBBaseXRef() {return m_iNumMBBaseXRef; }		
	Void setMBXYRef(Int X, int Y) { m_iNumMBBaseXRef = X; m_iNumMBBaseYRef = Y; } 
	CRct getBaseRct() {return m_rctBase; };
	Void setBaseRct(CRct prctBase) { 
		m_rctBase.top = prctBase.top; m_rctBase.left = prctBase.left; 
		m_rctBase.right = prctBase.right; m_rctBase.bottom = prctBase.bottom;
		m_rctBase.width = prctBase.width;}
	CRct GetDisplayWindow(){return m_rctDisplayWindow;}
//~OBSS_SAIT_991015

	UInt fSptUsage () const {return m_uiSprite;}

	// Operations
	virtual Void encode () {}
	virtual Int decode () {return 0;}

	Void swapRefQ1toSpt ();
	Void changeSizeofCurrQ (CRct rctOrg);
	Void setRctDisp (CRct rctDisp) {m_rctSptDisp = rctDisp;}

	Void setEnhnType ( Int iEnhnType ) {m_volmd.iEnhnType = iEnhnType;}

	Int iNumOfPnts () const {return m_iNumOfPnts;}
	const CVOPU8YUVBA* pvopcSptQ () const {return m_pvopcSptQ;}	  

	//low latency sprite stuff
	Void Overlay (CU8Image& uci1, CU8Image& uci2, float fscale); //1 on 2
	Void VOPOverlay (CVOPU8YUVBA& pvopc1, CVOPU8YUVBA& pvopc2, Int iscale = 0); //1 on 2

// dshu: begin of modification			
	Void U8iGet (CU8Image& uci1, CU8Image& uci2, CRct rctPieceY); 
	Void PieceGet (CVOPU8YUVBA& pvopc1, CVOPU8YUVBA& pvopc2, CRct rctPieceY);			
	Void U8iPut (CU8Image& uci1, CU8Image& uci2, CRct rctPieceY); 
	Void PiecePut (CVOPU8YUVBA& pvopc1, CVOPU8YUVBA& pvopc2, CRct rctPieceY); 
// dshu: end of modification

// dshu: [v071]  Begin of modification
	Void padSprite();
	Void copySptQShapeYToMb (PixelC* ppxlcDstMB, const PixelC* ppxlcSrc)	;
// dshu: [v071] end of modification

	Bool SptPieceMB_NOT_HOLE(Int iMBXoffset, Int iMBYoffset, CMBMode* pmbmd); 
	Bool SptUpdateMB_NOT_HOLE(Int iMBXoffset, Int iMBYoffset, CMBMode* pmbmd);	
	Void SaveMBmCurrRow (Int iMBYoffset, MacroBlockMemory** rgpmbmCurr);
	Void RestoreMBmCurrRow (Int iMBYoffset, MacroBlockMemory** rgpmbmCurr);
	Void CopyCurrQToPred (PixelC* ppxlcQMBY, PixelC* ppxlcQMBU,	PixelC* ppxlcQMBV);
///// 97/12/22 start
	Void copyVOPU8YUVBA (CVOPU8YUVBA*& pvopc0, CVOPU8YUVBA*& pvopc1);
	Void copyVOPU8YUVBA (CVOPU8YUVBA*& pvopc0, CVOPU8YUVBA*& pvopc1, CVOPU8YUVBA*& pvopc2);
	Void compute_bfShapeMembers ();
///// 97/12/22 end
///////////////// implementation /////////////////

	//OBSS_SAIT_991015 //_SONY_SS_  for SS BASE layer BVOP coding
	Int show_current_time()	{return m_t;}

  static Int getAuxCompCount(Int vol_shape_extension);

protected:
	// general routines
	Void swapVOPU8Pointers (CVOPU8YUVBA*& pvopc0, CVOPU8YUVBA*& pvopc1);
	Void swapVOPIntPointers (CVOPIntYUVBA*& pvopi0, CVOPIntYUVBA*& pvopi1);

	// VOL routines
	Void allocateVOLMembers (Int iSessionWidth, Int iSessionHeight);
	Void computeVOLConstMembers ();

	// VOP routines
	Void computeVOPMembers ();
	Void setRefStartingPointers ();
	Void updateAllRefVOPs ();
	Void updateAllRefVOPs (const CVOPU8YUVBA *pvopcRefBaselayer); // for spatial scalability
	Void repeatPadYOrA (PixelC* ppxlcOldLeft, CVOPU8YUVBA* pvopcRef);
	Void repeatPadUV (CVOPU8YUVBA* pvopcRef);
	Void resetBYPlane ();

	// MB routines
	Void decideTransparencyStatus (CMBMode* pmbmd, const PixelC* ppxlcMBBY);
	Void decideMBTransparencyStatus (CMBMode* pmbmd);
	Void downSampleBY (const PixelC* ppxlcMBBY, PixelC* ppxlcMBBUV); // downsample original BY now for LPE padding (using original shape)
	
	// Added for field based MC padding by Hyundai(1998-5-9)
        Void decideFieldTransparencyStatus (
                CMBMode* pmbmd,
                const PixelC* ppxlcMBBY,
                const PixelC* ppxlcMBBUV
        );
        Void fieldBasedDownSampleBY (
                const PixelC* ppxlcMBBY,
                PixelC* ppxlcMBBUV
        );
	// End of Hyundai(1998-5-9)

	// error signal processing
	Void addErrorAndPredToCurrQ (PixelC* ppxlcRefMBY, PixelC* ppxlcRefMBU, PixelC* ppxlcRefMBV);
	Void addAlphaErrorAndPredToCurrQ (PixelC* ppxlcRefMBA, Int iAuxComp);

	// shape coding functions
	Void saveShapeMode();
	own Int* computeShapeSubBlkIndex (Int iSubBlkSize, Int iSrcSize);
	Int getContextUS (PixelC a, PixelC b, PixelC c, PixelC d, PixelC e, PixelC f, PixelC g, PixelC h);
	PixelC getRefValue (const PixelC* ppxlcRow, Int x_adr, Int y_adr, Int h_size, Int v_size);
	Void adaptiveUpSampleShape (const PixelC* rgpxlcSrc, PixelC* rgpxlcDst, Int h_size, Int v_size);
	Void downSampleShapeMCPred(const PixelC* ppxlcSrc,PixelC* ppxlcDst,Int iRate);
	Void upSampleShape (PixelC* ppxlcBYFrm,const PixelC* rgpxlcSrc, PixelC* rgpxlcDst);
	Void copyLeftTopBorderFromVOP (PixelC* ppxlcSrc, PixelC* ppxlcDst);
	Void subsampleLeftTopBorderFromVOP (PixelC* ppxlcSrc, PixelC* ppxlcDst);
	Void makeRightBottomBorder (PixelC* ppxlcSrc, Int iWidth);
	Int contextIntra (const PixelC* ppxlcSrc);
	Int contextIntraTranspose (const PixelC* ppxlcSrc);
	Int contextInter (const PixelC* ppxlcSrc, const PixelC* ppxlcPred);
	Int contextInterTranspose (const PixelC* ppxlcSrc, const PixelC* ppxlcPred);

//OBSS_SAIT_991015
	Void saveBaseShapeMode();	
	Void makeRightBottomBorder (PixelC* ppxlcDst, Int iDstWidth, PixelC* ppxlcSrc, Int iSrcWidth);
	Int contextSIHorizontal (const PixelC* ppxlcSrc, Int iUpperSkip, Int iBottomSkip);
	Int contextSIVertical (const PixelC* ppxlcSrc, Int iRightSkip, Int iLeftSkip, Int iUpperSkip, Int iBottomSkip);
	Int decideScanOrder(const PixelC* ppxlPred);		//for st_order
	Void VerticalScanning(Int *no_mismatch, Int *no_match, Int *no_xor, Int type_id_mis[256][4], Int num_loop_hor, Int num_loop_ver, Bool residual_scanning_hor, Bool residual_scanning_ver, Bool* HorSamplingChk, Bool* VerSamplingChk);
	Void HorizontalScanning(Int *no_mismatch, Int *no_match, Int *no_xor, Int type_id_mis[256][4], Int num_loop_hor, Int num_loop_ver, Bool residual_scanning_hor, Bool residual_scanning_ver, Bool* HorSamplingChk, Bool* VerSamplingChk);
	Void motionCompLowerBY (
		PixelC* ppxlcPred,
		const PixelC* ppxlcRefLeftTop,
		CoordI iXRef, CoordI iYRef
	);
//~OBSS_SAIT_991015

	Void copyReconShapeToMbAndRef (PixelC* ppxlcDstMB, PixelC* ppxlcRefFrm, PixelC pxlcSrc);
	Void copyReconShapeToMbAndRef (PixelC* ppxlcDstMB, PixelC* ppxlcRefFrm, const PixelC* ppxlcSrc, Int iSrcWidth, Int iBorder);
	Void copyRefShapeToMb (PixelC* ppxlcDstMB, const PixelC* ppxlcSrc); //	Added for data partitioning mode By Toshiba(1998-1-16:DP+RVLC)
	Void copyReconShapeUVToRef (PixelC* ppxlcRefFrm, const PixelC* ppxlcSrc);
	CMotionVector findShapeMVP (const CMotionVector* pmv, const CMotionVector* pmvBY, 
								const CMBMode* pmbmd, Int iMBX, Int iMBY) const;
	Int m_iInverseCR;

	// B-VOP stuff
	Void findColocatedMB (Int iMBX, Int iMBY, const CMBMode*& pmbmdRef, const CMotionVector*& pmvRef);
	
	// motion compensation
	Void limitMVRangeToExtendedBBHalfPel (CoordI &x,CoordI &y,CRct *prct,Int iBlkSize);
	Void limitMVRangeToExtendedBBFullPel (CoordI &x,CoordI &y,CRct *prct,Int iBlkSize);
	Void limitMVRangeToExtendedBBQuarterPel (CoordI &x,CoordI &y,CRct *prct,Int iBlkSize); // QuarterSample, mwi
	Void motionCompMB (
		PixelC* ppxlcPredMB,
		const PixelC* ppxlcRefLeftTop,
		const CMotionVector* pmv, const CMBMode* pmbmd, 
		Int imbX, Int imbY,

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区视频 | 精品久久久久久久久久久久久久久 | 五月综合激情网| 青草av.久久免费一区| 久久99精品国产麻豆婷婷| 久久9热精品视频| 97精品久久久久中文字幕 | 一区二区国产视频| 日韩精品一级中文字幕精品视频免费观看| 一区二区三区精密机械公司| 日韩精品一二区| 国产精品一区在线| 日本精品视频一区二区三区| 日韩一级精品视频在线观看| 久久久国产精品不卡| 亚洲午夜精品17c| 国产精品一区一区| 欧美日韩一区二区三区四区五区| 日韩一区二区三区高清免费看看 | 亚洲一区在线视频| 国产一区二三区好的| 高清不卡一区二区在线| 欧美一区2区视频在线观看| 中文字幕色av一区二区三区| 日本不卡在线视频| 色哦色哦哦色天天综合| 久久久久久日产精品| 亚洲18影院在线观看| 91原创在线视频| 国产精品久久久久四虎| 成人一区二区在线观看| 宅男噜噜噜66一区二区66| 亚洲一区二区三区不卡国产欧美| 91丨porny丨户外露出| 日韩一区欧美一区| 日韩一区二区三区在线| 亚洲色图在线播放| 成人免费毛片嘿嘿连载视频| 精品久久久久av影院| 蜜桃av噜噜一区| 日韩三级伦理片妻子的秘密按摩| 日韩avvvv在线播放| 91麻豆精品国产91久久久使用方法 | 国产成人av电影免费在线观看| 久久亚洲二区三区| 岛国av在线一区| 亚洲视频电影在线| 91小视频在线| 日本中文一区二区三区| 日韩免费观看2025年上映的电影| 国产尤物一区二区| 国产精品久久久久久户外露出 | 色www精品视频在线观看| 亚洲成a人片在线不卡一二三区 | 成人国产精品免费观看视频| 中文字幕在线一区免费| 欧洲精品中文字幕| 另类人妖一区二区av| 中文一区二区在线观看| 欧美性大战久久久久久久| 国产在线视视频有精品| 国产精品国产馆在线真实露脸| 91成人看片片| 国产精品一区二区无线| 亚洲一区二区在线观看视频| 欧美电影在线免费观看| 国产精品自拍av| 午夜在线电影亚洲一区| 欧美国产97人人爽人人喊| 欧美在线观看你懂的| 捆绑调教一区二区三区| 一级特黄大欧美久久久| 亚洲国产精品av| 欧美电影免费观看完整版| 欧洲av一区二区嗯嗯嗯啊| 国产精品夜夜爽| 日本网站在线观看一区二区三区| 国产精品夫妻自拍| 久久久综合九色合综国产精品| 欧美视频一二三区| 99精品桃花视频在线观看| 国产一区二区三区综合| 日本不卡一二三| 色天天综合色天天久久| 成人av在线观| 99国产精品国产精品毛片| 成人精品视频一区| 成人黄色777网| 97精品视频在线观看自产线路二| 成人av午夜影院| 不卡视频在线观看| 成人深夜在线观看| 成人免费看片app下载| 成人永久看片免费视频天堂| 成人福利电影精品一区二区在线观看| 国产精品夜夜嗨| 成人午夜电影久久影院| 99久久精品国产麻豆演员表| 在线日韩国产精品| 欧美日韩在线播放| 欧美二区三区91| 久久久久久**毛片大全| 国产午夜亚洲精品理论片色戒| 日本一区二区三区在线不卡 | 91国产成人在线| 欧美日韩国产在线观看| 91精品国产综合久久久久久久 | 日韩一区二区视频| 国产亚洲福利社区一区| 亚洲欧美国产高清| 亚洲18女电影在线观看| 国产一区二区精品在线观看| 色综合天天综合网天天狠天天 | 久久99精品久久久久久| 国产91丝袜在线18| 色婷婷综合久久久久中文| 欧美剧情片在线观看| 国产色爱av资源综合区| 亚洲美女一区二区三区| 美国毛片一区二区三区| 99精品视频免费在线观看| 日韩欧美成人一区| 日韩欧美中文字幕精品| 久久久久高清精品| 性做久久久久久久久| 成人av片在线观看| 日韩欧美一级片| 亚洲国产精品自拍| 成人在线视频一区| 日韩精品一区在线观看| 亚洲国产精品视频| 99免费精品视频| 久久青草国产手机看片福利盒子 | 亚洲欧洲av另类| 成人一级黄色片| 久久综合久久综合久久综合| 五月婷婷激情综合| 色老综合老女人久久久| 欧美激情在线一区二区| 精品午夜久久福利影院| 日韩一区二区三区四区五区六区| 亚洲成人一区二区| 色综合色综合色综合| 最近中文字幕一区二区三区| 成人黄色电影在线| 国产精品无码永久免费888| 国产精品一区二区男女羞羞无遮挡| 91麻豆精品国产自产在线观看一区 | 欧美视频三区在线播放| 无码av免费一区二区三区试看| 欧洲国产伦久久久久久久| 亚洲激情综合网| 欧美三级视频在线| 亚洲第一福利视频在线| 4438亚洲最大| 欧美96一区二区免费视频| 欧美男男青年gay1069videost| 日韩av在线发布| 国产亚洲一区二区在线观看| 国产成a人无v码亚洲福利| 日韩伦理av电影| 精品婷婷伊人一区三区三| 亚洲高清不卡在线| 日韩一区二区三区在线| 成人短视频下载| 午夜精品久久一牛影视| 欧美videos大乳护士334| 国产高清精品久久久久| 一区二区中文视频| 欧美精品成人一区二区三区四区| 青草国产精品久久久久久| 国产日韩欧美制服另类| 亚洲精品一区二区三区影院| 国产乱一区二区| 亚洲国产日韩a在线播放性色| 日韩欧美一级片| 色综合网站在线| 国产黄人亚洲片| 丝袜亚洲另类欧美综合| 日本一区二区三区在线不卡| 欧美精品视频www在线观看| 国产成人免费在线观看| 亚洲成av人**亚洲成av**| 欧美高清在线精品一区| 欧美大片顶级少妇| 欧美另类高清zo欧美| av亚洲精华国产精华精| 极品尤物av久久免费看| 午夜亚洲国产au精品一区二区| 国产精品久久久久久久久免费丝袜| 精品三级在线观看| 91精品国产欧美一区二区18| 色狠狠一区二区| 99久久久国产精品| 国产91露脸合集magnet| 国产一区二区三区久久悠悠色av| 久久99精品国产麻豆婷婷洗澡| 首页综合国产亚洲丝袜| 偷拍与自拍一区| 日韩电影免费一区|