Changeset 655 in SHVCSoftware


Ignore:
Timestamp:
9 Apr 2014, 04:52:27 (11 years ago)
Author:
seregin
Message:

remove ILRP's SPS reference

Location:
branches/SHM-6-dev/source/Lib/TLibCommon
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-6-dev/source/Lib/TLibCommon/TComDataCU.cpp

    r652 r655  
    34853485TComDataCU*  TComDataCU::getBaseColCU( UInt refLayerIdc, UInt uiPelX, UInt uiPelY, UInt &uiCUAddrBase, UInt &uiAbsPartIdxBase, Int iMotionMapping )
    34863486{
    3487   TComPic* cBaseColPic = m_pcSlice->getBaseColPic(refLayerIdc);
     3487  TComPic* baseColPic = m_pcSlice->getBaseColPic(refLayerIdc);
    34883488
    34893489  uiPelX = (UInt)Clip3<UInt>(0, m_pcPic->getPicYuvRec()->getWidth() - 1, uiPelX);
     
    34953495
    34963496#if O0098_SCALED_REF_LAYER_ID
    3497   Int leftStartL = getSlice()->getSPS()->getScaledRefLayerWindowForLayer(getSlice()->getVPS()->getRefLayerId(getSlice()->getLayerId(), refLayerIdc)).getWindowLeftOffset();
    3498   Int topStartL  = getSlice()->getSPS()->getScaledRefLayerWindowForLayer(getSlice()->getVPS()->getRefLayerId(getSlice()->getLayerId(), refLayerIdc)).getWindowTopOffset();
     3497  Int leftStartL = baseColPic->getSlice(0)->getSPS()->getScaledRefLayerWindowForLayer(baseColPic->getSlice(0)->getVPS()->getRefLayerId(getSlice()->getLayerId(), refLayerIdc)).getWindowLeftOffset();
     3498  Int topStartL  = baseColPic->getSlice(0)->getSPS()->getScaledRefLayerWindowForLayer(baseColPic->getSlice(0)->getVPS()->getRefLayerId(getSlice()->getLayerId(), refLayerIdc)).getWindowTopOffset();
    34993499#else
    3500   Int leftStartL = this->getSlice()->getSPS()->getScaledRefLayerWindow(refLayerIdc).getWindowLeftOffset();
    3501   Int topStartL  = this->getSlice()->getSPS()->getScaledRefLayerWindow(refLayerIdc).getWindowTopOffset();
     3500  Int leftStartL = baseColPic->getSlice(0)->getSPS()->getScaledRefLayerWindow(refLayerIdc).getWindowLeftOffset();
     3501  Int topStartL  = baseColPic->getSlice(0)->getSPS()->getScaledRefLayerWindow(refLayerIdc).getWindowTopOffset();
    35023502#endif
    35033503  Int iBX = ((uiPelX - leftStartL)*g_posScalingFactor[refLayerIdc][0] + (1<<15)) >> 16;
     
    35123512#endif
    35133513
    3514   if ( iBX >= cBaseColPic->getPicYuvRec()->getWidth() || iBY >= cBaseColPic->getPicYuvRec()->getHeight() ||
     3514  if ( iBX >= baseColPic->getPicYuvRec()->getWidth() || iBY >= baseColPic->getPicYuvRec()->getHeight() ||
    35153515       iBX < 0                                        || iBY < 0                                           )
    35163516  {
     
    35193519
    35203520#if LAYER_CTB
    3521   UInt baseMaxCUHeight = cBaseColPic->getPicSym()->getMaxCUHeight();
    3522   UInt baseMaxCUWidth  = cBaseColPic->getPicSym()->getMaxCUWidth();
    3523   UInt baseMinUnitSize = cBaseColPic->getMinCUWidth();
    3524  
    3525   uiCUAddrBase = ( iBY / cBaseColPic->getPicSym()->getMaxCUHeight() ) * cBaseColPic->getFrameWidthInCU() + ( iBX / cBaseColPic->getPicSym()->getMaxCUWidth() );
     3521  UInt baseMaxCUHeight = baseColPic->getPicSym()->getMaxCUHeight();
     3522  UInt baseMaxCUWidth  = baseColPic->getPicSym()->getMaxCUWidth();
     3523  UInt baseMinUnitSize = baseColPic->getMinCUWidth();
     3524 
     3525  uiCUAddrBase = ( iBY / baseMaxCUHeight ) * baseColPic->getFrameWidthInCU() + ( iBX / baseMaxCUWidth );
    35263526#else
    35273527  uiCUAddrBase = (iBY/g_uiMaxCUHeight)*cBaseColPic->getFrameWidthInCU() + (iBX/g_uiMaxCUWidth);
    35283528#endif
    35293529
    3530   assert(uiCUAddrBase < cBaseColPic->getNumCUsInFrame());
     3530  assert(uiCUAddrBase < baseColPic->getNumCUsInFrame());
    35313531
    35323532#if LAYER_CTB
    3533   UInt uiRasterAddrBase = ( iBY - (iBY/baseMaxCUHeight)*baseMaxCUHeight ) / baseMinUnitSize * cBaseColPic->getNumPartInWidth() + ( iBX - (iBX/baseMaxCUWidth)*baseMaxCUWidth ) / baseMinUnitSize;
    3534  
    3535   uiAbsPartIdxBase = g_auiLayerRasterToZscan[cBaseColPic->getLayerId()][uiRasterAddrBase];
     3533  UInt uiRasterAddrBase = ( iBY - (iBY/baseMaxCUHeight)*baseMaxCUHeight ) / baseMinUnitSize * baseColPic->getNumPartInWidth() + ( iBX - (iBX/baseMaxCUWidth)*baseMaxCUWidth ) / baseMinUnitSize;
     3534 
     3535  uiAbsPartIdxBase = g_auiLayerRasterToZscan[baseColPic->getLayerId()][uiRasterAddrBase];
    35363536#else
    35373537  UInt uiRasterAddrBase = (iBY - (iBY/g_uiMaxCUHeight)*g_uiMaxCUHeight)/uiMinUnitSize*cBaseColPic->getNumPartInWidth()
     
    35413541#endif
    35423542
    3543   return cBaseColPic->getCU(uiCUAddrBase);
     3543  return baseColPic->getCU(uiCUAddrBase);
    35443544}
    35453545
  • branches/SHM-6-dev/source/Lib/TLibCommon/TComSlice.cpp

    r654 r655  
    36683668
    36693669    TComPic* pcRefPicBL = pcRefPicRL[refLayerIdc];
     3670
    36703671    //set reference picture POC of each ILP reference
    36713672    Int thePoc = ilpPic[refLayerIdc]->getPOC();
     
    36743675    ilpPic[refLayerIdc]->getSlice(0)->setBaseColPic( refLayerIdc, pcRefPicBL );
    36753676
    3676     //copy reference pictures marking from the reference layer
    3677     ilpPic[refLayerIdc]->getSlice(0)->copySliceInfo(pcRefPicBL->getSlice(0));
     3677    //copy layer id from the reference layer   
     3678    ilpPic[refLayerIdc]->setLayerId( pcRefPicBL->getLayerId() );
     3679
     3680    //copy slice type from the reference layer
     3681    ilpPic[refLayerIdc]->getSlice(0)->setSliceType( pcRefPicBL->getSlice(0)->getSliceType() );
    36783682
    36793683    for( Int refList = 0; refList < 2; refList++ )
     
    36973701        ilpPic[refLayerIdc]->getSlice(0)->setRefPOC(0, refPicList, refIdx);
    36983702        ilpPic[refLayerIdc]->getSlice(0)->setRefPic(NULL, refPicList, refIdx);
     3703      }
     3704
     3705      //copy reference pictures' marking from the reference layer
     3706      for(Int j = 0; j < MAX_NUM_REF + 1; j++)
     3707      {
     3708        ilpPic[refLayerIdc]->getSlice(0)->setIsUsedAsLongTerm(refList, j, pcRefPicBL->getSlice(0)->getIsUsedAsLongTerm(refList, j));
    36993709      }
    37003710    }
Note: See TracChangeset for help on using the changeset viewer.