Changeset 23 in SHVCSoftware for branches/SHM-1.0-dev/source/Lib/TLibCommon


Ignore:
Timestamp:
30 Jan 2013, 21:09:30 (13 years ago)
Author:
interdigital
Message:
 
Location:
branches/SHM-1.0-dev/source/Lib/TLibCommon
Files:
2 edited

Legend:

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

    r12 r23  
    21432143#endif
    21442144
     2145#if REF_IDX_ME_ZEROMV
     2146Bool TComDataCU::xCheckZeroMVILRMerge(UChar uhInterDir, TComMvField& cMvFieldL0, TComMvField& cMvFieldL1)
     2147{
     2148        Bool checkZeroMVILR = true;
     2149
     2150        if(uhInterDir&0x1)  //list0
     2151        {
     2152                Int refIdxL0 = cMvFieldL0.getRefIdx();
     2153                if(getSlice()->getRefPic(REF_PIC_LIST_0, refIdxL0)->getIsILR())
     2154                        checkZeroMVILR &= (cMvFieldL0.getHor() == 0 && cMvFieldL0.getVer() == 0);
     2155        }
     2156        if(uhInterDir&0x2)  //list1
     2157        {
     2158                Int refIdxL1  = cMvFieldL1.getRefIdx();
     2159                if(getSlice()->getRefPic(REF_PIC_LIST_1, refIdxL1)->getIsILR())
     2160                        checkZeroMVILR &= (cMvFieldL1.getHor() == 0 && cMvFieldL1.getVer() == 0);
     2161        }
     2162
     2163        return checkZeroMVILR;
     2164}
     2165
     2166Bool TComDataCU::xCheckZeroMVILRMvdL1Zero(Int iRefList, Int iRefIdx, Int MvpIdx)
     2167{
     2168        RefPicList eRefPicList = iRefList > 0? REF_PIC_LIST_1: REF_PIC_LIST_0;
     2169        assert(eRefPicList == REF_PIC_LIST_1);
     2170
     2171        Bool checkZeroMVILR = true;
     2172
     2173        if(getSlice()->getRefPic(eRefPicList, iRefIdx)->getIsILR())
     2174        {
     2175                AMVPInfo* pcAMVPInfo = getCUMvField(eRefPicList)->getAMVPInfo();
     2176                TComMv    cMv        = pcAMVPInfo->m_acMvCand[MvpIdx];
     2177                checkZeroMVILR &= (cMv.getHor() == 0 && cMv.getVer() == 0);
     2178        }
     2179
     2180        return checkZeroMVILR;
     2181}
     2182#endif
     2183
    21452184UInt TComDataCU::getCtxSkipFlag( UInt uiAbsPartIdx )
    21462185{
  • branches/SHM-1.0-dev/source/Lib/TLibCommon/TComDataCU.h

    r2 r23  
    562562  UInt          getCtxIntraBLFlag               ( UInt   uiAbsPartIdx                                 );
    563563#endif 
    564  
     564
     565#if REF_IDX_ME_ZEROMV
     566  Bool xCheckZeroMVILRMerge(UChar uhInterDir, TComMvField& cMvFieldL0, TComMvField& cMvFieldL1);
     567  Bool xCheckZeroMVILRMvdL1Zero(Int iRefList, Int iRefIdx, Int MvpIdx);
     568#endif
     569
    565570  UInt          getSliceStartCU         ( UInt pos )                  { return m_uiSliceStartCU[pos-m_uiAbsIdxInLCU];                                                                                          }
    566571  UInt          getDependentSliceStartCU  ( UInt pos )                  { return m_uiDependentSliceStartCU[pos-m_uiAbsIdxInLCU];                                                                                   }
Note: See TracChangeset for help on using the changeset viewer.