- Timestamp:
- 17 Feb 2016, 23:26:22 (9 years ago)
- Location:
- branches/SHM-dev/source
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp
r1524 r1526 790 790 Bool* cfg_bUseSAO[MAX_LAYERS]; 791 791 792 #if PER_LAYER_LOSSLESS 793 Bool* cfg_TransquantBypassEnableFlag[MAX_LAYERS]; 794 Bool* cfg_CUTransquantBypassFlagForce[MAX_LAYERS]; 795 CostMode* cfg_costMode[MAX_LAYERS]; 796 #endif 797 792 798 for( UInt layer = 0; layer < m_numLayers; layer++ ) 793 799 { … … 890 896 891 897 cfg_bUseSAO[layer] = &m_apcLayerCfg[layer]->m_bUseSAO; 898 899 #if PER_LAYER_LOSSLESS 900 cfg_TransquantBypassEnableFlag[layer] = &m_apcLayerCfg[layer]->m_TransquantBypassEnableFlag; 901 cfg_CUTransquantBypassFlagForce[layer] = &m_apcLayerCfg[layer]->m_CUTransquantBypassFlagForce; 902 cfg_costMode[layer] = &m_apcLayerCfg[layer]->m_costMode; 903 #endif 892 904 } 893 905 … … 1420 1432 #endif 1421 1433 1434 #if PER_LAYER_LOSSLESS 1435 ("TransquantBypassEnableFlag%d", cfg_TransquantBypassEnableFlag, false, m_numLayers, "transquant_bypass_enable_flag indicator in PPS") 1436 ("CUTransquantBypassFlagForce%d", cfg_CUTransquantBypassFlagForce, false, m_numLayers, "Force transquant bypass mode, when transquant_bypass_enable_flag is enabled") 1437 ("CostMode%d", cfg_costMode, COST_STANDARD_LOSSY, m_numLayers, "Use alternative cost functions: choose between 'lossy', 'sequence_level_lossless', 'lossless' (which forces QP to " MACRO_TO_STRING(LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP) ") and 'mixed_lossless_lossy' (which used QP'=" MACRO_TO_STRING(LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP_PRIME) " for pre-estimates of transquant-bypass blocks).") 1438 #else 1422 1439 ("TransquantBypassEnableFlag", m_TransquantBypassEnableFlag, false, "transquant_bypass_enable_flag indicator in PPS") 1423 1440 ("CUTransquantBypassFlagForce", m_CUTransquantBypassFlagForce, false, "Force transquant bypass mode, when transquant_bypass_enable_flag is enabled") 1424 1441 ("CostMode", m_costMode, COST_STANDARD_LOSSY, "Use alternative cost functions: choose between 'lossy', 'sequence_level_lossless', 'lossless' (which forces QP to " MACRO_TO_STRING(LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP) ") and 'mixed_lossless_lossy' (which used QP'=" MACRO_TO_STRING(LOSSLESS_AND_MIXED_LOSSLESS_RD_COST_TEST_QP_PRIME) " for pre-estimates of transquant-bypass blocks).") 1442 #endif 1425 1443 ("RecalculateQPAccordingToLambda", m_recalculateQPAccordingToLambda, false, "Recalculate QP values according to lambda values. Do not suggest to be enabled in all intra case") 1426 1444 ("StrongIntraSmoothing,-sis", m_useStrongIntraSmoothing, true, "Enable strong intra smoothing for 32x32 blocks") … … 3099 3117 Int& m_extraRPSs = m_apcLayerCfg[layerIdx]->m_extraRPSs; 3100 3118 GOPEntry* m_GOPList = m_apcLayerCfg[layerIdx]->m_GOPList; 3119 3120 #if PER_LAYER_LOSSLESS 3121 Bool& m_CUTransquantBypassFlagForce = m_apcLayerCfg[layerIdx]->m_CUTransquantBypassFlagForce; 3122 #endif 3101 3123 #else 3102 3124 Void TAppEncCfg::xCheckParameter() … … 3947 3969 } 3948 3970 #endif 3949 3971 3972 #if PER_LAYER_LOSSLESS 3973 xConfirmPara(!m_apcLayerCfg[layerIdx]->m_TransquantBypassEnableFlag && m_apcLayerCfg[layerIdx]->m_CUTransquantBypassFlagForce, "CUTransquantBypassFlagForce cannot be 1 when TransquantBypassEnableFlag is 0"); 3974 #else 3950 3975 xConfirmPara(!m_TransquantBypassEnableFlag && m_CUTransquantBypassFlagForce, "CUTransquantBypassFlagForce cannot be 1 when TransquantBypassEnableFlag is 0"); 3976 #endif 3951 3977 3952 3978 xConfirmPara(m_log2ParallelMergeLevel < 2, "Log2ParallelMergeLevel should be larger than or equal to 2"); … … 4163 4189 UInt& m_RCCpbSize = m_apcLayerCfg[layerIdx]->m_RCCpbSize; 4164 4190 Double& m_RCInitialCpbFullness = m_apcLayerCfg[layerIdx]->m_RCInitialCpbFullness; 4191 #endif 4192 4193 #if PER_LAYER_LOSSLESS 4194 CostMode& m_costMode = m_apcLayerCfg[layerIdx]->m_costMode; 4165 4195 #endif 4166 4196 … … 4449 4479 printf("PCM:%d ", (m_usePCM && (1<<m_uiPCMLog2MinSize) <= m_uiMaxCUWidth)? 1 : 0); 4450 4480 4481 #if PER_LAYER_LOSSLESS 4482 if (m_apcLayerCfg[layer]->m_TransquantBypassEnableFlag && m_apcLayerCfg[layer]->m_CUTransquantBypassFlagForce) 4483 { 4484 printf("TransQuantBypassEnabled: =1"); 4485 } 4486 else 4487 { 4488 printf("TransQuantBypassEnabled:%d ", (m_apcLayerCfg[layer]->m_TransquantBypassEnableFlag)? 1:0 ); 4489 } 4490 #else 4451 4491 if (m_TransquantBypassEnableFlag && m_CUTransquantBypassFlagForce) 4452 4492 { … … 4457 4497 printf("TransQuantBypassEnabled:%d ", (m_TransquantBypassEnableFlag)? 1:0 ); 4458 4498 } 4499 #endif 4459 4500 4460 4501 printf("WPP:%d ", (Int)m_useWeightedPred); -
branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h
r1524 r1526 466 466 #endif 467 467 468 #if !PER_LAYER_LOSSLESS 468 469 Bool m_TransquantBypassEnableFlag; ///< transquant_bypass_enable_flag setting in PPS. 469 470 Bool m_CUTransquantBypassFlagForce; ///< if transquant_bypass_enable_flag, then, if true, all CU transquant bypass flags will be set to true. 470 471 CostMode m_costMode; ///< Cost mode to use 472 #endif 471 473 472 474 Bool m_recalculateQPAccordingToLambda; ///< recalculate QP value according to the lambda value -
branches/SHM-dev/source/App/TAppEncoder/TAppEncLayerCfg.h
r1475 r1526 100 100 Bool m_bUseSAO; 101 101 102 #if PER_LAYER_LOSSLESS 103 Bool m_TransquantBypassEnableFlag; 104 Bool m_CUTransquantBypassFlagForce; 105 CostMode m_costMode; 106 #endif 107 102 108 ScalingListMode m_useScalingListId; ///< using quantization matrix 103 109 std::string m_scalingListFileName; ///< quantization matrix file name -
branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp
r1524 r1526 534 534 535 535 string& m_colourRemapSEIFileRoot = m_apcLayerCfg[layer]->m_colourRemapSEIFileRoot; 536 #if PER_LAYER_LOSSLESS 537 Bool& m_TransquantBypassEnableFlag = m_apcLayerCfg[layer]->m_TransquantBypassEnableFlag; 538 Bool& m_CUTransquantBypassFlagForce = m_apcLayerCfg[layer]->m_CUTransquantBypassFlagForce; 539 CostMode& m_costMode = m_apcLayerCfg[layer]->m_costMode; 540 #endif 536 541 #endif 537 542 -
branches/SHM-dev/source/Lib/TLibCommon/TypeDef.h
r1517 r1526 48 48 49 49 #if SVC_EXTENSION 50 #define PER_LAYER_LOSSLESS 1 50 51 #define SCALABLE_REXT 1 ///< enabling scalable RExt profiles, for bit-depth greater than 10 consider to enable RExt__HIGH_BIT_DEPTH_SUPPORT 51 52
Note: See TracChangeset for help on using the changeset viewer.