Ignore:
Timestamp:
4 Jul 2013, 21:00:23 (11 years ago)
Author:
tech
Message:

Integrated following changes:

  • H_MV_FIX1071, fix of encoder side reference list construction on IRAP pictures, same as in HM11.
  • H_3D_VSO_FIX_BORDRE_EXTENSION, fixed uninitialized borders for org-yuvs in VSO
  • H_MV_ENC_DEC_TRAC, added cu/pu level trace ( only enabled when ENC_DEC_TRACE is enabled)
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibDecoder/TDecSbac.cpp

    r504 r521  
    331331    m_pcTDecBinIf->decodeBinTrm(uiSymbol);
    332332
     333#if H_MV_ENC_DEC_TRAC
     334      DTRACE_CU("pcm_flag", uiSymbol)
     335#endif
    333336    if (uiSymbol)
    334337    {
     
    412415  UInt uiSymbol;
    413416  m_pcTDecBinIf->decodeBin( uiSymbol, m_CUTransquantBypassFlagSCModel.get( 0, 0, 0 ) );
     417#if H_MV_ENC_DEC_TRAC
     418  DTRACE_CU("cu_transquant_bypass_flag", uiSymbol);
     419#endif
    414420  pcCU->setCUTransquantBypassSubParts(uiSymbol ? true : false, uiAbsPartIdx, uiDepth);
    415421}
     
    431437  UInt uiCtxSkip = pcCU->getCtxSkipFlag( uiAbsPartIdx );
    432438  m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUSkipFlagSCModel.get( 0, 0, uiCtxSkip ) );
     439#if !H_MV_ENC_DEC_TRAC
    433440  DTRACE_CABAC_VL( g_nSymbolCounter++ );
    434441  DTRACE_CABAC_T( "\tSkipFlag" );
     
    438445  DTRACE_CABAC_V( uiSymbol );
    439446  DTRACE_CABAC_T( "\n");
     447#endif
    440448 
    441449  if( uiSymbol )
     
    447455    pcCU->setMergeFlagSubParts( true , uiAbsPartIdx, 0, uiDepth );
    448456  }
     457#if H_MV_ENC_DEC_TRAC
     458  DTRACE_CU("cu_skip_flag", uiSymbol);
     459#endif
    449460}
    450461
     
    460471  UInt uiSymbol;
    461472  m_pcTDecBinIf->decodeBin( uiSymbol, *m_cCUMergeFlagExtSCModel.get( 0 ) );
     473#if H_MV_ENC_DEC_TRAC
     474  DTRACE_PU("merge_flag", uiSymbol)
     475#endif
    462476  pcCU->setMergeFlagSubParts( uiSymbol ? true : false, uiAbsPartIdx, uiPUIdx, uiDepth );
    463477
     478#if !H_MV_ENC_DEC_TRAC
    464479  DTRACE_CABAC_VL( g_nSymbolCounter++ );
    465480  DTRACE_CABAC_T( "\tMergeFlag: " );
     
    470485  DTRACE_CABAC_V( uiAbsPartIdx );
    471486  DTRACE_CABAC_T( "\n" );
     487#endif
    472488}
    473489
     
    494510      }
    495511    }
     512#if H_MV_ENC_DEC_TRAC
     513    DTRACE_PU("merge_idx", uiUnaryIdx)
     514#endif
    496515  }
    497516  ruiMergeIndex = uiUnaryIdx;
    498517
     518#if !H_MV_ENC_DEC_TRAC
    499519  DTRACE_CABAC_VL( g_nSymbolCounter++ )
    500520  DTRACE_CABAC_T( "\tparseMergeIndex()" )
     
    502522  DTRACE_CABAC_V( ruiMergeIndex )
    503523  DTRACE_CABAC_T( "\n" )
     524#endif
    504525}
    505526
     
    521542  UInt uiSymbol;
    522543  m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUSplitFlagSCModel.get( 0, 0, pcCU->getCtxSplitFlag( uiAbsPartIdx, uiDepth ) ) );
     544#if H_MV_ENC_DEC_TRAC
     545  DTRACE_CU("split_cu_flag", uiSymbol);
     546#else
    523547  DTRACE_CABAC_VL( g_nSymbolCounter++ )
    524548  DTRACE_CABAC_T( "\tSplitFlag\n" )
     549#endif
    525550  pcCU->setDepthSubParts( uiDepth + uiSymbol, uiAbsPartIdx );
    526551 
     
    545570    {
    546571      m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPartSizeSCModel.get( 0, 0, 0) );
     572#if H_MV_ENC_DEC_TRAC         
     573      DTRACE_CU("part_mode", uiSymbol)
     574#endif       
    547575    }
    548576    eMode = uiSymbol ? SIZE_2Nx2N : SIZE_NxN;
     
    598626      }
    599627    }
     628#if H_MV_ENC_DEC_TRAC         
     629    DTRACE_CU("part_mode", eMode )
     630#endif       
    600631  }
    601632  pcCU->setPartSizeSubParts( eMode, uiAbsPartIdx, uiDepth );
     
    621652  m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUPredModeSCModel.get( 0, 0, 0 ) );
    622653  iPredMode += uiSymbol;
     654#if H_MV_ENC_DEC_TRAC         
     655  DTRACE_CU("pred_mode_flag", uiSymbol)
     656#endif       
    623657  pcCU->setPredModeSubParts( (PredMode)iPredMode, uiAbsPartIdx, uiDepth );
    624658}
     
    639673    m_pcTDecBinIf->decodeBin( symbol, m_cCUIntraPredSCModel.get( 0, 0, 0) );
    640674    mpmPred[j] = symbol;
     675#if H_MV_ENC_DEC_TRAC         
     676    DTRACE_CU("prev_intra_luma_pred_flag", symbol)
     677#endif
    641678  }
    642679  for (j=0;j<partNum;j++)
     
    652689        symbol++;
    653690      }
     691#if H_MV_ENC_DEC_TRAC         
     692      DTRACE_CU("mpm_idx", symbol)
     693#endif
    654694      intraPredMode = preds[symbol];
    655695    }
     
    659699      m_pcTDecBinIf->decodeBinsEP( symbol, 5 );
    660700      intraPredMode = symbol;
    661        
     701#if H_MV_ENC_DEC_TRAC         
     702      DTRACE_CU("rem_intra_luma_pred_mode", symbol)
     703#endif       
    662704      //postponed sorting of MPMs (only in remaining branch)
    663705      if (preds[0] > preds[1])
     
    690732  if( uiSymbol == 0 )
    691733  {
     734#if H_MV_ENC_DEC_TRAC         
     735    DTRACE_CU("intra_chroma_pred_mode", uiSymbol )
     736#endif       
    692737    uiSymbol = DM_CHROMA_IDX;
    693738  }
     
    697742      UInt uiIPredMode;
    698743      m_pcTDecBinIf->decodeBinsEP( uiIPredMode, 2 );
     744#if H_MV_ENC_DEC_TRAC         
     745      DTRACE_CU("intra_chroma_pred_mode", uiIPredMode )
     746#endif       
    699747      UInt uiAllowedChromaDir[ NUM_CHROMA_MODE ];
    700748      pcCU->getAllowedChromaDir( uiAbsPartIdx, uiAllowedChromaDir );
     
    729777  uiSymbol++;
    730778  ruiInterDir = uiSymbol;
     779#if H_MV_ENC_DEC_TRAC
     780    DTRACE_PU("inter_pred_idc", ruiInterDir - 1 )   
     781#endif
     782
    731783  return;
    732784}
     
    764816  }
    765817
     818#if H_MV_ENC_DEC_TRAC
     819#if ENC_DEC_TRACE
     820  if ( eRefList == REF_PIC_LIST_0 )
     821  {
     822    DTRACE_PU("ref_idx_l0", uiSymbol)
     823  }
     824  else
     825  {
     826    DTRACE_PU("ref_idx_l1", uiSymbol)
     827  }
     828#endif
     829#endif
    766830  return;
    767831}
     
    835899{
    836900  m_pcTDecBinIf->decodeBin( ruiSubdivFlag, m_cCUTransSubdivFlagSCModel.get( 0, 0, uiLog2TransformBlockSize ) );
     901#if !H_MV_ENC_DEC_TRAC
    837902  DTRACE_CABAC_VL( g_nSymbolCounter++ )
    838903  DTRACE_CABAC_T( "\tparseTransformSubdivFlag()" )
     
    842907  DTRACE_CABAC_V( uiLog2TransformBlockSize )
    843908  DTRACE_CABAC_T( "\n" )
     909#endif
    844910}
    845911
     
    849915  const UInt uiCtx = 0;
    850916  m_pcTDecBinIf->decodeBin( uiSymbol , m_cCUQtRootCbfSCModel.get( 0, 0, uiCtx ) );
     917#if !H_MV_ENC_DEC_TRAC
    851918  DTRACE_CABAC_VL( g_nSymbolCounter++ )
    852919  DTRACE_CABAC_T( "\tparseQtRootCbf()" )
     
    858925  DTRACE_CABAC_V( uiAbsPartIdx )
    859926  DTRACE_CABAC_T( "\n" )
     927#else
     928  DTRACE_CU( "rqt_root_cbf", uiSymbol )
     929#endif
    860930 
    861931  uiQtRootCbf = uiSymbol;
     
    904974  const UInt uiCtx = pcCU->getCtxQtCbf( eType, uiTrDepth );
    905975  m_pcTDecBinIf->decodeBin( uiSymbol , m_cCUQtCbfSCModel.get( 0, eType ? TEXT_CHROMA: eType, uiCtx ) );
    906  
     976#if !H_MV_ENC_DEC_TRAC 
    907977  DTRACE_CABAC_VL( g_nSymbolCounter++ )
    908978  DTRACE_CABAC_T( "\tparseQtCbf()" )
     
    916986  DTRACE_CABAC_V( uiAbsPartIdx )
    917987  DTRACE_CABAC_T( "\n" )
     988#endif
    918989 
    919990  pcCU->setCbfSubParts( uiSymbol << uiTrDepth, eType, uiAbsPartIdx, uiDepth );
     
    9411012    }
    9421013  }
     1014#if !H_MV_ENC_DEC_TRAC
    9431015  DTRACE_CABAC_VL( g_nSymbolCounter++ )
    9441016  DTRACE_CABAC_T("\tparseTransformSkip()");
     
    9521024  DTRACE_CABAC_V( uiAbsPartIdx )
    9531025  DTRACE_CABAC_T( "\n" )
     1026#endif
    9541027
    9551028  pcCU->setTransformSkipSubParts( useTransformSkip, eTType, uiAbsPartIdx, uiDepth);
     
    10271100Void TDecSbac::parseCoeffNxN( TComDataCU* pcCU, TCoeff* pcCoef, UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight, UInt uiDepth, TextType eTType )
    10281101{
     1102#if !H_MV_ENC_DEC_TRAC
    10291103  DTRACE_CABAC_VL( g_nSymbolCounter++ )
    10301104  DTRACE_CABAC_T( "\tparseCoeffNxN()\teType=" )
     
    10511125  DTRACE_CABAC_V(  pcCU->getPredictionMode( uiAbsPartIdx ) )
    10521126  DTRACE_CABAC_T( "\n" )
     1127#endif
    10531128 
    10541129  if( uiWidth > pcCU->getSlice()->getSPS()->getMaxTrSize() )
     
    15881663    uiW += ( 1 == uiCode ? 1 : 0 );
    15891664  }
     1665#if H_MV_ENC_DEC_TRAC
     1666  DTRACE_CU("iv_res_pred_weight_idx", uiW )
     1667#endif
    15901668  pcCU->setARPWSubParts( ( UChar )( uiW ) , uiAbsPartIdx, uiDepth ); 
    15911669}
     
    16041682  UInt uiCtxIC = pcCU->getCtxICFlag( uiAbsPartIdx );
    16051683  m_pcTDecBinIf->decodeBin( uiSymbol, m_cCUICFlagSCModel.get( 0, 0, uiCtxIC ) );
     1684#if !H_MV_ENC_DEC_TRAC
    16061685  DTRACE_CABAC_VL( g_nSymbolCounter++ );
    16071686  DTRACE_CABAC_T( "\tICFlag" );
     
    16111690  DTRACE_CABAC_V( uiSymbol );
    16121691  DTRACE_CABAC_T( "\n");
     1692#else
     1693  DTRACE_CU("ic_flag", uiSymbol)
     1694#endif
    16131695 
    16141696  pcCU->setICFlagSubParts( uiSymbol ? true : false , uiAbsPartIdx, 0, uiDepth );
Note: See TracChangeset for help on using the changeset viewer.