Ignore:
Timestamp:
18 Jun 2013, 05:16:27 (11 years ago)
Author:
mediatek-htm
Message:

Integration of 3D-HEVC merge related coding tools:
Inter-view motion merge candidate
HHI_INTER_VIEW_MOTION_PRED
SAIT_IMPROV_MOTION_PRED_M24829, improved inter-view motion vector prediction
QC_MRG_CANS_B0048 , JCT3V-B0048, B0086, B0069
OL_DISMV_POS_B0069 , different pos for disparity MV candidate, B0069
MTK_INTERVIEW_MERGE_A0049 , second part
QC_AMVP_MRG_UNIFY_IVCAN_C0051
TEXTURE MERGING CANDIDATE , JCT3V-C0137

Notes: Two configurations are added:
PredDepthMapGen : 1
MultiviewMvPred : 7

From: yiwen.chen@… (MediaTek)

File:
1 edited

Legend:

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

    r446 r476  
    759759    }
    760760#endif // !H_MV
     761
     762#if H_3D_IV_MERGE
     763    READ_FLAG( uiCode, "base_view_flag" );
     764    if( uiCode )
     765    { // baseview SPS -> set standard values
     766      pcSPS->initCamParaSPS         ( 0 );
     767      pcSPS->setPredDepthMapGeneration( 0, false );
     768    }
     769    else
     770    {
     771      READ_FLAG( uiCode, "depth_flag" );
     772      if( uiCode )
     773      {
     774        READ_UVLC( uiCode, "view_idx" );
     775        pcSPS->initCamParaSPSDepth    ( uiCode );
     776        pcSPS->setPredDepthMapGeneration( uiCode, true );
     777      }
     778      else
     779      {
     780        UInt  uiViewIndex;
     781        READ_UVLC( uiViewIndex, "view_idx" );  uiViewIndex++;
     782        UInt uiPredDepthMapGeneration = 0;
     783        UInt uiMultiviewMvPredMode = 0;
     784
     785        READ_UVLC( uiPredDepthMapGeneration, "Pdm_generation" );
     786        if( uiPredDepthMapGeneration )
     787        {
     788          READ_UVLC( uiMultiviewMvPredMode, "multi_view_mv_pred_mode" );
     789        }
     790
     791        pcSPS->setPredDepthMapGeneration( uiViewIndex, false, uiPredDepthMapGeneration, uiMultiviewMvPredMode);
     792
     793      }
     794    }
     795#endif
    761796  }
    762797}
     
    14141449    {
    14151450      READ_UVLC( uiCode, "five_minus_max_num_merge_cand");
     1451#if H_3D_IV_MERGE
     1452      rpcSlice->setMaxNumMergeCand(((rpcSlice->getSPS()->getMultiviewMvPredMode() & PDM_USE_FOR_MERGE) == PDM_USE_FOR_MERGE ? MRG_MAX_NUM_CANDS_MEM: MRG_MAX_NUM_CANDS) - uiCode);
     1453#else
    14161454      rpcSlice->setMaxNumMergeCand(MRG_MAX_NUM_CANDS - uiCode);
     1455#endif
    14171456    }
    14181457
Note: See TracChangeset for help on using the changeset viewer.