📄 fgssubbandencoder.h
字号:
ErrVal xSetSymbols8x8 ( TCoeff* piCoeff,
UInt uiMbX,
UInt uiMbY,
UInt& uiCoeffCost,
UInt& ruiCbp,
LumaIdx cIdx );
ErrVal xRequantizeMacroblock ( MbDataAccess& rcMbDataAccess,
MbDataAccess& rcMbDataAccessBL );
ErrVal xScaleBaseLayerCoeffs ();
ErrVal xResidualTransform ();
ErrVal xMotionEstimation ();
ErrVal xEncodeMotionData ( UInt uiMbYIdx,
UInt uiMbXIdx );
ErrVal xEncodeLumaCbpVlcStart( UInt& uiLumaNextMbX,
UInt& uiLumaNextMbY,
UInt& uiNext8x8Idx,
UInt uiLastMbX,
UInt uiLastMbY,
UInt& ruiLumaCbpBitCount);
ErrVal xEncodeLumaCbpVlc ( UInt uiCurrMbIdxX,
UInt uiCurrMbIdxY,
UInt& uiNextMbX,
UInt& uiNextMbY,
UInt& uiNext8x8Idx,
UInt uiLastMbX,
UInt uiLastMbY,
UInt& ruiCbpBitCount);
ErrVal xEncodeChromaCbpVlcStart( UInt uiCurrMbIdxX,
UInt uiCurrMbIdxY,
UInt& ruiChromaCbpBitCount);
ErrVal xEncodeChromaCbpVlc ( UInt uiCurrMbIdxX,
UInt uiCurrMbIdxY,
UInt& uiChromaCbpNextMbX,
UInt& uiChromaCbpNextMbY,
UInt uiLastMbX,
UInt uiLastMbY,
UInt& ruiChromaCbpBitCount);
ErrVal xEncodingFGS ( Bool& rbFinished,
Bool& rbCorrupted,
UInt uiMaxBits,
UInt uiFracNb,
FILE* pFile ); //JVT-P031
ErrVal xEncodeSigHeadersLuma ( UInt uiBlockYIndex,
UInt uiBlockXIndex,
Int& riLastQp );
ErrVal xEncodeNewCoefficientLuma ( UInt uiBlockYIndex,
UInt uiBlockXIndex );
ErrVal xEncodeNewCoefficientChromaDC ( UInt uiPlane,
UInt uiMbYIdx,
UInt uiMbXIdx,
Int& riLastQp,
UInt uiChromaScanIndex );
ErrVal xEncodeNewCoefficientChromaAC ( UInt uiPlane,
UInt uiB8YIdx,
UInt uiB8XIdx,
Int& riLastQp,
UInt uiChromaScanIndex );
ErrVal xEncodeCoefficientLumaRef ( UInt uiBlockYIndex,
UInt uiBlockXIndex,
UInt uiScanIndex );
ErrVal xEncodeCoefficientChromaDCRef ( UInt uiPlane,
UInt uiMbYIdx,
UInt uiMbXIdx,
UInt uiDCIdx );
ErrVal xEncodeCoefficientChromaACRef ( UInt uiPlane,
UInt uiB8YIdx,
UInt uiB8XIdx,
UInt uiScanIdx );
ErrVal xPrescanCoefficientLumaRef ( UInt uiBlockYIndex,
UInt uiBlockXIndex,
UInt uiScanIndex );
ErrVal xPrescanCoefficientChromaDCRef( UInt uiPlane,
UInt uiMbYIdx,
UInt uiMbXIdx,
UInt uiDCIdx );
ErrVal xPrescanCoefficientChromaACRef( UInt uiPlane,
UInt uiB8YIdx,
UInt uiB8XIdx,
UInt uiScanIdx );
//JVT-P031
ErrVal xStoreFGSState(UInt iLumaScanIdx,
UInt iChromaDCScanIdx,
UInt iChromaACScanIdx,
UInt iStartCycle,
UInt iCycle,
UInt uiPass,
UInt bAllowChromaDC,
UInt bAllowChromaAC,
UInt uiMbYIdx,
UInt uiMbXIdx,
UInt uiB8YIdx,
UInt uiB8XIdx,
UInt uiBlockYIdx,
UInt uiBlockXIdx,
UInt iLastBitsLuma,
UInt uiBitsLast,
UInt uiFGSPart,
UInt uiPlane,
Int iLastQP);
ErrVal xRestoreFGSState(UInt& riLumaScanIdx,
UInt& riChromaDCScanIdx,
UInt& riChromaACScanIdx,
UInt& riStartCycle,
UInt& riCycle,
UInt& ruiPass,
UInt& rbAllowChromaDC,
UInt& rbAllowChromaAC,
UInt& ruiMbYIdx,
UInt& ruiMbXIdx,
UInt& ruiB8YIdx,
UInt& ruiB8XIdx,
UInt& ruiBlockYIdx,
UInt& ruiBlockXIdx,
UInt& riLastBitsLuma,
UInt& ruiBitsLast,
UInt& ruiFGSPart,
UInt& ruiPlane,
Int& riLastQP);
ErrVal xSaveCodingPath();
ErrVal xRestoreCodingPath();
//~JVT-P031
private:
MbSymbolWriteIf* m_pcSymbolWriter;
ControlMngH264AVCEncoder* m_pcControlMng;
MbEncoder* m_pcMbEncoder;
Bool m_bChromaCbpTransition;
Int m_iRemainingTCoeff;
Double m_dLambda;
Int m_iMaxQpDelta;
SliceHeader* m_pcSliceHeader;
SliceType m_eSliceType;
UInt m_uiFirstMbInSlice;
UInt m_uiNumMbsInSlice;
IntFrame* m_pcOrgResidual;
UInt m_auiScanPosVectLuma [16];
UInt m_auiScanPosVectChromaDC[ 4];
Bool m_bTraceEnable;
//JVT-P031
UInt m_iLumaScanIdx;
UInt m_iChromaDCScanIdx;
UInt m_iChromaACScanIdx;
UInt m_iStartCycle;
UInt m_iCycle;
UInt m_uiPass;
UInt m_bAllowChromaDC;
UInt m_bAllowChromaAC;
UInt m_uiMbYIdx;
UInt m_uiMbXIdx;
UInt m_uiB8YIdx;
UInt m_uiB8XIdx;
UInt m_uiBlockYIdx;
UInt m_uiBlockXIdx;
UInt m_iLastBitsLuma;
UInt m_uiBitsLast;
UInt m_uiFGSPart;
UInt m_uiPlane;
Int m_iLastQP;
Bool m_bUseDiscardableUnit;
MbTransformCoeffs ** m_aMyELTransformCoefs;
MbTransformCoeffs ** m_aMyBLTransformCoefs;
UInt * m_auiMbCbpStored;
UInt * m_auiBCBPStored;
Int * m_aiBLQP;
Bool * m_abELtransform8x8;
UChar m_ucLastByte;//FIX_FRAG_CAVLC
UInt m_uiLastBitPos; //FIX_FRAG_CAVLC
YuvBufferCtrl** m_papcYuvHalfPelBufferCtrl;
QuarterPelFilter* m_pcQuarterPelFilter;
MotionEstimation* m_pcMotionEstimation;
MbCoder* m_pcMbCoder;
IntFrame* m_pcOrgFrame;
IntFrame* m_pcPredSignal;
RefFrameList* m_pcRefFrameList0;
RefFrameList* m_pcRefFrameList1;
IntFrame* m_pcFGSPredFrame;
RefFrameList* m_pcRefFrameListDiff;
UInt m_uiNumMaxIter;
UInt m_uiIterSearchRange;
UInt m_uiLastMbNum;
};
H264AVC_NAMESPACE_END
#endif // !defined(AFX_FGSSUBBANDENCODER_H__02F9A3A4_BE1C_4D88_86D9_98AF451F04CD__INCLUDED_)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -