Changeset 534 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComSlice.h
- Timestamp:
- 13 Jul 2013, 10:26:41 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComSlice.h
r532 r534 487 487 UInt m_numHrdParameters; 488 488 #if H_MV 489 UInt m_max NuhLayerId;489 UInt m_maxLayerId; 490 490 #else 491 491 UInt m_maxNuhReservedZeroLayerId; … … 494 494 UInt* m_hrdOpSetIdx; 495 495 Bool* m_cprmsPresentFlag; 496 UInt m_numOpSets; 497 #if H_MV 496 #if H_MV 497 UInt m_vpsNumLayerSetsMinus1; 498 498 Bool m_layerIdIncludedFlag[MAX_VPS_OP_SETS_PLUS1][MAX_VPS_NUH_LAYER_ID_PLUS1]; 499 499 #else 500 UInt m_numOpSets; 500 501 Bool m_layerIdIncludedFlag[MAX_VPS_OP_SETS_PLUS1][MAX_VPS_NUH_RESERVED_ZERO_LAYER_ID_PLUS1]; 501 502 #endif … … 514 515 515 516 #if H_MV 517 /// VPS EXTENSION SYNTAX ELEMENTS 516 518 Bool m_avcBaseLayerFlag; 517 519 Bool m_splittingFlag; … … 520 522 Bool m_vpsNuhLayerIdPresentFlag; 521 523 Int m_layerIdInNuh [MAX_NUM_LAYER_IDS]; 524 Int m_dimensionId [MAX_NUM_LAYER_IDS][MAX_NUM_SCALABILITY_TYPES]; 525 Bool m_directDependencyFlag [MAX_NUM_LAYER_IDS][MAX_NUM_LAYER_IDS]; 526 Int m_maxTidIlRefPicPlus1 [MAX_NUM_LAYERS]; 527 Int m_vpsNumberLayerSetsMinus1; 528 Int m_vpsNumProfileTierLevelMinus1; 529 Bool m_vpsProfilePresentFlag [MAX_VPS_OP_SETS_PLUS1]; 530 Int m_profileRefMinus1 [MAX_VPS_PROFILE_TIER_LEVEL]; 531 Bool m_moreOutputLayerSetsThanDefaultFlag; 532 Int m_numAddOutputLayerSetsMinus1; 533 Bool m_defaultOneTargetOutputLayerFlag; 534 Int m_outputLayerSetIdxMinus1 [MAX_VPS_OUTPUTLAYER_SETS]; 535 Bool m_outputLayerFlag [MAX_VPS_OUTPUTLAYER_SETS][MAX_VPS_NUH_LAYER_ID_PLUS1]; 536 Int m_profileLevelTierIdx [MAX_VPS_OUTPUTLAYER_SETS ]; 537 Bool m_maxOneActiveRefLayerFlag; 538 Int m_directDepTypeLenMinus2; 539 Int m_directDependencyType [MAX_NUM_LAYERS] [MAX_NUM_LAYERS]; 540 541 // VPS EXTENSION SEMANTICS VARIABLES 522 542 Int m_layerIdInVps [MAX_NUM_LAYERS ]; 523 Int m_dimensionId [MAX_NUM_LAYER_IDS][MAX_NUM_SCALABILITY_TYPES]; 543 544 Int m_numDirectRefLayers [MAX_NUM_LAYERS]; 545 Int m_refLayerId [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 546 547 Int m_numSamplePredRefLayers [MAX_NUM_LAYERS]; 548 Bool m_samplePredEnabledFlag [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 549 Int m_samplePredRefLayerId [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 550 551 Int m_numMotionPredRefLayers [MAX_NUM_LAYERS]; 552 Bool m_motionPredEnabledFlag [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 553 Int m_motionPredRefLayerId [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 524 554 #if H_3D 525 555 Int m_viewIndex [MAX_NUM_LAYERS ]; 556 #endif 557 558 Int xCeilLog2 ( Int val ); 559 Int xGetDimBitOffset( Int j ); 560 526 561 #if H_3D_ARP 527 562 UInt m_uiUseAdvResPred [MAX_NUM_LAYERS ]; … … 549 584 Bool m_ivMvScalingFlag; 550 585 #endif 551 552 #endif553 554 555 Bool m_vpsProfilePresentFlag [MAX_VPS_OP_SETS_PLUS1];556 Int m_profileLayerSetRefMinus1 [MAX_VPS_OP_SETS_PLUS1];557 Int m_numOutputLayerSets;558 Int m_outputLayerSetIdx [MAX_VPS_OP_SETS_PLUS1];559 Bool m_outputLayerFlag [MAX_VPS_OP_SETS_PLUS1][MAX_VPS_NUH_LAYER_ID_PLUS1];560 Bool m_directDependencyFlag [MAX_NUM_LAYER_IDS][MAX_NUM_LAYER_IDS];561 562 Int m_numDirectRefLayers [ MAX_NUM_LAYERS ];563 Int m_refLayerId [ MAX_NUM_LAYERS ][MAX_NUM_LAYERS];564 586 565 587 #endif … … 606 628 607 629 #if H_MV 608 UInt getMaxNuhLayerId() { return m_maxNuhLayerId; } 609 Void setMaxNuhLayerId(UInt v) { m_maxNuhLayerId = v; } 630 UInt getVpsMaxLayerId() { return m_maxLayerId; } 631 Void setVpsMaxLayerId(UInt v) { m_maxLayerId = v; } 632 633 UInt getVpsNumLayerSetsMinus1() { return m_vpsNumLayerSetsMinus1; } 634 Void setVpsNumLayerSetsMinus1(UInt v) { m_vpsNumLayerSetsMinus1 = v; } 610 635 #else 611 636 UInt getMaxNuhReservedZeroLayerId() { return m_maxNuhReservedZeroLayerId; } 612 637 Void setMaxNuhReservedZeroLayerId(UInt v) { m_maxNuhReservedZeroLayerId = v; } 613 #endif614 638 615 639 UInt getMaxOpSets() { return m_numOpSets; } 616 640 Void setMaxOpSets(UInt v) { m_numOpSets = v; } 641 #endif 617 642 Bool getLayerIdIncludedFlag(UInt opsIdx, UInt id) { return m_layerIdIncludedFlag[opsIdx][id]; } 618 643 Void setLayerIdIncludedFlag(Bool v, UInt opsIdx, UInt id) { m_layerIdIncludedFlag[opsIdx][id] = v; } … … 652 677 Int getLayerIdInNuh( Int layerIdInVps ) { assert( m_layerIdInNuh[layerIdInVps] >= 0 ); return m_layerIdInNuh[layerIdInVps]; } 653 678 679 Bool nuhLayerIdIncluded( Int layerIdinNuh ) { return ( m_layerIdInVps[ layerIdinNuh ] > 0 ); } 680 681 Void setDimensionId( Int layerIdInVps, Int scalIdx, Int val ) { m_dimensionId[layerIdInVps][scalIdx] = val; } 682 Int getDimensionId( Int layerIdInVps, Int scalIdx ) { return m_dimensionId[layerIdInVps][scalIdx]; } 683 684 Void setDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps, Bool val ) { m_directDependencyFlag[depLayeridInVps][refLayeridInVps] = val; } 685 Bool getDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps ) { return m_directDependencyFlag[depLayeridInVps][refLayeridInVps]; } 686 687 Void setMaxTidIlRefPicPlus1( Int layerIdInVps, Int val ) { m_maxTidIlRefPicPlus1[ layerIdInVps ] = val; } 688 Int getMaxTidIlRefPicPlus1( Int layerIdInVps ) { return m_maxTidIlRefPicPlus1[ layerIdInVps ]; } 689 690 Void setVpsNumberLayerSetsMinus1( Int val ) { m_vpsNumberLayerSetsMinus1 = val; } 691 Int getVpsNumberLayerSetsMinus1( ) { return m_vpsNumberLayerSetsMinus1; } 692 693 Void setVpsNumProfileTierLevelMinus1( Int val ) { m_vpsNumProfileTierLevelMinus1 = val; } 694 Int getVpsNumProfileTierLevelMinus1( ) { return m_vpsNumProfileTierLevelMinus1; } 695 696 Void setVpsProfilePresentFlag( Int idx, Bool val ) { m_vpsProfilePresentFlag[idx] = val; } 697 Bool getVpsProfilePresentFlag( Int idx ) { return m_vpsProfilePresentFlag[idx]; } 698 699 Void setProfileRefMinus1( Int profileTierLevelIdx, Int val ) { m_profileRefMinus1[ profileTierLevelIdx ] = val; } 700 Int getProfileRefMinus1( Int profileTierLevelIdx ) { return m_profileRefMinus1[ profileTierLevelIdx ]; } 701 702 Void setMoreOutputLayerSetsThanDefaultFlag( Bool flag ) { m_moreOutputLayerSetsThanDefaultFlag = flag; } 703 Bool getMoreOutputLayerSetsThanDefaultFlag() { return m_moreOutputLayerSetsThanDefaultFlag; } 704 705 Void setNumAddOutputLayerSetsMinus1( Int val ) { m_numAddOutputLayerSetsMinus1 = val; } 706 Int getNumAddOutputLayerSetsMinus1( ) { return m_numAddOutputLayerSetsMinus1; } 707 708 Void setDefaultOneTargetOutputLayerFlag( Bool flag ) { m_defaultOneTargetOutputLayerFlag = flag; } 709 Bool getDefaultOneTargetOutputLayerFlag( ) { return m_defaultOneTargetOutputLayerFlag; } 710 711 Void setOutputLayerSetIdxMinus1( Int outLayerSetIdx, Int val ) { m_outputLayerSetIdxMinus1[ outLayerSetIdx ] = val; } 712 Int getOutputLayerSetIdxMinus1( Int outLayerSetIdx ) { return m_outputLayerSetIdxMinus1[ outLayerSetIdx ]; } 713 714 Void setOutputLayerFlag( Int outLayerSetIdx, Int i, Bool flag ) { m_outputLayerFlag[ outLayerSetIdx ][ i ] = flag; } 715 Bool getOutputLayerFlag( Int outLayerSetIdx, Int i ) { return m_outputLayerFlag[ outLayerSetIdx ][ i ]; } 716 717 Void setProfileLevelTierIdx( Int outLayerSetIdx, Int val ) { m_profileLevelTierIdx[ outLayerSetIdx = val ]; } 718 Int getProfileLevelTierIdx( Int outLayerSetIdx ) { return m_profileLevelTierIdx[ outLayerSetIdx ]; } 719 720 Void setMaxOneActiveRefLayerFlag( Bool flag) { m_maxOneActiveRefLayerFlag = flag; } 721 Bool getMaxOneActiveRefLayerFlag( ) { return m_maxOneActiveRefLayerFlag; } 722 723 Void setDirectDepTypeLenMinus2( Int val) { m_directDepTypeLenMinus2 = val; } 724 Int getDirectDepTypeLenMinus2( ) { return m_directDepTypeLenMinus2; } 725 726 Void setDirectDependencyType( Int depLayeridInVps, Int refLayeridInVps, Int val) { m_directDependencyType[ depLayeridInVps ][ refLayeridInVps ] = val; } 727 Int getDirectDependencyType( Int depLayeridInVps, Int refLayeridInVps) { return m_directDependencyType[ depLayeridInVps ][ refLayeridInVps ]; } 728 729 730 // VPS EXTENSION SEMANTICS VARIABLES 654 731 Void setLayerIdInVps( Int layerIdInNuh, Int val ) { m_layerIdInVps[layerIdInNuh] = val; } 655 732 Int getLayerIdInVps( Int layerIdInNuh ) { assert( m_layerIdInVps[layerIdInNuh] >= 0 ); return m_layerIdInVps[layerIdInNuh]; } 656 733 657 Bool nuhLayerIdIncluded( Int layerIdinNuh ) { return ( m_layerIdInVps[ layerIdinNuh ] > 0 ); }658 659 Void setDimensionId( Int layerIdInVps, Int scalIdx, Int val ) { m_dimensionId[layerIdInVps][scalIdx] = val; }660 Int getDimensionId( Int layerIdInVps, Int scalIdx ) { return m_dimensionId[layerIdInVps][scalIdx]; }661 662 734 Int getScalabilityId ( Int layerIdInVps, ScalabilityType scalType ); 663 664 735 Int getViewId ( Int layerIdInVps ) { return getScalabilityId( layerIdInVps, VIEW_ID ); } 736 737 Void setRefLayers(); 738 739 Int getNumDirectRefLayers( Int layerIdInVps ) { return m_numDirectRefLayers[ layerIdInVps ]; }; 740 Int getRefLayerId ( Int layerIdInVps, Int idx );; 741 742 Int getNumSamplePredRefLayers( Int layerIdInVps ) { return m_numSamplePredRefLayers[layerIdInVps]; } 743 Bool getSamplePredEnabledFlag ( Int layerIdInVps, Int idx ) { return m_samplePredEnabledFlag [layerIdInVps][idx]; } 744 Int getSamplePredRefLayerId ( Int layerIdInVps, Int idx ) { return m_samplePredRefLayerId [layerIdInVps][idx]; } 745 746 Int getNumMotionPredRefLayers( Int layerIdInVps ) { return m_numMotionPredRefLayers[layerIdInVps]; } 747 Bool getMotionPredEnabledFlag ( Int layerIdInVps, Int idx ) { return m_motionPredEnabledFlag [layerIdInVps][idx]; } 748 Int getMotionPredRefLayerId ( Int layerIdInVps, Int idx ) { return m_motionPredRefLayerId [layerIdInVps][idx]; } 749 750 Bool checkVPSExtensionSyntax(); 751 Int scalTypeToScalIdx ( ScalabilityType scalType ); 752 753 Int getProfileLevelTierIdxLen() { return xCeilLog2( getVpsNumProfileTierLevelMinus1() + 1 ); }; 754 Int getNumLayersInIdList ( Int lsIdx );; 755 756 // inference 757 Int inferDimensionId ( Int i, Int j ); 758 Int inferLastDimsionIdLenMinus1(); 759 665 760 #if H_3D 666 761 Void initViewIndex(); 667 762 Int getViewIndex ( Int layerIdInVps ) { return m_viewIndex[ layerIdInVps ]; } 668 763 Int getDepthId ( Int layerIdInVps ) { return getScalabilityId( layerIdInVps, DEPTH_ID ); } 669 Int getLayerIdInNuh( Int viewIndex, Bool depthFlag ); 764 Int getLayerIdInNuh( Int viewIndex, Bool depthFlag ); 765 670 766 #if H_3D_ARP 671 767 UInt getUseAdvRP ( Int layerIdInVps ) { return m_uiUseAdvResPred[layerIdInVps]; } … … 703 799 Void setIvMvScalingFlag ( Bool b ) { m_ivMvScalingFlag = b; } 704 800 #endif 705 #endif 706 707 Void setVpsProfilePresentFlag( Int layerSet, Bool val ) { m_vpsProfilePresentFlag[layerSet] = val; } 708 Bool getVpsProfilePresentFlag( Int layerSet ) { return m_vpsProfilePresentFlag[layerSet]; } 709 710 Void setProfileLayerSetRefMinus1( Int layerSet, Int val ) { m_profileLayerSetRefMinus1[layerSet] = val; } 711 Bool getProfileLayerSetRefMinus1( Int layerSet ) { return m_profileLayerSetRefMinus1[layerSet]; } 712 713 Void setNumOutputLayerSets( Int val ) { m_numOutputLayerSets = val; } 714 Int getNumOutputLayerSets() { return m_numOutputLayerSets; } 715 716 Void setOutputLayerSetIdx( Int layerSet, Int val ) { m_outputLayerSetIdx[layerSet] = val; } 717 Int getOutputLayerSetIdx( Int layerSet ) { return m_outputLayerSetIdx[layerSet]; } 718 719 Void setOutputLayerFlag( Int layerSet, Int layer, Bool val ) { m_outputLayerFlag[layerSet][layer] = val; } 720 Bool getOutputLayerFlag( Int layerSet, Int layer ) { return m_outputLayerFlag[layerSet][layer]; } 721 722 Void setDirectDependencyFlag( Int layerHigh, Int layerLow, Bool val ) { m_directDependencyFlag[layerHigh][layerLow] = val; } 723 Bool getDirectDependencyFlag( Int layerHigh, Int layerLow ) { return m_directDependencyFlag[layerHigh][layerLow]; } 724 725 Void calcIvRefLayers(); 726 727 Int getNumDirectRefLayers( Int layerIdInVps ) { return m_numDirectRefLayers[ layerIdInVps ]; }; 728 Int getRefLayerId ( Int layerIdInVps, Int idx );; 729 730 Bool checkVPSExtensionSyntax(); 731 Int scalTypeToScalIdx ( ScalabilityType scalType ); 801 802 #endif 732 803 #endif 733 804 }; … … 813 884 Int m_numTicksPocDiffOneMinus1; 814 885 #endif 815 886 #if H_MV 887 Bool m_tileBoundariesAlignedFlag; 888 #endif 816 889 public: 817 890 TComVUI() … … 849 922 ,m_numTicksPocDiffOneMinus1(0) 850 923 #endif 924 #if H_MV 925 ,m_tileBoundariesAlignedFlag(true) 926 #endif 851 927 {} 852 928 … … 950 1026 Int getNumTicksPocDiffOneMinus1() {return m_numTicksPocDiffOneMinus1;} 951 1027 Void setNumTicksPocDiffOneMinus1(Int x) { m_numTicksPocDiffOneMinus1 = x;} 1028 #endif 1029 #if H_MV 1030 Bool getTileBoundariesAlignedFlag( ) { return m_tileBoundariesAlignedFlag; } 1031 Void setTileBoundariesAlignedFlag( Bool flag ) { m_tileBoundariesAlignedFlag = flag; } 952 1032 #endif 953 1033 }; … … 1035 1115 #if H_MV 1036 1116 Bool m_interViewMvVertConstraintFlag; 1117 Int m_numIlpRestrictedRefLayers ; 1118 Int m_minSpatialSegmentOffsetPlus1[MAX_NUM_LAYERS]; 1119 Bool m_ctuBasedOffsetEnabledFlag [MAX_NUM_LAYERS]; 1120 Int m_minHorizontalCtuOffsetPlus1 [MAX_NUM_LAYERS]; 1037 1121 #endif 1038 1122 #if H_3D … … 1041 1125 Int m_aaiCodedScale [2][MAX_NUM_LAYERS]; 1042 1126 Int m_aaiCodedOffset[2][MAX_NUM_LAYERS]; 1127 #endif 1128 #if H_MV 1129 Int m_layerId; 1043 1130 #endif 1044 1131 public: … … 1175 1262 Void setInterViewMvVertConstraintFlag(Bool val) { m_interViewMvVertConstraintFlag = val; } 1176 1263 Bool getInterViewMvVertConstraintFlag() { return m_interViewMvVertConstraintFlag;} 1264 1265 //// sps_extension_vui_parameters( ) 1266 Void setNumIlpRestrictedRefLayers ( Int val ) { m_numIlpRestrictedRefLayers = val;} 1267 Int getNumIlpRestrictedRefLayers ( ) { return m_numIlpRestrictedRefLayers ;} 1268 1269 Void setMinSpatialSegmentOffsetPlus1( Int i, Int val ) { m_minSpatialSegmentOffsetPlus1[ i ] = val;} 1270 Int getMinSpatialSegmentOffsetPlus1( Int i ) { return m_minSpatialSegmentOffsetPlus1[ i ];} 1271 1272 Void setCtuBasedOffsetEnabledFlag ( Int i, Bool flag ) { m_ctuBasedOffsetEnabledFlag [ i ] = flag;} 1273 Bool getCtuBasedOffsetEnabledFlag ( Int i ) { return m_ctuBasedOffsetEnabledFlag [ i ];} 1274 1275 Void setMinHorizontalCtuOffsetPlus1 ( Int i, Int val ) { m_minHorizontalCtuOffsetPlus1 [ i ] = val;} 1276 Int getMinHorizontalCtuOffsetPlus1 ( Int i ) { return m_minHorizontalCtuOffsetPlus1 [ i ];} 1177 1277 #endif 1178 1278 #if H_3D … … 1185 1285 Int* getInvCodedOffset () { return m_aaiCodedOffset[1]; } 1186 1286 #endif 1287 #if H_MV 1288 Int getLayerId () { return m_layerId; } 1289 Void setLayerId ( Int val ) { m_layerId = val; } 1290 #endif 1291 1187 1292 }; 1188 1293 … … 1213 1318 #if H_MV 1214 1319 // Why not an listIdx for all members, would avoid code duplication?? 1215 Void setRefPicSetIdxL(UInt li, UInt idx, UInt refPicSetIdx) {( li==0 ? m_RefPicSetIdxL0[idx] : m_RefPicSetIdxL1[idx] ) = refPicSetIdx; }; 1216 Void setRefPicListModificationFlagL(UInt li, Bool flag) { ( li==0 ? m_bRefPicListModificationFlagL0 : m_bRefPicListModificationFlagL1 ) = flag; }; 1320 Void setRefPicSetIdxL(UInt li, UInt idx, UInt refPicSetIdx) {( li==0 ? m_RefPicSetIdxL0[idx] : m_RefPicSetIdxL1[idx] ) = refPicSetIdx; } 1321 UInt getRefPicSetIdxL(UInt li, UInt idx ) { return ( li == 0 ) ? m_RefPicSetIdxL0[idx] : m_RefPicSetIdxL1[idx] ; } 1322 Void setRefPicListModificationFlagL(UInt li, Bool flag) { ( li==0 ? m_bRefPicListModificationFlagL0 : m_bRefPicListModificationFlagL1 ) = flag; } 1323 Bool getRefPicListModificationFlagL(UInt li ) { return ( li== 0) ? m_bRefPicListModificationFlagL0 : m_bRefPicListModificationFlagL1; } 1217 1324 #endif 1218 1325 }; … … 1539 1646 Bool m_enableTMVPFlag; 1540 1647 #if H_MV 1648 std::vector<TComPic*>* m_refPicSetInterLayer; 1541 1649 Int m_layerId; 1542 1650 Int m_viewId; … … 1565 1673 #endif 1566 1674 #endif 1675 #if H_MV 1676 // Additional slice header syntax elements 1677 Bool m_discardableFlag; 1678 Bool m_interLayerPredEnabledFlag; 1679 Int m_numInterLayerRefPicsMinus1; 1680 Int m_interLayerPredLayerIdc [MAX_NUM_LAYERS]; 1681 Bool m_interLayerSamplePredOnlyFlag; 1682 Bool m_altCollocatedIndicationFlag; 1683 Int m_collocatedRefLayerIdx; 1684 // Additional slice header semantics variables 1685 Int m_numActiveMotionPredRefLayers; 1686 Int m_activeMotionPredRefLayerId [ MAX_NUM_LAYER_IDS ]; 1687 1688 #endif 1689 1567 1690 public: 1568 1691 TComSlice(); … … 1757 1880 Void createAndApplyIvReferencePictureSet( TComPicLists* ivPicLists, std::vector<TComPic*>& refPicSetInterLayer ); 1758 1881 static Void markIvRefPicsAsShortTerm ( std::vector<TComPic*> refPicSetInterLayer ); 1882 static Void markCurrPic ( TComPic* currPic );; 1759 1883 static Void markIvRefPicsAsUnused ( TComPicLists* ivPicLists, std::vector<Int> targetDecLayerIdSet, TComVPS* vps, Int curLayerId, Int curPoc ); 1760 1884 … … 1873 1997 1874 1998 #endif 1999 #if H_MV 2000 // Additional slice header syntax elements 2001 Void setDiscardableFlag( Bool flag ) { m_discardableFlag = flag; } 2002 Bool getDiscardableFlag( ) { return m_discardableFlag; } 2003 2004 Void setInterLayerPredEnabledFlag( Bool flag ) { m_interLayerPredEnabledFlag = flag; } 2005 Bool getInterLayerPredEnabledFlag( ) { return m_interLayerPredEnabledFlag; } 2006 2007 Void setNumInterLayerRefPicsMinus1( Int val ) { m_numInterLayerRefPicsMinus1 = val; } 2008 Int getNumInterLayerRefPicsMinus1( ) { return m_numInterLayerRefPicsMinus1; } 2009 2010 Void setInterLayerPredLayerIdc( Int i, Int val ) { m_interLayerPredLayerIdc[i] = val; } 2011 Int getInterLayerPredLayerIdc( Int i ) { return m_interLayerPredLayerIdc[i]; } 2012 2013 Void setInterLayerSamplePredOnlyFlag( Bool flag ) { m_interLayerSamplePredOnlyFlag = flag; } 2014 Bool getInterLayerSamplePredOnlyFlag( ) { return m_interLayerSamplePredOnlyFlag; } 2015 2016 Void setAltCollocatedIndicationFlag( Bool flag ) { m_altCollocatedIndicationFlag = flag; } 2017 Bool getAltCollocatedIndicationFlag( ) { return m_altCollocatedIndicationFlag; } 2018 2019 Void setCollocatedRefLayerIdx( Int val ) { m_collocatedRefLayerIdx = val; } 2020 Int getCollocatedRefLayerIdx( ) { return m_collocatedRefLayerIdx; } 2021 2022 // Additional variables derived in slice header semantics 2023 Int getNumInterLayerRefPicsMinus1Len( ) { return xCeilLog2( getVPS()->getNumDirectRefLayers( getLayerIdInVps() )); } 2024 Int getInterLayerPredLayerIdcLen ( ) { return xCeilLog2( getVPS()->getNumDirectRefLayers( getLayerIdInVps() )); } 2025 2026 Int getNumActiveRefLayerPics( ); 2027 Int getRefPicLayerId ( Int i ); 2028 2029 Void setActiveMotionPredRefLayers ( ); 2030 2031 Int getNumActiveMotionPredRefLayers( ) { return m_numActiveMotionPredRefLayers; } 2032 Int getActiveMotionPredRefLayerId ( Int i ) { return m_activeMotionPredRefLayerId[i]; } 2033 2034 Bool getInterRefEnabledInRPLFlag( ); 2035 2036 Void setRefPicSetInterLayer ( std::vector<TComPic*>* m_refPicSetInterLayer ); 2037 TComPic* getPicFromRefPicSetInterLayer( Int layerId ); 2038 2039 #endif 1875 2040 1876 2041 protected: … … 1879 2044 TComPic* xGetLongTermRefPic(TComList<TComPic*>& rcListPic, Int poc, Bool pocHasMsb); 1880 2045 #if H_MV 2046 Int xCeilLog2( Int val ); 1881 2047 TComPic* xGetInterLayerRefPic( std::vector<TComPic*>& rcListIlPic, Int layerId ); 1882 2048 #endif
Note: See TracChangeset for help on using the changeset viewer.