Changeset 1256 in SHVCSoftware
- Timestamp:
- 14 Jul 2015, 02:08:17 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/SHM-dev/source/Lib/TLibCommon/TComSlice.cpp
r1246 r1256 411 411 TComPic* RefPicSetStCurr1[MAX_NUM_NEGATIVE_PICTURES]; 412 412 TComPic* RefPicSetLtCurr[MAX_NUM_NEGATIVE_PICTURES]; 413 UInt NumP ocStCurr0 = 0;414 UInt NumP ocStCurr1 = 0;415 UInt NumP ocLtCurr = 0;413 UInt NumPicStCurr0 = 0; 414 UInt NumPicStCurr1 = 0; 415 UInt NumPicLtCurr = 0; 416 416 Int i; 417 417 … … 427 427 pcRefPic->setIsLongTerm(0); 428 428 pcRefPic->getPicYuvRec()->extendPicBorder(); 429 RefPicSetStCurr0[NumP ocStCurr0] = pcRefPic;430 NumP ocStCurr0++;429 RefPicSetStCurr0[NumPicStCurr0] = pcRefPic; 430 NumPicStCurr0++; 431 431 pcRefPic->setCheckLTMSBPresent(false); 432 432 } … … 440 440 pcRefPic->setIsLongTerm(0); 441 441 pcRefPic->getPicYuvRec()->extendPicBorder(); 442 RefPicSetStCurr1[NumP ocStCurr1] = pcRefPic;443 NumP ocStCurr1++;442 RefPicSetStCurr1[NumPicStCurr1] = pcRefPic; 443 NumPicStCurr1++; 444 444 pcRefPic->setCheckLTMSBPresent(false); 445 445 } … … 453 453 pcRefPic->setIsLongTerm(1); 454 454 pcRefPic->getPicYuvRec()->extendPicBorder(); 455 RefPicSetLtCurr[NumP ocLtCurr] = pcRefPic;456 NumP ocLtCurr++;455 RefPicSetLtCurr[NumPicLtCurr] = pcRefPic; 456 NumPicLtCurr++; 457 457 } 458 458 if(pcRefPic==NULL) … … 552 552 } 553 553 } 554 Int numP ocTotalCurr = NumPocStCurr0 + NumPocStCurr1 + NumPocLtCurr + m_activeNumILRRefIdx;554 Int numPicTotalCurr = NumPicStCurr0 + NumPicStCurr1 + NumPicLtCurr + m_activeNumILRRefIdx; 555 555 #else //SVC_EXTENSION 556 Int numP ocTotalCurr = NumPocStCurr0 + NumPocStCurr1 + NumPocLtCurr;556 Int numPicTotalCurr = NumPicStCurr0 + NumPicStCurr1 + NumPicLtCurr; 557 557 #endif //SVC_EXTENSION 558 558 … … 570 570 #endif 571 571 { 572 assert(numP ocTotalCurr == 0);572 assert(numPicTotalCurr == 0); 573 573 } 574 574 … … 581 581 } 582 582 583 assert(numPocTotalCurr > 0); 583 assert(numPicTotalCurr > 0); 584 // genral tier and level limit: 585 assert(numPicTotalCurr <= 8); 584 586 585 587 m_aiNumRefIdx[0] = getNumRefIdx(REF_PIC_LIST_0); … … 588 590 589 591 Int cIdx = 0; 590 for ( i=0; i<NumP ocStCurr0; i++, cIdx++)592 for ( i=0; i<NumPicStCurr0; i++, cIdx++) 591 593 { 592 594 rpsCurrList0[cIdx] = RefPicSetStCurr0[i]; … … 597 599 if( m_layerId > 0 ) 598 600 { 599 for( i = 0; i < m_activeNumILRRefIdx && cIdx < numP ocTotalCurr; cIdx ++, i ++)601 for( i = 0; i < m_activeNumILRRefIdx && cIdx < numPicTotalCurr; cIdx ++, i ++) 600 602 { 601 603 Int refLayerIdc = m_interLayerPredLayerIdc[i]; … … 609 611 #endif //SVC_EXTENSION 610 612 611 for ( i=0; i<NumP ocStCurr1; i++, cIdx++)613 for ( i=0; i<NumPicStCurr1; i++, cIdx++) 612 614 { 613 615 rpsCurrList0[cIdx] = RefPicSetStCurr1[i]; 614 616 } 615 for ( i=0; i<NumP ocLtCurr; i++, cIdx++)617 for ( i=0; i<NumPicLtCurr; i++, cIdx++) 616 618 { 617 619 rpsCurrList0[cIdx] = RefPicSetLtCurr[i]; 618 620 } 619 assert(cIdx == numP ocTotalCurr);621 assert(cIdx == numPicTotalCurr); 620 622 621 623 if (m_eSliceType==B_SLICE) 622 624 { 623 625 cIdx = 0; 624 for ( i=0; i<NumP ocStCurr1; i++, cIdx++)626 for ( i=0; i<NumPicStCurr1; i++, cIdx++) 625 627 { 626 628 rpsCurrList1[cIdx] = RefPicSetStCurr1[i]; 627 629 } 628 for ( i=0; i<NumP ocStCurr0; i++, cIdx++)630 for ( i=0; i<NumPicStCurr0; i++, cIdx++) 629 631 { 630 632 rpsCurrList1[cIdx] = RefPicSetStCurr0[i]; 631 633 } 632 for ( i=0; i<NumP ocLtCurr; i++, cIdx++)634 for ( i=0; i<NumPicLtCurr; i++, cIdx++) 633 635 { 634 636 rpsCurrList1[cIdx] = RefPicSetLtCurr[i]; … … 638 640 if( m_layerId > 0 ) 639 641 { 640 for( i = 0; i < m_activeNumILRRefIdx && cIdx < numP ocTotalCurr; cIdx ++, i ++)642 for( i = 0; i < m_activeNumILRRefIdx && cIdx < numPicTotalCurr; cIdx ++, i ++) 641 643 { 642 644 Int refLayerIdc = m_interLayerPredLayerIdc[i]; … … 650 652 #endif //SVC_EXTENSION 651 653 652 assert(cIdx == numP ocTotalCurr);654 assert(cIdx == numPicTotalCurr); 653 655 } 654 656 … … 657 659 for (Int rIdx = 0; rIdx < m_aiNumRefIdx[REF_PIC_LIST_0]; rIdx ++) 658 660 { 659 cIdx = m_RefPicListModification.getRefPicListModificationFlagL0() ? m_RefPicListModification.getRefPicSetIdxL0(rIdx) : rIdx % numP ocTotalCurr;660 assert(cIdx >= 0 && cIdx < numP ocTotalCurr);661 cIdx = m_RefPicListModification.getRefPicListModificationFlagL0() ? m_RefPicListModification.getRefPicSetIdxL0(rIdx) : rIdx % numPicTotalCurr; 662 assert(cIdx >= 0 && cIdx < numPicTotalCurr); 661 663 m_apcRefPicList[REF_PIC_LIST_0][rIdx] = rpsCurrList0[ cIdx ]; 662 664 663 665 #if SVC_EXTENSION 664 m_bIsUsedAsLongTerm[0][rIdx] = ( cIdx >= NumP ocStCurr0 && cIdx < NumPocStCurr0 + m_activeNumILRRefIdx ) || ( cIdx >= NumPocStCurr0 + NumPocStCurr1 + m_activeNumILRRefIdx );666 m_bIsUsedAsLongTerm[0][rIdx] = ( cIdx >= NumPicStCurr0 && cIdx < NumPicStCurr0 + m_activeNumILRRefIdx ) || ( cIdx >= NumPicStCurr0 + NumPicStCurr1 + m_activeNumILRRefIdx ); 665 667 #else 666 m_bIsUsedAsLongTerm[REF_PIC_LIST_0][rIdx] = ( cIdx >= NumP ocStCurr0 + NumPocStCurr1 );668 m_bIsUsedAsLongTerm[REF_PIC_LIST_0][rIdx] = ( cIdx >= NumPicStCurr0 + NumPicStCurr1 ); 667 669 #endif 668 670 } … … 676 678 for (Int rIdx = 0; rIdx < m_aiNumRefIdx[REF_PIC_LIST_1]; rIdx ++) 677 679 { 678 cIdx = m_RefPicListModification.getRefPicListModificationFlagL1() ? m_RefPicListModification.getRefPicSetIdxL1(rIdx) : rIdx % numP ocTotalCurr;679 assert(cIdx >= 0 && cIdx < numP ocTotalCurr);680 cIdx = m_RefPicListModification.getRefPicListModificationFlagL1() ? m_RefPicListModification.getRefPicSetIdxL1(rIdx) : rIdx % numPicTotalCurr; 681 assert(cIdx >= 0 && cIdx < numPicTotalCurr); 680 682 m_apcRefPicList[REF_PIC_LIST_1][rIdx] = rpsCurrList1[ cIdx ]; 681 m_bIsUsedAsLongTerm[REF_PIC_LIST_1][rIdx] = ( cIdx >= NumP ocStCurr0 + NumPocStCurr1 );683 m_bIsUsedAsLongTerm[REF_PIC_LIST_1][rIdx] = ( cIdx >= NumPicStCurr0 + NumPicStCurr1 ); 682 684 } 683 685 } … … 1388 1390 } 1389 1391 } 1390 else 1392 else 1391 1393 { 1392 1394 Int pocCycle = 1<<rpcPic->getPicSym()->getSlice(0)->getSPS()->getBitsForPOC();
Note: See TracChangeset for help on using the changeset viewer.