Ignore:
Timestamp:
13 Nov 2013, 02:24:21 (11 years ago)
Author:
lg
Message:

Integration of "Removal of redundancy on VSP, ARP and IC"
FJCT3V-F0104
MACRO "LGE_SHARP_VSP_INHERIT_F0104"

By Taesup Kim (taesup.kim@…)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-8.2-dev2-LG/source/Lib/TLibEncoder/TEncCu.cpp

    r669 r690  
    17751775#endif
    17761776
     1777#if H_3D_ARP && LGE_SHARP_VSP_INHERIT_F0104
     1778  DisInfo cOrigDisInfo = rpcTempCU->getDvInfo(0);
     1779#else
    17771780  rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to LCU level
    17781781  rpcTempCU->setCUTransquantBypassSubParts( m_pcEncCfg->getCUTransquantBypassFlagValue(), 0, uhDepth );
     1782#endif
    17791783
    17801784#if H_3D_VSP
     1785#if !(H_3D_ARP && LGE_SHARP_VSP_INHERIT_F0104)
    17811786  Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    17821787  memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
    17831788  InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
    1784   rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag,inheritedVSPDisInfo, numValidMergeCand );
     1789  rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, numValidMergeCand );
     1790#endif
    17851791#else
    17861792  rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand );
     
    17921798  Int mergeCandBuffer[MRG_MAX_NUM_CANDS];
    17931799#endif
     1800#if H_3D_ARP && LGE_SHARP_VSP_INHERIT_F0104
     1801for( UInt ui = 0; ui < rpcTempCU->getSlice()->getMaxNumMergeCand(); ++ui )
     1802#else
    17941803for( UInt ui = 0; ui < numValidMergeCand; ++ui )
     1804#endif
    17951805  {
    17961806    mergeCandBuffer[ui] = 0;
     
    18171827  for( Int nARPW=nARPWMax; nARPW >= 0 ; nARPW-- )
    18181828  {
    1819     memset( mergeCandBuffer, 0, MRG_MAX_NUM_CANDS*sizeof(Int) );
     1829    memset( mergeCandBuffer, 0, MRG_MAX_NUM_CANDS_MEM*sizeof(Int) );
     1830#if LGE_SHARP_VSP_INHERIT_F0104
     1831    rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to LCU level
     1832    rpcTempCU->setCUTransquantBypassSubParts( m_pcEncCfg->getCUTransquantBypassFlagValue(), 0, uhDepth );
     1833    rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth );
     1834#if H_3D_IC
     1835    rpcTempCU->setICFlagSubParts( bICFlag, 0, 0, uhDepth );
     1836#endif
     1837    rpcTempCU->getDvInfo(0) = cOrigDisInfo;
     1838    rpcTempCU->setDvInfoSubParts(cOrigDisInfo, 0, 0, uhDepth );
     1839    Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
     1840    memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     1841    InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
     1842    rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, numValidMergeCand );
     1843#endif
    18201844#endif
    18211845  for( UInt uiNoResidual = 0; uiNoResidual < iteration; ++uiNoResidual )
     
    18551879          rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
    18561880          rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
    1857 
    18581881#if H_3D_ARP
    18591882          if( nARPW )
     
    18711894            if( !bSignalflag[0] && !bSignalflag[1] )
    18721895            {
     1896#if LGE_SHARP_VSP_INHERIT_F0104
     1897              continue;
     1898#else
    18731899              rpcTempCU->setARPWSubParts( 0 , 0 , uhDepth );
     1900#endif
    18741901            }
    18751902          }
Note: See TracChangeset for help on using the changeset viewer.