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

📄 vopseenc.hpp

📁 网络MPEG4IP流媒体开发源代码
💻 HPP
📖 第 1 页 / 共 2 页
字号:
		CoordI x, CoordI y,		CMBMode *pmbmd,		const CMBMode *pmbmdRef,		const CMotionVector *pmvRef	);	Int directSADField(		CoordI x, CoordI y,		CMBMode *pmbmd,		const CMBMode *pmbmdRef,		const CMotionVector *pmvRef,		const PixelC* ppxlcRef0MBY,		const PixelC* ppxlcRef1MBY	);	// block level encoding	Int quantizeIntraBlockTexture (		PixelC* ppxlcBlkSrc, 		Int iWidthSrc,													 		PixelC* ppxlcCurrQBlock, 		Int iWidthCurrQ,		Int* rgiCoefQ, 		Int iQP,		Int iDcScaler,		Int iBlk, 		MacroBlockMemory* pmbmLeft, 		MacroBlockMemory* pmbmTop, 		MacroBlockMemory* pmbmLeftTop,		MacroBlockMemory* pmbmCurr,		CMBMode* pmbmdLeft,		CMBMode* pmbmdTop,		CMBMode* pmbmdLeftTop,		CMBMode* pmbmdCurr	);		Void quantizeTextureInterBlock (		PixelI* ppxliCurrQBlock, 		Int iWidthCurrQ,		Int* rgiCoefQ, 		Int iQP,		Bool bUseAlphaMatrix	);	Void quantizeIntraDCcoef (Int* rgiCoefQ, Float fltDcScaler);	Void quantizeIntraDCTcoefH263 (Int* rgiCoefQ, Int iStart, Int iQP);	Void quantizeInterDCTcoefH263 (Int* rgiCoefQ, Int iStart, Int iQP);	Void quantizeIntraDCTcoefMPEG (Int* rgiCoefQ, Int iStart, Int iQP, Bool bUseAlphaMatrix);	Void quantizeInterDCTcoefMPEG (Int* rgiCoefQ, Int iStart, Int iQP, Bool bUseAlphaMatrix);	Int findVLCtableIndexOfNonLastEvent (Bool bIsLastRun, UInt uiRun, UInt uiLevel);	Int findVLCtableIndexOfLastEvent (Bool bIsLastRun,UInt uiRun, UInt uiLevel);	Int findVLCtableIndexOfIntra (Bool bIsLastRun, UInt uiRun, UInt uiLevel);	UInt sendIntraDC (const Int* rgiCoefQ, BlockNum blkn);	UInt sendTCOEFIntra (const Int* rgiCoefQ, Int iStart, Int* rgiZigzag);	UInt sendTCOEFInter (const Int* rgiCoefQ, Int iStart, Int* rgiZigzag);	UInt putBitsOfTCOEFIntra (UInt uiRun, Int iLevel, Bool bIsLastRun);	UInt putBitsOfTCOEFInter (UInt uiRun, Int iLevel, Bool bIsLastRun);	typedef Int (CVideoObjectEncoder::*FIND_TABLE_INDEX)(Bool bIsLastRun, UInt uiRun, UInt uiLevel);	//func ptr code escp. coding	UInt escapeEncode (UInt uiRun, Int iLevel, Bool bIsLastRun, Int* rgiLMAX, Int* rgiRMAX, FIND_TABLE_INDEX findVLCtableIndex);	UInt fixLengthCode (UInt uiRun, Int iLevel, Bool bIsLastRun);	Void intraPred ( 		BlockNum blkn, const CMBMode* pmbmd, 		Int* rgiCoefQ, Int iQPcurr, Int iDcScaler,		const BlockMemory pblkmPred, Int iQPpred	);		// gray-scale alpha coding	Void quantizeAlphaInterMB (CMBMode* pmbmd);	Void codeMBAlphaHeadOfIVOP (const CMBMode* pmbmd);	Void codeMBAlphaHeadOfPVOP (const CMBMode* pmbmd);	Void codeMBAlphaHeadOfBVOP (const CMBMode* pmbmd);	Void sendDCTCoefOfIntraMBAlpha (const CMBMode* pmbmd);	Void sendDCTCoefOfInterMBAlpha (const CMBMode* pmbmd);	// MB shape coding	Int codeIntraShape (PixelC* ppxlcSrcFrm, CMBMode* pmbmd, Int iMBX, Int iMBY);	Int codeInterShape (		PixelC* ppxlcSrc, CVOPU8YUVBA* pvopcRefQ, CMBMode* pmbmd,		const ShapeMode& shpmdColocatedMB,		const CMotionVector* pmv, CMotionVector* pmvBY, 		CoordI iX, CoordI iY, Int iMBX, Int IMBY	);	UInt codeShapeModeIntra (ShapeMode shpmd, const CMBMode* pmbmd, Int iMBX, Int iMBY);	UInt codeShapeModeInter (const ShapeMode& shpmd, const ShapeMode& shpmdColocatedMB);	ShapeMode round (PixelC* ppxlcSrcFrm, const CMBMode* pmbmd);	Int downSampleShape (const PixelC* ppxlcSrc, Int* rgiSrcSubBlk,						 PixelC* ppxlcDst, Int* piDstPxl, Int iRate, Int iThreshold, Int nSubBlk);	Bool isErrorLarge (const PixelC* rgppxlcSrc, const Int* rgiSubBlkIndx, Int iWidthSrc, PixelC pxlcRecon, const CMBMode* pmbmd);	Bool isErrorLarge (const PixelC* rgppxlcSrc, const Int* rgiSubBlkIndxSrc, const Int iSizeSrc,					   const PixelC* rgppxlcDst, const Int* rgiSubBlkIndxDst, const Int iSizeDst, const CMBMode* pmbmd);	UInt encodeCAEIntra (ShapeMode shpmd, CAEScanDirection m_shpdir);	UInt encodeCAEInter (ShapeMode shpmd, CAEScanDirection m_shpdir);	UInt encodeMVDS (CMotionVector mvBYD);	Bool sameBlockTranspStatus (const CMBMode* pmbmd, PixelC pxlcRecon);	Bool sameBlockTranspStatus (const CMBMode* pmbmd, const PixelC* pxlcRecon, Int iSizeRecon);	UInt codeCrAndSt (CAEScanDirection shpdir, Int iInverseCR);	Void copyReconShapeToRef (PixelC* ppxlcRef, PixelC pxlcSrc);		//no need to reset MB buffer	Void copyReconShapeToRef (PixelC* ppxlcDstMB, const PixelC* ppxlcSrc, Int iSrcWidth, Int iBorder);	Int sadForShape (const PixelC* ppxlcRefBY) const;	Void blkmatchForShape (CVOPU8YUVBA* pvopcRefQ,CMotionVector* pmv, const CVector& mvPredHalfPel, CoordI iX, CoordI iY);	Bool m_bNoShapeChg;	Int *m_rgiSubBlkIndx16x16, *m_rgiSSubBlkIndx16x16, *m_rgiSubBlkIndx18x18, *m_rgiSubBlkIndx20x20;	Int *m_rgiPxlIndx12x12, *m_rgiPxlIndx8x8;	// motion estimation	Void copyToCurrBuffWithShapeY (		const PixelC* ppxlcCurrY,		const PixelC* ppxlcCurrBY	);	Void copyToCurrBuffY (const PixelC* ppxlcCurrY);	Void motionEstMB_PVOP (CoordI x, CoordI y, 						   CMotionVector* pmv, CMBMode* pmbmd); //for spatial scalablity only	Int motionEstMB_PVOP (		CoordI x, CoordI y, 		CMotionVector* pmv, CMBMode* pmbmd, 		const PixelC* ppxliRefMBY	);	Int motionEstMB_PVOP_WithShape (		CoordI x, CoordI y, 		CMotionVector* pmv, CMBMode* pmbmd, 		const PixelC* ppxliRefMBY	);	Int motionEstMB_BVOP_Interlaced (		CoordI x, CoordI y, 		CMotionVector* pmvForward, CMotionVector* pmvBackward,		CMBMode* pmbmd,		const CMBMode* pmbmdRef, const CMotionVector* pmvRef,		const PixelC* ppxlcRef0MBY, const PixelC* ppxlcRef1MBY,		Bool bColocatedMBExist	);	Int motionEstMB_BVOP (		CoordI x, CoordI y, 		CMotionVector* pmvForward, CMotionVector* pmvBackward,		CMBMode* pmbmd,		const CMBMode* pmbmdRef, const CMotionVector* pmvRef,		const PixelC* ppxlcRef0MBY, const PixelC* ppxlcRef1MBY,		Bool bColocatedMBExist	);	// for spatial scalability only	Int CVideoObjectEncoder::motionEstMB_BVOP(		CoordI x, CoordI y, 		CMotionVector* pmvForward, CMotionVector* pmvBackward,		CMBMode* pmbmd,		const PixelC* ppxlcRef0MBY, const PixelC* ppxlcRef1MBY	);	Int motionEstMB_BVOP_WithShape (		CoordI x, CoordI y, 		CMotionVector* pmvForward, CMotionVector* pmvBackward,		CMBMode* pmbmd, 		const CMBMode* pmbmdRef, const CMotionVector* pmvRef,		const PixelC* ppxlcRef0MBY, const PixelC* ppxlcRef1MBY,		Bool bColocatedMBExist	);// new changes	Int motionEstMB_BVOP_InterlacedWithShape (		CoordI x, CoordI y, 		CMotionVector* pmvForward, CMotionVector* pmvBackward,		CMBMode* pmbmd, 		const CMBMode* pmbmdRef, const CMotionVector* pmvRef,		const PixelC* ppxlcRef0MBY, const PixelC* ppxlcRef1MBY,		Bool bColocatedMBExist	);	Int blkmatch16 (		CMotionVector* pmv, 		CoordI iXRef, CoordI iYRef,		CoordI iXCurr, CoordI iYCurr,		Int iMinSAD,		const PixelC* ppxlcRefMBY,		const CU8Image* puciRefQZoomY,		Int iSearchRange	);	Int blkmatch16WithShape (		CMotionVector* pmv, 		CoordI iXRef, CoordI iYRef,		CoordI iXCurr, CoordI iYCurr,		Int iMinSAD,		const PixelC* ppxlcRefMBY,		const CU8Image* puciRefQZoomY,        const CMBMode* pmbmd,		Int iSearchRange,		Int iDirection	);	Int blockmatch8 (		const PixelC* ppxlcCodedBlkY, 		CMotionVector* pmv8, 		CoordI x, CoordI y,		const CMotionVector* pmvPred,		Int iSearchRange	);	Int blockmatch8WithShape (		const PixelC* ppxlcCodedBlkY, 		const PixelC* ppxlcCodedBlkBY, 		CMotionVector* pmv8, 		CoordI x, CoordI y,		const CMotionVector* pmvPred,		Int iSearchRange,		Int iDirection	);	Int blkmatch16x8 (		CMotionVector* pmv, 		CoordI iXMB, CoordI iYMB,		Int iFeildSelect,		const PixelC* ppxlcRefMBY,		const PixelC* ppxlcRefHalfPel,		Int iSearchRange	);	// new chnages	Int blkmatch16x8WithShape (		CMotionVector* pmv, 		CoordI iXMB, CoordI iYMB,		Int iFeildSelect,		const PixelC* ppxlcRefMBY,		const PixelC* ppxlcRefHalfPel,		Int iSearchRange,		Int iDirection	);	Int sumDev () const; // compute sum of deviation of an MB	Int sumDevWithShape (UInt uiNumTranspPels) const; // compute sum of deviation of an MB	Int sad16x16At0 (const PixelC* ppxliRef0Y) const;	Int sad16x16At0WithShape (const PixelC* ppxliRefY, const CMBMode* pmbmd) const;	Int sad8x8At0 (const PixelC* ppxlcCurrY, const PixelC* ppxliRef0Y) const; // 0: predictor	Int sad8x8At0WithShape (const PixelC* ppxlcCurrY, const PixelC* ppxlcCurrBY, const PixelC* ppxlcRefY) const;	// motion compensation	Void motionCompMBYEnc (		const CMotionVector* pmv, const CMBMode* pmbmd, 		Int imbX, Int imbY,		CoordI x, CoordI y,		CRct *prctMVLimit	);	Void motionCompMBAEnc (		const CMotionVector* pmv, const CMBMode* pmbmd, 		PixelC * ppxlcPredMBA,		CVOPU8YUVBA* pvopcRefQ,		CoordI x, CoordI y,		Int iRoundingControl,		CRct *prctMVLimit,		Int direction //12.22.98	);	Void motionCompEncY (		const PixelC* ppxlcRef, const PixelC* ppxlcRefZoom,		PixelC* ppxlcPred, // can be either Y or A		Int iSize, // either MB or BLOCK size		const CMotionVector* pmv, // motion vector		CoordI x, CoordI y, // current coordinate system		CRct *prctMVLimit	);	Void motionCompOverLapEncY (		const CMotionVector* pmv, // motion vector		const CMBMode* pmbmd, // macroblk mode			Bool bLeftBndry, Bool bRightBndry, Bool bTopBndry,		CoordI x, // current coordinate system		CoordI y, // current coordinate system		CRct *prctMVLimit	);	Void motionComp8Y (PixelC* ppxlcPredBlk, const CMotionVector* pmv, CoordI x, CoordI y);	Void motionComp8A (PixelC* ppxlcPredBlk, const CMotionVector* pmv, CoordI x, CoordI y);	// B-VOP MC	Void motionCompAndDiff_BVOP_MB (		const CMotionVector* pmvForward, const CMotionVector* pmvBackward, 		 CMBMode* pmbmd,	// new change 02-19-99		CoordI x, CoordI y,		CRct *prctMVLimitForward,CRct *prctMVLimitBackward	);	Void motionCompAndDiff_BVOP_MB_WithShape (		const CMotionVector* pmvForward, const CMotionVector* pmvBackward, 		 CMBMode* pmbmd,	// new change 02-19-99		CoordI x, CoordI y,		CRct *prctMVLimitForward,CRct *prctMVLimitBackward	);	Void motionCompAndDiffAlpha_BVOP_MB (		const CMotionVector* pmvForward, const CMotionVector* pmvBackward, 		const CMBMode* pmbmd, 		CoordI x, CoordI y,		CRct *prctMVLimitForward,CRct *prctMVLimitBackward	);	Void motionCompInterpAndError (		const CMotionVector* pmvForward, const CMotionVector* pmvBackward, 		CoordI x, CoordI y,		CRct *prctMVLimitForward,CRct *prctMVLimitBackward	);	Void motionCompInterpAndError_WithShape (		const CMotionVector* pmvForward, const CMotionVector* pmvBackward, 		CoordI x, CoordI y,		CRct *prctMVLimitForward,CRct *prctMVLimitBackward	);	// error signal	Void computeTextureErrorWithShape ();	Void computeTextureError ();	Void computeAlphaError ();	// B-VOP stuff	Int interpolateAndDiffY (		const CMotionVector* pmvForward, const CMotionVector* pmvBackward, 		CoordI x, CoordI y, // the coordinate of the MB		CRct *prctMVLimitForward,CRct *prctMVLimitBackward	);	Int interpolateAndDiffY_WithShape (		const CMotionVector* pmvForward, const CMotionVector* pmvBackward, 		CoordI x, CoordI y, // the coordinate of the MB		CRct *prctMVLimitForward,CRct *prctMVLimitBackward	);	Void averagePredAndComputeErrorUV ();	Void averagePredAndComputeErrorUV_WithShape ();	// MV	UInt encodeMV (		const CMotionVector* pmv, 		const CMBMode* pmbmd,		Bool bLeftMB, Bool bRightMB, Bool bTopMB,Int iMBX, Int iMBY);	UInt encodeMVWithShape (const CMotionVector* pmv, const CMBMode* pmbmd, Int iXMB, Int iYMB);	UInt encodeMVofBVOP (const CMotionVector* pmvForward, const CMotionVector* pmvBackward, 						 const CMBMode*	pmbmd, Int iMBX, Int iMBY, const CMotionVector* pmvRef, 	                     const CMBMode* pmbmdRef);  // encode motion vectors for b-vop	UInt sendDiffMV (const CVector& vctDiffMVHalfPel, const MVInfo *pmviDir);	Void scaleMV (Int& iVLC, UInt& uiResidual, Int iDiffMVcomponent, const MVInfo *pmviDir);	// direct mode	Void computeDirectDeltaMV (CVector& vctDiff, const CMotionVector* pmv, const CMotionVector* pmvRef,        const CMBMode* pmbmdRef);	//for (progressive) B-VOP only		// Statistics routines	Void computeSNRs (const CVOPU8YUVBA* pvopcCurrQ);	Void SNRYorA (		const PixelC* ppxlcOrig, const PixelC* ppxlcRef1, // these two should point to the left-top of the rctOrig's bounding box 		Double& dSNR	);	Void SNRUV (const CVOPU8YUVBA* pvopcCurrQ);	Void SNRYorAWithShape (		const PixelC* ppxlcOrig, const PixelC* ppxlcRef1, // these two should point to the left-top of the rctOrig's bounding box 		Double& dSNR	);	Void SNRUVWithShape (const CVOPU8YUVBA* pvopcCurrQ);	// Motion Vector I/O	Int	m_iMVLineNo, m_iMVFileUsage;	FILE *m_fMVFile;	Char *m_pchMVFileName;	Void readPVOPMVs(), writePVOPMVs(), readBVOPMVs(), writeBVOPMVs();	Void decideMVInfo ();	// Complexity Estimation syntax support - Marc Mongenet (EPFL) - 16 Jun 1998	Int codedDCECS (Int,   // complexity estimation data to code before writing it into bitstream					UInt); // number of bitstream bits for this data	// error resilient tools added by Toshiba	//	Modified for error resilient mode by Toshiba(1997-11-14)//	Bool bVPNoLeft(Int iMBnum, Int iMBX);//	Bool bVPNoRightTop(Int iMBnum, Int iMBX);//	Bool bVPNoTop(Int iMBnum);//	Bool bVPNoLeftTop(Int iMBnum, Int iMBX);	//	End Toshiba(1997-11-14)	Void codeVideoPacketHeader (Int iMBX, Int iMBY, Int iQuantScale);	Int codeVideoPacketHeader (Int iQuantScale); // Added by Toshiba(1998-1-16)	Void VideoPacketResetVOP ();//UInt nBitsModuloBase, Int iVopTimeIncr);	UInt encodeMVVP (const CMotionVector* pmv, const CMBMode* pmbmd, Int iMBX, Int iMBY);	//  Added for Data partitioning mode by Toshiba(1998-1-16)	Void encodeNSForPVOP_DP ();	Void encodeNSForIVOP_DP ();	Void encodeNSForIVOP_WithShape_DP ();	Void encodeNSForPVOP_WithShape_DP ();	Void DataPartitioningMotionCoding(Int iVPMBnum, Int iVPlastMBnum, CStatistics* m_statsVP, Int*** iCoefQ_DP);	Void DataPartitioningTextureCoding(Int iVPMBnum, Int iVPlastMBnum, CStatistics* m_statsVP, Int*** iCoefQ_DP);	// Added for RVLC by Toshiba	UInt sendTCOEFIntraRVLC (const Int* rgiCoefQ, Int iStart, Int* rgiZigzag, Bool bDontSendBits);	UInt putBitsOfTCOEFIntraRVLC (UInt uiRun, Int iLevel, Bool bIsLastRun, Bool bDontSendBits);	Int findVLCtableIndexOfNonLastEventIntraRVLC (Bool bIsLastRun, UInt uiRun, UInt uiLevel);	Int findVLCtableIndexOfLastEventIntraRVLC (Bool bIsLastRun, UInt uiRun, UInt uiLevel);	UInt sendTCOEFInterRVLC (const Int* rgiCoefQ, Int iStart, Int* rgiZigzag, Bool bDontSendBits);	UInt putBitsOfTCOEFInterRVLC (UInt uiRun, Int iLevel, Bool bIsLastRun, Bool bDontSendBits);	Int findVLCtableIndexOfNonLastEventInterRVLC (Bool bIsLastRun, UInt uiRun, UInt uiLevel);	Int findVLCtableIndexOfLastEventInterRVLC (Bool bIsLastRun, UInt uiRun, UInt uiLevel);	UInt escapeEncodeRVLC (UInt uiRun, Int iLevel, Bool bIsLastRun, Bool bDontSendBits);	// End Toshiba(1998-1-16)	// begin: added by Sharp (98/2/10)	Void setPredType(VOPpredType vopPredType);	Void setRefSelectCode(Int refSelectCode);	// end: added by Sharp (98/2/10)};#endif // __VOPSEENC_HPP_

⌨️ 快捷键说明

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