Changeset 211 in SHVCSoftware for branches/SHM-2.1-dev/source/App/TAppEncoder/TAppEncCfg.cpp
- Timestamp:
- 17 May 2013, 03:16:43 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-2.1-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r191 r211 337 337 Int* cfg_scaledRefLayerBottomOffset [MAX_LAYERS]; 338 338 #endif 339 #if RC_SHVC_HARMONIZATION 340 Bool* cfg_RCEnableRateControl [MAX_LAYERS]; 341 Int* cfg_RCTargetBitRate [MAX_LAYERS]; 342 Bool* cfg_RCKeepHierarchicalBit[MAX_LAYERS]; 343 Bool* cfg_RCLCULevelRC [MAX_LAYERS]; 344 Bool* cfg_RCUseLCUSeparateModel[MAX_LAYERS]; 345 Int* cfg_RCInitialQP [MAX_LAYERS]; 346 Bool* cfg_RCForceIntraQP [MAX_LAYERS]; 347 #endif 339 348 for(UInt layer = 0; layer < MAX_LAYERS; layer++) 340 349 { … … 356 365 cfg_scaledRefLayerRightOffset [layer] = &m_acLayerCfg[layer].m_scaledRefLayerRightOffset; 357 366 cfg_scaledRefLayerBottomOffset[layer] = &m_acLayerCfg[layer].m_scaledRefLayerBottomOffset; 367 #endif 368 #if RC_SHVC_HARMONIZATION 369 cfg_RCEnableRateControl[layer] = &m_acLayerCfg[layer].m_RCEnableRateControl; 370 cfg_RCTargetBitRate[layer] = &m_acLayerCfg[layer].m_RCTargetBitrate; 371 cfg_RCKeepHierarchicalBit[layer] = &m_acLayerCfg[layer].m_RCKeepHierarchicalBit; 372 cfg_RCLCULevelRC[layer] = &m_acLayerCfg[layer].m_RCLCULevelRC; 373 cfg_RCUseLCUSeparateModel[layer] = &m_acLayerCfg[layer].m_RCUseLCUSeparateModel; 374 cfg_RCInitialQP[layer] = &m_acLayerCfg[layer].m_RCInitialQP; 375 cfg_RCForceIntraQP[layer] = &m_acLayerCfg[layer].m_RCForceIntraQP; 358 376 #endif 359 377 } … … 617 635 ("ESD", m_useEarlySkipDetection, false, "Early SKIP detection setting") 618 636 #if RATE_CONTROL_LAMBDA_DOMAIN 637 #if RC_SHVC_HARMONIZATION 638 ("RateControl%d", cfg_RCEnableRateControl, false, MAX_LAYERS, "Rate control: enable rate control for layer %d") 639 ("TargetBitrate%d", cfg_RCTargetBitRate, 0, MAX_LAYERS, "Rate control: target bitrate for layer %d") 640 ("KeepHierarchicalBit%d", cfg_RCKeepHierarchicalBit, false, MAX_LAYERS, "Rate control: keep hierarchical bit allocation for layer %d") 641 ("LCULevelRateControl%d", cfg_RCLCULevelRC, true, MAX_LAYERS, "Rate control: LCU level RC") 642 ("RCLCUSeparateModel%d", cfg_RCUseLCUSeparateModel, true, MAX_LAYERS, "Rate control: Use LCU level separate R-lambda model") 643 ("InitialQP%d", cfg_RCInitialQP, 0, MAX_LAYERS, "Rate control: initial QP") 644 ("RCForceIntraQP%d", cfg_RCForceIntraQP, false, MAX_LAYERS, "Rate control: force intra QP to be equal to initial QP") 645 #else 619 646 ( "RateControl", m_RCEnableRateControl, false, "Rate control: enable rate control" ) 620 647 ( "TargetBitrate", m_RCTargetBitrate, 0, "Rate control: target bitrate" ) … … 624 651 ( "InitialQP", m_RCInitialQP, 0, "Rate control: initial QP" ) 625 652 ( "RCForceIntraQP", m_RCForceIntraQP, false, "Rate control: force intra QP to be equal to initial QP" ) 653 #endif 626 654 #else 627 655 ("RateCtrl,-rc", m_enableRateCtrl, false, "Rate control on/off") … … 1742 1770 1743 1771 #if RATE_CONTROL_LAMBDA_DOMAIN 1772 #if RC_SHVC_HARMONIZATION 1773 for ( Int layer=0; layer<m_numLayers; layer++ ) 1774 { 1775 if ( m_acLayerCfg[layer].m_RCEnableRateControl ) 1776 { 1777 if ( m_acLayerCfg[layer].m_RCForceIntraQP ) 1778 { 1779 if ( m_acLayerCfg[layer].m_RCInitialQP == 0 ) 1780 { 1781 printf( "\nInitial QP for rate control is not specified. Reset not to use force intra QP!" ); 1782 m_acLayerCfg[layer].m_RCForceIntraQP = false; 1783 } 1784 } 1785 } 1786 xConfirmPara( m_uiDeltaQpRD > 0, "Rate control cannot be used together with slice level multiple-QP optimization!\n" ); 1787 } 1788 #else 1744 1789 if ( m_RCEnableRateControl ) 1745 1790 { … … 1754 1799 xConfirmPara( m_uiDeltaQpRD > 0, "Rate control cannot be used together with slice level multiple-QP optimization!\n" ); 1755 1800 } 1801 #endif 1756 1802 #else 1757 1803 if(m_enableRateCtrl) … … 1869 1915 printf("PCM sample bit depth : (Y:%d, C:%d)\n", g_uiPCMBitDepthLuma, g_uiPCMBitDepthChroma ); 1870 1916 #if RATE_CONTROL_LAMBDA_DOMAIN 1917 #if !RC_SHVC_HARMONIZATION 1871 1918 printf("RateControl : %d\n", m_RCEnableRateControl ); 1872 1919 if(m_RCEnableRateControl) … … 1879 1926 printf("ForceIntraQP : %d\n", m_RCForceIntraQP ); 1880 1927 } 1928 #endif 1881 1929 #else 1882 1930 printf("RateControl : %d\n", m_enableRateCtrl);
Note: See TracChangeset for help on using the changeset viewer.