Changeset 1085 in SHVCSoftware for branches/SHM-dev/source/Lib/TLibDecoder
- Timestamp:
- 26 Mar 2015, 04:33:14 (11 years ago)
- Location:
- branches/SHM-dev/source/Lib/TLibDecoder
- Files:
-
- 2 edited
-
TDecCAVLC.cpp (modified) (9 diffs)
-
TDecTop.cpp (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp
r1079 r1085 1610 1610 { 1611 1611 #if Q0060_MAX_TID_REF_EQUAL_TO_ZERO 1612 if((pcSlice->getVPS()->getMaxTidIlRefPicsPlus1(pcSlice->getVPS()->getLayerIdxInVps(i), pcSlice->getLayerId()) > pcSlice->getTLayer() || pcSlice->getTLayer()==0) &&1612 if((pcSlice->getVPS()->getMaxTidIlRefPicsPlus1(pcSlice->getVPS()->getLayerIdxInVps(i), pcSlice->getLayerIdx()) > pcSlice->getTLayer() || pcSlice->getTLayer()==0) && 1613 1613 (pcSlice->getVPS()->getMaxTSLayersMinus1(pcSlice->getVPS()->getLayerIdxInVps(i)) >= pcSlice->getTLayer()) ) 1614 1614 #else 1615 if(pcSlice->getVPS()->getMaxTidIlRefPicsPlus1(pcSlice->getVPS()->getLayerIdxInVps(i), pcSlice->getLayerId()) > pcSlice->getTLayer() &&1615 if(pcSlice->getVPS()->getMaxTidIlRefPicsPlus1(pcSlice->getVPS()->getLayerIdxInVps(i), pcSlice->getLayerIdx()) > pcSlice->getTLayer() && 1616 1616 (pcSlice->getVPS()->getMaxTSLayersMinus1(pcSlice->getVPS()->getLayerIdxInVps(i)) >= pcSlice->getTLayer()) ) 1617 1617 #endif … … 1638 1638 { 1639 1639 READ_CODE( numBits,uiCode,"inter_layer_pred_layer_idc[i]" ); 1640 pcSlice->setInterLayerPredLayerIdc(uiCode, i);1640 pcSlice->setInterLayerPredLayerIdc(uiCode, i); 1641 1641 } 1642 1642 } … … 1645 1645 { 1646 1646 #if O0225_TID_BASED_IL_RPS_DERIV && TSLAYERS_IL_RPS 1647 Int refLayerId = pcSlice->getVPS()->getRefLayerId(pcSlice->getLayerId(), 0); 1648 Int refLayerIdx = pcSlice->getVPS()->getLayerIdxInVps(refLayerId); 1647 1649 #if Q0060_MAX_TID_REF_EQUAL_TO_ZERO 1648 if((pcSlice->getVPS()->getMaxTidIlRefPicsPlus1( 0,pcSlice->getLayerId()) > pcSlice->getTLayer() || pcSlice->getTLayer()==0) &&1649 (pcSlice->getVPS()->getMaxTSLayersMinus1( 0) >= pcSlice->getTLayer()) )1650 #else 1651 if( (pcSlice->getVPS()->getMaxTidIlRefPicsPlus1( 0,pcSlice->getLayerId()) > pcSlice->getTLayer()) &&1652 (pcSlice->getVPS()->getMaxTSLayersMinus1( 0) >= pcSlice->getTLayer()) )1650 if((pcSlice->getVPS()->getMaxTidIlRefPicsPlus1(refLayerIdx, pcSlice->getLayerIdx()) > pcSlice->getTLayer() || pcSlice->getTLayer()==0) && 1651 (pcSlice->getVPS()->getMaxTSLayersMinus1(refLayerIdx) >= pcSlice->getTLayer()) ) 1652 #else 1653 if( (pcSlice->getVPS()->getMaxTidIlRefPicsPlus1(refLayerIdx,pcSlice->getLayerIdx()) > pcSlice->getTLayer()) && 1654 (pcSlice->getVPS()->getMaxTSLayersMinus1(refLayerIdx) >= pcSlice->getTLayer()) ) 1653 1655 #endif 1654 1656 { 1655 1657 #endif 1656 1658 pcSlice->setActiveNumILRRefIdx(1); 1657 pcSlice->setInterLayerPredLayerIdc(0, 0);1659 pcSlice->setInterLayerPredLayerIdc(0, 0); 1658 1660 #if O0225_TID_BASED_IL_RPS_DERIV && TSLAYERS_IL_RPS 1659 1661 } … … 1673 1675 { 1674 1676 #if Q0060_MAX_TID_REF_EQUAL_TO_ZERO 1675 if((pcSlice->getVPS()->getMaxTidIlRefPicsPlus1(pcSlice->getVPS()->getLayerIdxInVps(i), pcSlice->getLayerId()) > pcSlice->getTLayer() || pcSlice->getTLayer()==0) &&1677 if((pcSlice->getVPS()->getMaxTidIlRefPicsPlus1(pcSlice->getVPS()->getLayerIdxInVps(i), pcSlice->getLayerIdx()) > pcSlice->getTLayer() || pcSlice->getTLayer()==0) && 1676 1678 (pcSlice->getVPS()->getMaxTSLayersMinus1(pcSlice->getVPS()->getLayerIdxInVps(i)) >= pcSlice->getTLayer()) ) 1677 1679 #else 1678 if(pcSlice->getVPS()->getMaxTidIlRefPicsPlus1(pcSlice->getVPS()->getLayerIdxInVps(i), pcSlice->getLayerId()) > pcSlice->getTLayer() &&1680 if(pcSlice->getVPS()->getMaxTidIlRefPicsPlus1(pcSlice->getVPS()->getLayerIdxInVps(i), pcSlice->getLayerIdx()) > pcSlice->getTLayer() && 1679 1681 (pcSlice->getVPS()->getMaxTSLayersMinus1(pcSlice->getVPS()->getLayerIdxInVps(i)) >= pcSlice->getTLayer()) ) 1680 1682 #endif … … 1686 1688 for( i = 0; i < pcSlice->getActiveNumILRRefIdx(); i++ ) 1687 1689 { 1688 pcSlice->setInterLayerPredLayerIdc(refLayerPicIdc[i], i);1689 } 1690 pcSlice->setInterLayerPredLayerIdc(refLayerPicIdc[i], i); 1691 } 1690 1692 #else 1691 1693 pcSlice->setActiveNumILRRefIdx(pcSlice->getNumILRRefIdx()); … … 2999 3001 for(i = 0; i < vps->getMaxLayers() - 1; i++) 3000 3002 { 3001 #if O0225_MAX_TID_FOR_REF_LAYERS3002 3003 for( j = i+1; j < vps->getMaxLayers(); j++) 3003 3004 { … … 3007 3008 } 3008 3009 } 3009 #else3010 READ_CODE( 3, uiCode, "max_tid_il_ref_pics_plus1[i]" ); vps->setMaxTidIlRefPicsPlus1(i, uiCode);3011 assert( uiCode <= vps->getMaxTLayers());3012 #endif3013 3010 } 3014 3011 } … … 3017 3014 for(i = 0; i < vps->getMaxLayers() - 1; i++) 3018 3015 { 3019 #if O0225_MAX_TID_FOR_REF_LAYERS3020 3016 for( j = i+1; j < vps->getMaxLayers(); j++) 3021 3017 { 3022 3018 vps->setMaxTidIlRefPicsPlus1(i, j, 7); 3023 3019 } 3024 #else3025 vps->setMaxTidIlRefPicsPlus1(i, 7);3026 #endif3027 3020 } 3028 3021 } … … 3691 3684 for( i = 0; i < vps->getMaxLayers() - 1; i++ ) 3692 3685 { 3693 #if O0225_MAX_TID_FOR_REF_LAYERS3694 3686 for( j = i + 1; j < vps->getMaxLayers(); j++ ) 3695 3687 { 3696 3688 vps->setMaxTidIlRefPicsPlus1(i, j, 7); 3697 3689 } 3698 #else3699 vps->setMaxTidIlRefPicsPlus1(i, 7);3700 #endif3701 3690 } 3702 3691 -
branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp
r1084 r1085 2848 2848 2849 2849 Int remainingInterLayerReferencesFlag = 0; 2850 #if O0225_MAX_TID_FOR_REF_LAYERS2851 2850 for ( Int j = latestDecIdx + 1; j < numTargetDecLayers; j++ ) 2852 2851 { 2853 2852 Int jLidx = pcSlice->getVPS()->getLayerIdxInVps(targetDecLayerIdList[j]); 2854 if ( currTid <= pcSlice->getVPS()->getMaxTidIlRefPicsPlus1(latestDecLayerId,jLidx) - 1 ) 2855 { 2856 #else 2857 if ( currTid <= pcSlice->getVPS()->getMaxTidIlRefPicsPlus1(latestDecLayerId) - 1 ) 2858 { 2859 for ( Int j = latestDecIdx + 1; j < numTargetDecLayers; j++ ) 2860 { 2861 #endif 2853 if ( currTid <= pcSlice->getVPS()->getMaxTidIlRefPicsPlus1(pcSlice->getVPS()->getLayerIdxInVps(latestDecLayerId),jLidx) - 1 ) 2854 { 2862 2855 for ( Int k = 0; k < m_ppcTDecTop[targetDecLayerIdList[j]]->getNumDirectRefLayers(); k++ ) 2863 2856 {
Note: See TracChangeset for help on using the changeset viewer.