Changeset 1280 in 3DVCSoftware for branches/HTM-14.1-update-dev2/source


Ignore:
Timestamp:
17 Jul 2015, 16:59:43 (9 years ago)
Author:
tech
Message:
  • Preliminary fix for pruning.
Location:
branches/HTM-14.1-update-dev2/source/Lib
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-14.1-update-dev2/source/Lib/TLibCommon/Debug.cpp

    r1200 r1280  
    154154
    155155#if DEBUG_STRING
    156 EnvVar DebugOptionList::DebugString_Structure ("DEBUG_STRUCTURE",   "0", "Produce output on chosen structure                        bit0=intra, bit1=inter");
    157 EnvVar DebugOptionList::DebugString_Pred      ("DEBUG_PRED",        "0", "Produce output on prediction data.                        bit0=intra, bit1=inter");
    158 EnvVar DebugOptionList::DebugString_Resi      ("DEBUG_RESI",        "0", "Produce output on residual data.                          bit0=intra, bit1=inter");
    159 EnvVar DebugOptionList::DebugString_Reco      ("DEBUG_RECO",        "0", "Produce output on reconstructed data.                     bit0=intra, bit1=inter");
     156EnvVar DebugOptionList::DebugString_Structure ("DEBUG_STRUCTURE",   "3", "Produce output on chosen structure                        bit0=intra, bit1=inter");
     157EnvVar DebugOptionList::DebugString_Pred      ("DEBUG_PRED",        "3", "Produce output on prediction data.                        bit0=intra, bit1=inter");
     158EnvVar DebugOptionList::DebugString_Resi      ("DEBUG_RESI",        "3", "Produce output on residual data.                          bit0=intra, bit1=inter");
     159EnvVar DebugOptionList::DebugString_Reco      ("DEBUG_RECO",        "3", "Produce output on reconstructed data.                     bit0=intra, bit1=inter");
    160160EnvVar DebugOptionList::DebugString_InvTran   ("DEBUG_INV_QT",      "0", "Produce output on inverse-quantiser and transform stages. bit0=intra, bit1=inter");
    161161#endif
  • branches/HTM-14.1-update-dev2/source/Lib/TLibCommon/TComDataCU.cpp

    r1275 r1280  
    36703670          continue;
    36713671        }
     3672#if H_3D_FIX_PRUNING
     3673        if  (   ivCandDir[0] == m_mergCands[MRG_A1+i].m_uDir                                &&
     3674            ( ( ivCandDir[0] & 1 ) == 0 || tmpMV[0]==m_mergCands[MRG_A1+i].m_cMvField[0]  ) &&
     3675            ( ( ivCandDir[0] & 2 ) == 0 || tmpMV[1]==m_mergCands[MRG_A1+i].m_cMvField[1]  )
     3676           )
     3677#else
    36723678        if (ivCandDir[0] == m_mergCands[MRG_A1+i].m_uDir && tmpMV[0]==m_mergCands[MRG_A1+i].m_cMvField[0] && tmpMV[1]==m_mergCands[MRG_A1+i].m_cMvField[1])
     3679#endif
    36733680        {
    36743681          m_mergCands[MRG_A1+i].m_bAvailable = false;
     
    36793686    if (bIsDepth)
    36803687    {
     3688#if H_3D_FIX_PRUNING
     3689      if  ( m_mergCands[MRG_T].m_bAvailable &&   ivCandDir[0] == m_mergCands[MRG_T].m_uDir  &&
     3690        ( ( ivCandDir[0] & 1 ) == 0 || tmpMV[0]==m_mergCands[MRG_T].m_cMvField[0]  ) &&
     3691        ( ( ivCandDir[0] & 2 ) == 0 || tmpMV[1]==m_mergCands[MRG_T].m_cMvField[1]  )
     3692        )
     3693#else
    36813694      if (m_mergCands[MRG_T].m_bAvailable && ivCandDir[0] == m_mergCands[MRG_T].m_uDir && tmpMV[0]==m_mergCands[MRG_T].m_cMvField[0] && tmpMV[1]==m_mergCands[MRG_T].m_cMvField[1])
     3695#endif
    36823696      {
    36833697        bRemoveSpa                      = true;
     
    37753789        continue;
    37763790      }
     3791#if H_3D_FIX_PRUNING
     3792      if  ( ivCandDir[1] == m_mergCands[MRG_A1+i].m_uDir  &&
     3793        ( ( ivCandDir[1] & 1 ) == 0 || tmpMV[0]==m_mergCands[MRG_A1+i].m_cMvField[0]  ) &&
     3794        ( ( ivCandDir[1] & 2 ) == 0 || tmpMV[1]==m_mergCands[MRG_A1+i].m_cMvField[1]  )
     3795        )
     3796#else
    37773797      if (ivCandDir[1] == m_mergCands[MRG_A1+i].m_uDir && tmpMV[0]==m_mergCands[MRG_A1+i].m_cMvField[0] && tmpMV[1]==m_mergCands[MRG_A1+i].m_cMvField[1])
     3798#endif
    37783799      {
    37793800        bRemoveSpa                      = true;
  • branches/HTM-14.1-update-dev2/source/Lib/TLibCommon/TComRom.cpp

    r1277 r1280  
    555555const Bool g_bEncDecTraceEnable  = true;
    556556const Bool g_bEncDecTraceDisable = false;
    557 Bool   g_HLSTraceEnable = false;
     557Bool   g_HLSTraceEnable = true;
    558558Bool   g_bJustDoIt = false;
    559559UInt64 g_nSymbolCounter = 0;
    560560#if H_MV_ENC_DEC_TRAC
    561 Bool g_traceCU = false;
    562 Bool g_tracePU = false;
    563 Bool g_traceTU = false;
     561Bool g_traceCU = true;
     562Bool g_tracePU = true;
     563Bool g_traceTU = true;
    564564Bool g_disableNumbering = false;
    565565Bool g_disableHLSTrace = false;
     
    569569Bool g_decTraceMvFromMerge   = false;
    570570Bool g_decTracePicOutput     = false;
    571 Bool g_stopAtPos             = false;
     571Bool g_stopAtPos             = true;
    572572Bool g_outputPos             = false;   
    573573Bool g_traceCameraParameters = false;
     
    704704  }
    705705  Bool stopFlag = false;
    706   if ( g_stopAtPos && poc == 16 && layerId == 1 )
     706  if ( g_stopAtPos && poc == 6 && layerId == 2 )
    707707  {
    708708    Bool stopAtCU = true;
    709709    if ( stopAtCU )        // Stop at CU with specific size
    710710    {   
    711       stopFlag = ( cuPelX  == 0 ) && ( cuPelY  == 0 ) && ( cuWidth == 32 ) && ( cuHeight == 32 );
     711      stopFlag = ( cuPelX  == 128 ) && ( cuPelY  == 160 ) && ( cuWidth == 32 ) && ( cuHeight == 32 );
    712712    }
    713713    else
  • branches/HTM-14.1-update-dev2/source/Lib/TLibCommon/TComRom.h

    r1277 r1280  
    158158// Change later
    159159#ifndef ENC_DEC_TRACE
    160 #define ENC_DEC_TRACE 0
     160#define ENC_DEC_TRACE 1
    161161#endif
    162162#endif
     
    201201 Void           writeToTraceFile( const Char* symbolName, Int val, Bool doIt );
    202202 Void           writeToTraceFile( const Char* symbolName, Bool doIt );
    203  incSymbolCounter incSymbolCounter();         
     203 UInt64        incSymbolCounter();         
    204204 Void           stopAtPos       ( Int poc, Int layerId, Int cuPelX, Int cuPelY, Int cuWidth, Int cuHeight );           
    205205#endif
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncCu.cpp

    r1275 r1280  
    716716            if( rpcTempCU->getSlice()->getDepthBasedBlkPartFlag() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
    717717            {
    718               xCheckRDCostInterDBBP( rpcBestCU, rpcTempCU, false );
     718              xCheckRDCostInterDBBP( rpcBestCU, rpcTempCU DEBUG_STRING_PASS_INTO(sDebug), false );
    719719              rpcTempCU->initEstData( uiDepth, iQP, bIsLosslessMode  );
    720720#if NH_3D_VSP  || NH_3D_DBBP
     
    19181918  for( Int nARPW=nARPWMax; nARPW >= 0 ; nARPW-- )
    19191919  {
     1920#if NH_3D
     1921#if DEBUG_STRING
     1922    bestStr.clear();
     1923#endif
     1924#endif
    19201925#if NH_3D_IV_MERGE
    19211926    memset( mergeCandBuffer, 0, MRG_MAX_NUM_CANDS_MEM*sizeof(Int) );
     
    25882593
    25892594#if NH_3D_DBBP
    2590 Void TEncCu::xCheckRDCostInterDBBP( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool bUseMRG )
     2595Void TEncCu::xCheckRDCostInterDBBP( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU  DEBUG_STRING_FN_DECLARE(sDebug), Bool bUseMRG )
    25912596{
     2597  DEBUG_STRING_NEW(sTest)
    25922598  AOF( !rpcTempCU->getSlice()->getIsDepth() );
    25932599 
     
    26602666    rpcTempCU->getDBBPTmpData()->eVirtualPartSize = eVirtualPartSize;
    26612667    rpcTempCU->getDBBPTmpData()->uiVirtualPartIndex = uiSegment;
    2662     m_pcPredSearch->predInterSearch( rpcTempCU, m_ppcOrigYuvDBBP[uhDepth], apPredYuv[uiSegment], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], false, bUseMRG );
     2668    m_pcPredSearch->predInterSearch( rpcTempCU, m_ppcOrigYuvDBBP[uhDepth], apPredYuv[uiSegment], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth] DEBUG_STRING_PASS_INTO(sTest), false, bUseMRG );
    26632669    m_pcRdCost->setUseMask(false);
    26642670   
     
    27192725  Int bitDepthY = rpcTempCU->getSlice()->getSPS()->getBitDepth(CHANNEL_TYPE_LUMA);
    27202726  m_pcPredSearch->combineSegmentsWithMask(apPredYuv, m_ppcPredYuvTemp[uhDepth], pMask, uiWidth, uiHeight, 0, eVirtualPartSize, bitDepthY);
    2721   m_pcPredSearch->encodeResAndCalcRdInterCU( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvBest[uhDepth], m_ppcRecoYuvTemp[uhDepth], false );
     2727  m_pcPredSearch->encodeResAndCalcRdInterCU( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvBest[uhDepth], m_ppcRecoYuvTemp[uhDepth], false DEBUG_STRING_PASS_INTO(sTest) );
    27222728 
    27232729  xCheckDQP( rpcTempCU );
    2724   xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth);
     2730  xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth  DEBUG_STRING_PASS_INTO(sDebug) DEBUG_STRING_PASS_INTO(sTest) );
    27252731}
    27262732#endif
  • branches/HTM-14.1-update-dev2/source/Lib/TLibEncoder/TEncCu.h

    r1274 r1280  
    157157#if NH_3D_DBBP
    158158  Void  xInvalidateOriginalSegments( TComYuv* pOrigYuv, TComYuv* pOrigYuvTemp, Bool* pMask, UInt uiValidSegment );
    159   Void  xCheckRDCostInterDBBP( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool bUseMRG = false );
     159  Void  xCheckRDCostInterDBBP( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU  DEBUG_STRING_FN_DECLARE(sDebug), Bool bUseMRG = false );
    160160#endif
    161161#if H_3D
Note: See TracChangeset for help on using the changeset viewer.