Changeset 638 in 3DVCSoftware for branches/HTM-8.2-dev0-KWU/source/Lib
- Timestamp:
- 18 Oct 2013, 04:44:23 (12 years ago)
- Location:
- branches/HTM-8.2-dev0-KWU/source/Lib
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-8.2-dev0-KWU/source/Lib/TLibCommon/TypeDef.h
r637 r638 302 302 #endif 303 303 304 #define RATE_CONTROL_LAMBDA_DOMAIN 1///< JCTVC-K0103, rate control by R-lambda model304 #define RATE_CONTROL_LAMBDA_DOMAIN 0 ///< JCTVC-K0103, rate control by R-lambda model 305 305 #define M0036_RC_IMPROVEMENT 1 ///< JCTVC-M0036, improvement for R-lambda model based rate control 306 306 #define TICKET_1090_FIX 1 -
branches/HTM-8.2-dev0-KWU/source/Lib/TLibEncoder/TEncCfg.h
r635 r638 312 312 313 313 #if KWU_RC_MADPRED_E0227 314 UInt m_ uiDepthMADPred;314 UInt m_depthMADPred; 315 315 #endif 316 316 #if KWU_RC_VIEWRC_E0227 … … 323 323 324 324 #if KWU_RC_MADPRED_E0227 325 UInt m_ uiDepthMADPred;325 UInt m_depthMADPred; 326 326 #endif 327 327 #if KWU_RC_VIEWRC_E0227 … … 842 842 843 843 #if KWU_RC_MADPRED_E0227 844 UInt getUseDepthMADPred () { return m_ uiDepthMADPred; }845 Void setUseDepthMADPred (UInt b) { m_ uiDepthMADPred = b; }844 UInt getUseDepthMADPred () { return m_depthMADPred; } 845 Void setUseDepthMADPred (UInt b) { m_depthMADPred = b; } 846 846 #endif 847 847 #if KWU_RC_VIEWRC_E0227 … … 858 858 859 859 #if KWU_RC_MADPRED_E0227 860 UInt getUseDepthMADPred () { return m_ uiDepthMADPred; }861 Void setUseDepthMADPred (UInt b) { m_ uiDepthMADPred = b; }860 UInt getUseDepthMADPred () { return m_depthMADPred; } 861 Void setUseDepthMADPred (UInt b) { m_depthMADPred = b; } 862 862 #endif 863 863 #if KWU_RC_VIEWRC_E0227 -
branches/HTM-8.2-dev0-KWU/source/Lib/TLibEncoder/TEncCu.cpp
r637 r638 103 103 104 104 m_bEncodeDQP = false; 105 #if RATE_CONTROL_LAMBDA_DOMAIN && (!M0036_RC_IMPROVEMENT || KWU_RC_MADPRED_E0227) 105 #if RATE_CONTROL_LAMBDA_DOMAIN 106 #if !M0036_RC_IMPROVEMENT 107 m_LCUPredictionSAD = 0; 108 m_addSADDepth = 0; 109 m_temporalSAD = 0; 110 #endif 111 #if M0036_RC_IMPROVEMENT && KWU_RC_MADPRED_E0227 112 m_LCUPredictionSAD = 0; 113 m_addSADDepth = 0; 114 m_temporalSAD = 0; 115 #endif 116 #endif 117 #if KWU_RC_MADPRED_E0227 106 118 m_LCUPredictionSAD = 0; 107 119 m_addSADDepth = 0; … … 257 269 m_ppcTempCU[0]->initCU( rpcCU->getPic(), rpcCU->getAddr() ); 258 270 259 #if (RATE_CONTROL_LAMBDA_DOMAIN && !M0036_RC_IMPROVEMENT) || KWU_RC_MADPRED_E0227 271 #if RATE_CONTROL_LAMBDA_DOMAIN 272 #if !M0036_RC_IMPROVEMENT 273 m_LCUPredictionSAD = 0; 260 274 m_addSADDepth = 0; 275 m_temporalSAD = 0; 276 #endif 277 #if M0036_RC_IMPROVEMENT && KWU_RC_MADPRED_E0227 261 278 m_LCUPredictionSAD = 0; 279 m_addSADDepth = 0; 280 m_temporalSAD = 0; 281 #endif 282 #endif 283 #if KWU_RC_MADPRED_E0227 284 m_LCUPredictionSAD = 0; 285 m_addSADDepth = 0; 262 286 m_temporalSAD = 0; 263 287 m_spatialSAD = 0; … … 673 697 } 674 698 675 #if (RATE_CONTROL_LAMBDA_DOMAIN && !M0036_RC_IMPROVEMENT) || KWU_RC_MADPRED_E0227699 #if RATE_CONTROL_LAMBDA_DOMAIN && !M0036_RC_IMPROVEMENT 676 700 if ( uiDepth <= m_addSADDepth ) 677 701 { … … 679 703 m_addSADDepth = uiDepth; 680 704 } 705 #endif 706 #if RATE_CONTROL_LAMBDA_DOMAIN && M0036_RC_IMPROVEMENT && KWU_RC_MADPRED_E0227 707 if ( uiDepth <= m_addSADDepth ) 708 { 709 m_LCUPredictionSAD += m_temporalSAD; 710 m_addSADDepth = uiDepth; 711 } 712 #endif 713 #if !RATE_CONTROL_LAMBDA_DOMAIN && KWU_RC_MADPRED_E0227 714 if ( uiDepth <= m_addSADDepth ) 715 { 716 m_LCUPredictionSAD += m_temporalSAD; 717 m_addSADDepth = uiDepth; 718 } 681 719 #endif 682 720 #if !RATE_CONTROL_LAMBDA_DOMAIN && KWU_FIX_URQ … … 1022 1060 { 1023 1061 xCheckRDCostIntra( rpcBestCU, rpcTempCU, SIZE_2Nx2N ); 1024 #if (RATE_CONTROL_LAMBDA_DOMAIN && !M0036_RC_IMPROVEMENT) || KWU_RC_MADPRED_E0227 1062 #if RATE_CONTROL_LAMBDA_DOMAIN && !M0036_RC_IMPROVEMENT 1063 if ( uiDepth <= m_addSADDepth ) 1064 { 1065 m_LCUPredictionSAD += m_spatialSAD; 1066 m_addSADDepth = uiDepth; 1067 } 1068 #elif RATE_CONTROL_LAMBDA_DOMAIN && KWU_RC_MADPRED_E0227 1069 if ( uiDepth <= m_addSADDepth ) 1070 { 1071 m_LCUPredictionSAD += m_spatialSAD; 1072 m_addSADDepth = uiDepth; 1073 } 1074 #endif 1075 #if !RATE_CONTROL_LAMBDA_DOMAIN && KWU_RC_MADPRED_E0227 1025 1076 if ( uiDepth <= m_addSADDepth ) 1026 1077 { … … 2261 2312 rpcTempCU->getTotalCost() = m_pcRdCost->calcRdCost( rpcTempCU->getTotalBits(), rpcTempCU->getTotalDistortion() ); 2262 2313 2263 #if RATE_CONTROL_LAMBDA_DOMAIN && (!M0036_RC_IMPROVEMENT || KWU_RC_MADPRED_E0227) 2314 #if RATE_CONTROL_LAMBDA_DOMAIN && !M0036_RC_IMPROVEMENT 2315 UChar uhDepth = rpcTempCU->getDepth( 0 ); 2316 if ( m_pcEncCfg->getUseRateCtrl() && m_pcEncCfg->getLCULevelRC() && eSize == SIZE_2Nx2N && uhDepth <= m_addSADDepth ) 2317 { 2318 UInt SAD = m_pcRdCost->getSADPart( g_bitDepthY, m_ppcPredYuvTemp[uhDepth]->getLumaAddr(), m_ppcPredYuvTemp[uhDepth]->getStride(), 2319 m_ppcOrigYuv[uhDepth]->getLumaAddr(), m_ppcOrigYuv[uhDepth]->getStride(), 2320 rpcTempCU->getWidth(0), rpcTempCU->getHeight(0) ); 2321 m_spatialSAD = (Int)SAD; 2322 } 2323 #elif RATE_CONTROL_LAMBDA_DOMAIN && KWU_RC_MADPRED_E0227 2264 2324 UChar uhDepth = rpcTempCU->getDepth( 0 ); 2265 2325 if ( m_pcEncCfg->getUseRateCtrl() && m_pcEncCfg->getLCULevelRC() && eSize == SIZE_2Nx2N && uhDepth <= m_addSADDepth ) -
branches/HTM-8.2-dev0-KWU/source/Lib/TLibEncoder/TEncCu.h
r635 r638 102 102 Bool m_bUseSBACRD; 103 103 TEncRateCtrl* m_pcRateCtrl; 104 #if (RATE_CONTROL_LAMBDA_DOMAIN && !M0036_RC_IMPROVEMENT) || KWU_RC_MADPRED_E0227 104 #if RATE_CONTROL_LAMBDA_DOMAIN 105 #if !M0036_RC_IMPROVEMENT 106 UInt m_LCUPredictionSAD; 107 Int m_addSADDepth; 108 Int m_temporalSAD; 109 #endif 110 #if M0036_RC_IMPROVEMENT && KWU_RC_MADPRED_E0227 111 UInt m_LCUPredictionSAD; 112 Int m_addSADDepth; 113 Int m_temporalSAD; 114 #endif 115 #endif 116 #if KWU_RC_MADPRED_E0227 105 117 UInt m_LCUPredictionSAD; 106 118 Int m_addSADDepth; … … 108 120 Int m_spatialSAD; 109 121 #endif 122 110 123 public: 111 124 /// copy parameters from encoder class -
branches/HTM-8.2-dev0-KWU/source/Lib/TLibEncoder/TEncRateCtrl.cpp
r637 r638 726 726 m_lastPicture = NULL; 727 727 list<TEncRCPic*>::reverse_iterator it; 728 #if KWU_RC_MADPRED_E0227729 728 for ( it = listPreviousPictures.rbegin(); it != listPreviousPictures.rend(); it++ ) 730 729 { … … 735 734 } 736 735 } 737 #endif738 736 #endif 739 737 … … 2486 2484 { 2487 2485 Int x, y; 2488 double dMAD = 0.0;2486 Double dMAD = 0.0; 2489 2487 Int Sum = 0; 2490 2488 Double SAD = 0.0; -
branches/HTM-8.2-dev0-KWU/source/Lib/TLibEncoder/TEncSlice.cpp
r637 r638 1139 1139 if(pcSlice->getLayerId() != 0 && m_pcCfg->getUseDepthMADPred() && !pcSlice->getIsDepth()) 1140 1140 { 1141 double zn, zf, focallength, position, camshift;1142 double basepos;1143 bool bInterpolated;1141 Double zn, zf, focallength, position, camshift; 1142 Double basepos; 1143 Bool bInterpolated; 1144 1144 Int direction = pcSlice->getViewId() - pcCU->getSlice()->getIvPic(false, 0)->getViewId(); 1145 1145 … … 1252 1252 if(pcSlice->getLayerId() != 0 && m_pcCfg->getUseDepthMADPred() && !pcSlice->getIsDepth()) 1253 1253 { 1254 double zn, zf, focallength, position, camShift;1255 double basePos;1256 bool bInterpolated;1254 Double zn, zf, focallength, position, camShift; 1255 Double basePos; 1256 Bool bInterpolated; 1257 1257 Int direction = pcSlice->getViewId() - pcCU->getSlice()->getIvPic(false, 0)->getViewId(); 1258 1258 Int disparity;
Note: See TracChangeset for help on using the changeset viewer.