Changeset 593 in SHVCSoftware for branches/SHM-5.0-dev/source/App
- Timestamp:
- 2 Feb 2014, 04:51:29 (11 years ago)
- Location:
- branches/SHM-5.0-dev/source/App
- Files:
-
- 26 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-5.0-dev/source/App/TAppDecoder/TAppDecCfg.cpp
r584 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/TAppDecoder/TAppDecCfg.h
r540 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/TAppDecoder/TAppDecTop.cpp
r549 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/TAppDecoder/TAppDecTop.h
r442 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/TAppDecoder/decmain.cpp
r313 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/TAppDownConvert/DownConvert.cpp
r540 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/TAppDownConvert/DownConvert.h
r540 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/TAppDownConvert/TAppDownConvert.cpp
r540 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r574 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 104 104 #if SVC_EXTENSION 105 105 free(m_pBitstreamFile); 106 #else 107 free(m_pchBitstreamFile); 106 #else 108 107 if ( m_aidQP ) 109 108 { … … 126 125 } 127 126 free(m_pchInputFile); 127 free(m_pchBitstreamFile); 128 128 #endif 129 129 #if !SVC_EXTENSION … … 626 626 ("FrameRate,-fr", m_iFrameRate, 0, "Frame rate") 627 627 #endif //SVC_EXTENSION 628 ("FrameSkip,-fs", m_FrameSkip, 0u, "Number of frames to skip at start of input YUV") 629 ("FramesToBeEncoded,f", m_framesToBeEncoded, 0, "Number of frames to be encoded (default=all)") 628 630 629 631 //Field coding parameters 630 632 ("FieldCoding", m_isField, false, "Signals if it's a field based coding") 631 633 ("TopFieldFirst, Tff", m_isTopFieldFirst, false, "In case of field based coding, signals whether if it's a top field first or not") 632 ("FrameSkip,-fs", m_FrameSkip, 0u, "Number of frames to skip at start of input YUV") 633 ("FramesToBeEncoded,f", m_framesToBeEncoded, 0, "Number of frames to be encoded (default=all)") 634 634 635 // Profile and level 635 636 ("Profile", m_profile, Profile::NONE, "Profile to be used when encoding (Incomplete)") … … 741 742 ("RDOQTS", m_useRDOQTS, true ) 742 743 ("RDpenalty", m_rdPenalty, 0, "RD-penalty for 32x32 TU for intra in non-intra slices. 0:disbaled 1:RD-penalty 2:maximum RD-penalty") 743 // Entropy coding parameters744 ("SBACRD", m_bUseSBACRD, true, "SBAC based RD estimation")745 744 746 745 // Deblocking filter parameters … … 759 758 ("MaxNumOffsetsPerPic", m_maxNumOffsetsPerPic, 2048, "Max number of SAO offset per picture (Default: 2048)") 760 759 ("SAOLcuBoundary", m_saoLcuBoundary, false, "0: right/bottom LCU boundary areas skipped from SAO parameter estimation, 1: non-deblocked pixels are used for those areas") 761 #if !HM_CLEANUP_SAO762 ("SAOLcuBasedOptimization", m_saoLcuBasedOptimization, true, "0: SAO picture-based optimization, 1: SAO LCU-based optimization ")763 #endif764 760 ("SliceMode", m_sliceMode, 0, "0: Disable all Recon slice limits, 1: Enforce max # of LCUs, 2: Enforce max # of bytes, 3:specify tiles per dependent slice") 765 761 ("SliceArgument", m_sliceArgument, 0, "Depending on SliceMode being:" … … 781 777 ("PCMInputBitDepthFlag", m_bPCMInputBitDepthFlag, true) 782 778 ("PCMFilterDisableFlag", m_bPCMFilterDisableFlag, false) 783 784 ("LosslessCuEnabled", m_useLossless, false)785 779 786 780 ("WeightedPredP,-wpP", m_useWeightedPred, false, "Use weighted prediction in P slices") … … 834 828 835 829 ("TransquantBypassEnableFlag", m_TransquantBypassEnableFlag, false, "transquant_bypass_enable_flag indicator in PPS") 836 ("CUTransquantBypassFlag Value", m_CUTransquantBypassFlagValue, false, "Fixed cu_transquant_bypass_flag value, when transquant_bypass_enable_flag is enabled")830 ("CUTransquantBypassFlagForce", m_CUTransquantBypassFlagForce, false, "Force transquant bypass mode, when transquant_bypass_enable_flag is enabled") 837 831 ("RecalculateQPAccordingToLambda", m_recalculateQPAccordingToLambda, false, "Recalculate QP values according to lambda values. Do not suggest to be enabled in all intra case") 838 832 ("StrongIntraSmoothing,-sis", m_useStrongIntraSmoothing, true, "Enable strong intra smoothing for 32x32 blocks") … … 1952 1946 } 1953 1947 xConfirmPara(errorGOP,"Invalid GOP structure given"); 1954 1955 1948 m_maxTempLayer = 1; 1956 1949 for(Int i=0; i<m_iGOPSize; i++) … … 1960 1953 m_maxTempLayer = m_GOPList[i].m_temporalId+1; 1961 1954 } 1962 xConfirmPara(m_GOPList[i].m_sliceType!='B'&&m_GOPList[i].m_sliceType!='P' , "Slice type must be equal to B or P");1955 xConfirmPara(m_GOPList[i].m_sliceType!='B'&&m_GOPList[i].m_sliceType!='P'&&m_GOPList[i].m_sliceType!='I', "Slice type must be equal to B or P or I"); 1963 1956 } 1964 1957 for(Int i=0; i<MAX_TLAYER; i++) … … 1973 1966 m_maxDecPicBuffering[m_GOPList[i].m_temporalId] = m_GOPList[i].m_numRefPics + 1; 1974 1967 } 1975 1976 1968 Int highestDecodingNumberWithLowerPOC = 0; 1977 1969 for(Int j=0; j<m_iGOPSize; j++) … … 2158 2150 #endif 2159 2151 2160 xConfirmPara(!m_TransquantBypassEnableFlag && m_CUTransquantBypassFlag Value, "CUTransquantBypassFlagValue cannot be 1 when TransquantBypassEnableFlag is 0");2152 xConfirmPara(!m_TransquantBypassEnableFlag && m_CUTransquantBypassFlagForce, "CUTransquantBypassFlagForce cannot be 1 when TransquantBypassEnableFlag is 0"); 2161 2153 2162 2154 xConfirmPara(m_log2ParallelMergeLevel < 2, "Log2ParallelMergeLevel should be larger than or equal to 2"); … … 2440 2432 #endif 2441 2433 printf("HAD:%d ", m_bUseHADME ); 2442 printf("SRD:%d ", m_bUseSBACRD );2443 2434 printf("RDQ:%d ", m_useRDOQ ); 2444 2435 printf("RDQTS:%d ", m_useRDOQTS ); … … 2472 2463 printf("PCM:%d ", (m_usePCM && (1<<m_uiPCMLog2MinSize) <= m_uiMaxCUWidth)? 1 : 0); 2473 2464 #endif 2474 #if !HM_CLEANUP_SAO 2475 printf("SAOLcuBasedOptimization:%d ", (m_saoLcuBasedOptimization)?(1):(0)); 2476 #endif 2477 printf("LosslessCuEnabled:%d ", (m_useLossless)? 1:0 ); 2465 if (m_TransquantBypassEnableFlag && m_CUTransquantBypassFlagForce) 2466 { 2467 printf("TransQuantBypassEnabled: =1 "); 2468 } 2469 else 2470 { 2471 printf("TransQuantBypassEnabled:%d ", (m_TransquantBypassEnableFlag)? 1:0 ); 2472 } 2478 2473 printf("WPP:%d ", (Int)m_useWeightedPred); 2479 2474 printf("WPB:%d ", (Int)m_useWeightedBiPred); -
branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncCfg.h
r574 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 179 179 Bool m_bPCMInputBitDepthFlag; ///< 0: PCM bit-depth is internal bit-depth. 1: PCM bit-depth is input bit-depth. 180 180 181 // coding tool (lossless) 182 Bool m_useLossless; ///< flag for using lossless coding 181 // coding tool (SAO) 183 182 Bool m_bUseSAO; 184 183 Int m_maxNumOffsetsPerPic; ///< SAO maximun number of offset per picture 185 184 Bool m_saoLcuBoundary; ///< SAO parameter estimation using non-deblocked pixels for LCU bottom and right boundary areas 186 #if !HM_CLEANUP_SAO187 Bool m_saoLcuBasedOptimization; ///< SAO LCU-based optimization188 #endif189 185 // coding tools (loop filter) 190 186 Bool m_bLoopFilterDisable; ///< flag for using deblocking filter … … 202 198 203 199 // coding tools (encoder-only parameters) 204 Bool m_bUseSBACRD; ///< flag for using RD optimization based on SBAC205 200 Bool m_bUseASR; ///< flag for using adaptive motion search range 206 201 Bool m_bUseHADME; ///< flag for using HAD in sub-pel ME … … 307 302 308 303 Bool m_TransquantBypassEnableFlag; ///< transquant_bypass_enable_flag setting in PPS. 309 Bool m_CUTransquantBypassFlag Value; ///< if transquant_bypass_enable_flag, the fixed value to use for the per-CU cu_transquant_bypass_flag.304 Bool m_CUTransquantBypassFlagForce; ///< if transquant_bypass_enable_flag, then, if true, all CU transquant bypass flags will be set to true. 310 305 311 306 Bool m_recalculateQPAccordingToLambda; ///< recalculate QP value according to the lambda value -
branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncTop.cpp
r582 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 346 346 m_acTEncTop[layer].setUseAdaptQpSelect ( m_bUseAdaptQpSelect ); 347 347 #endif 348 349 Int lowestQP; 350 lowestQP = - 6*(g_bitDepthY - 8); // XXX: check 351 352 if ((m_iMaxDeltaQP == 0 ) && (m_acLayerCfg[layer].getIntQP() == lowestQP) && (m_useLossless == true)) 353 { 354 m_bUseAdaptiveQP = false; 355 } 348 356 349 m_acTEncTop[layer].setUseAdaptiveQP ( m_bUseAdaptiveQP ); 357 350 m_acTEncTop[layer].setQPAdaptationRange ( m_iQPAdaptationRange ); 358 351 359 //====== Tool list ======== 360 m_acTEncTop[layer].setUseSBACRD ( m_bUseSBACRD ); 352 //====== Tool list ======== 361 353 m_acTEncTop[layer].setDeltaQpRD ( m_uiDeltaQpRD ); 362 354 m_acTEncTop[layer].setUseASR ( m_bUseASR ); 363 m_acTEncTop[layer].setUseHADME ( m_bUseHADME ); 364 m_acTEncTop[layer].setUseLossless ( m_useLossless ); 355 m_acTEncTop[layer].setUseHADME ( m_bUseHADME ); 365 356 m_acTEncTop[layer].setdQPs ( m_acLayerCfg[layer].getdQPs() ); 366 357 m_acTEncTop[layer].setUseRDOQ ( m_useRDOQ ); … … 444 435 445 436 m_acTEncTop[layer].setSaoLcuBoundary (m_saoLcuBoundary); 446 #if !HM_CLEANUP_SAO447 m_acTEncTop[layer].setSaoLcuBasedOptimization (m_saoLcuBasedOptimization);448 #endif449 437 m_acTEncTop[layer].setPCMInputBitDepthFlag ( m_bPCMInputBitDepthFlag); 450 438 m_acTEncTop[layer].setPCMFilterDisableFlag ( m_bPCMFilterDisableFlag); … … 540 528 #endif 541 529 m_acTEncTop[layer].setTransquantBypassEnableFlag(m_TransquantBypassEnableFlag); 542 m_acTEncTop[layer].setCUTransquantBypassFlag Value(m_CUTransquantBypassFlagValue);530 m_acTEncTop[layer].setCUTransquantBypassFlagForceValue(m_CUTransquantBypassFlagForce); 543 531 m_acTEncTop[layer].setUseRecalculateQPAccordingToLambda( m_recalculateQPAccordingToLambda ); 544 532 m_acTEncTop[layer].setUseStrongIntraSmoothing( m_useStrongIntraSmoothing ); … … 680 668 #endif 681 669 682 Int lowestQP;683 lowestQP = - 6*(g_bitDepthY - 8); // XXX: check684 685 if ((m_iMaxDeltaQP == 0 ) && (m_iQP == lowestQP) && (m_useLossless == true))686 {687 m_bUseAdaptiveQP = false;688 }689 670 m_cTEncTop.setUseAdaptiveQP ( m_bUseAdaptiveQP ); 690 671 m_cTEncTop.setQPAdaptationRange ( m_iQPAdaptationRange ); 691 672 692 673 //====== Tool list ======== 693 m_cTEncTop.setUseSBACRD ( m_bUseSBACRD );694 674 m_cTEncTop.setDeltaQpRD ( m_uiDeltaQpRD ); 695 675 m_cTEncTop.setUseASR ( m_bUseASR ); 696 676 m_cTEncTop.setUseHADME ( m_bUseHADME ); 697 m_cTEncTop.setUseLossless ( m_useLossless );698 677 m_cTEncTop.setdQPs ( m_aidQP ); 699 678 m_cTEncTop.setUseRDOQ ( m_useRDOQ ); … … 758 737 759 738 m_cTEncTop.setSaoLcuBoundary (m_saoLcuBoundary); 760 #if !HM_CLEANUP_SAO761 m_cTEncTop.setSaoLcuBasedOptimization (m_saoLcuBasedOptimization);762 #endif763 739 m_cTEncTop.setPCMInputBitDepthFlag ( m_bPCMInputBitDepthFlag); 764 740 m_cTEncTop.setPCMFilterDisableFlag ( m_bPCMFilterDisableFlag); … … 836 812 m_cTEncTop.setForceIntraQP ( m_RCForceIntraQP ); 837 813 m_cTEncTop.setTransquantBypassEnableFlag(m_TransquantBypassEnableFlag); 838 m_cTEncTop.setCUTransquantBypassFlag Value(m_CUTransquantBypassFlagValue);814 m_cTEncTop.setCUTransquantBypassFlagForceValue(m_CUTransquantBypassFlagForce); 839 815 m_cTEncTop.setUseRecalculateQPAccordingToLambda( m_recalculateQPAccordingToLambda ); 840 816 m_cTEncTop.setUseStrongIntraSmoothing( m_useStrongIntraSmoothing ); -
branches/SHM-5.0-dev/source/App/TAppEncoder/TAppEncTop.h
r442 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/TAppEncoder/encmain.cpp
r313 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 3, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/ExtractBitrates.cpp
r313 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 2, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/ExtractBitrates.h
r313 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 2, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/ExtractBitratesMain.cpp
r313 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 2, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/GuessLambdaModifiers.cpp
r313 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 2, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/GuessLambdaModifiers.h
r313 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 2, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/GuessLambdaModifiersMain.cpp
r313 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 2, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/RuntimeError.h
r313 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 2, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/encode.shl
r125 r593 4 4 # granted under this license. 5 5 # 6 # Copyright (c) 2010-201 2, ITU/ISO/IEC6 # Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 # All rights reserved. 8 8 # -
branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/encodeCommand.sh
r125 r593 6 6 # granted under this license. 7 7 # 8 # Copyright (c) 2010-201 2, ITU/ISO/IEC8 # Copyright (c) 2010-2014, ITU/ISO/IEC 9 9 # All rights reserved. 10 10 # -
branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/makefile
r125 r593 4 4 # granted under this license. 5 5 # 6 # Copyright (c) 2010-201 2, ITU/ISO/IEC6 # Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 # All rights reserved. 8 8 # -
branches/SHM-5.0-dev/source/App/utils/BitrateTargeting/targetBitrates.sh
r125 r593 6 6 # granted under this license. 7 7 # 8 # Copyright (c) 2010-201 2, ITU/ISO/IEC8 # Copyright (c) 2010-2014, ITU/ISO/IEC 9 9 # All rights reserved. 10 10 # -
branches/SHM-5.0-dev/source/App/utils/annexBbytecount.cpp
r313 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 2, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * -
branches/SHM-5.0-dev/source/App/utils/convert_NtoMbit_YCbCr.cpp
r494 r593 4 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-201 2, ITU/ISO/IEC6 * Copyright (c) 2010-2014, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 *
Note: See TracChangeset for help on using the changeset viewer.