Ignore:
Timestamp:
13 Jul 2013, 15:51:26 (11 years ago)
Author:
tech
Message:

Update to HM 11.0.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibCommon/TComDataCU.cpp

    r534 r537  
    136136#endif
    137137#endif
    138 
    139138  m_bDecSubCu          = false;
    140139  m_sliceStartCU        = 0;
     
    143142  m_pDvInfo              = NULL;
    144143#endif
    145 
    146144#if H_3D_VSP
    147145  m_piVSPFlag            = NULL;
    148146#endif
    149 
    150147#if H_3D_ARP
    151148  m_puhARPW              = NULL;
    152149#endif
    153 
    154150#if H_3D_IC
    155151  m_pbICFlag             = NULL;
     
    783779  }
    784780
    785   UInt uiTmp = uhWidth*uhHeight;
    786 
    787781  if(getPic()->getPicSym()->getInverseCUOrderMap(getAddr())*m_pcPic->getNumPartInCU()+m_uiAbsIdxInLCU >= getSlice()->getSliceSegmentCurStartCUAddr())
    788782  {
    789783    m_acCUMvField[0].clearMvField();
    790784    m_acCUMvField[1].clearMvField();
    791     uiTmp = uhWidth*uhHeight;
     785    UInt uiTmp = uhWidth*uhHeight;
    792786   
    793787    memset( m_pcTrCoeffY,    0, uiTmp * sizeof( *m_pcTrCoeffY    ) );
     
    10561050  m_uiCUPelY           = pcCU->getCUPelY() + g_auiRasterToPelY[ g_auiZscanToRaster[uiAbsPartIdx] ];
    10571051 
    1058   UInt uiWidth         = g_uiMaxCUWidth  >> uiDepth;
    1059   UInt uiHeight        = g_uiMaxCUHeight >> uiDepth;
    1060  
    10611052  m_skipFlag=pcCU->getSkipFlag()          + uiPart;
    10621053
     
    11391130  m_apcCUColocated[1] = pcCU->getCUColocated(REF_PIC_LIST_1);
    11401131 
    1141   UInt uiTmp = uiWidth*uiHeight;
    11421132  UInt uiMaxCuWidth=pcCU->getSlice()->getSPS()->getMaxCUWidth();
    11431133  UInt uiMaxCuHeight=pcCU->getSlice()->getSPS()->getMaxCUHeight();
     
    11511141  m_pcIPCMSampleY = pcCU->getPCMSampleY() + uiCoffOffset;
    11521142
    1153   uiTmp >>= 2;
    11541143  uiCoffOffset >>=2;
    11551144  m_pcTrCoeffCb=pcCU->getCoeffCb() + uiCoffOffset;
     
    13521341  memcpy( m_sliceStartCU        + uiOffset, pcCU->m_sliceStartCU,        sizeof( UInt ) * uiNumPartition  );
    13531342  memcpy( m_sliceSegmentStartCU + uiOffset, pcCU->m_sliceSegmentStartCU, sizeof( UInt ) * uiNumPartition  );
    1354 
    13551343#if H_3D_ARP
    13561344  memcpy( m_puhARPW             + uiOffset, pcCU->getARPW(),              iSizeInUchar );
     
    14301418#endif
    14311419#endif
    1432 
    14331420  memcpy( rpcCU->getDepth()  + m_uiAbsIdxInLCU, m_puhDepth,  iSizeInUchar );
    14341421  memcpy( rpcCU->getWidth()  + m_uiAbsIdxInLCU, m_puhWidth,  iSizeInUchar );
     
    14651452  memcpy( rpcCU->m_sliceStartCU        + m_uiAbsIdxInLCU, m_sliceStartCU,        sizeof( UInt ) * m_uiNumPartition  );
    14661453  memcpy( rpcCU->m_sliceSegmentStartCU + m_uiAbsIdxInLCU, m_sliceSegmentStartCU, sizeof( UInt ) * m_uiNumPartition  );
    1467 
    14681454#if H_3D_ARP
    14691455  memcpy( rpcCU->getARPW()             + m_uiAbsIdxInLCU, m_puhARPW,             iSizeInUchar );
     
    15391525#endif
    15401526#endif
    1541 
    15421527  memcpy( rpcCU->getDepth()  + uiPartOffset, m_puhDepth,  iSizeInUchar );
    15431528  memcpy( rpcCU->getWidth()  + uiPartOffset, m_puhWidth,  iSizeInUchar );
     
    15751560  memcpy( rpcCU->m_sliceStartCU        + uiPartOffset, m_sliceStartCU,        sizeof( UInt ) * uiQNumPart  );
    15761561  memcpy( rpcCU->m_sliceSegmentStartCU + uiPartOffset, m_sliceSegmentStartCU, sizeof( UInt ) * uiQNumPart  );
    1577 
    15781562#if H_3D_ARP
    15791563  memcpy( rpcCU->getARPW()             + uiPartOffset, m_puhARPW,             iSizeInUchar );
     
    20272011    return getSlice()->getSliceQp();
    20282012  }
    2029   else
    2030   if ( iLastValidPartIdx >= 0 )
     2013  else if ( iLastValidPartIdx >= 0 )
    20312014  {
    20322015    return getQP( iLastValidPartIdx );
     
    22552238}
    22562239#endif
    2257 
    22582240UInt TComDataCU::getCtxInterDir( UInt uiAbsPartIdx )
    22592241{
     
    24922474}
    24932475#endif
    2494 
    24952476Void TComDataCU::setMergeFlagSubParts ( Bool bMergeFlag, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )
    24962477{
     
    25092490}
    25102491#endif
    2511 
    25122492Void TComDataCU::setChromIntraDirSubParts( UInt uiDir, UInt uiAbsPartIdx, UInt uiDepth )
    25132493{
     
    30303010
    30313011#endif
    3032 
    30333012/** Constructs a list of merging candidates
    30343013 * \param uiAbsPartIdx
     
    31393118          pcTextureCU->getMvField( pcTextureCU, uiPartIdxCenter, REF_PIC_LIST_1, pcMvFieldNeighbours[(iCount<<1)+1] );
    31403119          TComMv cMvPred = pcMvFieldNeighbours[(iCount<<1)+1].getMv();
    3141 
    31423120#if H_3D_IC
    31433121          const TComMv cAdd( 1 << ( 2 - 1 ), 1 << ( 2 - 1 ) );
     
    35683546    //>> MTK colocated-RightBottom
    35693547    UInt uiPartIdxRB;
    3570     Int uiLCUIdx = getAddr();
    35713548
    35723549    deriveRightBottomIdx( uiPUIdx, uiPartIdxRB ); 
     
    35773554    TComMv cColMv;
    35783555    Int iRefIdx;
     3556    Int uiLCUIdx = -1;
    35793557
    35803558    if      ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdxTmp] + m_pcPic->getMinCUWidth() ) >= m_pcSlice->getSPS()->getPicWidthInLumaSamples() )  // image boundary check
    35813559    {
    3582       uiLCUIdx = -1;
    35833560    }
    35843561    else if ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdxTmp] + m_pcPic->getMinCUHeight() ) >= m_pcSlice->getSPS()->getPicHeightInLumaSamples() )
    35853562    {
    3586       uiLCUIdx = -1;
    35873563    }
    35883564    else
     
    35973573      {
    35983574        uiAbsPartAddr = g_auiRasterToZscan[ (uiAbsPartIdxTmp + uiNumPartInCUWidth + 1) % m_pcPic->getNumPartInCU() ];
    3599         uiLCUIdx = -1 ;
    36003575      }
    36013576      else if ( uiAbsPartIdxTmp / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) // is not at the last row of LCU But is last column of LCU
     
    36073582      {
    36083583        uiAbsPartAddr = 0;
    3609         uiLCUIdx = -1 ;
    36103584      }
    36113585    }
     
    38853859    if (!bAdded)
    38863860    {
    3887       bAdded = xAddMVPCandOrder( pInfo, eRefPicList, iRefIdx, uiPartIdxLB, MD_LEFT );
     3861      xAddMVPCandOrder( pInfo, eRefPicList, iRefIdx, uiPartIdxLB, MD_LEFT );
    38883862    }
    38893863  }
     
    38983872  if(!bAdded)
    38993873  {
    3900     bAdded = xAddMVPCand( pInfo, eRefPicList, iRefIdx, uiPartIdxLT, MD_ABOVE_LEFT);
     3874    xAddMVPCand( pInfo, eRefPicList, iRefIdx, uiPartIdxLT, MD_ABOVE_LEFT);
    39013875  }
    39023876  bAdded = bAddedSmvp;
     
    39133887    if(!bAdded)
    39143888    {
    3915       bAdded = xAddMVPCandOrder( pInfo, eRefPicList, iRefIdx, uiPartIdxLT, MD_ABOVE_LEFT);
     3889      xAddMVPCandOrder( pInfo, eRefPicList, iRefIdx, uiPartIdxLT, MD_ABOVE_LEFT);
    39163890    }
    39173891  }
     
    39333907    UInt uiAbsPartIdx; 
    39343908    UInt uiAbsPartAddr;
    3935     Int uiLCUIdx = getAddr();
    39363909
    39373910    deriveRightBottomIdx( uiPartIdx, uiPartIdxRB );
     
    39403913    //----  co-located RightBottom Temporal Predictor (H) ---//
    39413914    uiAbsPartIdx = g_auiZscanToRaster[uiPartIdxRB];
     3915    Int uiLCUIdx = -1;
    39423916    if ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelX() + g_auiRasterToPelX[uiAbsPartIdx] + m_pcPic->getMinCUWidth() ) >= m_pcSlice->getSPS()->getPicWidthInLumaSamples() )  // image boundary check
    39433917    {
    3944       uiLCUIdx = -1;
    39453918    }
    39463919    else if ( ( m_pcPic->getCU(m_uiCUAddr)->getCUPelY() + g_auiRasterToPelY[uiAbsPartIdx] + m_pcPic->getMinCUHeight() ) >= m_pcSlice->getSPS()->getPicHeightInLumaSamples() )
    39473920    {
    3948       uiLCUIdx = -1;
    39493921    }
    39503922    else
     
    39593931      {
    39603932        uiAbsPartAddr = g_auiRasterToZscan[ (uiAbsPartIdx + uiNumPartInCUWidth + 1) % m_pcPic->getNumPartInCU() ];
    3961         uiLCUIdx      = -1 ;
    39623933      }
    39633934      else if ( uiAbsPartIdx / uiNumPartInCUWidth < m_pcPic->getNumPartInHeight() - 1 ) // is not at the last row of LCU But is last column of LCU
     
    39693940      {
    39703941        uiAbsPartAddr = 0;
    3971         uiLCUIdx      = -1 ;
    39723942      }
    39733943    }
     
    40434013UInt TComDataCU::getIntraSizeIdx(UInt uiAbsPartIdx)
    40444014{
    4045   UInt uiShift = ( (m_puhTrIdx[uiAbsPartIdx]==0) && (m_pePartSize[uiAbsPartIdx]==SIZE_NxN) ) ? m_puhTrIdx[uiAbsPartIdx]+1 : m_puhTrIdx[uiAbsPartIdx];
    4046   uiShift = ( m_pePartSize[uiAbsPartIdx]==SIZE_NxN ? 1 : 0 );
     4015  UInt uiShift = ( m_pePartSize[uiAbsPartIdx]==SIZE_NxN ? 1 : 0 );
    40474016 
    40484017  UChar uiWidth = m_puhWidth[uiAbsPartIdx]>>uiShift;
     
    41304099  }
    41314100 
    4132 #if L0363_MVP_POC
    41334101  if ( pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) >= 0 && m_pcSlice->getRefPic( eRefPicList, iRefIdx)->getPOC() == pcTmpCU->getSlice()->getRefPOC( eRefPicList, pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx) ))
    4134 #else
    4135   if ( m_pcSlice->isEqualRef(eRefPicList, pcTmpCU->getCUMvField(eRefPicList)->getRefIdx(uiIdx), iRefIdx) )
    4136 #endif
    41374102  {
    41384103    TComMv cMvPred = pcTmpCU->getCUMvField(eRefPicList)->getMv(uiIdx);
     
    43404305  }
    43414306  iCurrPOC = m_pcSlice->getPOC();   
    4342   iCurrRefPOC = m_pcSlice->getRefPic(eRefPicList, riRefIdx)->getPOC();
    43434307  iColPOC = pColCU->getSlice()->getPOC(); 
    43444308
Note: See TracChangeset for help on using the changeset viewer.