Changeset 211 in SHVCSoftware
- Timestamp:
- 17 May 2013, 03:16:43 (12 years ago)
- Location:
- branches/SHM-2.1-dev
- Files:
-
- 16 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-2.1-dev/cfg/encoder_lowdelay_P_he10.cfg
r2 r211 102 102 103 103 #============ Rate Control ====================== 104 RateCtrl : 0 # 0: Disable rate control 1: Enable rate control 105 TargetBitrate : 1000 # input target bitrate when RateCtrl is enable 106 NumLCUInUnit : 1 # Number of LCU in an Unit. Fraction is not allowed 104 RateControl0 : 0 # Rate control: enable rate control for layer 0 105 TargetBitrate0 : 1000000 # Rate control: target bitrate for layer 0, in bps 106 KeepHierarchicalBit0 : 1 # Rate control: keep hierarchical bit allocation for layer 0 in rate control algorithm 107 LCULevelRateControl0 : 1 # Rate control: 1: LCU level RC for layer 0; 0: picture level RC for layer 0 108 RCLCUSeparateModel0 : 1 # Rate control: use LCU level separate R-lambda model for layer 0 109 InitialQP0 : 0 # Rate control: initial QP for layer 0 110 RCForceIntraQP0 : 0 # Rate control: force intra QP to be equal to initial QP for layer 0 111 112 RateControl1 : 0 # Rate control: enable rate control for layer 1 113 TargetBitrate1 : 1000000 # Rate control: target bitrate for layer 1, in bps 114 KeepHierarchicalBit1 : 1 # Rate control: keep hierarchical bit allocation for layer 1 in rate control algorithm 115 LCULevelRateControl1 : 1 # Rate control: 1: LCU level RC for layer 1; 0: picture level RC for layer 1 116 RCLCUSeparateModel1 : 1 # Rate control: use LCU level separate R-lambda model for layer 1 117 InitialQP1 : 0 # Rate control: initial QP for layer 1 118 RCForceIntraQP1 : 0 # Rate control: force intra QP to be equal to initial QP for layer 1 107 119 108 120 ### DO NOT ADD ANYTHING BELOW THIS LINE ### -
branches/SHM-2.1-dev/cfg/encoder_lowdelay_P_main.cfg
r190 r211 102 102 103 103 #============ Rate Control ====================== 104 RateControl : 0 # Rate control: enable rate control 105 TargetBitrate : 1000000 # Rate control: target bitrate, in bps 106 KeepHierarchicalBit : 1 # Rate control: keep hierarchical bit allocation in rate control algorithm 107 LCULevelRateControl : 1 # Rate control: 1: LCU level RC; 0: picture level RC 108 RCLCUSeparateModel : 1 # Rate control: use LCU level separate R-lambda model 109 InitialQP : 0 # Rate control: initial QP 110 RCForceIntraQP : 0 # Rate control: force intra QP to be equal to initial QP 104 RateControl0 : 0 # Rate control: enable rate control for layer 0 105 TargetBitrate0 : 1000000 # Rate control: target bitrate for layer 0, in bps 106 KeepHierarchicalBit0 : 1 # Rate control: keep hierarchical bit allocation for layer 0 in rate control algorithm 107 LCULevelRateControl0 : 1 # Rate control: 1: LCU level RC for layer 0; 0: picture level RC for layer 0 108 RCLCUSeparateModel0 : 1 # Rate control: use LCU level separate R-lambda model for layer 0 109 InitialQP0 : 0 # Rate control: initial QP for layer 0 110 RCForceIntraQP0 : 0 # Rate control: force intra QP to be equal to initial QP for layer 0 111 112 RateControl1 : 0 # Rate control: enable rate control for layer 1 113 TargetBitrate1 : 1000000 # Rate control: target bitrate for layer 1, in bps 114 KeepHierarchicalBit1 : 1 # Rate control: keep hierarchical bit allocation for layer 1 in rate control algorithm 115 LCULevelRateControl1 : 1 # Rate control: 1: LCU level RC for layer 1; 0: picture level RC for layer 1 116 RCLCUSeparateModel1 : 1 # Rate control: use LCU level separate R-lambda model for layer 1 117 InitialQP1 : 0 # Rate control: initial QP for layer 1 118 RCForceIntraQP1 : 0 # Rate control: force intra QP to be equal to initial QP for layer 1 111 119 112 120 SEIpictureDigest : 1 -
branches/SHM-2.1-dev/cfg/encoder_lowdelay_P_main10.cfg
r190 r211 102 102 103 103 #============ Rate Control ====================== 104 RateControl : 0 # Rate control: enable rate control 105 TargetBitrate : 1000000 # Rate control: target bitrate, in bps 106 KeepHierarchicalBit : 1 # Rate control: keep hierarchical bit allocation in rate control algorithm 107 LCULevelRateControl : 1 # Rate control: 1: LCU level RC; 0: picture level RC 108 RCLCUSeparateModel : 1 # Rate control: use LCU level separate R-lambda model 109 InitialQP : 0 # Rate control: initial QP 110 RCForceIntraQP : 0 # Rate control: force intra QP to be equal to initial QP 104 RateControl0 : 0 # Rate control: enable rate control for layer 0 105 TargetBitrate0 : 1000000 # Rate control: target bitrate for layer 0, in bps 106 KeepHierarchicalBit0 : 1 # Rate control: keep hierarchical bit allocation for layer 0 in rate control algorithm 107 LCULevelRateControl0 : 1 # Rate control: 1: LCU level RC for layer 0; 0: picture level RC for layer 0 108 RCLCUSeparateModel0 : 1 # Rate control: use LCU level separate R-lambda model for layer 0 109 InitialQP0 : 0 # Rate control: initial QP for layer 0 110 RCForceIntraQP0 : 0 # Rate control: force intra QP to be equal to initial QP for layer 0 111 112 RateControl1 : 0 # Rate control: enable rate control for layer 1 113 TargetBitrate1 : 1000000 # Rate control: target bitrate for layer 1, in bps 114 KeepHierarchicalBit1 : 1 # Rate control: keep hierarchical bit allocation for layer 1 in rate control algorithm 115 LCULevelRateControl1 : 1 # Rate control: 1: LCU level RC for layer 1; 0: picture level RC for layer 1 116 RCLCUSeparateModel1 : 1 # Rate control: use LCU level separate R-lambda model for layer 1 117 InitialQP1 : 0 # Rate control: initial QP for layer 1 118 RCForceIntraQP1 : 0 # Rate control: force intra QP to be equal to initial QP for layer 1 111 119 112 120 ### DO NOT ADD ANYTHING BELOW THIS LINE ### -
branches/SHM-2.1-dev/cfg/encoder_lowdelay_he10.cfg
r2 r211 102 102 103 103 #============ Rate Control ====================== 104 RateCtrl : 0 # 0: Disable rate control 1: Enable rate control 105 TargetBitrate : 1000 # input target bitrate when RateCtrl is enable 106 NumLCUInUnit : 1 # Number of LCU in an Unit. Fraction is not allowed 104 RateControl0 : 0 # Rate control: enable rate control for layer 0 105 TargetBitrate0 : 1000000 # Rate control: target bitrate for layer 0, in bps 106 KeepHierarchicalBit0 : 1 # Rate control: keep hierarchical bit allocation for layer 0 in rate control algorithm 107 LCULevelRateControl0 : 1 # Rate control: 1: LCU level RC for layer 0; 0: picture level RC for layer 0 108 RCLCUSeparateModel0 : 1 # Rate control: use LCU level separate R-lambda model for layer 0 109 InitialQP0 : 0 # Rate control: initial QP for layer 0 110 RCForceIntraQP0 : 0 # Rate control: force intra QP to be equal to initial QP for layer 0 111 112 RateControl1 : 0 # Rate control: enable rate control for layer 1 113 TargetBitrate1 : 1000000 # Rate control: target bitrate for layer 1, in bps 114 KeepHierarchicalBit1 : 1 # Rate control: keep hierarchical bit allocation for layer 1 in rate control algorithm 115 LCULevelRateControl1 : 1 # Rate control: 1: LCU level RC for layer 1; 0: picture level RC for layer 1 116 RCLCUSeparateModel1 : 1 # Rate control: use LCU level separate R-lambda model for layer 1 117 InitialQP1 : 0 # Rate control: initial QP for layer 1 118 RCForceIntraQP1 : 0 # Rate control: force intra QP to be equal to initial QP for layer 1 107 119 108 120 ### DO NOT ADD ANYTHING BELOW THIS LINE ### -
branches/SHM-2.1-dev/cfg/encoder_lowdelay_main.cfg
r190 r211 102 102 103 103 #============ Rate Control ====================== 104 RateControl : 0 # Rate control: enable rate control 105 TargetBitrate : 1000000 # Rate control: target bitrate, in bps 106 KeepHierarchicalBit : 1 # Rate control: keep hierarchical bit allocation in rate control algorithm 107 LCULevelRateControl : 1 # Rate control: 1: LCU level RC; 0: picture level RC 108 RCLCUSeparateModel : 1 # Rate control: use LCU level separate R-lambda model 109 InitialQP : 0 # Rate control: initial QP 110 RCForceIntraQP : 0 # Rate control: force intra QP to be equal to initial QP 104 RateControl0 : 0 # Rate control: enable rate control for layer 0 105 TargetBitrate0 : 1000000 # Rate control: target bitrate for layer 0, in bps 106 KeepHierarchicalBit0 : 1 # Rate control: keep hierarchical bit allocation for layer 0 in rate control algorithm 107 LCULevelRateControl0 : 1 # Rate control: 1: LCU level RC for layer 0; 0: picture level RC for layer 0 108 RCLCUSeparateModel0 : 1 # Rate control: use LCU level separate R-lambda model for layer 0 109 InitialQP0 : 0 # Rate control: initial QP for layer 0 110 RCForceIntraQP0 : 0 # Rate control: force intra QP to be equal to initial QP for layer 0 111 112 RateControl1 : 0 # Rate control: enable rate control for layer 1 113 TargetBitrate1 : 1000000 # Rate control: target bitrate for layer 1, in bps 114 KeepHierarchicalBit1 : 1 # Rate control: keep hierarchical bit allocation for layer 1 in rate control algorithm 115 LCULevelRateControl1 : 1 # Rate control: 1: LCU level RC for layer 1; 0: picture level RC for layer 1 116 RCLCUSeparateModel1 : 1 # Rate control: use LCU level separate R-lambda model for layer 1 117 InitialQP1 : 0 # Rate control: initial QP for layer 1 118 RCForceIntraQP1 : 0 # Rate control: force intra QP to be equal to initial QP for layer 1 111 119 112 120 SEIpictureDigest : 1 -
branches/SHM-2.1-dev/cfg/encoder_lowdelay_main10.cfg
r190 r211 102 102 103 103 #============ Rate Control ====================== 104 RateControl : 0 # Rate control: enable rate control 105 TargetBitrate : 1000000 # Rate control: target bitrate, in bps 106 KeepHierarchicalBit : 1 # Rate control: keep hierarchical bit allocation in rate control algorithm 107 LCULevelRateControl : 1 # Rate control: 1: LCU level RC; 0: picture level RC 108 RCLCUSeparateModel : 1 # Rate control: use LCU level separate R-lambda model 109 InitialQP : 0 # Rate control: initial QP 110 RCForceIntraQP : 0 # Rate control: force intra QP to be equal to initial QP 104 RateControl0 : 0 # Rate control: enable rate control for layer 0 105 TargetBitrate0 : 1000000 # Rate control: target bitrate for layer 0, in bps 106 KeepHierarchicalBit0 : 1 # Rate control: keep hierarchical bit allocation for layer 0 in rate control algorithm 107 LCULevelRateControl0 : 1 # Rate control: 1: LCU level RC for layer 0; 0: picture level RC for layer 0 108 RCLCUSeparateModel0 : 1 # Rate control: use LCU level separate R-lambda model for layer 0 109 InitialQP0 : 0 # Rate control: initial QP for layer 0 110 RCForceIntraQP0 : 0 # Rate control: force intra QP to be equal to initial QP for layer 0 111 112 RateControl1 : 0 # Rate control: enable rate control for layer 1 113 TargetBitrate1 : 1000000 # Rate control: target bitrate for layer 1, in bps 114 KeepHierarchicalBit1 : 1 # Rate control: keep hierarchical bit allocation for layer 1 in rate control algorithm 115 LCULevelRateControl1 : 1 # Rate control: 1: LCU level RC for layer 1; 0: picture level RC for layer 1 116 RCLCUSeparateModel1 : 1 # Rate control: use LCU level separate R-lambda model for layer 1 117 InitialQP1 : 0 # Rate control: initial QP for layer 1 118 RCForceIntraQP1 : 0 # Rate control: force intra QP to be equal to initial QP for layer 1 111 119 112 120 ### DO NOT ADD ANYTHING BELOW THIS LINE ### -
branches/SHM-2.1-dev/cfg/encoder_randomaccess_he10.cfg
r2 r211 106 106 107 107 #============ Rate Control ====================== 108 RateCtrl : 0 # 0: Disable rate control 1: Enable rate control 109 TargetBitrate : 1000 # input target bitrate when RateCtrl is enable 110 NumLCUInUnit : 1 # Number of LCU in an Unit. Fraction is not allowed 108 RateControl0 : 0 # Rate control: enable rate control for layer 0 109 TargetBitrate0 : 1000000 # Rate control: target bitrate for layer 0, in bps 110 KeepHierarchicalBit0 : 1 # Rate control: keep hierarchical bit allocation for layer 0 in rate control algorithm 111 LCULevelRateControl0 : 1 # Rate control: 1: LCU level RC for layer 0; 0: picture level RC for layer 0 112 RCLCUSeparateModel0 : 1 # Rate control: use LCU level separate R-lambda model for layer 0 113 InitialQP0 : 0 # Rate control: initial QP for layer 0 114 RCForceIntraQP0 : 0 # Rate control: force intra QP to be equal to initial QP for layer 0 115 116 RateControl1 : 0 # Rate control: enable rate control for layer 1 117 TargetBitrate1 : 1000000 # Rate control: target bitrate for layer 1, in bps 118 KeepHierarchicalBit1 : 1 # Rate control: keep hierarchical bit allocation for layer 1 in rate control algorithm 119 LCULevelRateControl1 : 1 # Rate control: 1: LCU level RC for layer 1; 0: picture level RC for layer 1 120 RCLCUSeparateModel1 : 1 # Rate control: use LCU level separate R-lambda model for layer 1 121 InitialQP1 : 0 # Rate control: initial QP for layer 1 122 RCForceIntraQP1 : 0 # Rate control: force intra QP to be equal to initial QP for layer 1 111 123 112 124 ### DO NOT ADD ANYTHING BELOW THIS LINE ### -
branches/SHM-2.1-dev/cfg/encoder_randomaccess_main.cfg
r190 r211 106 106 107 107 #============ Rate Control ====================== 108 RateControl : 0 # Rate control: enable rate control 109 TargetBitrate : 1000000 # Rate control: target bitrate, in bps 110 KeepHierarchicalBit : 1 # Rate control: keep hierarchical bit allocation in rate control algorithm 111 LCULevelRateControl : 1 # Rate control: 1: LCU level RC; 0: picture level RC 112 RCLCUSeparateModel : 1 # Rate control: use LCU level separate R-lambda model 113 InitialQP : 0 # Rate control: initial QP 114 RCForceIntraQP : 0 # Rate control: force intra QP to be equal to initial QP 108 RateControl0 : 0 # Rate control: enable rate control for layer 0 109 TargetBitrate0 : 1000000 # Rate control: target bitrate for layer 0, in bps 110 KeepHierarchicalBit0 : 1 # Rate control: keep hierarchical bit allocation for layer 0 in rate control algorithm 111 LCULevelRateControl0 : 1 # Rate control: 1: LCU level RC for layer 0; 0: picture level RC for layer 0 112 RCLCUSeparateModel0 : 1 # Rate control: use LCU level separate R-lambda model for layer 0 113 InitialQP0 : 0 # Rate control: initial QP for layer 0 114 RCForceIntraQP0 : 0 # Rate control: force intra QP to be equal to initial QP for layer 0 115 116 RateControl1 : 0 # Rate control: enable rate control for layer 1 117 TargetBitrate1 : 1000000 # Rate control: target bitrate for layer 1, in bps 118 KeepHierarchicalBit1 : 1 # Rate control: keep hierarchical bit allocation for layer 1 in rate control algorithm 119 LCULevelRateControl1 : 1 # Rate control: 1: LCU level RC for layer 1; 0: picture level RC for layer 1 120 RCLCUSeparateModel1 : 1 # Rate control: use LCU level separate R-lambda model for layer 1 121 InitialQP1 : 0 # Rate control: initial QP for layer 1 122 RCForceIntraQP1 : 0 # Rate control: force intra QP to be equal to initial QP for layer 1 115 123 116 124 SEIpictureDigest : 1 -
branches/SHM-2.1-dev/cfg/encoder_randomaccess_main10.cfg
r190 r211 106 106 107 107 #============ Rate Control ====================== 108 RateControl : 0 # Rate control: enable rate control 109 TargetBitrate : 1000000 # Rate control: target bitrate, in bps 110 KeepHierarchicalBit : 1 # Rate control: keep hierarchical bit allocation in rate control algorithm 111 LCULevelRateControl : 1 # Rate control: 1: LCU level RC; 0: picture level RC 112 RCLCUSeparateModel : 1 # Rate control: use LCU level separate R-lambda model 113 InitialQP : 0 # Rate control: initial QP 114 RCForceIntraQP : 0 # Rate control: force intra QP to be equal to initial QP 108 RateControl0 : 0 # Rate control: enable rate control for layer 0 109 TargetBitrate0 : 1000000 # Rate control: target bitrate for layer 0, in bps 110 KeepHierarchicalBit0 : 1 # Rate control: keep hierarchical bit allocation for layer 0 in rate control algorithm 111 LCULevelRateControl0 : 1 # Rate control: 1: LCU level RC for layer 0; 0: picture level RC for layer 0 112 RCLCUSeparateModel0 : 1 # Rate control: use LCU level separate R-lambda model for layer 0 113 InitialQP0 : 0 # Rate control: initial QP for layer 0 114 RCForceIntraQP0 : 0 # Rate control: force intra QP to be equal to initial QP for layer 0 115 116 RateControl1 : 0 # Rate control: enable rate control for layer 1 117 TargetBitrate1 : 1000000 # Rate control: target bitrate for layer 1, in bps 118 KeepHierarchicalBit1 : 1 # Rate control: keep hierarchical bit allocation for layer 1 in rate control algorithm 119 LCULevelRateControl1 : 1 # Rate control: 1: LCU level RC for layer 1; 0: picture level RC for layer 1 120 RCLCUSeparateModel1 : 1 # Rate control: use LCU level separate R-lambda model for layer 1 121 InitialQP1 : 0 # Rate control: initial QP for layer 1 122 RCForceIntraQP1 : 0 # Rate control: force intra QP to be equal to initial QP for layer 1 115 123 116 124 ### DO NOT ADD ANYTHING BELOW THIS LINE ### -
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); -
branches/SHM-2.1-dev/source/App/TAppEncoder/TAppEncCfg.h
r191 r211 287 287 Int m_signHideFlag; 288 288 #if RATE_CONTROL_LAMBDA_DOMAIN 289 #if !RC_SHVC_HARMONIZATION 289 290 Bool m_RCEnableRateControl; ///< enable rate control or not 290 291 Int m_RCTargetBitrate; ///< target bitrate when rate control is enabled … … 294 295 Int m_RCInitialQP; ///< inital QP for rate control 295 296 Bool m_RCForceIntraQP; ///< force all intra picture to use initial QP or not 297 #endif 296 298 #else 297 299 Bool m_enableRateCtrl; ///< Flag for using rate control algorithm -
branches/SHM-2.1-dev/source/App/TAppEncoder/TAppEncLayerCfg.cpp
r191 r211 134 134 printf("QP : %5.2f\n", m_fQP ); 135 135 printf("Intra period : %d\n", m_iIntraPeriod ); 136 #if RC_SHVC_HARMONIZATION 137 printf("RateControl : %d\n", m_RCEnableRateControl ); 138 if(m_RCEnableRateControl) 139 { 140 printf("TargetBitrate : %d\n", m_RCTargetBitrate ); 141 printf("KeepHierarchicalBit : %d\n", m_RCKeepHierarchicalBit ); 142 printf("LCULevelRC : %d\n", m_RCLCULevelRC ); 143 printf("UseLCUSeparateModel : %d\n", m_RCUseLCUSeparateModel ); 144 printf("InitialQP : %d\n", m_RCInitialQP ); 145 printf("ForceIntraQP : %d\n", m_RCForceIntraQP ); 146 } 147 #endif 136 148 printf("WaveFrontSynchro:%d WaveFrontSubstreams:%d", m_cAppEncCfg->getWaveFrontSynchro(), m_iWaveFrontSubstreams); 137 149 } -
branches/SHM-2.1-dev/source/App/TAppEncoder/TAppEncLayerCfg.h
r191 r211 46 46 Int m_numDirectRefLayers; 47 47 #endif 48 49 #if RC_SHVC_HARMONIZATION 50 Bool m_RCEnableRateControl; ///< enable rate control or not 51 Int m_RCTargetBitrate; ///< target bitrate when rate control is enabled 52 Bool m_RCKeepHierarchicalBit; ///< whether keeping hierarchical bit allocation structure or not 53 Bool m_RCLCULevelRC; ///< true: LCU level rate control; false: picture level rate control 54 Bool m_RCUseLCUSeparateModel; ///< use separate R-lambda model at LCU level 55 Int m_RCInitialQP; ///< inital QP for rate control 56 Bool m_RCForceIntraQP; ///< force all intra picture to use initial QP or not 57 #endif 58 48 59 #if SVC_EXTENSION 49 60 Int m_iWaveFrontSubstreams; //< If iWaveFrontSynchro, this is the number of substreams per frame (dependent tiles) or per tile (independent tiles). … … 98 109 Int getRefLayerId(Int i) {return m_refLayerIds[i]; } 99 110 #endif 111 #if RC_SHVC_HARMONIZATION 112 Bool getRCEnableRateControl() {return m_RCEnableRateControl; } 113 Int getRCTargetBitrate() {return m_RCTargetBitrate; } 114 Bool getRCKeepHierarchicalBit() {return m_RCKeepHierarchicalBit; } 115 Bool getRCLCULevelRC() {return m_RCLCULevelRC; } 116 Bool getRCUseLCUSeparateModel() {return m_RCUseLCUSeparateModel; } 117 Int getRCInitialQP() {return m_RCInitialQP; } 118 Bool getRCForceIntraQP() {return m_RCForceIntraQP; } 119 #endif 100 120 }; // END CLASS DEFINITION TAppEncLayerCfg 101 121 -
branches/SHM-2.1-dev/source/App/TAppEncoder/TAppEncTop.cpp
r191 r211 343 343 m_acTEncTop[layer].setSignHideFlag(m_signHideFlag); 344 344 #if RATE_CONTROL_LAMBDA_DOMAIN 345 #if RC_SHVC_HARMONIZATION 346 m_acTEncTop[layer].setUseRateCtrl (m_acLayerCfg[layer].getRCEnableRateControl()); 347 m_acTEncTop[layer].setTargetBitrate (m_acLayerCfg[layer].getRCTargetBitrate()); 348 m_acTEncTop[layer].setKeepHierBit (m_acLayerCfg[layer].getRCKeepHierarchicalBit()); 349 m_acTEncTop[layer].setLCULevelRC (m_acLayerCfg[layer].getRCLCULevelRC()); 350 m_acTEncTop[layer].setUseLCUSeparateModel (m_acLayerCfg[layer].getRCUseLCUSeparateModel()); 351 m_acTEncTop[layer].setInitialQP (m_acLayerCfg[layer].getRCInitialQP()); 352 m_acTEncTop[layer].setForceIntraQP (m_acLayerCfg[layer].getRCForceIntraQP()); 353 #else 345 354 m_acTEncTop[layer].setUseRateCtrl ( m_RCEnableRateControl ); 346 355 m_acTEncTop[layer].setTargetBitrate ( m_RCTargetBitrate ); … … 350 359 m_acTEncTop[layer].setInitialQP ( m_RCInitialQP ); 351 360 m_acTEncTop[layer].setForceIntraQP ( m_RCForceIntraQP ); 361 #endif 352 362 #else 353 363 m_acTEncTop[layer].setUseRateCtrl ( m_enableRateCtrl); … … 1014 1024 } 1015 1025 1026 #if RC_SHVC_HARMONIZATION 1027 for(UInt layer=0; layer<m_numLayers; layer++) 1028 { 1029 if ( m_acTEncTop[layer].getUseRateCtrl() ) 1030 { 1031 (m_acTEncTop[layer].getRateCtrl())->initRCGOP(m_acTEncTop[layer].getNumPicRcvd()); 1032 } 1033 } 1034 #endif 1035 1016 1036 // loop through frames in one GOP 1017 1037 for ( UInt iPicIdInGOP=0; iPicIdInGOP < (bFirstFrame? 1:m_iGOPSize); iPicIdInGOP++ ) … … 1024 1044 } 1025 1045 } 1046 1047 #if RC_SHVC_HARMONIZATION 1048 for(UInt layer=0; layer<m_numLayers; layer++) 1049 { 1050 if ( m_acTEncTop[layer].getUseRateCtrl() ) 1051 { 1052 (m_acTEncTop[layer].getRateCtrl())->destroyRCGOP(); 1053 } 1054 } 1055 #endif 1026 1056 1027 1057 iTotalNumEncoded = 0; -
branches/SHM-2.1-dev/source/Lib/TLibCommon/TypeDef.h
r210 r211 172 172 #define RATE_CONTROL_LAMBDA_DOMAIN 1 ///< JCTVC-K0103, rate control by R-lambda model 173 173 #define L0033_RC_BUGFIX 1 ///< JCTVC-L0033, bug fix for R-lambda model based rate control 174 #define RC_SHVC_HARMONIZATION 1 ///< JCTVC-M0037, rate control for SHVC 174 175 175 176 #define MAX_CPB_CNT 32 ///< Upper bound of (cpb_cnt_minus1 + 1) -
branches/SHM-2.1-dev/source/Lib/TLibEncoder/TEncTop.cpp
r191 r211 386 386 // compress GOP 387 387 #if RATE_CONTROL_LAMBDA_DOMAIN 388 #if !RC_SHVC_HARMONIZATION 388 389 if ( m_RCEnableRateControl ) 389 390 { 390 391 m_cRateCtrl.initRCGOP( m_iNumPicRcvd ); 391 392 } 393 #endif 392 394 #endif 393 395 … … 396 398 397 399 #if RATE_CONTROL_LAMBDA_DOMAIN 400 #if !RC_SHVC_HARMONIZATION 398 401 if ( m_RCEnableRateControl ) 399 402 { 400 403 m_cRateCtrl.destroyRCGOP(); 401 404 } 405 #endif 402 406 #endif 403 407
Note: See TracChangeset for help on using the changeset viewer.