Changeset 593 in SHVCSoftware for branches/SHM-5.0-dev/source/Lib/TLibEncoder/TEncCfg.h
- Timestamp:
- 2 Feb 2014, 04:51:29 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-5.0-dev/source/Lib/TLibEncoder/TEncCfg.h
r567 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 * … … 91 91 92 92 std::istringstream &operator>>(std::istringstream &in, GOPEntry &entry); //input 93 94 #if REPN_FORMAT_IN_VPS95 struct RepFormatCfg96 {97 Int m_chromaFormatIdc;98 Bool m_separateColourPlaneFlag;99 Int m_picWidthInLumaSamples;100 Int m_picHeightInLumaSamples;101 Int m_bitDepthLuma;102 Int m_bitDepthChroma;103 RepFormatCfg()104 : m_chromaFormatIdc (CHROMA_420)105 , m_separateColourPlaneFlag (0)106 , m_picWidthInLumaSamples (352)107 , m_picHeightInLumaSamples (288)108 , m_bitDepthLuma (8)109 , m_bitDepthChroma (8)110 {}111 };112 std::istringstream &operator>>(std::istringstream &in, RepFormatCfg &repFormatCfg);113 #endif114 115 93 //! \ingroup TLibEncoder 116 94 //! \{ … … 162 140 Int m_maxTempLayer; ///< Max temporal layer 163 141 Bool m_useAMP; 164 #if VPS_EXTN_DIRECT_REF_LAYERS165 Int m_numDirectRefLayers;166 Int m_refLayerId[MAX_VPS_LAYER_ID_PLUS1];167 168 Int m_numActiveRefLayers;169 Int m_predLayerId[MAX_VPS_LAYER_ID_PLUS1];170 Int m_numSamplePredRefLayers;171 Int m_samplePredRefLayerId[MAX_VPS_LAYER_ID_PLUS1];172 Int m_numMotionPredRefLayers;173 Int m_motionPredRefLayerId[MAX_VPS_LAYER_ID_PLUS1];174 Bool m_samplePredEnabledFlag[MAX_VPS_LAYER_ID_PLUS1];175 Bool m_motionPredEnabledFlag[MAX_VPS_LAYER_ID_PLUS1];176 #endif177 #if N0120_MAX_TID_REF_CFG178 Int m_maxTidIlRefPicsPlus1;179 #endif180 142 //======= Transform ============= 181 143 UInt m_uiQuadtreeTULog2MaxSize; … … 194 156 Int m_maxNumOffsetsPerPic; 195 157 Bool m_saoLcuBoundary; 196 #if !HM_CLEANUP_SAO197 Bool m_saoLcuBasedOptimization;198 #endif199 //====== Lossless ========200 Bool m_useLossless;201 158 //====== Motion search ======== 202 159 Int m_iFastSearch; // 0:Full search 1:Diamond 2:PMVFAST … … 210 167 Int m_chromaCbQpOffset; // Chroma Cb QP Offset (0:default) 211 168 Int m_chromaCrQpOffset; // Chroma Cr Qp Offset (0:default) 212 #if AUXILIARY_PICTURES213 ChromaFormat m_chromaFormatIDC;214 #endif215 169 216 170 #if ADAPTIVE_QP_SELECTION … … 222 176 223 177 //====== Tool list ======== 224 Bool m_bUseSBACRD;225 178 Bool m_bUseASR; 226 179 Bool m_bUseHADME; … … 233 186 Bool m_bUseCbfFastMode; 234 187 Bool m_useEarlySkipDetection; 235 #if FAST_INTRA_SHVC236 Bool m_useFastIntraScalable;237 #endif238 188 Bool m_useTransformSkip; 239 189 Bool m_useTransformSkipFast; … … 305 255 Int m_gradualDecodingRefreshInfoEnabled; 306 256 Int m_decodingUnitInfoSEIEnabled; 307 #if LAYERS_NOT_PRESENT_SEI308 Int m_layersNotPresentSEIEnabled;309 #endif310 257 Int m_SOPDescriptionSEIEnabled; 311 258 Int m_scalableNestingSEIEnabled; 312 #if N0383_IL_CONSTRAINED_TILE_SETS_SEI313 Bool m_interLayerConstrainedTileSetsSEIEnabled;314 UInt m_ilNumSetsInMessage;315 Bool m_skippedTileSetPresentFlag;316 UInt m_topLeftTileIndex[1024];317 UInt m_bottomRightTileIndex[1024];318 UInt m_ilcIdc[1024];319 #endif320 259 //====== Weighted Prediction ======== 321 260 Bool m_useWeightedPred; //< Use of Weighting Prediction (P_SLICE) … … 335 274 Bool m_RCForceIntraQP; 336 275 Bool m_TransquantBypassEnableFlag; ///< transquant_bypass_enable_flag setting in PPS. 337 Bool m_CUTransquantBypassFlag Value; ///< if transquant_bypass_enable_flag, the fixed value to use for the per-CU cu_transquant_bypass_flag.276 Bool m_CUTransquantBypassFlagForce; ///< if transquant_bypass_enable_flag, then, if true, all CU transquant bypass flags will be set to true. 338 277 #if SVC_EXTENSION 339 static TComVPS 278 static TComVPS m_cVPS; 340 279 #else 341 280 TComVPS m_cVPS; … … 391 330 Bool m_crossLayerBLAFlag; 392 331 #endif 393 #endif 332 #if VPS_EXTN_DIRECT_REF_LAYERS 333 Int m_numDirectRefLayers; 334 Int m_refLayerId[MAX_VPS_LAYER_ID_PLUS1]; 335 336 Int m_numActiveRefLayers; 337 Int m_predLayerId[MAX_VPS_LAYER_ID_PLUS1]; 338 Int m_numSamplePredRefLayers; 339 Int m_samplePredRefLayerId[MAX_VPS_LAYER_ID_PLUS1]; 340 Int m_numMotionPredRefLayers; 341 Int m_motionPredRefLayerId[MAX_VPS_LAYER_ID_PLUS1]; 342 Bool m_samplePredEnabledFlag[MAX_VPS_LAYER_ID_PLUS1]; 343 Bool m_motionPredEnabledFlag[MAX_VPS_LAYER_ID_PLUS1]; 344 #endif 345 #if N0120_MAX_TID_REF_CFG 346 Int m_maxTidIlRefPicsPlus1; 347 #endif 348 #if AUXILIARY_PICTURES 349 ChromaFormat m_chromaFormatIDC; 350 #endif 351 #if FAST_INTRA_SHVC 352 Bool m_useFastIntraScalable; 353 #endif 354 #if LAYERS_NOT_PRESENT_SEI 355 Int m_layersNotPresentSEIEnabled; 356 #endif 357 #if N0383_IL_CONSTRAINED_TILE_SETS_SEI 358 Bool m_interLayerConstrainedTileSetsSEIEnabled; 359 UInt m_ilNumSetsInMessage; 360 Bool m_skippedTileSetPresentFlag; 361 UInt m_topLeftTileIndex[1024]; 362 UInt m_bottomRightTileIndex[1024]; 363 UInt m_ilcIdc[1024]; 364 #endif 365 #endif //SVC_EXTENSION 394 366 395 367 public: … … 437 409 Bool getMaxTempLayer () { return m_maxTempLayer; } 438 410 Void setMaxTempLayer ( Int maxTempLayer ) { m_maxTempLayer = maxTempLayer; } 439 #if VPS_EXTN_DIRECT_REF_LAYERS440 Int getNumDirectRefLayers () { return m_numDirectRefLayers; }441 Void setNumDirectRefLayers (Int num) { m_numDirectRefLayers = num; }442 443 Int getRefLayerId (Int i) { return m_refLayerId[i]; }444 Void setRefLayerId (Int i, Int refLayerId) { m_refLayerId[i] = refLayerId; }445 446 Int getNumActiveRefLayers () { return m_numActiveRefLayers; }447 Void setNumActiveRefLayers (Int num) { m_numActiveRefLayers = num; }448 449 Int getPredLayerId (Int i) { return m_predLayerId[i]; }450 Void setPredLayerId (Int i, Int refLayerId) { m_predLayerId[i] = refLayerId; }451 452 Int getNumSamplePredRefLayers () { return m_numSamplePredRefLayers; }453 Void setNumSamplePredRefLayers (Int num) { m_numSamplePredRefLayers = num; }454 455 Int getSamplePredRefLayerId (Int i) { return m_samplePredRefLayerId[i]; }456 Void setSamplePredRefLayerId (Int i, Int refLayerId) { m_samplePredRefLayerId[i] = refLayerId; }457 458 Int getNumMotionPredRefLayers () { return m_numMotionPredRefLayers; }459 Void setNumMotionPredRefLayers (Int num) { m_numMotionPredRefLayers = num; }460 461 Int getMotionPredRefLayerId (Int i) { return m_motionPredRefLayerId[i]; }462 Void setMotionPredRefLayerId (Int i, Int refLayerId) { m_motionPredRefLayerId[i] = refLayerId; }463 464 Bool getSamplePredEnabledFlag (Int i) { return m_samplePredEnabledFlag[i]; }465 Void setSamplePredEnabledFlag (Int i,Bool flag) { m_samplePredEnabledFlag[i] = flag; }466 467 Bool getMotionPredEnabledFlag (Int i) { return m_motionPredEnabledFlag[i]; }468 Void setMotionPredEnabledFlag (Int i,Bool flag) { m_motionPredEnabledFlag[i] = flag; }469 #endif470 #if N0120_MAX_TID_REF_CFG471 Int getMaxTidIlRefPicsPlus1 () { return m_maxTidIlRefPicsPlus1; }472 Void setMaxTidIlRefPicsPlus1 (Int num) { m_maxTidIlRefPicsPlus1 = num; }473 #endif474 411 //======== Transform ============= 475 412 Void setQuadtreeTULog2MaxSize ( UInt u ) { m_uiQuadtreeTULog2MaxSize = u; } … … 508 445 Void setQPAdaptationRange ( Int i ) { m_iQPAdaptationRange = i; } 509 446 510 //====== Lossless ========511 Void setUseLossless (Bool b ) { m_useLossless = b; }512 447 //====== Sequence ======== 513 448 Int getFrameRate () { return m_iFrameRate; } … … 552 487 Bool getUseAdaptiveQP () { return m_bUseAdaptiveQP; } 553 488 Int getQPAdaptationRange () { return m_iQPAdaptationRange; } 554 //====== Lossless ========555 Bool getUseLossless () { return m_useLossless; }556 489 557 490 //==== Tool list ======== 558 Void setUseSBACRD ( Bool b ) { m_bUseSBACRD = b; }559 491 Void setUseASR ( Bool b ) { m_bUseASR = b; } 560 492 Void setUseHADME ( Bool b ) { m_bUseHADME = b; } … … 567 499 Void setUseCbfFastMode ( Bool b ) { m_bUseCbfFastMode = b; } 568 500 Void setUseEarlySkipDetection ( Bool b ) { m_useEarlySkipDetection = b; } 569 #if FAST_INTRA_SHVC570 Void setUseFastIntraScalable ( Bool b ) { m_useFastIntraScalable = b; }571 #endif572 501 Void setUseConstrainedIntraPred ( Bool b ) { m_bUseConstrainedIntraPred = b; } 573 502 Void setPCMInputBitDepthFlag ( Bool b ) { m_bPCMInputBitDepthFlag = b; } … … 578 507 Void setdQPs ( Int* p ) { m_aidQP = p; } 579 508 Void setDeltaQpRD ( UInt u ) {m_uiDeltaQpRD = u; } 580 Bool getUseSBACRD () { return m_bUseSBACRD; }581 509 Bool getUseASR () { return m_bUseASR; } 582 510 Bool getUseHADME () { return m_bUseHADME; } … … 589 517 Bool getUseCbfFastMode () { return m_bUseCbfFastMode; } 590 518 Bool getUseEarlySkipDetection () { return m_useEarlySkipDetection; } 591 #if FAST_INTRA_SHVC592 Bool getUseFastIntraScalable () { return m_useFastIntraScalable; }593 #endif594 519 Bool getUseConstrainedIntraPred () { return m_bUseConstrainedIntraPred; } 595 520 Bool getPCMInputBitDepthFlag () { return m_bPCMInputBitDepthFlag; } … … 625 550 Void setSaoLcuBoundary (Bool val) { m_saoLcuBoundary = val; } 626 551 Bool getSaoLcuBoundary () { return m_saoLcuBoundary; } 627 #if !HM_CLEANUP_SAO628 Void setSaoLcuBasedOptimization (Bool val) { m_saoLcuBasedOptimization = val; }629 Bool getSaoLcuBasedOptimization () { return m_saoLcuBasedOptimization; }630 #endif631 552 Void setLFCrossTileBoundaryFlag ( Bool val ) { m_loopFilterAcrossTilesEnabledFlag = val; } 632 553 Bool getLFCrossTileBoundaryFlag () { return m_loopFilterAcrossTilesEnabledFlag; } … … 748 669 Void setDecodingUnitInfoSEIEnabled(Int b) { m_decodingUnitInfoSEIEnabled = b; } 749 670 Int getDecodingUnitInfoSEIEnabled() { return m_decodingUnitInfoSEIEnabled; } 750 #if LAYERS_NOT_PRESENT_SEI751 Void setLayersNotPresentSEIEnabled(Int b) { m_layersNotPresentSEIEnabled = b; }752 Int getLayersNotPresentSEIEnabled() { return m_layersNotPresentSEIEnabled; }753 #endif754 671 Void setSOPDescriptionSEIEnabled(Int b) { m_SOPDescriptionSEIEnabled = b; } 755 672 Int getSOPDescriptionSEIEnabled() { return m_SOPDescriptionSEIEnabled; } 756 673 Void setScalableNestingSEIEnabled(Int b) { m_scalableNestingSEIEnabled = b; } 757 674 Int getScalableNestingSEIEnabled() { return m_scalableNestingSEIEnabled; } 758 #if N0383_IL_CONSTRAINED_TILE_SETS_SEI759 Void setInterLayerConstrainedTileSetsSEIEnabled(Bool b) { m_interLayerConstrainedTileSetsSEIEnabled = b; }760 Bool getInterLayerConstrainedTileSetsSEIEnabled() { return m_interLayerConstrainedTileSetsSEIEnabled; }761 Void setIlNumSetsInMessage(UInt b) { m_ilNumSetsInMessage = b; }762 Int getIlNumSetsInMessage() { return m_ilNumSetsInMessage; }763 Void setSkippedTileSetPresentFlag(Bool b) { m_skippedTileSetPresentFlag = b; }764 Bool getSkippedTileSetPresentFlag() { return m_skippedTileSetPresentFlag; }765 Void setTopLeftTileIndex(UInt *b)766 {767 for (UInt i = 0; i < m_ilNumSetsInMessage; i++)768 {769 m_topLeftTileIndex[i] = b[i];770 }771 }772 UInt getTopLeftTileIndex(UInt b) { return m_topLeftTileIndex[b]; }773 Void setBottomRightTileIndex(UInt *b)774 {775 for (UInt i = 0; i < m_ilNumSetsInMessage; i++)776 {777 m_bottomRightTileIndex[i] = b[i];778 }779 }780 UInt getBottomRightTileIndex(UInt b) { return m_bottomRightTileIndex[b]; }781 Void setIlcIdc(UInt *b)782 {783 for (UInt i = 0; i < m_ilNumSetsInMessage; i++)784 {785 m_ilcIdc[i] = b[i];786 }787 }788 UInt getIlcIdc(UInt b) { return m_ilcIdc[b]; }789 #endif790 675 Void setUseWP ( Bool b ) { m_useWeightedPred = b; } 791 676 Void setWPBiPred ( Bool b ) { m_useWeightedBiPred = b; } … … 820 705 Bool getTransquantBypassEnableFlag() { return m_TransquantBypassEnableFlag; } 821 706 Void setTransquantBypassEnableFlag(Bool flag) { m_TransquantBypassEnableFlag = flag; } 822 Bool getCUTransquantBypassFlag Value() { return m_CUTransquantBypassFlagValue; }823 Void setCUTransquantBypassFlag Value(Bool flag) { m_CUTransquantBypassFlagValue = flag; }707 Bool getCUTransquantBypassFlagForceValue() { return m_CUTransquantBypassFlagForce; } 708 Void setCUTransquantBypassFlagForceValue(Bool flag) { m_CUTransquantBypassFlagForce = flag; } 824 709 Void setVPS(TComVPS *p) { m_cVPS = *p; } 825 710 TComVPS *getVPS() { return &m_cVPS; } … … 934 819 Void setCrossLayerBLAFlag(Bool b) { m_crossLayerBLAFlag = b; } 935 820 #endif 821 #if FAST_INTRA_SHVC 822 Bool getUseFastIntraScalable () { return m_useFastIntraScalable; } 823 Void setUseFastIntraScalable ( Bool b ) { m_useFastIntraScalable = b; } 824 #endif 825 #if VPS_EXTN_DIRECT_REF_LAYERS 826 Int getNumDirectRefLayers () { return m_numDirectRefLayers; } 827 Void setNumDirectRefLayers (Int num) { m_numDirectRefLayers = num; } 828 829 Int getRefLayerId (Int i) { return m_refLayerId[i]; } 830 Void setRefLayerId (Int i, Int refLayerId) { m_refLayerId[i] = refLayerId; } 831 832 Int getNumActiveRefLayers () { return m_numActiveRefLayers; } 833 Void setNumActiveRefLayers (Int num) { m_numActiveRefLayers = num; } 834 835 Int getPredLayerId (Int i) { return m_predLayerId[i]; } 836 Void setPredLayerId (Int i, Int refLayerId) { m_predLayerId[i] = refLayerId; } 837 838 Int getNumSamplePredRefLayers () { return m_numSamplePredRefLayers; } 839 Void setNumSamplePredRefLayers (Int num) { m_numSamplePredRefLayers = num; } 840 841 Int getSamplePredRefLayerId (Int i) { return m_samplePredRefLayerId[i]; } 842 Void setSamplePredRefLayerId (Int i, Int refLayerId) { m_samplePredRefLayerId[i] = refLayerId; } 843 844 Int getNumMotionPredRefLayers () { return m_numMotionPredRefLayers; } 845 Void setNumMotionPredRefLayers (Int num) { m_numMotionPredRefLayers = num; } 846 847 Int getMotionPredRefLayerId (Int i) { return m_motionPredRefLayerId[i]; } 848 Void setMotionPredRefLayerId (Int i, Int refLayerId) { m_motionPredRefLayerId[i] = refLayerId; } 849 850 Bool getSamplePredEnabledFlag (Int i) { return m_samplePredEnabledFlag[i]; } 851 Void setSamplePredEnabledFlag (Int i,Bool flag) { m_samplePredEnabledFlag[i] = flag; } 852 853 Bool getMotionPredEnabledFlag (Int i) { return m_motionPredEnabledFlag[i]; } 854 Void setMotionPredEnabledFlag (Int i,Bool flag) { m_motionPredEnabledFlag[i] = flag; } 855 #endif 856 #if N0120_MAX_TID_REF_CFG 857 Int getMaxTidIlRefPicsPlus1 () { return m_maxTidIlRefPicsPlus1; } 858 Void setMaxTidIlRefPicsPlus1 (Int num) { m_maxTidIlRefPicsPlus1 = num; } 859 #endif 860 #if LAYERS_NOT_PRESENT_SEI 861 Void setLayersNotPresentSEIEnabled(Int b) { m_layersNotPresentSEIEnabled = b; } 862 Int getLayersNotPresentSEIEnabled() { return m_layersNotPresentSEIEnabled; } 863 #endif 864 #if N0383_IL_CONSTRAINED_TILE_SETS_SEI 865 Void setInterLayerConstrainedTileSetsSEIEnabled(Bool b) { m_interLayerConstrainedTileSetsSEIEnabled = b; } 866 Bool getInterLayerConstrainedTileSetsSEIEnabled() { return m_interLayerConstrainedTileSetsSEIEnabled; } 867 Void setIlNumSetsInMessage(UInt b) { m_ilNumSetsInMessage = b; } 868 Int getIlNumSetsInMessage() { return m_ilNumSetsInMessage; } 869 Void setSkippedTileSetPresentFlag(Bool b) { m_skippedTileSetPresentFlag = b; } 870 Bool getSkippedTileSetPresentFlag() { return m_skippedTileSetPresentFlag; } 871 Void setTopLeftTileIndex(UInt *b) 872 { 873 for (UInt i = 0; i < m_ilNumSetsInMessage; i++) 874 { 875 m_topLeftTileIndex[i] = b[i]; 876 } 877 } 878 UInt getTopLeftTileIndex(UInt b) { return m_topLeftTileIndex[b]; } 879 Void setBottomRightTileIndex(UInt *b) 880 { 881 for (UInt i = 0; i < m_ilNumSetsInMessage; i++) 882 { 883 m_bottomRightTileIndex[i] = b[i]; 884 } 885 } 886 UInt getBottomRightTileIndex(UInt b) { return m_bottomRightTileIndex[b]; } 887 Void setIlcIdc(UInt *b) 888 { 889 for (UInt i = 0; i < m_ilNumSetsInMessage; i++) 890 { 891 m_ilcIdc[i] = b[i]; 892 } 893 } 894 UInt getIlcIdc(UInt b) { return m_ilcIdc[b]; } 895 #endif 936 896 #endif 937 897 }; 938 898 899 #if SVC_EXTENSION 900 #if REPN_FORMAT_IN_VPS 901 struct RepFormatCfg 902 { 903 Int m_chromaFormatIdc; 904 Bool m_separateColourPlaneFlag; 905 Int m_picWidthInLumaSamples; 906 Int m_picHeightInLumaSamples; 907 Int m_bitDepthLuma; 908 Int m_bitDepthChroma; 909 RepFormatCfg() 910 : m_chromaFormatIdc (CHROMA_420) 911 , m_separateColourPlaneFlag (0) 912 , m_picWidthInLumaSamples (352) 913 , m_picHeightInLumaSamples (288) 914 , m_bitDepthLuma (8) 915 , m_bitDepthChroma (8) 916 {} 917 }; 918 std::istringstream &operator>>(std::istringstream &in, RepFormatCfg &repFormatCfg); 919 #endif 920 #endif //SVC_EXTENSION 921 939 922 //! \} 940 923
Note: See TracChangeset for help on using the changeset viewer.