Changeset 950 in 3DVCSoftware for trunk/source/Lib/TLibDecoder/TDecEntropy.cpp


Ignore:
Timestamp:
25 Apr 2014, 12:38:00 (10 years ago)
Author:
tech
Message:

Merged 10.2-dev0@949.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibDecoder/TDecEntropy.cpp

    r884 r950  
    139139 
    140140#if H_3D_DBBP
     141
     142#if MTK_DBBP_SIGNALING_H0094
     143  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) )
     144#else
    141145  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && pcCU->getPartitionSize(uiAbsPartIdx) == RWTH_DBBP_PACK_MODE )
     146#endif
    142147  {
    143148    decodeDBBPFlag(pcCU, uiAbsPartIdx, uiDepth);
     
    145150    if( pcCU->getDBBPFlag(uiAbsPartIdx) )
    146151    {
     152#if !MTK_DBBP_SIGNALING_H0094
    147153      AOF( pcCU->getPartitionSize(uiAbsPartIdx) == RWTH_DBBP_PACK_MODE );
     154#endif
    148155     
    149156      // get collocated depth block
     
    161168     
    162169      pcCU->setPartSizeSubParts(eVirtualPartSize, uiAbsPartIdx, uiDepth);
     170     
     171#if RWTH_DBBP_NO_SPU_H0057
     172      // make sure that DBBP flag is set for both segments
     173      UInt uiPUOffset = ( g_auiPUOffset[UInt( eVirtualPartSize )] << ( ( pcCU->getSlice()->getSPS()->getMaxCUDepth() - uiDepth ) << 1 ) ) >> 4;
     174      pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx, 0, uiDepth);
     175      pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx+uiPUOffset, 1, uiDepth);
     176#endif
    163177    }
    164178  }
     
    196210    return;
    197211  }
     212#if !MTK_SDC_FLAG_FIX_H0095
    198213#if H_3D_DIM_SDC
    199214  if( pcCU->getSDCFlag(uiAbsPartIdx) )
     
    201216    return;
    202217  }
     218#endif
    203219#endif
    204220 
     
    292308          pcSubCU->initAvailableFlags();
    293309          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand);
    294           pcSubCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo
     310          pcSubCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours
     311#if !ETRIKHU_CLEANUP_H0083
     312            ,vspFlag
     313#endif
     314            , inheritedVSPDisInfo
    295315#if H_3D_SPIVMP
    296             , bSPIVMPFlag, pcMvFieldSP, puhInterDirSP
     316#if !ETRIKHU_CLEANUP_H0083_MISSING
     317            , bSPIVMPFlag
     318#endif
     319            , pcMvFieldSP, puhInterDirSP
    297320#endif
    298321            , numValidMergeCand );
     322
     323#if ETRIKHU_CLEANUP_H0083
     324          pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours, vspFlag
     325#if H_3D_SPIVMP
     326            , bSPIVMPFlag
     327#endif
     328            , numValidMergeCand );
     329#endif
    299330          pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
    300331
     
    329360        pcSubCU->initAvailableFlags();
    330361        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
    331         pcSubCU->xGetInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo
     362        pcSubCU->xGetInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours
     363#if !ETRIKHU_CLEANUP_H0083
     364          , vspFlag
     365#endif
     366          , inheritedVSPDisInfo
    332367#if H_3D_SPIVMP
    333           , bSPIVMPFlag, pcMvFieldSP, puhInterDirSP
     368#if !ETRIKHU_CLEANUP_H0083_MISSING
     369            , bSPIVMPFlag
     370#endif
     371          , pcMvFieldSP, puhInterDirSP
    334372#endif
    335373          ,numValidMergeCand, uiMergeIndex );
     374
     375#if ETRIKHU_CLEANUP_H0083
     376        pcSubCU->buildMCL( cMvFieldNeighbours, uhInterDirNeighbours, vspFlag
     377#if H_3D_SPIVMP
     378          , bSPIVMPFlag
     379#endif
     380          ,numValidMergeCand );
     381#endif
    336382        pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
    337383        if(vspFlag[uiMergeIndex])
Note: See TracChangeset for help on using the changeset viewer.