Changeset 1402 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibEncoder
- Timestamp:
- 4 Aug 2015, 03:59:05 (9 years ago)
- Location:
- branches/SHM-dev/source/Lib/TLibEncoder
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibEncoder/TEncCfg.h
r1401 r1402 209 209 #endif 210 210 UInt m_rdPenalty; 211 Bool m_bUseFastEnc;211 FastInterSearchMode m_fastInterSearchMode; 212 212 Bool m_bUseEarlyCU; 213 213 Bool m_useFastDecisionForMerge; … … 657 657 Void setUseSelectiveRDOQ ( Bool b ) { m_useSelectiveRDOQ = b; } 658 658 #endif 659 Void setRDpenalty ( UInt b ) { m_rdPenalty = b; }660 Void set UseFastEnc ( Bool b ) { m_bUseFastEnc = b; }659 Void setRDpenalty ( UInt u ) { m_rdPenalty = u; } 660 Void setFastInterSearchMode ( FastInterSearchMode m ) { m_fastInterSearchMode = m; } 661 661 Void setUseEarlyCU ( Bool b ) { m_bUseEarlyCU = b; } 662 662 Void setUseFastDecisionForMerge ( Bool b ) { m_useFastDecisionForMerge = b; } … … 685 685 #endif 686 686 Int getRDpenalty () { return m_rdPenalty; } 687 Bool getUseFastEnc () { return m_bUseFastEnc;}687 FastInterSearchMode getFastInterSearchMode() const{ return m_fastInterSearchMode; } 688 688 Bool getUseEarlyCU () { return m_bUseEarlyCU; } 689 689 Bool getUseFastDecisionForMerge () { return m_useFastDecisionForMerge; } -
branches/SHM-dev/source/Lib/TLibEncoder/TEncSearch.cpp
r1398 r1402 370 370 m_pcRdCost->setDistParam( pcPatternKey, piRefSrch, rcStruct.iYStride, m_cDistParam ); 371 371 372 if(m_pcEncCfg->getFastSearch() != SELECTIVE)373 {374 // fast encoder decision: use subsampled SAD when rows > 8 for integer ME375 if ( m_pcEncCfg->getUseFastEnc() )376 {377 if ( m_cDistParam.iRows > 8 )378 {379 m_cDistParam.iSubShift = 1;380 }381 }382 }383 384 372 setDistParamComp(COMPONENT_Y); 385 373 … … 448 436 else 449 437 { 438 // fast encoder decision: use subsampled SAD when rows > 8 for integer ME 439 if ( m_pcEncCfg->getFastInterSearchMode()==FASTINTERSEARCH_MODE1 || m_pcEncCfg->getFastInterSearchMode()==FASTINTERSEARCH_MODE3 ) 440 { 441 if ( m_cDistParam.iRows > 8 ) 442 { 443 m_cDistParam.iSubShift = 1; 444 } 445 } 446 450 447 uiSad = m_cDistParam.DistFunc( &m_cDistParam ); 451 448 … … 3286 3283 3287 3284 // fast encoder setting: only one iteration 3288 if ( m_pcEncCfg->get UseFastEnc() || pcCU->getSlice()->getMvdL1ZeroFlag())3285 if ( m_pcEncCfg->getFastInterSearchMode()==FASTINTERSEARCH_MODE1 || m_pcEncCfg->getFastInterSearchMode()==FASTINTERSEARCH_MODE2 || pcCU->getSlice()->getMvdL1ZeroFlag() ) 3289 3286 { 3290 3287 iNumIter = 1; … … 3295 3292 Int iRefList = iIter % 2; 3296 3293 3297 if ( m_pcEncCfg->get UseFastEnc())3294 if ( m_pcEncCfg->getFastInterSearchMode()==FASTINTERSEARCH_MODE1 || m_pcEncCfg->getFastInterSearchMode()==FASTINTERSEARCH_MODE2 ) 3298 3295 { 3299 3296 if( uiCost[0] <= uiCost[1] ) … … 4040 4037 4041 4038 // fast encoder decision: use subsampled SAD for integer ME 4042 if ( m_pcEncCfg->get UseFastEnc())4039 if ( m_pcEncCfg->getFastInterSearchMode()==FASTINTERSEARCH_MODE1 || m_pcEncCfg->getFastInterSearchMode()==FASTINTERSEARCH_MODE3 ) 4043 4040 { 4044 4041 if ( m_cDistParam.iRows > 8 )
Note: See TracChangeset for help on using the changeset viewer.