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

📄 mbencoder.h

📁 JMVM MPEG MVC/3DAV 测试平台 国际通用标准
💻 H
📖 第 1 页 / 共 3 页
字号:
                                Double          dLambda,
                                Int             iMaxQpDelta );

//TMM_WP
  ErrVal getPredWeights( SliceHeader& rcSH, ListIdx eLstIdx, 
                         Double(*pafWeight)[3], IntFrame* pOrgFrame,
                         RefFrameList& rcRefFrameListX);


  ErrVal getPredOffsets( SliceHeader& rcSH, ListIdx eLstIdx, 
                         Double(*pafOffsets)[3], IntFrame* pOrgFrame,
                         RefFrameList& rcRefFrameListX);

//TMM_WP

#if JMVM_ONLY
  FILE*  getMotionFile( SliceHeader&  rcSliceHeader, Int ViewId, Int iListIdx );
  ErrVal getNeighborMbMotionInfo( MbDataAccess&   rcMbDataAccess, 
								  GDV* disparityL0, GDV* disparityL1, 
								  MBMotion& FMb );
#endif //JMVM_ONLY

  //JVT-R057 LA-RDO{
  Void setLARDOEnable( Bool bLARDO)  { m_bLARDOEnable= bLARDO; }
 
  Void setLayerID (UInt uiLayer)     { m_uiLayerID=uiLayer;}
 
  Void setPLR( UInt auiPLR[5])       { for(UInt i=0;i<5;i++) m_auiPLR[i] = auiPLR[i];}

  Void setRatio( Double adRatio[5][2])
  { 
	  for(UInt i=0;i<5;i++)
		  for(UInt j=0;j<2;j++)
			  m_aadRatio[i][j] = adRatio[i][j];
  }
 Void setMBSSD      ( UInt uiSSD)      { m_uiMBSSD=uiSSD; }
 
  Bool getLARDOEnable(){ return m_bLARDOEnable;}
 
 Void setFrameEcEp  ( IntFrame* p1)    { m_pcFrameEcEp=p1; }

  Int  GetEC_REC            ( IntYuvPicBuffer* pPic1,
                              IntYuvPicBuffer* pPic2,
                              Int              blockX, 
                              Int              blockY);

  Void  getChannelDistortion( MbDataAccess&    rcMbDataAccess,
	  IntFrame&       rcRefFrame,
	                            Int              *distortion,
	                            Int              iMvX,
	                            Int              iMvY,
	                            Int              startX,
	                            Int              startY,
	                            Int              blockX,
	                            Int              blockY,
	                            Bool             bSpatial=false);
  
  Int getEpRef() { return m_iEpRef; }

  Void setEpRef(Int iRef)   { m_iEpRef=iRef; }
  
  Void  getDistortion       (Int              iDList0, 
                             Int              iDList1,
                             SampleWeighting* pcSampleWeighting,
                             MbDataAccess&    rcMbDataAccess);
  //JVT-R057 LA-RDO}

  //S051{
  Void		setUseBDir	( Bool bUse){ m_bUseBDir = bUse;}
  //S051}
//JVT-W080
	Void  setPdsEnable              ( UInt uiValue )   { m_uiPdsEnable                 = uiValue; }
	Void  setConstrainedMBNum       ( UInt uiValue )   { m_uiConstrainedMBNum          = uiValue; }
	Void  setFrameWidthInMbs        ( UInt uiValue )   { m_uiFrameWidthInMbs           = uiValue; }
	Void  setPdsBlockSize           ( UInt uiValue )   { m_uiPdsBlockSize              = uiValue; }
	Void  setCurrMBX                ( UInt uiValue )   { m_uiCurrMBX                   = uiValue; }
  Void  setCurrMBY                ( UInt uiValue )   { m_uiCurrMBY                   = uiValue; }
	Void  setPdsInitialDelayMinus2L0( UInt* uiValue )  { m_puiPdsInitialDelayMinus2L0  = uiValue; }
	Void  setPdsInitialDelayMinus2L1( UInt* uiValue )  { m_puiPdsInitialDelayMinus2L1  = uiValue; }
	UInt  getPdsEnable         ()         const { return m_uiPdsEnable;            }
	UInt  getFrameWidthInMbs   ()         const { return m_uiFrameWidthInMbs;      }
	UInt  getConstrainedMBNum  ()         const { return m_uiConstrainedMBNum;     }
	UInt  getPdsBlockSize      ()         const { return m_uiPdsBlockSize;         }
	UInt  getCurrMBX           ()         const { return m_uiCurrMBX;              }
	UInt  getCurrMBY           ()         const { return m_uiCurrMBY;              }
	UInt* getPdsInitialDelayMinus2L0 ()   const { return m_puiPdsInitialDelayMinus2L0; }
	UInt* getPdsInitialDelayMinus2L1 ()   const { return m_puiPdsInitialDelayMinus2L1; }
	//JVT-W080 BUG_FIX
  Bool  SkipPDISearch    ( const RefFrameList& rcRefFrameList, Int iRefIdx, IntMbTempData*& rpcMbTempData, Int x, Int y, UInt dir );
  Void  setPDIParameters( const RefFrameList& rcRefFrameList, Int iRefIdx, IntMbTempData*& rpcMbTempData, UInt dir );
	ErrVal xCheckSkipSearch( const RefFrameList& rcRefFrameList,
		                       Int                 iRefIdx, 
													 IntMbTempData*&     rpcMbTempData, 
													 Int x, Int y, UInt dir ); 
	//~JVT-W080 BUG_FIX

//~JVT-W080

protected:

  ErrVal  xScale4x4Block        ( TCoeff*            piCoeff,
                                  const UChar*       pucScale,
                                  UInt               uiStart,
                                  const QpParameter& rcQP );
 
  ErrVal  xScale8x8Block        ( TCoeff*            piCoeff,
                                  const UChar*       pucScale,
                                  const QpParameter& rcQP );
  ErrVal  xScaleTCoeffs         ( MbDataAccess&      rcMbDataAccess,
                                  MbTransformCoeffs& rcTCoeffs );

  ErrVal  xSetRdCostIntraMb     ( IntMbTempData&    rcMbTempData,
                                  UInt              uiCoeffBits,
                                  Bool              bBSlice,
                                  Bool              bBLSkip );
  
  ErrVal  xSetRdCostInterMb     ( IntMbTempData&    rcMbTempData,
                                  MbDataAccess*     pcMbDataAccessBase,
                                  RefFrameList&     rcRefFrameList0,
                                  RefFrameList&     rcRefFrameList1,
                                  Bool              bBLSkip          = false,
                                  UInt              uiAdditionalBits = 0,
                                  Bool              bSkipMCPrediction = false );
#if JMVM_ONLY  // JVT-W081
  ErrVal  xSetRdCostInterMbMotionSkip ( IntMbTempData&    rcMbTempData,                             
	                                    MbDataAccess*     pcMbDataAccessBase,
										RefFrameList&     rcRefFrameList0,
										RefFrameList&     rcRefFrameList1,
										Bool              bBLSkip          = false,
										UInt              uiAdditionalBits = 0,
										Bool              bSkipMCPrediction = false );
#endif  // JVT-W081

	//-- JVT-R012
  ErrVal  xSetRdCostInterMbSR   ( IntMbTempData&    rcMbTempData,
                                  MbDataAccess*     pcMbDataAccessBase,
                                  RefFrameList&     rcRefFrameList0,
                                  RefFrameList&     rcRefFrameList1,
																	IntFrame*					pcBaseLayerSbb,
                                  Bool              bBLSkip          = false,
                                  UInt              uiAdditionalBits = 0 );
	//--
  ErrVal  xSetRdCost8x8InterMb  ( IntMbTempData&    rcMbTempData,
                                  MbDataAccess*     pcMbDataAccessBaseMotion,
                                  RefFrameList&     rcRefFrameList0,
                                  RefFrameList&     rcRefFrameList1,
                                  Bool              bBLSkip          = false,
                                  UInt              uiAdditionalBits = 0,
                                  Bool              bSkipMCPrediction = false );
#if JMVM_ONLY  // JVT-W081
  ErrVal  xSetRdCost8x8InterMbMotionSkip ( IntMbTempData&    rcMbTempData,
	                                       MbDataAccess*     pcMbDataAccessBaseMotion,
										   RefFrameList&     rcRefFrameList0,
										   RefFrameList&     rcRefFrameList1,
										   Bool              bBLSkip          = false,
										   UInt              uiAdditionalBits = 0,
										   Bool              bSkipMCPrediction = false );
#endif  // JVT-W081

	//-- JVT-R012
  ErrVal  xSetRdCost8x8InterMbSR( IntMbTempData&    rcMbTempData,
                                  MbDataAccess*     pcMbDataAccessBaseMotion,
                                  RefFrameList&     rcRefFrameList0,
                                  RefFrameList&     rcRefFrameList1,
																	IntFrame*					pcBaseLayerSbb,
                                  Bool              bBLSkip          = false,
                                  UInt              uiAdditionalBits = 0 );
	//--
  ErrVal  xSetRdCostInterSubMb  ( IntMbTempData&    rcMbTempData,
                                  RefFrameList&     rcRefFrameList0,
                                  RefFrameList&     rcRefFrameList1,
                                  B8x8Idx           c8x8Idx,
                                  Bool              bTrafo8x8,
                                  UInt              uiAddBits );

  ErrVal  xEncodeChromaIntra        ( IntMbTempData& rcMbTempData, UInt& ruiExtCbp, UInt& ruiBits );

  ErrVal  xEncode4x4IntraBlock      ( IntMbTempData& rcMbTempData, LumaIdx cIdx,     UInt& ruiBits, UInt& ruiExtCbp );
  ErrVal  xEncode4x4InterBlock      ( IntMbTempData& rcMbTempData, LumaIdx cIdx,     UInt& ruiBits, UInt& ruiExtCbp );
  ErrVal  xEncode8x8InterBlock      ( IntMbTempData& rcMbTempData, B8x8Idx c8x8Idx,  UInt& ruiBits, UInt& ruiExtCbp );
  ErrVal  xEncode8x8IntraBlock      ( IntMbTempData& rcMbTempData, B8x8Idx cIdx,     UInt& ruiBits, UInt& ruiExtCbp );
  ErrVal  xEncodeChromaTexture      ( IntMbTempData& rcMbTempData, UInt& ruiExtCbp, UInt& ruiBits );

  Void    xReStoreParameter     ( MbDataAccess&     rcMbDataAccess, IntMbTempData& rcMbBestData );
  Void    xUpDateBest           ( IntMbTempData&    rcMbTempData );

  ErrVal  xCheckInterMbMode8x8  ( IntMbTempData*&   rpcMbTempData,
                                  IntMbTempData*&   rpcMbBestData,
                                  IntMbTempData*    pcMbRefData,
                                  RefFrameList&     rcRefFrameList0,
                                  RefFrameList&     rcRefFrameList1,
                                  MbDataAccess*     pcMbDataAccessBaseMotion );
#if JMVM_ONLY  // JVT-W081 
  ErrVal  xCheckInterMbMode8x8MotionSkip ( IntMbTempData*&   rpcMbTempData,
	                                       IntMbTempData*&   rpcMbBestData,
										   IntMbTempData*    pcMbRefData,
										   RefFrameList&     rcRefFrameList0,
										   RefFrameList&     rcRefFrameList1,
										   MbDataAccess*     pcMbDataAccessBaseMotion );
#endif  // JVT-W081
	//-- JVT-R012
  ErrVal  xCheckInterMbMode8x8SR( IntMbTempData*&   rpcMbTempData,
                                  IntMbTempData*&   rpcMbBestData,
                                  IntMbTempData*    pcMbRefData,
                                  RefFrameList&     rcRefFrameList0,
                                  RefFrameList&     rcRefFrameList1,
																	IntFrame*					pcBaseLayerSbb,
                                  MbDataAccess*     pcMbDataAccessBaseMotion );
	//--

  ErrVal  xEstimateMbIntraBL    ( IntMbTempData*&   rpcMbTempData,
                                  IntMbTempData*&   rpcMbBestData,
                                  const IntFrame*   pcBaseLayerRec,
                                  Bool              bBSlice,
                                  MbDataAccess*     pcMbDataAccessBase );
  ErrVal  xEstimateMbIntraBL8x8 ( IntMbTempData*&   rpcMbTempData,
                                  IntMbTempData*&   rpcMbBestData,
                                  const IntFrame*   pcBaseLayerRec,
                                  Bool              bBSlice,
                                  Bool              bBLSkip );
  ErrVal  xEstimateMbIntra16    ( IntMbTempData*&   rpcMbTempData,
                                  IntMbTempData*&   rpcMbBestData,
                                  Bool              bBSlice  );
  ErrVal  xEstimateMbIntra8     ( IntMbTempData*&   rpcMbTempData,
                                  IntMbTempData*&   rpcMbBestData,
                                  Bool              bBSlice  );
  ErrVal  xEstimateMbIntra4     ( IntMbTempData*&   rpcMbTempData,
                                  IntMbTempData*&   rpcMbBestData,
                                  Bool              bBSlice  );
  ErrVal  xEstimateMbPCM        ( IntMbTempData*&   rpcMbTempData,
                                  IntMbTempData*&   rpcMbBestData,
                                  Bool              bBSlice  );
  
  ErrVal  xEstimateMbSkip       ( IntMbTempData*&   rpcMbTempData,

⌨️ 快捷键说明

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