Ignore:
Timestamp:
29 Jan 2014, 03:07:07 (11 years ago)
Author:
ntt
Message:

Integration of G0148

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-9.3-dev1-NTT/source/Lib/TLibEncoder/TEncCu.cpp

    r795 r809  
    19551955          }
    19561956          else
     1957#endif
     1958#if NTT_STORE_SPDV_VSP_G0148
     1959          if ( vspFlag[uiMergeCand] )
    19571960          {
    1958 #endif
     1961            UInt partAddr;
     1962            Int vspSize;
     1963            Int width, height;
     1964            rpcTempCU->getPartIndexAndSize( 0, partAddr, width, height );
     1965
     1966            if( uhInterDirNeighbours[ uiMergeCand ] & 0x01 )
     1967            {
     1968              rpcTempCU->setMvFieldPUForVSP( rpcTempCU, partAddr, width, height, REF_PIC_LIST_0, cMvFieldNeighbours[ 2*uiMergeCand + 0 ].getRefIdx(), vspSize );
     1969              rpcTempCU->setVSPFlag( partAddr, vspSize );
     1970            }
     1971            else
     1972            {
     1973              rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
     1974            }
     1975            if( uhInterDirNeighbours[ uiMergeCand ] & 0x02 )
     1976            {
     1977              rpcTempCU->setMvFieldPUForVSP( rpcTempCU, partAddr, width, height, REF_PIC_LIST_1 , cMvFieldNeighbours[ 2*uiMergeCand + 1 ].getRefIdx(), vspSize );
     1978              rpcTempCU->setVSPFlag( partAddr, vspSize );
     1979            }
     1980            else
     1981            {
     1982              rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
     1983            }
     1984
     1985            rpcTempCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeCand], 0, 0, uhDepth ); // interprets depth relative to LCU level
     1986          }
     1987          else
     1988#endif
     1989          {
    19591990            rpcTempCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeCand], 0, 0, uhDepth ); // interprets depth relative to LCU level
    19601991            rpcTempCU->getCUMvField( REF_PIC_LIST_0 )->setAllMvField( cMvFieldNeighbours[0 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
    19611992            rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level
    1962 #if H_3D_SPIVMP
    19631993          }
    1964 #endif
    19651994       // do MC
    19661995       m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth] );
     
    19922021
    19932022          rpcTempCU->setSkipFlagSubParts( rpcTempCU->getQtRootCbf(0) == 0, 0, uhDepth );
     2023#if NTT_STORE_SPDV_VSP_G0148 // possible bug fix
     2024          if( rpcTempCU->getSkipFlag(0) )
     2025          {
     2026            rpcTempCU->setTrIdxSubParts(0, 0, uhDepth);
     2027          }
     2028#endif
    19942029#if H_3D_INTER_SDC
    19952030          TComDataCU *rpcTempCUPre = rpcTempCU;
     
    22142249
    22152250  m_pcPredSearch->encodeResAndCalcRdInterCU( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvBest[uhDepth], m_ppcRecoYuvTemp[uhDepth], false );
    2216 
     2251 
     2252#if NTT_STORE_SPDV_VSP_G0148 // possible bug fix
     2253  if( rpcTempCU->getQtRootCbf(0)==0 )
     2254  {
     2255    rpcTempCU->setTrIdxSubParts(0, 0, uhDepth);
     2256  }
     2257#endif
    22172258
    22182259#if H_3D_VSO // M4
Note: See TracChangeset for help on using the changeset viewer.