Changeset 1401 in SHVCSoftware for branches/SHM-dev
- Timestamp:
- 4 Aug 2015, 03:54:15 (9 years ago)
- Location:
- branches/SHM-dev/source
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r1400 r1401 1285 1285 ("SearchRange,-sr", m_iSearchRange, 96, "Motion search range") 1286 1286 ("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") 1287 1288 ("ClipForBiPredMEEnabled", m_bClipForBiPredMeEnabled, false, "Enables clipping in the Bi-Pred ME. It is disabled to reduce encoder run-time") 1288 1289 ("FastMEAssumingSmootherMVEnabled", m_bFastMEAssumingSmootherMVEnabled, true, "Enables fast ME assuming a smoother MV.") … … 3212 3213 xConfirmPara( m_iFastSearch < 0 || m_iFastSearch > 2, "Fast Search Mode is not supported value (0:Full search 1:Diamond 2:PMVFAST)" ); 3213 3214 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" ); 3215 3217 xConfirmPara( m_iMaxDeltaQP > 7, "Absolute Delta QP exceeds supported range (0 to 7)" ); 3216 3218 #if !SVC_EXTENSION … … 4493 4495 printf("IBD:%d ", ((m_internalBitDepth[CHANNEL_TYPE_LUMA] > m_MSBExtendedBitDepth[CHANNEL_TYPE_LUMA]) || (m_internalBitDepth[CHANNEL_TYPE_CHROMA] > m_MSBExtendedBitDepth[CHANNEL_TYPE_CHROMA]))); 4494 4496 #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 ); 4506 4509 #if FAST_INTRA_SHVC 4507 4510 printf("FIS:%d ", m_useFastIntraScalable ); 4508 4511 #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 ); 4512 4515 printf("TransformSkipLog2MaxSize:%d ", m_log2MaxTransformSkipBlockSize); 4513 4516 printf("Slice: M=%d ", m_sliceMode); -
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h
r1400 r1401 289 289 Int m_iSearchRange; ///< ME search range 290 290 Int m_bipredSearchRange; ///< ME search range for bipred refinement 291 Int m_minSearchWindow; ///< ME minimum search window size for the Adaptive Window ME 291 292 Bool m_bClipForBiPredMeEnabled; ///< Enables clipping for Bi-Pred ME. 292 293 Bool m_bFastMEAssumingSmootherMVEnabled; ///< Enables fast ME assuming a smoother MV. … … 294 295 Bool m_bUseEarlyCU; ///< flag for using Early CU setting 295 296 Bool m_useFastDecisionForMerge; ///< flag for using Fast Decision Merge RD-Cost 296 Bool m_bUseCbfFastMode; ///< flag for using Cbf Fast PU Mode Decision297 Bool m_useEarlySkipDetection; ///< flag for using Early SKIP Detection298 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 slice300 Int m_sliceArgument; ///< argument according to selected slice mode301 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 segment303 Int m_sliceSegmentArgument; ///< argument according to selected slice segment mode297 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 304 305 305 306 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 567 567 m_cTEncTop.setClipForBiPredMeEnabled ( m_bClipForBiPredMeEnabled ); 568 568 m_cTEncTop.setFastMEAssumingSmootherMVEnabled ( m_bFastMEAssumingSmootherMVEnabled ); 569 m_cTEncTop.setMinSearchWindow ( m_minSearchWindow ); 569 570 570 571 //====== Quality control ======== -
branches/SHM-dev/source/Lib/TLibEncoder/TEncCfg.h
r1400 r1401 180 180 Bool m_bClipForBiPredMeEnabled; 181 181 Bool m_bFastMEAssumingSmootherMVEnabled; 182 Int m_minSearchWindow; 182 183 183 184 //====== Quality control ======== … … 566 567 Void setClipForBiPredMeEnabled ( Bool b ) { m_bClipForBiPredMeEnabled = b; } 567 568 Void setFastMEAssumingSmootherMVEnabled ( Bool b ) { m_bFastMEAssumingSmootherMVEnabled = b; } 569 Void setMinSearchWindow ( Int i ) { m_minSearchWindow = i; } 568 570 569 571 //====== Quality control ======== … … 633 635 634 636 //==== 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; } 640 643 641 644 //==== Quality control ======== … … 654 657 Void setUseSelectiveRDOQ ( Bool b ) { m_useSelectiveRDOQ = b; } 655 658 #endif 656 Void setRDpenalty ( UInt b ) { m_rdPenalty = b; }659 Void setRDpenalty ( UInt b ) { m_rdPenalty = b; } 657 660 Void setUseFastEnc ( Bool b ) { m_bUseFastEnc = b; } 658 661 Void setUseEarlyCU ( Bool b ) { m_bUseEarlyCU = b; } 659 662 Void setUseFastDecisionForMerge ( Bool b ) { m_useFastDecisionForMerge = b; } 660 Void setUseCbfFastMode ( Bool b ) { m_bUseCbfFastMode = b; }663 Void setUseCbfFastMode ( Bool b ) { m_bUseCbfFastMode = b; } 661 664 Void setUseEarlySkipDetection ( Bool b ) { m_useEarlySkipDetection = b; } 662 665 Void setUseConstrainedIntraPred ( Bool b ) { m_bUseConstrainedIntraPred = b; } -
branches/SHM-dev/source/Lib/TLibEncoder/TEncSlice.cpp
r1400 r1401 216 216 217 217 // For SAO 218 slice 218 slice->setLambdas( dLambdas ); 219 219 } 220 220 … … 617 617 { 618 618 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); 621 621 } 622 622 }
Note: See TracChangeset for help on using the changeset viewer.