Ignore:
Timestamp:
26 May 2015, 07:13:47 (9 years ago)
Author:
etri-htm
Message:

Reactive_MLC (the MACRO is "NH_3D_MLC")

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-14.1-update-dev3-ETRI/source/Lib/TLibDecoder/TDecEntropy.cpp

    r1200 r1233  
    236236  UInt uiNumPU = ( ePartSize == SIZE_2Nx2N ? 1 : ( ePartSize == SIZE_NxN ? 4 : 2 ) );
    237237  UInt uiPUOffset = ( g_auiPUOffset[UInt( ePartSize )] << ( ( pcCU->getSlice()->getSPS()->getMaxTotalCUDepth() - uiDepth ) << 1 ) ) >> 4;
    238 #if H_3D_IV_MERGE
     238//#if H_3D_IV_MERGE
     239#if NH_3D_MLC
    239240  TComMvField cMvFieldNeighbours[MRG_MAX_NUM_CANDS_MEM << 1]; // double length for mv of both lists
    240241  UChar uhInterDirNeighbours[MRG_MAX_NUM_CANDS_MEM];
     
    483484        {
    484485          pcSubCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth ); // temporarily set.
     486
     487#if NH_3D_MLC
     488#if H_3D_VSP
     489          Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
     490          memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     491#endif
     492#if H_3D_SPIVMP
     493          memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
     494#endif
     495          pcSubCU->initAvailableFlags();
     496#endif
    485497          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
     498#if NH_3D_MLC
     499          pcSubCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours
     500#if H_3D_SPIVMP
     501            , pcMvFieldSP, puhInterDirSP
     502#endif
     503            , numValidMergeCand );
     504          pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours
     505#if H_3D_VSP
     506            , vspFlag
     507#endif
     508#if H_3D_SPIVMP
     509            , bSPIVMPFlag
     510#endif
     511            , numValidMergeCand );
     512#if H_3D_VSP
     513          pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
     514#endif
     515#endif
    486516          pcSubCU->setPartSizeSubParts( ePartSize, 0, uiDepth ); // restore.
    487517          hasMergedCandList = true;
     
    491521      {
    492522        uiMergeIndex = pcCU->getMergeIndex(uiSubPartIdx);
     523
     524#if NH_3D_MLC
     525#if H_3D_VSP
     526        Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
     527        memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
     528#endif
     529#if H_3D_SPIVMP
     530        memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
     531#endif
     532        pcSubCU->initAvailableFlags();
     533#endif
    493534        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
     535#if NH_3D_MLC
     536        pcSubCU->xGetInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours
     537#if H_3D_SPIVMP
     538          , pcMvFieldSP, puhInterDirSP
     539#endif
     540          ,numValidMergeCand, uiMergeIndex );
     541        pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours
     542#if H_3D_VSP
     543          , vspFlag
     544#endif
     545#if H_3D_SPIVMP
     546          , bSPIVMPFlag
     547#endif
     548          ,numValidMergeCand );
     549#if H_3D_VSP
     550        pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
     551#endif
     552#endif
    494553      }
    495554
Note: See TracChangeset for help on using the changeset viewer.