Ignore:
Timestamp:
26 Jan 2013, 19:36:53 (11 years ago)
Author:
mitsubishi-htm
Message:

-Integration of JCT3V-C0152 & JCT3V-C0131
-This check-in enable C0131 only

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-5.1-dev3-MERL/source/Lib/TLibDecoder/TDecEntropy.cpp

    r189 r231  
    337337#if SIMP_MRG_PRUN       
    338338      UInt uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);
     339#if MERL_VSP_C0152
     340      Int iVSPIndexTrue[3] = {-1, -1, -1};
     341      pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, uiDepth, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, iVSPIndexTrue, uiMergeIndex );
     342
     343      if(pcCU->getTextureModeDepth( uiSubPartIdx ) == uiDepth)//MPI is used
     344      {
     345        TComDataCU *pcTextureCU = pcCU->getSlice()->getTexturePic()->getCU( pcCU->getAddr() );
     346        UInt uiCurrPartNumb = pcCU->getPic()->getNumPartInCU() >> (uiDepth << 1);
     347        for( UInt ui = 0; ui < uiCurrPartNumb; ui++ )
     348        {
     349          Int vspIdx = pcTextureCU->getVSPIndex( uiAbsPartIdx + ui);
     350          pcCU->setVSPIndex( uiAbsPartIdx + ui, vspIdx);
     351        }
     352      }
     353      else // MPI not used
     354      {
     355        Int iVSPIdx = 0;
     356        Int numVspIdx;
     357        numVspIdx = 3;
     358        for (Int i = 0; i < numVspIdx; i++)
     359        {
     360          if (iVSPIndexTrue[i] == uiMergeIndex)
     361            {
     362              iVSPIdx = i+1;
     363              break;
     364            }
     365        }
     366        pcCU->setVSPIndexSubParts( iVSPIdx, uiSubPartIdx, uiPartIdx, uiDepth );  //Initialize the VSP, may change later in get InterMergeCandidates()
     367      }
     368
     369#else
    339370      pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, uiDepth, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
     371#endif
    340372#else     
    341373      pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, uiDepth, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
Note: See TracChangeset for help on using the changeset viewer.