Changeset 1311 in SHVCSoftware


Ignore:
Timestamp:
21 Jul 2015, 01:30:10 (9 years ago)
Author:
seregin
Message:

port rev 4385

Location:
branches/SHM-dev/source
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp

    r1301 r1311  
    12781278
    12791279  // motion search options
     1280  ("DisableIntraInInter",                             m_bDisableIntraPUsInInterSlices,                  false, "Flag to disable intra PUs in inter slices")
    12801281  ("FastSearch",                                      m_iFastSearch,                                        1, "0:Full search  1:Diamond  2:PMVFAST")
    12811282  ("SearchRange,-sr",                                 m_iSearchRange,                                      96, "Motion search range")
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h

    r1298 r1311  
    272272#endif
    273273  Int       m_rdPenalty;                                      ///< RD-penalty for 32x32 TU for intra in non-intra slices (0: no RD-penalty, 1: RD-penalty, 2: maximum RD-penalty)
     274  Bool      m_bDisableIntraPUsInInterSlices;                  ///< Flag for disabling intra predicted PUs in inter slices.
    274275  Int       m_iFastSearch;                                    ///< ME mode, 0 = full, 1 = diamond, 2 = PMVFAST
    275276  Int       m_iSearchRange;                                   ///< ME search range
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r1306 r1311  
    406406
    407407    //====== Motion search ========
     408    m_acTEncTop[layer].setDisableIntraPUsInInterSlices                     ( m_bDisableIntraPUsInInterSlices );
    408409    m_acTEncTop[layer].setFastSearch                                       ( m_iFastSearch  );
    409410    m_acTEncTop[layer].setSearchRange                                      ( m_iSearchRange );
     
    842843
    843844  //====== Motion search ========
     845  m_cTEncTop.setDisableIntraPUsInInterSlices                      ( m_bDisableIntraPUsInInterSlices );
    844846  m_cTEncTop.setFastSearch                                        ( m_iFastSearch  );
    845847  m_cTEncTop.setSearchRange                                       ( m_iSearchRange );
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCfg.h

    r1298 r1311  
    169169
    170170  //====== Motion search ========
     171  Bool      m_bDisableIntraPUsInInterSlices;
    171172  Int       m_iFastSearch;                      //  0:Full search  1:Diamond  2:PMVFAST
    172173  Int       m_iSearchRange;                     //  0:Full frame
     
    541542
    542543  //====== Motion search ========
     544  Void      setDisableIntraPUsInInterSlices ( Bool  b )      { m_bDisableIntraPUsInInterSlices = b; }
    543545  Void      setFastSearch                   ( Int   i )      { m_iFastSearch = i; }
    544546  Void      setSearchRange                  ( Int   i )      { m_iSearchRange = i; }
     
    606608
    607609  //==== Motion search ========
     610  Bool      getDisableIntraPUsInInterSlices () const { return m_bDisableIntraPUsInInterSlices; }
    608611  Int       getFastSearch                   ()      { return  m_iFastSearch; }
    609612  Int       getSearchRange                  ()      { return  m_iSearchRange; }
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCu.cpp

    r1307 r1311  
    710710        Double intraCost = 0.0;
    711711
    712         if((rpcBestCU->getSlice()->getSliceType() == I_SLICE)                                     ||
     712        if((rpcBestCU->getSlice()->getSliceType() == I_SLICE)                                        ||
    713713#if ENCODER_FAST_MODE
    714           rpcBestCU->getPredictionMode(0) == NUMBER_OF_PREDICTION_MODES                           ||  // if there is no valid inter prediction
    715           !testInter                                                                              ||
    716 #endif
    717            (rpcBestCU->getCbf( 0, COMPONENT_Y  ) != 0)                                            ||
    718           ((rpcBestCU->getCbf( 0, COMPONENT_Cb ) != 0) && (numberValidComponents > COMPONENT_Cb)) ||
    719           ((rpcBestCU->getCbf( 0, COMPONENT_Cr ) != 0) && (numberValidComponents > COMPONENT_Cr))  ) // avoid very complex intra if it is unlikely
     714               rpcBestCU->getPredictionMode(0) == NUMBER_OF_PREDICTION_MODES                           ||  // if there is no valid inter prediction
     715              !testInter                                                                              ||
     716#endif
     717            ((!m_pcEncCfg->getDisableIntraPUsInInterSlices()) && (
     718              (rpcBestCU->getCbf( 0, COMPONENT_Y  ) != 0)                                            ||
     719             ((rpcBestCU->getCbf( 0, COMPONENT_Cb ) != 0) && (numberValidComponents > COMPONENT_Cb)) ||
     720             ((rpcBestCU->getCbf( 0, COMPONENT_Cr ) != 0) && (numberValidComponents > COMPONENT_Cr))  // avoid very complex intra if it is unlikely
     721            )))
    720722        {
    721723          xCheckRDCostIntra( rpcBestCU, rpcTempCU, intraCost, SIZE_2Nx2N DEBUG_STRING_PASS_INTO(sDebug) );
Note: See TracChangeset for help on using the changeset viewer.