Ticket #306: reference_list_bug_fix.patch
File reference_list_bug_fix.patch, 1.9 KB (added by eeehey, 11 years ago) |
---|
-
Lib/TLibCommon/TComSlice.cpp
625 625 { 626 626 for( i = 0; i < m_RefPicListModification.getNumberOfRefPicListModificationsL0(); i++) 627 627 { 628 for( cIdx = num_ref_idx_l 1_active_minus1 + 1; cIdx > i; cIdx-- )628 for( cIdx = num_ref_idx_l0_active_minus1 + 1; cIdx > i; cIdx-- ) 629 629 m_apcRefPicList[0][ cIdx ] = m_apcRefPicList[0][ cIdx - 1]; 630 630 if(m_RefPicListModification.getListIdcL0(i) == 0) 631 631 m_apcRefPicList[0][ i ] = RefPicSetStCurr0[ m_RefPicListModification.getRefPicSetIdxL0(i) ]; -
Lib/TLibDecoder/TDecCAVLC.cpp
1029 1029 READ_FLAG( uiCode, "pic_from_list_0_flag" ); 1030 1030 rpcSlice->setListIdFromIdxOfLC(i, uiCode); 1031 1031 READ_UVLC( uiCode, "ref_idx_list_curr" ); 1032 rpcSlice->setRefIdxFromIdxOfLC(i, uiCode );1032 rpcSlice->setRefIdxFromIdxOfLC(i, uiCode^1); 1033 1033 rpcSlice->setRefIdxOfLC((RefPicList)rpcSlice->getListIdFromIdxOfLC(i), rpcSlice->getRefIdxFromIdxOfLC(i), i); 1034 1034 } 1035 1035 } -
Lib/TLibEncoder/TEncCavlc.cpp
904 904 { 905 905 for (UInt i=0;i<pcSlice->getNumRefIdx(REF_PIC_LIST_C);i++) 906 906 { 907 WRITE_FLAG( pcSlice->getListIdFromIdxOfLC(i) , "pic_from_list_0_flag" );907 WRITE_FLAG( pcSlice->getListIdFromIdxOfLC(i)^1, "pic_from_list_0_flag" ); 908 908 WRITE_UVLC( pcSlice->getRefIdxFromIdxOfLC(i), "ref_idx_list_curr" ); 909 909 } 910 910 }