Changeset 608 in 3DVCSoftware for trunk/source/Lib/TLibEncoder/TEncCu.h


Ignore:
Timestamp:
1 Sep 2013, 22:47:26 (11 years ago)
Author:
tech
Message:

Merged DEV-2.0-dev0@604.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibEncoder/TEncCu.h

    r443 r608  
    44 * granted under this license. 
    55 *
    6  * Copyright (c) 2010-2012, ITU/ISO/IEC
     6 * Copyright (c) 2010-2013, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    4949#include "TEncEntropy.h"
    5050#include "TEncSearch.h"
    51 
     51#include "TEncRateCtrl.h"
    5252//! \ingroup TLibEncoder
    5353//! \{
     
    6969  TComDataCU**            m_ppcBestCU;      ///< Best CUs in each depth
    7070  TComDataCU**            m_ppcTempCU;      ///< Temporary CUs in each depth
    71 #if QC_ARP_D0177
    72   TComDataCU**            m_ppcWeightedTempCU;   
     71#if H_3D_ARP
     72  TComDataCU**            m_ppcWeightedTempCU;
    7373#endif
    7474  UChar                   m_uhTotalDepth;
     
    8181  TComYuv**               m_ppcRecoYuvTemp; ///< Temporary Reconstruction Yuv for each depth
    8282  TComYuv**               m_ppcOrigYuv;     ///< Original Yuv for each depth
    83 #if H3D_IVRP
    84   TComYuv**               m_ppcResPredTmp;  ///< Temporary residual prediction for each depth
    85 #endif
    86 
     83 
    8784  //  Data : encoder control
    8885  Bool                    m_bEncodeDQP;
    89   Bool                    m_checkBurstIPCMFlag;
    90 
     86 
    9187  //  Access channel
    9288  TEncCfg*                m_pcEncCfg;
    93   TComPrediction*         m_pcPrediction;
    9489  TEncSearch*             m_pcPredSearch;
    9590  TComTrQuant*            m_pcTrQuant;
     
    106101  TEncSbac*               m_pcRDGoOnSbacCoder;
    107102  Bool                    m_bUseSBACRD;
    108  
    109 #if HHI_MPI
    110   UChar *m_puhDepthSaved;
    111   UChar *m_puhWidthSaved;
    112   UChar *m_puhHeightSaved;
     103  TEncRateCtrl*           m_pcRateCtrl;
     104#if RATE_CONTROL_LAMBDA_DOMAIN && !M0036_RC_IMPROVEMENT
     105  UInt                    m_LCUPredictionSAD;
     106  Int                     m_addSADDepth;
     107  Int                     m_temporalSAD;
    113108#endif
    114 
    115109public:
    116110  /// copy parameters from encoder class
     
    122116  /// destroy internal buffers
    123117  Void  destroy             ();
    124 
     118 
    125119  /// CU analysis function
    126120  Void  compressCU          ( TComDataCU*&  rpcCU );
    127121 
    128122  /// CU encoding function
    129   Void  encodeCU            ( TComDataCU*    pcCU, Bool bForceTerminate = false );
     123  Void  encodeCU            ( TComDataCU*    pcCU );
    130124 
    131125  Void setBitCounter        ( TComBitCounter* pcBitCounter ) { m_pcBitCounter = pcBitCounter; }
     126#if RATE_CONTROL_LAMBDA_DOMAIN && !M0036_RC_IMPROVEMENT
     127  UInt getLCUPredictionSAD() { return m_LCUPredictionSAD; }
     128#endif
     129#if RATE_CONTROL_INTRA
     130  Int   updateLCUDataISlice ( TComDataCU* pcCU, Int LCUIdx, Int width, Int height );
     131#endif
    132132protected:
    133133  Void  finishCU            ( TComDataCU*  pcCU, UInt uiAbsPartIdx,           UInt uiDepth        );
     
    142142  Void  xCheckBestMode      ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, UInt uiDepth        );
    143143 
    144 #if HHI_INTERVIEW_SKIP
    145   Void xCheckRDCostMerge2Nx2N( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool bFullyRendered ) ;
    146 #else
    147   Void  xCheckRDCostMerge2Nx2N( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU                  );
    148 #endif
     144  Void  xCheckRDCostMerge2Nx2N( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool *earlyDetectionSkipMode);
     145
    149146#if AMP_MRG
    150 #if HHI_INTERVIEW_SKIP
    151   Void xCheckRDCostInter( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize, Bool bFullyRendered, Bool bUseMRG = false  ) ;
     147#if  MTK_FAST_TEXTURE_ENCODING_E0173
     148  Void  xCheckRDCostInter   ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize,  Bool bFMD, Bool bUseMRG = false  ) ;
    152149#else
    153150  Void  xCheckRDCostInter   ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize, Bool bUseMRG = false  );
    154151#endif
    155 //  Void  xCheckRDCostInter   ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize, Bool bUseMRG = false  );
    156 #else
    157 #if HHI_INTERVIEW_SKIP
    158   Void xCheckRDCostInter( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize, Bool bFullyRendered ) ;
    159152#else
    160153  Void  xCheckRDCostInter   ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize  );
    161154#endif
    162 //  Void  xCheckRDCostInter   ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize  );
    163 #endif
    164155  Void  xCheckRDCostIntra   ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize  );
    165   Void  xCheckBestMode      ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU                      );
    166156  Void  xCheckDQP           ( TComDataCU*  pcCU );
    167157 
     
    173163  Bool getdQPFlag           ()                        { return m_bEncodeDQP;        }
    174164  Void setdQPFlag           ( Bool b )                { m_bEncodeDQP = b;           }
    175 
    176   Bool getCheckBurstIPCMFlag()                        { return m_checkBurstIPCMFlag;   }
    177   Void setCheckBurstIPCMFlag( Bool b )                { m_checkBurstIPCMFlag = b;      }
    178 
    179   Bool checkLastCUSucIPCM   ( TComDataCU* pcCU, UInt uiCurAbsPartIdx );
    180   Int  countNumSucIPCM      ( TComDataCU* pcCU, UInt uiCurAbsPartIdx );
    181165
    182166#if ADAPTIVE_QP_SELECTION
     
    194178#endif
    195179
    196 #if LOSSLESS_CODING
    197180  Void  xFillPCMBuffer     ( TComDataCU*& pCU, TComYuv* pOrgYuv );
    198 #endif
    199 #if HHI_MPI
    200   Void  xCheckRDCostMvInheritance( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, UChar uhTextureModeDepth, Bool bSkipResidual, Bool bRecursiveCall );
    201   Void  xSaveDepthWidthHeight( TComDataCU* pcCU );
    202   Void  xRestoreDepthWidthHeight( TComDataCU* pcCU );
    203   Void  xAddMVISignallingBits( TComDataCU* pcCU );
    204 #endif
    205181};
    206182
Note: See TracChangeset for help on using the changeset viewer.