Changeset 837 in 3DVCSoftware for branches/HTM-10.0rc1-dev0/source/App/TAppEncoder/TAppEncTop.cpp
- Timestamp:
- 8 Feb 2014, 00:23:11 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-10.0rc1-dev0/source/App/TAppEncoder/TAppEncTop.cpp
r833 r837 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-2013, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 309 309 #endif 310 310 311 Int lowestQP;312 lowestQP = - 6*(g_bitDepthY - 8); // XXX: check313 314 #if H_MV315 if ((m_iMaxDeltaQP == 0 ) && (m_iQP[layerIdInVps] == lowestQP) && (m_useLossless == true))316 #else317 if ((m_iMaxDeltaQP == 0 ) && (m_iQP == lowestQP) && (m_useLossless == true))318 #endif319 {320 m_bUseAdaptiveQP = false;321 }322 311 m_cTEncTop.setUseAdaptiveQP ( m_bUseAdaptiveQP ); 323 312 m_cTEncTop.setQPAdaptationRange ( m_iQPAdaptationRange ); 324 313 325 314 //====== Tool list ======== 326 m_cTEncTop.setUseSBACRD ( m_bUseSBACRD );327 315 m_cTEncTop.setDeltaQpRD ( m_uiDeltaQpRD ); 328 316 m_cTEncTop.setUseASR ( m_bUseASR ); 329 317 m_cTEncTop.setUseHADME ( m_bUseHADME ); 330 m_cTEncTop.setUseLossless ( m_useLossless );331 318 #if H_MV 332 319 m_cTEncTop.setdQPs ( m_aidQP[layerIdInVps] ); … … 396 383 397 384 m_cTEncTop.setSaoLcuBoundary (m_saoLcuBoundary); 398 m_cTEncTop.setSaoLcuBasedOptimization (m_saoLcuBasedOptimization);399 385 m_cTEncTop.setPCMInputBitDepthFlag ( m_bPCMInputBitDepthFlag); 400 386 m_cTEncTop.setPCMFilterDisableFlag ( m_bPCMFilterDisableFlag); … … 461 447 m_cTEncTop.setScalingListFile ( m_scalingListFile ); 462 448 m_cTEncTop.setSignHideFlag(m_signHideFlag); 463 #if RATE_CONTROL_LAMBDA_DOMAIN464 449 #if KWU_RC_VIEWRC_E0227 || KWU_RC_MADPRED_E0227 465 450 if(!m_cTEncTop.getIsDepth()) //only for texture … … 482 467 m_cTEncTop.setInitialQP ( m_RCInitialQP ); 483 468 m_cTEncTop.setForceIntraQP ( m_RCForceIntraQP ); 484 485 469 #if KWU_RC_MADPRED_E0227 486 470 if(m_cTEncTop.getUseRateCtrl() && !m_cTEncTop.getIsDepth()) 487 471 { 488 472 m_cTEncTop.setUseDepthMADPred(layerIdInVps ? m_depthMADPred : 0); 489 490 473 if(m_cTEncTop.getUseDepthMADPred()) 491 474 { … … 498 481 { 499 482 m_cTEncTop.setUseViewWiseRateCtrl(m_viewWiseRateCtrl); 500 501 483 if(m_iNumberOfViews == 1) 502 484 { … … 552 534 } 553 535 #endif 554 #else555 #if KWU_RC_VIEWRC_E0227 || KWU_RC_MADPRED_E0227556 if(!m_cTEncTop.getIsDepth()) //only for texture557 {558 m_cTEncTop.setUseRateCtrl ( m_enableRateCtrl );559 m_cTEncTop.setTargetBitrate ( m_targetBitrate );560 m_cTEncTop.setNumLCUInUnit ( m_numLCUInUnit);561 }562 else563 {564 m_cTEncTop.setUseRateCtrl ( 0 );565 }566 #else567 m_cTEncTop.setUseRateCtrl ( m_enableRateCtrl );568 m_cTEncTop.setTargetBitrate ( m_targetBitrate );569 m_cTEncTop.setNumLCUInUnit ( m_numLCUInUnit);570 #endif571 572 573 #if KWU_RC_MADPRED_E0227574 if(m_cTEncTop.getUseRateCtrl() && !m_cTEncTop.getIsDepth())575 {576 m_cTEncTop.setUseDepthMADPred(layerIdInVps ? m_depthMADPred : 0);577 578 if(m_cTEncTop.getUseDepthMADPred())579 {580 m_cTEncTop.setCamParam(&m_cCameraData);581 }582 }583 #endif584 585 #if KWU_RC_VIEWRC_E0227586 if(m_cTEncTop.getUseRateCtrl() && !m_cTEncTop.getIsDepth())587 {588 m_cTEncTop.setUseViewWiseRateCtrl(m_viewWiseRateCtrl);589 if(m_iNumberOfViews == 1)590 {591 if(m_viewWiseRateCtrl)592 {593 m_cTEncTop.setTargetBitrate(m_viewTargetBits[layerIdInVps>>1]);594 }595 else596 {597 m_cTEncTop.setTargetBitrate ( m_targetBitrate );598 }599 }600 else601 {602 if(m_viewWiseRateCtrl)603 {604 m_cTEncTop.setTargetBitrate(m_viewTargetBits[layerIdInVps>>1]);605 }606 else607 {608 if(m_iNumberOfViews == 2)609 {610 if(m_cTEncTop.getViewId() == 0)611 {612 m_cTEncTop.setTargetBitrate ( (m_targetBitrate*80)/100 );613 }614 else if(m_cTEncTop.getViewId() == 1)615 {616 m_cTEncTop.setTargetBitrate ( (m_targetBitrate*20)/100 );617 }618 }619 else if(m_iNumberOfViews == 3)620 {621 if(m_cTEncTop.getViewId() == 0)622 {623 m_cTEncTop.setTargetBitrate ( (m_targetBitrate*66)/100 );624 }625 else if(m_cTEncTop.getViewId() == 1)626 {627 m_cTEncTop.setTargetBitrate ( (m_targetBitrate*17)/100 );628 }629 else if(m_cTEncTop.getViewId() == 2)630 {631 m_cTEncTop.setTargetBitrate ( (m_targetBitrate*17)/100 );632 }633 }634 else635 {636 m_cTEncTop.setTargetBitrate ( m_targetBitrate );637 }638 }639 }640 }641 #endif642 #endif643 536 m_cTEncTop.setTransquantBypassEnableFlag(m_TransquantBypassEnableFlag); 644 m_cTEncTop.setCUTransquantBypassFlag Value(m_CUTransquantBypassFlagValue);537 m_cTEncTop.setCUTransquantBypassFlagForceValue(m_CUTransquantBypassFlagForce); 645 538 m_cTEncTop.setUseRecalculateQPAccordingToLambda( m_recalculateQPAccordingToLambda ); 646 539 m_cTEncTop.setUseStrongIntraSmoothing( m_useStrongIntraSmoothing ); … … 1203 1096 rateStatsAccum(au, stats); 1204 1097 } 1205 #endif1206 1098 } 1207 1099 } … … 1221 1113 case NAL_UNIT_CODED_SLICE_TRAIL_R: 1222 1114 case NAL_UNIT_CODED_SLICE_TRAIL_N: 1223 case NAL_UNIT_CODED_SLICE_T LA_R:1115 case NAL_UNIT_CODED_SLICE_TSA_R: 1224 1116 case NAL_UNIT_CODED_SLICE_TSA_N: 1225 1117 case NAL_UNIT_CODED_SLICE_STSA_R:
Note: See TracChangeset for help on using the changeset viewer.