Changeset 724 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComSlice.cpp


Ignore:
Timestamp:
30 Nov 2013, 12:29:49 (12 years ago)
Author:
tech
Message:

Merged HTM-8.2-dev0@723.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibCommon/TComSlice.cpp

    r655 r724  
    751751    if ( this->getNumRefIdx( RefPicList( uiRefListIdx ) ) == 0)
    752752        continue;
    753 
     753#if !SHARP_ARP_REF_CHECK_F0105
     754// move the following to setARPStepNum() to define ARP related thing in ARP function.
     755#if QC_MTK_INTERVIEW_ARP_F0123_F0108
     756     for(Int i = 0; i < this->getNumRefIdx(RefPicList(uiRefListIdx)); i++ )
     757       {
     758       if ( this->getRefPic(RefPicList(uiRefListIdx), i)->getPOC() != getPOC() )
     759       {
     760         this->setFirstTRefIdx (RefPicList(uiRefListIdx), i);
     761         break;
     762       }
     763     }
     764#endif
     765#endif
    754766    Bool bZeroIdxLtFlag = this->getRefPic(RefPicList(uiRefListIdx), 0)->getIsLongTerm();
    755767    for(Int i = 1; i < this->getNumRefIdx(RefPicList(uiRefListIdx)); i++ )
     
    18261838#if H_3D_IV_MERGE
    18271839    m_ivMvPredFlag         [ i ] = false;
     1840#if MTK_SPIVMP_F0110
     1841    m_iSubPULog2Size       [ i ] = 0;
     1842#endif
    18281843#endif
    18291844#if H_3D_VSP
     
    18351850#if H_3D_INTER_SDC
    18361851    m_bInterSDCFlag        [ i ] = false;
     1852#endif
     1853#if SEC_MPI_ENABLING_MERGE_F0150
     1854    m_bMPIFlag             [ i ] = false;
    18371855#endif
    18381856  } 
     
    28312849
    28322850#if H_3D_ARP
     2851#if SHARP_ARP_REF_CHECK_F0105
     2852Void TComSlice::setARPStepNum( TComPicLists*ivPicLists )
     2853#else
    28332854Void TComSlice::setARPStepNum()                                 
    2834 {
     2855#endif
     2856{
     2857#if SHARP_ARP_REF_CHECK_F0105
     2858  Bool tempRefPicInListsFlag = false;
     2859#else
    28352860  Bool bAllIvRef = true;
    2836 
     2861#endif
     2862#if QC_MTK_INTERVIEW_ARP_F0123_F0108
     2863  if(!getVPS()->getUseAdvRP(getLayerId()) || this->isIRAP())
     2864#else
    28372865  if(!getVPS()->getUseAdvRP(getLayerId()))
     2866#endif
    28382867  {
    28392868    m_nARPStepNum = 0;
     
    28412870  else
    28422871  {
     2872#if SHARP_ARP_REF_CHECK_F0105
     2873    setFirstTRefIdx (REF_PIC_LIST_0, -1);
     2874    setFirstTRefIdx (REF_PIC_LIST_1, -1);
     2875    for ( Int refListIdx = 0; refListIdx < ((m_eSliceType==B_SLICE) ? 2 : 1); refListIdx++ )
     2876    {
     2877      for(Int i = 0; i < getNumRefIdx(RefPicList(refListIdx)); i++ )
     2878      {
     2879        if ( getRefPic(RefPicList(refListIdx), i)->getPOC() != getPOC() )
     2880        {
     2881          setFirstTRefIdx (RefPicList(refListIdx), i);
     2882          break;
     2883        }
     2884      }
     2885    }
     2886    tempRefPicInListsFlag = getFirstTRefIdx(REF_PIC_LIST_0) >= 0 || getFirstTRefIdx(REF_PIC_LIST_1) >= 0;
     2887    m_nARPStepNum = tempRefPicInListsFlag ? getVPS()->getARPStepNum(getLayerId()) : 0;
     2888#else
    28432889    for( Int iRefListId = 0; iRefListId < 2; iRefListId++ )
    28442890    {
     
    28632909    }
    28642910    m_nARPStepNum = !bAllIvRef ? getVPS()->getARPStepNum(getLayerId()) : 0;
    2865   }
     2911#endif
     2912  }
     2913#if SHARP_ARP_REF_CHECK_F0105
     2914  if (tempRefPicInListsFlag)
     2915  {
     2916    for ( Int refListIdx = 0; refListIdx < ((m_eSliceType==B_SLICE) ? 2 : 1); refListIdx++ )
     2917    {
     2918      RefPicList eRefPicList = RefPicList( refListIdx );
     2919      Int prevPOC = getRefPic(eRefPicList, getFirstTRefIdx(eRefPicList) )->getPOC();
     2920      for( Int i = 0; i < getNumActiveRefLayerPics(); i++ )
     2921      {
     2922        Int layerIdInNuh = getRefPicLayerId( i );
     2923        Int viewIdx = getVPS()->getViewId( layerIdInNuh );
     2924        TComPic*pcPicPrev = ivPicLists->getPic(viewIdx, 0, prevPOC);
     2925        if (getFirstTRefIdx(eRefPicList) >= 0 && pcPicPrev && pcPicPrev->getSlice( 0 )->isReferenced())
     2926        {
     2927          m_arpRefPicAvailable[eRefPicList][layerIdInNuh] = true;
     2928        }
     2929        else
     2930        {
     2931          m_arpRefPicAvailable[eRefPicList][layerIdInNuh] = false;
     2932        }
     2933      }
     2934  }
     2935}
     2936#endif
    28662937}
    28672938#endif
     
    29673038  setupLUT = setupLUT || getVPS()->getDepthRefinementFlag( layerIdInVPS );
    29683039#endif
     3040
     3041#if QC_DEPTH_IV_MRG_F0125
     3042  setupLUT = setupLUT || ( getVPS()->getIvMvPredFlag(layerIdInVPS ) && getIsDepth() );
     3043#endif
    29693044
    29703045  if( !setupLUT )
Note: See TracChangeset for help on using the changeset viewer.