?? mbencoder.h
字號:
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 + -