Ignore:
Timestamp:
29 Jun 2015, 19:43:32 (10 years ago)
Author:
qualcomm
Message:
  1. enable ARP by NH_3D_ARP with simulation results included; 2. address Gerhard's comments on setBaseViewRefPicList; 3. align the software with the specification of checking the correct reference picture list proposed in JCT3V-F105
Location:
branches/HTM-14.1-update-dev4-Qualcomm/source/Lib/TLibDecoder
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-14.1-update-dev4-Qualcomm/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r1246 r1262  
    33763376}
    33773377
    3378 #if H_3D_ARP
     3378#if NH_3D_ARP
    33793379Void TDecCavlc::parseARPW( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    33803380{
  • branches/HTM-14.1-update-dev4-Qualcomm/source/Lib/TLibDecoder/TDecCAVLC.h

    r1222 r1262  
    117117  Void parseMergeFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx );
    118118  Void parseMergeIndex      ( TComDataCU* pcCU, UInt& ruiMergeIndex );
    119 #if H_3D_ARP
     119#if NH_3D_ARP
    120120  Void parseARPW            ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    121121#endif
  • branches/HTM-14.1-update-dev4-Qualcomm/source/Lib/TLibDecoder/TDecCu.cpp

    r1246 r1262  
    293293if(!pcCU->getSlice()->isIntra())
    294294  {
    295 #if H_3D_ARP && H_3D_IV_MERGE
     295#if NH_3D_ARP && H_3D_IV_MERGE
    296296    if( pcCU->getSlice()->getIvResPredFlag() || pcCU->getSlice()->getIvMvPredFlag() )
    297297#else
    298 #if H_3D_ARP
    299     if( pcCU->getSlice()->getVPS()->getUseAdvRP(pcCU->getSlice()->getLayerId()) )
     298#if NH_3D_ARP
     299    if( pcCU->getSlice()->getIvResPredFlag( ) )
    300300#else
    301301#if H_3D_IV_MERGE
     
    399399    m_pcEntropyDecoder->decodeMergeIndex( pcCU, 0, uiAbsPartIdx, uiDepth );
    400400    UInt uiMergeIndex = pcCU->getMergeIndex(uiAbsPartIdx);
    401 #if H_3D_ARP
     401#if NH_3D_ARP
    402402    m_pcEntropyDecoder->decodeARPW( pcCU , uiAbsPartIdx , uiDepth );
    403403#endif
  • branches/HTM-14.1-update-dev4-Qualcomm/source/Lib/TLibDecoder/TDecEntropy.cpp

    r1246 r1262  
    105105}
    106106
    107 #if H_3D_ARP
     107#if NH_3D_ARP
    108108Void TDecEntropy::decodeARPW( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    109109{
     
    297297  //decodeSDCFlag ( pcCU, uiAbsPartIdx, uiDepth );
    298298
    299 #if H_3D_ARP
     299#if NH_3D_ARP
    300300  decodeARPW  ( pcCU, uiAbsPartIdx, uiDepth );
    301301#endif
  • branches/HTM-14.1-update-dev4-Qualcomm/source/Lib/TLibDecoder/TDecEntropy.h

    r1246 r1262  
    8585  virtual Void parseMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx ) = 0;
    8686  virtual Void parseMergeIndex    ( TComDataCU* pcCU, UInt& ruiMergeIndex ) = 0;
    87 #if H_3D_ARP
     87#if NH_3D_ARP
    8888  virtual Void parseARPW          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
    8989#endif
     
    174174  Void decodePartSize          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    175175
    176 #if H_3D_ARP
     176#if NH_3D_ARP
    177177  Void decodeARPW              ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    178178#endif
  • branches/HTM-14.1-update-dev4-Qualcomm/source/Lib/TLibDecoder/TDecSbac.cpp

    r1246 r1262  
    7373, m_cCUMergeFlagExtSCModel                   ( 1,             1,                      NUM_MERGE_FLAG_EXT_CTX               , m_contextModels + m_numContextModels, m_numContextModels)
    7474, m_cCUMergeIdxExtSCModel                    ( 1,             1,                      NUM_MERGE_IDX_EXT_CTX                , m_contextModels + m_numContextModels, m_numContextModels)
    75 #if H_3D_ARP
    76 , m_cCUPUARPWSCModel          ( 1,             1,               NUM_ARPW_CTX                  , m_contextModels + m_numContextModels, m_numContextModels)
     75#if NH_3D_ARP
     76, m_cCUPUARPWSCModel                         ( 1,             1,                             NUM_ARPW_CTX                  , m_contextModels + m_numContextModels, m_numContextModels)
    7777#endif
    7878#if H_3D_IC
     
    164164  m_cCUMergeFlagExtSCModel.initBuffer             ( sliceType, qp, (UChar*)INIT_MERGE_FLAG_EXT );
    165165  m_cCUMergeIdxExtSCModel.initBuffer              ( sliceType, qp, (UChar*)INIT_MERGE_IDX_EXT );
    166 #if H_3D_ARP
    167   m_cCUPUARPWSCModel.initBuffer          ( sliceType, qp, (UChar*)INIT_ARPW );
     166#if NH_3D_ARP
     167  m_cCUPUARPWSCModel.initBuffer                   ( sliceType, qp, (UChar*)INIT_ARPW );
    168168#endif
    169169#if H_3D_IC
     
    240240  m_cCUDISFlagSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_FLAG );
    241241  m_cCUDISTypeSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_DIS_TYPE );
    242 #endif
    243 #if H_3D_ARP
    244   m_cCUPUARPWSCModel.initBuffer          ( eSliceType, iQp, (UChar*)INIT_ARPW );
    245242#endif
    246243#if H_3D_IC
     
    24172414}
    24182415
    2419 #if H_3D_ARP
     2416#if NH_3D_ARP
    24202417Void TDecSbac::parseARPW( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    24212418{
    2422   UInt uiMaxW = pcCU->getSlice()->getARPStepNum() - 1;
    24232419  UInt uiW = 0;
    24242420  UInt uiOffset = pcCU->getCTXARPWFlag(uiAbsPartIdx);
    24252421  UInt uiCode = 0;
    24262422
    2427   assert ( uiMaxW > 0 );
    2428 
    2429   m_pcTDecBinIf->decodeBin( uiCode , m_cCUPUARPWSCModel.get( 0, 0, 0 + uiOffset ) );
     2423  m_pcTDecBinIf->decodeBin( uiCode , m_cCUPUARPWSCModel.get( 0, 0, 0 + uiOffset ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(STATS__CABAC_BITS__ARP_FLAG));
    24302424
    24312425  uiW = uiCode;
    24322426  if( 1 == uiW )   
    24332427  {
    2434     m_pcTDecBinIf->decodeBin( uiCode , m_cCUPUARPWSCModel.get( 0, 0, 2 ) );
     2428    m_pcTDecBinIf->decodeBin( uiCode , m_cCUPUARPWSCModel.get( 0, 0, 2 ) RExt__DECODER_DEBUG_BIT_STATISTICS_PASS_OPT_ARG(STATS__CABAC_BITS__ARP_FLAG));
    24352429    uiW += ( 1 == uiCode ? 1 : 0 );
    24362430  }
     
    24382432  DTRACE_CU("iv_res_pred_weight_idx", uiW )
    24392433#endif
     2434 
    24402435  pcCU->setARPWSubParts( ( UChar )( uiW ) , uiAbsPartIdx, uiDepth ); 
    24412436}
  • branches/HTM-14.1-update-dev4-Qualcomm/source/Lib/TLibDecoder/TDecSbac.h

    r1222 r1262  
    139139  Void parseMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiPUIdx );
    140140  Void parseMergeIndex    ( TComDataCU* pcCU, UInt& ruiMergeIndex );
    141 #if H_3D_ARP
     141#if NH_3D_ARP
    142142  Void parseARPW          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    143143#endif
     
    190190  ContextModel3DBuffer m_cCUMergeFlagExtSCModel;
    191191  ContextModel3DBuffer m_cCUMergeIdxExtSCModel;
    192 #if H_3D_ARP
     192#if NH_3D_ARP
    193193  ContextModel3DBuffer m_cCUPUARPWSCModel;
    194194#endif
  • branches/HTM-14.1-update-dev4-Qualcomm/source/Lib/TLibDecoder/TDecTop.cpp

    r1210 r1262  
    11451145    pcSlice->setDefaultRefView();
    11461146#endif
    1147 #if H_3D_ARP
     1147#if NH_3D_ARP
    11481148    pcSlice->setARPStepNum(m_ivPicLists);
    1149     if( pcSlice->getARPStepNum() > 1 )
    1150     {
    1151       // GT: This seems to be broken, not all nuh_layer_ids are necessarily present
    1152       for(Int iLayerId = 0; iLayerId < nalu.m_nuhLayerId; iLayerId ++ )
    1153       {
    1154         Int  iViewIdx =   pcSlice->getVPS()->getViewIndex(iLayerId);
    1155         Bool bIsDepth = ( pcSlice->getVPS()->getDepthId  ( iLayerId ) == 1 );
    1156         if( iViewIdx<getViewIndex() && !bIsDepth )
    1157         {
    1158           pcSlice->setBaseViewRefPicList( m_ivPicLists->getPicList( iLayerId ), iViewIdx );
    1159         }
    1160       }
    1161     }
    11621149#endif
    11631150#else
Note: See TracChangeset for help on using the changeset viewer.