Ignore:
Timestamp:
18 Jun 2013, 23:24:53 (11 years ago)
Author:
tech
Message:
  • changed IV-MERGE HLS to match Test Model 4 spec
  • incorporated iv-refpic list to TComSlice
  • removed TComDepthMapGenerator
File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev2/source/Lib/TLibEncoder/TEncCavlc.cpp

    r478 r479  
    581581  WRITE_FLAG( 0, "sps_extension_flag" );
    582582#endif
    583 #if H_3D_IV_MERGE
    584   if( pcSPS->getViewIndex() || pcSPS->isDepth() )
    585   {
    586     WRITE_FLAG( 0, "base_view_flag" );
    587     if( pcSPS->isDepth() )
    588     {
    589       WRITE_FLAG( 1, "depth_flag" );
    590       WRITE_UVLC( pcSPS->getViewIndex(), "view_idx" );
    591     }
    592     else
    593     {
    594       WRITE_FLAG( 0, "depth_flag" );
    595       WRITE_UVLC( pcSPS->getViewIndex() - 1, "view_idx_minus1" );
    596       WRITE_UVLC( pcSPS->getPredDepthMapGeneration(), "Pdm_generation" );
    597       if( pcSPS->getPredDepthMapGeneration() )
    598       {
    599         WRITE_UVLC( pcSPS->getMultiviewMvPredMode(), "multi_view_mv_pred_mode" );
    600       }
    601     }
    602   }
    603   else
    604   {
    605     WRITE_FLAG( 1, "base_view_flag" );   
    606   }
    607 #endif
    608583}
    609584
     
    766741    }
    767742  }
     743#if H_3D_GEN
     744  WRITE_FLAG( 1,                                             "vps_extension2_flag" );
     745  for( Int layer = 0; layer <= pcVPS->getMaxLayers() - 1; layer++ )
     746  {
     747    if (layer != 0)
     748    {
     749      if ( !( pcVPS->getDepthId( layer ) == 1 ) )
     750      {
     751#if H_3D_IV_MERGE
     752        WRITE_FLAG( pcVPS->getIvMvPredFlag(layer) ? 1 : 0 , "ivMvPredFlag[i]");
     753#endif
     754      }         
     755    }       
     756  }
     757#else
    768758  WRITE_FLAG( 0,                                             "vps_extension2_flag" );
     759#endif
    769760#else
    770761  WRITE_FLAG( 0,                     "vps_extension_flag" );
     
    11041095    {
    11051096#if H_3D_IV_MERGE
    1106       WRITE_UVLC(((pcSlice->getSPS()->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE) == PDM_USE_FOR_MERGE? MRG_MAX_NUM_CANDS_MEM: MRG_MAX_NUM_CANDS) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
     1097      Bool ivMvPredFlag = pcSlice->getVPS()->getIvMvPredFlag( pcSlice->getLayerIdInVps() ) ;
     1098      WRITE_UVLC( ( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
    11071099#else
    11081100      WRITE_UVLC(MRG_MAX_NUM_CANDS - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
Note: See TracChangeset for help on using the changeset viewer.