Changeset 773 in 3DVCSoftware for trunk/source/Lib/TLibDecoder/TDecCu.cpp


Ignore:
Timestamp:
16 Jan 2014, 09:56:13 (11 years ago)
Author:
tech
Message:

Merged branch/9.2-dev0@722.

File:
1 edited

Legend:

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

    r758 r773  
    135135Void TDecCu::decompressCU( TComDataCU* pcCU )
    136136{
    137 #if !QC_DEPTH_IV_MRG_F0125
     137#if !H_3D_IV_MERGE
    138138  xDecompressCU( pcCU, 0,  0 );
    139139#endif
     
    315315      m_ppcCU[uiDepth]->setHeight ( 0, pcCU->getSlice()->getSPS()->getMaxCUHeight()/(1<<uiDepth)  );
    316316      m_ppcCU[uiDepth]->setPartSizeSubParts( SIZE_2Nx2N, 0, uiDepth );     
    317 #if QC_DEPTH_IV_MRG_F0125
     317#if H_3D_IV_MERGE
    318318      if( pcCU->getSlice()->getIsDepth())
    319319      {
     
    333333        DvInfo.bDV = m_ppcCU[uiDepth]->getDisMvpCandNBDV(&DvInfo);
    334334      }
    335 #if QC_DEPTH_IV_MRG_F0125
     335#if H_3D_IV_MERGE
    336336      }
    337337#endif
     
    390390    UInt uiMergeIndex = pcCU->getMergeIndex(uiAbsPartIdx);
    391391
    392 #if LGE_SHARP_VSP_INHERIT_F0104
    393392#if H_3D_IC
    394393    m_pcEntropyDecoder->decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
     
    396395#if H_3D_ARP
    397396    m_pcEntropyDecoder->decodeARPW( pcCU , uiAbsPartIdx , uiDepth );
    398 #endif
    399397#endif
    400398
     
    403401    memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
    404402    InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
    405 #if MTK_SPIVMP_F0110
     403#if H_3D_SPIVMP
    406404    Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM];
    407405    memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
     
    411409    puhInterDirSP = new UChar[pcCU->getPic()->getPicSym()->getNumPartition()];
    412410#endif
    413 #if ETRIKHU_MERGE_REUSE_F0093
    414411    m_ppcCU[uiDepth]->initAvailableFlags();
    415412    m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
    416413    m_ppcCU[uiDepth]->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo
    417 #if MTK_SPIVMP_F0110
     414#if H_3D_SPIVMP
    418415      , bSPIVMPFlag, pcMvFieldSP, puhInterDirSP
    419416#endif
    420417      , numValidMergeCand, uiMergeIndex );
    421 #else
    422     m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, numValidMergeCand, uiMergeIndex );
    423 #endif
    424418    pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiAbsPartIdx, 0, uiDepth );
    425419#else
    426 #if ETRIKHU_MERGE_REUSE_F0093
     420#if H_3D
    427421    m_ppcCU[uiDepth]->initAvailableFlags();
    428422    m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
     
    468462      }
    469463    }
    470 #if MTK_SPIVMP_F0110
     464#if H_3D_SPIVMP
    471465    pcCU->setSPIVMPFlagSubParts(bSPIVMPFlag[uiMergeIndex], uiAbsPartIdx, 0, uiDepth );
    472466    if (bSPIVMPFlag[uiMergeIndex])
     
    488482      }
    489483    }
    490 #if MTK_F0110_FIX
    491484    delete[] pcMvFieldSP;
    492485    delete[] puhInterDirSP;
    493 #else
    494     delete pcMvFieldSP;
    495     delete puhInterDirSP;
    496 #endif
    497 #endif
    498 #if !LGE_SHARP_VSP_INHERIT_F0104
    499 #if H_3D_IC
    500     m_pcEntropyDecoder->decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
    501 #endif
    502 #if H_3D_ARP
    503     m_pcEntropyDecoder->decodeARPW( pcCU , uiAbsPartIdx , uiDepth );
    504 #endif
    505486#endif
    506487
    507488    xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast );
    508 #if QC_DEPTH_IV_MRG_F0125
     489#if H_3D_IV_MERGE
    509490    xDecompressCU(pcCU, uiAbsPartIdx, uiDepth );
    510491#endif
     
    522503    {
    523504      xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast );
    524 #if QC_DEPTH_IV_MRG_F0125
     505#if H_3D_IV_MERGE
    525506      xDecompressCU(pcCU, uiAbsPartIdx, uiDepth );
    526507#endif
     
    534515  // prediction mode ( Intra : direction mode, Inter : Mv, reference idx )
    535516  m_pcEntropyDecoder->decodePredInfo( pcCU, uiAbsPartIdx, uiDepth, m_ppcCU[uiDepth]);
    536 #if !LGE_SHARP_VSP_INHERIT_F0104
    537 #if H_3D_IC
    538   m_pcEntropyDecoder->decodeICFlag( pcCU, uiAbsPartIdx, uiDepth );
    539 #endif
    540 #if H_3D_ARP
    541   m_pcEntropyDecoder->decodeARPW    ( pcCU , uiAbsPartIdx , uiDepth ); 
    542 #endif 
    543 #endif
    544517#if H_3D_INTER_SDC
    545518  m_pcEntropyDecoder->decodeInterSDCFlag( pcCU, uiAbsPartIdx, uiDepth );
     
    550523  setdQPFlag( bCodeDQP );
    551524  xFinishDecodeCU( pcCU, uiAbsPartIdx, uiDepth, ruiIsLast );
    552 #if QC_DEPTH_IV_MRG_F0125
     525#if H_3D_IV_MERGE
    553526  xDecompressCU(pcCU, uiAbsPartIdx, uiDepth );
    554527#endif
     
    568541{
    569542  TComPic* pcPic = pcCU->getPic();
    570 #if !QC_DEPTH_IV_MRG_F0125 
     543#if !H_3D_IV_MERGE
    571544  Bool bBoundary = false;
    572545  UInt uiLPelX   = pcCU->getCUPelX() + g_auiRasterToPelX[ g_auiZscanToRaster[uiAbsPartIdx] ];
     
    780753    for( UInt uiX = 0; uiX < uiWidth; uiX++ )
    781754    {
    782 #if LGE_PRED_RES_CODING_DLT_DOMAIN_F0159
    783 #if DLT_DIFF_CODING_IN_PPS
     755#if H_3D
    784756      if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getPPS()->getDLT()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
    785 #else
    786       if( (isDimMode( uiLumaPredMode ) || uiLumaPredMode == HOR_IDX || uiLumaPredMode == VER_IDX || uiLumaPredMode == DC_IDX) && pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getUseDLTFlag(pcCU->getSlice()->getLayerIdInVps()) )
    787 #endif
    788         {
    789 #if DLT_DIFF_CODING_IN_PPS
    790           pReco    [ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
    791 #else
    792           pReco    [ uiX ] = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getVPS()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
    793 #endif
    794         }
    795         else
    796         {
    797       pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
    798         }
     757      {
     758        pReco    [ uiX ] = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), Clip3( 0, pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() ) - 1, pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), pPred[ uiX ] ) + pResi[ uiX ] ) );
     759      }
     760      else
     761      {
     762        pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
     763      }
    799764#else
    800765      pReco    [ uiX ] = ClipY( pPred[ uiX ] + pResi[ uiX ] );
     
    1008973  {
    1009974#if H_3D_DIM_DLT
    1010 #if DLT_DIFF_CODING_IN_PPS
    1011975    Pel   pPredIdx    = pcCU->getSlice()->getPPS()->getDLT()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
    1012976    Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
    1013977    Pel   pRecoValue  = pcCU->getSlice()->getPPS()->getDLT()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
    1014 #else
    1015     Pel   pPredIdx    = pcCU->getSlice()->getVPS()->depthValue2idx( pcCU->getSlice()->getLayerIdInVps(), apDCPredValues[uiSegment] );
    1016     Pel   pResiIdx    = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
    1017     Pel   pRecoValue  = pcCU->getSlice()->getVPS()->idx2DepthValue( pcCU->getSlice()->getLayerIdInVps(), pPredIdx + pResiIdx );
    1018 #endif
    1019978
    1020979    apDCResiValues[uiSegment]  = pRecoValue - apDCPredValues[uiSegment];
Note: See TracChangeset for help on using the changeset viewer.