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

📄 fgssubbandencoder.h

📁 jsvm开发代码包括抽样,编码,抽取,解码等一系列功能,可以做工具或研究用
💻 H
📖 第 1 页 / 共 2 页
字号:
                                            UInt&                       ruiCbp,
                                            B8x8Idx                     cIdx,
                                            Bool                        bFrame );


  ErrVal            xRequantizeMacroblock ( MbDataAccess&               rcMbDataAccess,
                                            MbDataAccess&               rcMbDataAccessBL );
  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*               puiPDFragBits,
                                                    UInt&               ruiNumPDFrags,
                                                    UInt                uiFracNb, 
                                                    FILE*               pFile ); //JVT-P031
  ErrVal            xEncodeNewCoefficientLuma     ( MbDataAccess        *pcMbDataAccessBL,
                                                   MbDataAccess        *pcMbDataAccessEL,
                                                   MbFGSCoefMap        &rcMbFGSCoefMap,
                                                   const S4x4Idx       &rcIdx,
                                                    Bool                bFrame  );
  ErrVal            xEncodeNewCoefficientChromaDC ( MbDataAccess       *pcMbDataAccessBL,
                                                    MbDataAccess       *pcMbDataAccessEL,
                                                    MbFGSCoefMap       &rcMbFGSCoefMap,
                                                    const CPlaneIdx    &rcCPlaneIdx,
                                                    Int&                riLastQp,
                                                    UInt                uiChromaScanIndex );
  ErrVal            xEncodeNewCoefficientChromaAC ( MbDataAccess       *pcMbDataAccessBL,
                                                    MbDataAccess       *pcMbDataAccessEL,
                                                    MbFGSCoefMap       &rcMbFGSCoefMap,
                                                    const CIdx         &rcCIdx,
                                                    Int&                riLastQp,
                                                    UInt                uiChromaScanIndex,
                                                    Bool                bFrame  );// TMM_INTERLACE
  
  ErrVal            xEncodeCoefficientLumaRef     ( MbDataAccess       *pcMbDataAccessBL,
                                                    MbDataAccess       *pcMbDataAccessEL,
                                                    MbFGSCoefMap       &rcMbFGSCoefMap,
                                                    const S4x4Idx      &rcIdx,
                                                    UInt                uiScanIndex);
  ErrVal            xEncodeCoefficientChromaDCRef ( MbDataAccess       *pcMbDataAccessBL,
                                                    MbDataAccess       *pcMbDataAccessEL,
                                                    MbFGSCoefMap       &rcMbFGSCoefMap,
                                                    const CPlaneIdx    &rcCPlaneIdx,
                                                    UInt                uiDCIdx );
  ErrVal            xEncodeCoefficientChromaACRef ( MbDataAccess       *pcMbDataAccessBL,
                                                    MbDataAccess       *pcMbDataAccessEL,
                                                    MbFGSCoefMap       &rcMbFGSCoefMap,
                                                    const CIdx         &rcCIdx,
                                                    UInt                uiScanIdx );
  ErrVal            xPrescanCoefficientLumaRef    ( UInt                uiBlockYIndex,
                                                    UInt                uiBlockXIndex,
                                                    UInt                uiScanIndex ,
                                                    Bool                bFrame  );// TMM_INTERLACE
  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 uiFragIdx,
                             UInt uiMbYIdx,
                             UInt uiMbXIdx,
                             B8x8Idx c8x8Idx,
                             S4x4Idx cIdx,
                             UInt iLastBitsLuma,
                             UInt uiBitsLast,
                             UInt uiFGSPart,
                             CPlaneIdx cCPlaneIdx,
                             Int iLastQP);

  ErrVal            xRestoreFGSState(UInt& riLumaScanIdx,
                             UInt& riChromaDCScanIdx,
                             UInt& riChromaACScanIdx,
                             UInt& riStartCycle,
                             UInt& riCycle,
                             UInt& ruiPass,
                             UInt& ruiFragIdx,
//                              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
  ErrVal            xEncodeMbHeader               ( MbDataAccess*       pcMbDataAccessBL,
                                                    MbDataAccess*       pcMbDataAccessEL,
                                                    MbFGSCoefMap        &rcMbFGSCoefMap,
                                                    Int&                riLastQp );

private:
  MbSymbolWriteIf*  m_pcSymbolWriter;
  ControlMngH264AVCEncoder* m_pcControlMng;
  MbEncoder*        m_pcMbEncoder;
  Bool              m_bChromaCbpTransition;

  Int               m_iRemainingTCoeff;
  Double            m_dLambda;
  Int               m_iMaxQpDelta;
  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_uiFragIdx;
  UInt              m_uiMbYIdx;
  UInt              m_uiMbXIdx;
  B8x8Idx           m_c8x8Idx;
  S4x4Idx           m_cIdx;
  CPlaneIdx         m_cCPlaneIdx;
  UInt               m_iLastBitsLuma;
  UInt              m_uiBitsLast;
  UInt              m_uiFGSPart;
  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;

  UInt              uiLastMbX;
  UInt              uiLastMbY;
  UInt              uiLumaCbpBitCount;
  UInt              uiLumaCbpNextMbX;
  UInt              uiLumaCbpNextMbY;
  UInt              uiLumaCbpNext8x8Idx;
  UInt              uiChromaCbpBitCount;
  UInt              uiChromaCbpNextMbX;
  UInt              uiChromaCbpNextMbY;
};



H264AVC_NAMESPACE_END


#endif // !defined(AFX_FGSSUBBANDENCODER_H__02F9A3A4_BE1C_4D88_86D9_98AF451F04CD__INCLUDED_)

⌨️ 快捷键说明

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