Changeset 726 in SHVCSoftware for branches/SHM-6-dev/source/Lib/TLibCommon
- Timestamp:
- 23 Apr 2014, 08:24:48 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-6-dev/source/Lib/TLibCommon/TComSlice.cpp
r717 r726 785 785 //set L0 inter-layer reference picture modification 786 786 #if RPL_INIT_N0316_N0082 787 Bool hasModification = (m_aiNumRefIdx[REF_PIC_LIST_0] == (numberOfPocBeforeCurr + m_activeNumILRRefIdx)) ? false : true;787 Bool hasModification = (m_aiNumRefIdx[REF_PIC_LIST_0] >= (numberOfPocBeforeCurr + m_activeNumILRRefIdx)) ? false : true; 788 788 #else 789 789 Bool hasModification = (m_aiNumRefIdx[REF_PIC_LIST_0] == numberOfRpsCurrTempList) ? false : true; … … 799 799 refPicListModification->setRefPicSetIdxL0(i, i); 800 800 } 801 801 802 if(m_aiNumRefIdx[REF_PIC_LIST_0] > numberOfRpsCurrTempList) 802 803 { 803 // repeat last ref pic when the number of active ref idx are more than RPS entries804 // repeat last ref pic when the number of active ref idx are more than RPS entries 804 805 for (Int i = numberOfRpsCurrTempList; i < m_aiNumRefIdx[REF_PIC_LIST_0]; i ++) 805 806 { … … 809 810 else 810 811 { 811 for(Int i = m_activeNumILRRefIdx; i > 0; i-- ) 812 // number of ILRPs included into the reference picture list with the list modification 813 Int inlucdeNumILRP = min(m_aiNumRefIdx[REF_PIC_LIST_0]-numberOfPocBeforeCurr, m_activeNumILRRefIdx); 814 815 for(Int i = inlucdeNumILRP; i > 0; i-- ) 812 816 { 813 817 #if RPL_INIT_N0316_N0082 … … 821 825 for (Int j = numberOfPocBeforeCurr; j < (m_aiNumRefIdx[REF_PIC_LIST_0] - i); j++) 822 826 { 823 refPicListModification->setRefPicSetIdxL0(j, j + m_activeNumILRRefIdx); 827 assert( j + inlucdeNumILRP < numberOfRpsCurrTempList ); 828 refPicListModification->setRefPicSetIdxL0(j, j + inlucdeNumILRP); 824 829 } 825 830 } … … 832 837 833 838 //set L1 inter-layer reference picture modification 834 hasModification = (m_aiNumRefIdx[REF_PIC_LIST_1] == numberOfRpsCurrTempList) ? false : true;839 hasModification = (m_aiNumRefIdx[REF_PIC_LIST_1] >= numberOfRpsCurrTempList) ? false : true; 835 840 #if N0147_IRAP_ALIGN_FLAG 836 841 hasModification = hasModification && ( m_aiNumRefIdx[REF_PIC_LIST_1] > 1 ); … … 854 859 else 855 860 { 856 for(Int i = m_activeNumILRRefIdx; i > 0; i-- ) 861 Int inlucdeNumILRP = min(m_aiNumRefIdx[REF_PIC_LIST_1], m_activeNumILRRefIdx); 862 863 for(Int i = inlucdeNumILRP; i > 0; i-- ) 857 864 { 858 865 refPicListModification->setRefPicSetIdxL1(m_aiNumRefIdx[REF_PIC_LIST_1] - i, numberOfRpsCurrTempList - i);
Note: See TracChangeset for help on using the changeset viewer.