Ignore:
Timestamp:
21 May 2015, 21:48:53 (9 years ago)
Author:
rwth
Message:
  • SDC seems to work now (incompatible with DMM at this stage)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-14.1-update-dev1-RWTH/source/Lib/TLibEncoder/TEncSearch.cpp

    r1221 r1223  
    10531053#if NH_3D_INTRA_SDC
    10541054          m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
     1055#if NH_3D_DMM
    10551056          if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( 0 ) ) && isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, 0 ) ) )
    10561057          {
    10571058            m_pcEntropyCoder->encodeDeltaDC( pcCU, 0 );
    10581059          }
     1060#endif
    10591061#endif
    10601062      }
     
    10711073          for( UInt uiPart = 0; uiPart < 4; uiPart++ )
    10721074          {
     1075#if NH_3D_DMM
    10731076            if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( uiPart * uiQNumParts ) ) && isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, uiPart * uiQNumParts ) ) )
    10741077            {
    10751078              m_pcEntropyCoder->encodeDeltaDC( pcCU, uiPart * uiQNumParts );
    10761079            }
     1080#endif
    10771081#endif
    10781082#if NH_3D_INTRA_SDC
     
    10811085            m_pcEntropyCoder->encodeSDCFlag( pcCU, 0, true );
    10821086          }
    1083           if( pcCU->getSlice()->getIsDepth() && ( !pcCU->getSDCFlag( uiAbsPartIdx ) ) && isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, uiAbsPartIdx ) ) )
     1087#if NH_3D_DMM
     1088          if( pcCU->getSlice()->getIsDepth() && ( pcCU->getSDCFlag( uiAbsPartIdx ) ) && isDmmMode( pcCU->getIntraDir( CHANNEL_TYPE_LUMA, uiAbsPartIdx ) ) )
    10841089          {
    10851090            m_pcEntropyCoder->encodeDeltaDC( pcCU, uiAbsPartIdx );
    10861091          }
     1092#endif
    10871093#endif
    10881094#if H_3D
     
    20692075      UInt uiStrideTU      = pcPredYuv->getStride ( COMPONENT_Y );
    20702076     
     2077      Pel* piRecIPredTU   = pcCU->getPic()->getPicYuvRec()->getAddr( COMPONENT_Y, pcCU->getCtuRsAddr(), pcCU->getZorderIdxInCtu() + uiAbsPartIdxTU );
     2078      UInt uiRecIPredStrideTU  = pcCU->getPic()->getPicYuvRec()->getStride(COMPONENT_Y);
     2079     
     2080      const Bool bUseFilter = TComPrediction::filteringIntraReferenceSamples(COMPONENT_Y, uiLumaPredMode, puRect.width, puRect.height, chFmt, sps.getSpsRangeExtension().getIntraSmoothingDisabledFlag());
     2081     
    20712082      //===== init pattern for luma prediction =====
    20722083      Bool bAboveAvail = false;
    20732084      Bool bLeftAvail  = false;
    20742085     
    2075       if (tuRecurseWithPU.ProcessComponentSection(COMPONENT_Y))
    2076       {
    2077         initIntraPatternChType( tuRecurseWithPU, bAboveAvail, bLeftAvail, COMPONENT_Y, true DEBUG_STRING_PASS_INTO(sTemp2) );
    2078       }
     2086      initIntraPatternChType( tuRecurseWithPU, bAboveAvail, bLeftAvail, COMPONENT_Y, bUseFilter DEBUG_STRING_PASS_INTO(sTemp2) );
    20792087     
    2080       const Bool bUseFilter = TComPrediction::filteringIntraReferenceSamples(COMPONENT_Y, uiLumaPredMode, puRect.width, puRect.height, chFmt, sps.getSpsRangeExtension().getIntraSmoothingDisabledFlag());
     2088      predIntraAng( COMPONENT_Y, uiLumaPredMode, piOrgTU, uiStrideTU, piPredTU, uiStrideTU, tuRecurseWithPU, bAboveAvail, bLeftAvail, bUseFilter );
    20812089     
    2082       predIntraAng( COMPONENT_Y, uiLumaPredMode, piOrgTU, uiStrideTU, piPredTU, uiStrideTU, tuRecurseWithPU, bAboveAvail, bLeftAvail, bUseFilter, TComPrediction::UseDPCMForFirstPassIntraEstimation(tuRecurseWithPU, uiLumaPredMode) );
     2090      // copy for prediction of next part
     2091      for( UInt uiY = 0; uiY < puRect.height; uiY++ )
     2092      {
     2093        for( UInt uiX = 0; uiX < puRect.width; uiX++ )
     2094        {
     2095          piPredTU      [ uiX ] = ClipBD( piPredTU[ uiX ], bitDepthY );
     2096          piRecIPredTU  [ uiX ] = piPredTU[ uiX ];
     2097        }
     2098        piPredTU     += uiStrideTU;
     2099        piRecIPredTU += uiRecIPredStrideTU;
     2100      }
    20832101     
    20842102    } while (tuRecurseWithPU.nextSection(tuRecurseCU));
Note: See TracChangeset for help on using the changeset viewer.