Changeset 1401 in SHVCSoftware for branches/SHM-dev


Ignore:
Timestamp:
4 Aug 2015, 03:54:15 (9 years ago)
Author:
seregin
Message:

port rev 4554

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

Legend:

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

    r1400 r1401  
    12851285  ("SearchRange,-sr",                                 m_iSearchRange,                                      96, "Motion search range")
    12861286  ("BipredSearchRange",                               m_bipredSearchRange,                                  4, "Motion search range for bipred refinement")
     1287  ("MinSearchWindow",                                 m_minSearchWindow,                                    8, "Minimum motion search window size for the adaptive window ME")
    12871288  ("ClipForBiPredMEEnabled",                          m_bClipForBiPredMeEnabled,                        false, "Enables clipping in the Bi-Pred ME. It is disabled to reduce encoder run-time")
    12881289  ("FastMEAssumingSmootherMVEnabled",                 m_bFastMEAssumingSmootherMVEnabled,                true, "Enables fast ME assuming a smoother MV.")
     
    32123213  xConfirmPara( m_iFastSearch < 0 || m_iFastSearch > 2,                                     "Fast Search Mode is not supported value (0:Full search  1:Diamond  2:PMVFAST)" );
    32133214  xConfirmPara( m_iSearchRange < 0 ,                                                        "Search Range must be more than 0" );
    3214   xConfirmPara( m_bipredSearchRange < 0 ,                                                   "Search Range must be more than 0" );
     3215  xConfirmPara( m_bipredSearchRange < 0 ,                                                   "Bi-prediction refinement search range must be more than 0" );
     3216  xConfirmPara( m_minSearchWindow < 0,                                                      "Minimum motion search window size for the adaptive window ME must be greater than or equal to 0" );
    32153217  xConfirmPara( m_iMaxDeltaQP > 7,                                                          "Absolute Delta QP exceeds supported range (0 to 7)" );
    32163218#if !SVC_EXTENSION 
     
    44934495  printf("IBD:%d ", ((m_internalBitDepth[CHANNEL_TYPE_LUMA] > m_MSBExtendedBitDepth[CHANNEL_TYPE_LUMA]) || (m_internalBitDepth[CHANNEL_TYPE_CHROMA] > m_MSBExtendedBitDepth[CHANNEL_TYPE_CHROMA])));
    44944496#endif
    4495   printf("HAD:%d ", m_bUseHADME           );
    4496   printf("RDQ:%d ", m_useRDOQ            );
    4497   printf("RDQTS:%d ", m_useRDOQTS        );
    4498   printf("RDpenalty:%d ", m_rdPenalty  );
    4499   printf("SQP:%d ", m_uiDeltaQpRD         );
    4500   printf("ASR:%d ", m_bUseASR             );
    4501   printf("FEN:%d ", m_bUseFastEnc         );
    4502   printf("ECU:%d ", m_bUseEarlyCU         );
    4503   printf("FDM:%d ", m_useFastDecisionForMerge );
    4504   printf("CFM:%d ", m_bUseCbfFastMode         );
    4505   printf("ESD:%d ", m_useEarlySkipDetection  );
     4497  printf("HAD:%d ", m_bUseHADME                          );
     4498  printf("RDQ:%d ", m_useRDOQ                            );
     4499  printf("RDQTS:%d ", m_useRDOQTS                        );
     4500  printf("RDpenalty:%d ", m_rdPenalty                    );
     4501  printf("SQP:%d ", m_uiDeltaQpRD                        );
     4502  printf("ASR:%d ", m_bUseASR                            );
     4503  printf("MinSearchWindow:%d ", m_minSearchWindow        );
     4504  printf("FEN:%d ", m_bUseFastEnc                        );
     4505  printf("ECU:%d ", m_bUseEarlyCU                        );
     4506  printf("FDM:%d ", m_useFastDecisionForMerge            );
     4507  printf("CFM:%d ", m_bUseCbfFastMode                    );
     4508  printf("ESD:%d ", m_useEarlySkipDetection              );
    45064509#if FAST_INTRA_SHVC
    45074510  printf("FIS:%d ", m_useFastIntraScalable  );
    45084511#endif
    4509   printf("RQT:%d ", 1     );
    4510   printf("TransformSkip:%d ",     m_useTransformSkip              );
    4511   printf("TransformSkipFast:%d ", m_useTransformSkipFast       );
     4512  printf("RQT:%d ", 1                                    );
     4513  printf("TransformSkip:%d ",     m_useTransformSkip     );
     4514  printf("TransformSkipFast:%d ", m_useTransformSkipFast );
    45124515  printf("TransformSkipLog2MaxSize:%d ", m_log2MaxTransformSkipBlockSize);
    45134516  printf("Slice: M=%d ", m_sliceMode);
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h

    r1400 r1401  
    289289  Int       m_iSearchRange;                                   ///< ME search range
    290290  Int       m_bipredSearchRange;                              ///< ME search range for bipred refinement
     291  Int       m_minSearchWindow;                                ///< ME minimum search window size for the Adaptive Window ME
    291292  Bool      m_bClipForBiPredMeEnabled;                        ///< Enables clipping for Bi-Pred ME.
    292293  Bool      m_bFastMEAssumingSmootherMVEnabled;               ///< Enables fast ME assuming a smoother MV.
     
    294295  Bool      m_bUseEarlyCU;                                    ///< flag for using Early CU setting
    295296  Bool      m_useFastDecisionForMerge;                        ///< flag for using Fast Decision Merge RD-Cost
    296   Bool      m_bUseCbfFastMode;                              ///< flag for using Cbf Fast PU Mode Decision
    297   Bool      m_useEarlySkipDetection;                         ///< flag for using Early SKIP Detection
    298   Int       m_sliceMode;                                     ///< 0: no slice limits, 1 : max number of CTBs per slice, 2: max number of bytes per slice,
    299                                                              ///< 3: max number of tiles per slice
    300   Int       m_sliceArgument;                                 ///< argument according to selected slice mode
    301   Int       m_sliceSegmentMode;                              ///< 0: no slice segment limits, 1 : max number of CTBs per slice segment, 2: max number of bytes per slice segment,
    302                                                              ///< 3: max number of tiles per slice segment
    303   Int       m_sliceSegmentArgument;                          ///< argument according to selected slice segment mode
     297  Bool      m_bUseCbfFastMode;                                ///< flag for using Cbf Fast PU Mode Decision
     298  Bool      m_useEarlySkipDetection;                          ///< flag for using Early SKIP Detection
     299  Int       m_sliceMode;                                      ///< 0: no slice limits, 1 : max number of CTBs per slice, 2: max number of bytes per slice,
     300                                                              ///< 3: max number of tiles per slice
     301  Int       m_sliceArgument;                                  ///< argument according to selected slice mode
     302  Int       m_sliceSegmentMode;                               ///< 0: no slice segment limits, 1 : max number of CTBs per slice segment, 2: max number of bytes per slice segment,
     303                                                              ///< 3: max number of tiles per slice segment
     304  Int       m_sliceSegmentArgument;                           ///< argument according to selected slice segment mode
    304305
    305306  Bool      m_bLFCrossSliceBoundaryFlag;  ///< 1: filter across slice boundaries 0: do not filter across slice boundaries
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r1400 r1401  
    567567  m_cTEncTop.setClipForBiPredMeEnabled                            ( m_bClipForBiPredMeEnabled );
    568568  m_cTEncTop.setFastMEAssumingSmootherMVEnabled                   ( m_bFastMEAssumingSmootherMVEnabled );
     569  m_cTEncTop.setMinSearchWindow                                   ( m_minSearchWindow );
    569570
    570571  //====== Quality control ========
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCfg.h

    r1400 r1401  
    180180  Bool      m_bClipForBiPredMeEnabled;
    181181  Bool      m_bFastMEAssumingSmootherMVEnabled;
     182  Int       m_minSearchWindow;
    182183
    183184  //====== Quality control ========
     
    566567  Void      setClipForBiPredMeEnabled       ( Bool  b )      { m_bClipForBiPredMeEnabled = b; }
    567568  Void      setFastMEAssumingSmootherMVEnabled ( Bool b )    { m_bFastMEAssumingSmootherMVEnabled = b; }
     569  Void      setMinSearchWindow              ( Int   i )      { m_minSearchWindow = i; }
    568570
    569571  //====== Quality control ========
     
    633635
    634636  //==== Motion search ========
    635   Bool      getDisableIntraPUsInInterSlices () const { return m_bDisableIntraPUsInInterSlices; }
    636   Int       getFastSearch                   () const { return m_iFastSearch; }
    637   Int       getSearchRange                  () const { return m_iSearchRange; }
    638   Bool      getClipForBiPredMeEnabled       () const { return m_bClipForBiPredMeEnabled; }
    639   Bool      getFastMEAssumingSmootherMVEnabled ( ) const { return m_bFastMEAssumingSmootherMVEnabled; }
     637  Bool      getDisableIntraPUsInInterSlices    () const { return m_bDisableIntraPUsInInterSlices; }
     638  Int       getFastSearch                      () const { return m_iFastSearch; }
     639  Int       getSearchRange                     () const { return m_iSearchRange; }
     640  Bool      getClipForBiPredMeEnabled          () const { return m_bClipForBiPredMeEnabled; }
     641  Bool      getFastMEAssumingSmootherMVEnabled () const { return m_bFastMEAssumingSmootherMVEnabled; }
     642  Int       getMinSearchWindow                 () const { return m_minSearchWindow; }
    640643
    641644  //==== Quality control ========
     
    654657  Void      setUseSelectiveRDOQ             ( Bool b )      { m_useSelectiveRDOQ = b; }
    655658#endif
    656   Void      setRDpenalty                 ( UInt  b )     { m_rdPenalty  = b; }
     659  Void      setRDpenalty                    ( UInt  b )     { m_rdPenalty  = b; }
    657660  Void      setUseFastEnc                   ( Bool  b )     { m_bUseFastEnc = b; }
    658661  Void      setUseEarlyCU                   ( Bool  b )     { m_bUseEarlyCU = b; }
    659662  Void      setUseFastDecisionForMerge      ( Bool  b )     { m_useFastDecisionForMerge = b; }
    660   Void      setUseCbfFastMode            ( Bool  b )     { m_bUseCbfFastMode = b; }
     663  Void      setUseCbfFastMode               ( Bool  b )     { m_bUseCbfFastMode = b; }
    661664  Void      setUseEarlySkipDetection        ( Bool  b )     { m_useEarlySkipDetection = b; }
    662665  Void      setUseConstrainedIntraPred      ( Bool  b )     { m_bUseConstrainedIntraPred = b; }
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncSlice.cpp

    r1400 r1401  
    216216
    217217// For SAO
    218   slice   ->setLambdas( dLambdas );
     218  slice->setLambdas( dLambdas );
    219219}
    220220
     
    617617    {
    618618      iRefPOC = pcSlice->getRefPic(e, iRefIdx)->getPOC();
    619       Int iNewSR = Clip3(8, iMaxSR, (iMaxSR*ADAPT_SR_SCALE*abs(iCurrPOC - iRefPOC)+iOffset)/iGOPSize);
    620       m_pcPredSearch->setAdaptiveSearchRange(iDir, iRefIdx, iNewSR);
     619      Int newSearchRange = Clip3(m_pcCfg->getMinSearchWindow(), iMaxSR, (iMaxSR*ADAPT_SR_SCALE*abs(iCurrPOC - iRefPOC)+iOffset)/iGOPSize);
     620      m_pcPredSearch->setAdaptiveSearchRange(iDir, iRefIdx, newSearchRange);
    621621    }
    622622  }
Note: See TracChangeset for help on using the changeset viewer.