Changeset 1124 in 3DVCSoftware for trunk/source/Lib/TLibEncoder


Ignore:
Timestamp:
10 Nov 2014, 12:22:20 (10 years ago)
Author:
tech
Message:

Merged branch 12.2-dev0@1123

Location:
trunk/source/Lib/TLibEncoder
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibEncoder/TEncCavlc.cpp

    r1084 r1124  
    638638}
    639639
     640#if HHI_TOOL_PARAMETERS_I2_J0107
     641Void TEncCavlc::codeSPS( TComSPS* pcSPS )
     642#else
    640643#if H_3D
    641644Void TEncCavlc::codeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    642645#else
    643646Void TEncCavlc::codeSPS( TComSPS* pcSPS )
     647#endif
    644648#endif
    645649{
     
    842846  if ( pcSPS->getSps3dExtensionFlag() )
    843847  {
     848#if HHI_TOOL_PARAMETERS_I2_J0107
     849    codeSPS3dExtension( pcSPS );
     850#else
    844851    codeSPSExtension2( pcSPS, viewIndex, depthFlag  );
     852#endif
    845853  }
    846854
     
    863871  WRITE_CODE( pcPPS->getPpsScalingListRefLayerId( ), 6, "pps_scaling_list_ref_layer_id" );
    864872  WRITE_UVLC( 0, "num_ref_loc_offsets" );
     873#if H_MV_HLS_FIX
     874  WRITE_FLAG( 0 , "colour_mapping_enabled_flag" );
     875#endif
     876
    865877}
    866878
     
    868880
    869881#if H_3D
     882#if HHI_TOOL_PARAMETERS_I2_J0107
     883Void TEncCavlc::codeSPS3dExtension( TComSPS* pcSPS )
     884{
     885  TComSps3dExtension* sps3dExt = pcSPS->getSps3dExtension();
     886  for( Int d = 0; d  <=  1; d++ )
     887  {
     888    WRITE_FLAG( sps3dExt->getIvMvPredFlag( d ) ? 1 : 0 , "iv_mv_pred_flag" );
     889    WRITE_FLAG( sps3dExt->getIvMvScalingFlag( d ) ? 1 : 0 , "iv_mv_scaling_flag" );
     890    if( d  ==  0 )
     891    {
     892      WRITE_UVLC( sps3dExt->getLog2SubPbSizeMinus3( d ), "log2_sub_pb_size_minus3" );
     893      WRITE_FLAG( sps3dExt->getIvResPredFlag( d ) ? 1 : 0 , "iv_res_pred_flag" );
     894      WRITE_FLAG( sps3dExt->getDepthRefinementFlag( d ) ? 1 : 0 , "depth_refinement_flag" );
     895      WRITE_FLAG( sps3dExt->getViewSynthesisPredFlag( d ) ? 1 : 0 , "view_synthesis_pred_flag" );
     896      WRITE_FLAG( sps3dExt->getDepthBasedBlkPartFlag( d ) ? 1 : 0 , "depth_based_blk_part_flag" );
     897    }
     898    else
     899    {
     900      WRITE_FLAG( sps3dExt->getMpiFlag( d ) ? 1 : 0 , "mpi_flag" );
     901      WRITE_UVLC( sps3dExt->getLog2MpiSubPbSizeMinus3( d ), "log2_mpi_sub_pb_size_minus3" );
     902      WRITE_FLAG( sps3dExt->getIntraContourFlag( d ) ? 1 : 0 , "intra_contour_flag" );
     903      WRITE_FLAG( sps3dExt->getIntraSdcWedgeFlag( d ) ? 1 : 0 , "intra_sdc_wedge_flag" );
     904      WRITE_FLAG( sps3dExt->getQtPredFlag( d ) ? 1 : 0 , "qt_pred_flag" );
     905      WRITE_FLAG( sps3dExt->getInterSdcFlag( d ) ? 1 : 0 , "inter_sdc_flag" );
     906      WRITE_FLAG( sps3dExt->getIntraSingleFlag( d ) ? 1 : 0 , "intra_single_flag" );
     907    }
     908  }
     909}
     910#else
    870911Void TEncCavlc::codeSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    871912{
    872913
    873914}
     915#endif
    874916#endif
    875917
     
    9691011  codeVPSExtension( pcVPS );                           
    9701012#if H_3D
    971   WRITE_FLAG( 1,                     "vps_extension2_flag" );
     1013  WRITE_FLAG( 1,                     "vps_extension2_flag" ); 
     1014#if HHI_VPS_3D_EXTENSION_I3_J0107
     1015  WRITE_FLAG( 1,                     "vps_3d_extension_flag" );
     1016  m_pcBitIf->writeAlignOne();     
     1017  codeVPS3dExtension( pcVPS );
     1018#else
    9721019  m_pcBitIf->writeAlignOne();     
    9731020  codeVPSExtension2( pcVPS );
     1021#endif
    9741022  WRITE_FLAG( 0,                     "vps_extension3_flag" );
    9751023#else
     
    11411189  for( Int i = 1; i < pcVPS->getNumOutputLayerSets( ); i++ )
    11421190  {
     1191#if H_MV_HLS_FIX
     1192    if( pcVPS->getNumLayerSets() > 2 && i >= pcVPS->getNumLayerSets( ) )   
     1193#else
    11431194    if( i >= pcVPS->getNumLayerSets( ) )   
     1195#endif
    11441196    {     
    11451197      WRITE_CODE( pcVPS->getLayerSetIdxForOlsMinus1( i ), pcVPS->getLayerSetIdxForOlsMinus1Len( i ) ,      "layer_set_idx_for_ols_minus1[i]" );
     
    12111263
    12121264  WRITE_FLAG( pcVPS->getMaxOneActiveRefLayerFlag( ) ? 1 : 0, "max_one_active_ref_layer_flag" );
    1213 #if H_MV_HLS7_GEN
     1265#if H_MV_HLS7_GEN || H_MV_HLS_FIX
    12141266  WRITE_FLAG( pcVPS->getVpsPocLsbAlignedFlag( ) ? 1 : 0 , "vps_poc_lsb_aligned_flag" );
    12151267#endif
     
    12611313    codeVPSVUI( pcVPS );
    12621314  }     
     1315#if H_MV_HLS_FIX
     1316  else
     1317#endif
    12631318  {
    12641319    TComVPSVUI* pcVPSVUI = pcVPS->getVPSVUI( );
     
    15751630
    15761631#if H_3D
     1632#if HHI_VPS_3D_EXTENSION_I3_J0107
     1633Void TEncCavlc::codeVPS3dExtension( TComVPS* pcVPS )
     1634#else
    15771635Void TEncCavlc::codeVPSExtension2( TComVPS* pcVPS )
     1636#endif
    15781637{
     1638#if !HHI_TOOL_PARAMETERS_I2_J0107
    15791639  for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )
    15801640  {
     
    16191679        WRITE_FLAG( pcVPS->getInterSDCFlag( i ) ? 1 : 0, "depth_inter_SDC_flag" );
    16201680#endif
     1681#if MTK_SINGLE_DEPTH_VPS_FLAG_J0060
     1682        WRITE_FLAG( pcVPS->getSingleDepthModeFlag( i ) ? 1 : 0, "single_depth_mode_flag" );
     1683#endif
    16211684      }
    16221685    } 
    16231686  }
     1687#endif
    16241688  WRITE_UVLC( pcVPS->getCamParPrecision(), "cp_precision" );
    16251689  for (UInt viewIndex=1; viewIndex<pcVPS->getNumViews(); viewIndex++)
     
    17251789    }
    17261790    pcSlice->checkCrossLayerBlaFlag( );
    1727 #if !H_MV_HLS7_GEN
     1791#if !H_MV_HLS7_GEN && !H_MV_HLS_FIX
    17281792    if ( pcSlice->getPPS()->getNumExtraSliceHeaderBits() > esb )
    17291793    {
     
    18871951    Bool interLayerPredLayerIdcPresentFlag = false;
    18881952    Int layerId = pcSlice->getLayerId();
     1953#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     1954#if H_3D
     1955    if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumRefListLayers( layerId ) > 0 )
     1956#else
    18891957    if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 )
     1958#endif
     1959#else
     1960    if( pcSlice->getLayerId() > 0 && !vps->getAllRefLayersActiveFlag() && vps->getNumDirectRefLayers( layerId ) > 0 )
     1961#endif
    18901962    {   
    18911963      WRITE_FLAG( pcSlice->getInterLayerPredEnabledFlag( ) ? 1 : 0 , "inter_layer_pred_enabled_flag" );
     1964#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     1965#if H_3D
     1966      if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumRefListLayers( layerId ) > 1 )
     1967#else
    18921968      if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 )
     1969#endif
     1970#else
     1971      if( pcSlice->getInterLayerPredEnabledFlag() && vps->getNumDirectRefLayers( layerId ) > 1 )
     1972#endif
    18931973      {           
    18941974        if( !vps->getMaxOneActiveRefLayerFlag()) 
     
    18961976          WRITE_CODE( pcSlice->getNumInterLayerRefPicsMinus1( ), pcSlice->getNumInterLayerRefPicsMinus1Len( ), "num_inter_layer_ref_pics_minus1" );
    18971977        }
     1978#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     1979#if H_3D
     1980        if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumRefListLayers( layerId ) )
     1981#else
    18981982        if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) )
     1983#endif
     1984#else
     1985        if ( pcSlice->getNumActiveRefLayerPics() != vps->getNumDirectRefLayers( layerId ) )
     1986#endif
    18991987        {       
    19001988          interLayerPredLayerIdcPresentFlag = true;
     
    20372125    }
    20382126#if H_3D_IC
     2127#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     2128    else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumRefListLayers( layerId ) > 0 )
     2129#else
    20392130    else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumDirectRefLayers( layerId ) > 0 )
     2131#endif
    20402132    {
    20412133      WRITE_FLAG( pcSlice->getApplyIC() ? 1 : 0, "slice_ic_enable_flag" );
     
    20462138    }
    20472139#endif
     2140#if !MTK_SINGLE_DEPTH_VPS_FLAG_J0060
    20482141#if H_3D_SINGLE_DEPTH
    20492142    if(pcSlice->getIsDepth())
     
    20522145    }
    20532146#endif
     2147#endif
    20542148#if H_3D_IV_MERGE
    20552149    assert(pcSlice->getMaxNumMergeCand()<=MRG_MAX_NUM_CANDS_MEM);
     
    20602154    {
    20612155#if H_3D_IV_MERGE
     2156#if HHI_TOOL_PARAMETERS_I2_J0107     
     2157#if ALGIN_J0107_J0059
     2158      WRITE_UVLC( ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) || pcSlice->getViewSynthesisPredFlag( ) ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
     2159#else
     2160      WRITE_UVLC( ( ( pcSlice->getMpiFlag( ) || pcSlice->getIvMvPredFlag( ) ) ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
     2161#endif
     2162#else
    20622163      if(pcSlice->getIsDepth())
    20632164      {
     
    20692170      {
    20702171        Bool ivMvPredFlag = pcSlice->getVPS()->getIvMvPredFlag( pcSlice->getLayerIdInVps() ) ;
     2172#if MTK_MRG_LIST_SIZE_CLEANUP_J0059
     2173        Bool vspFlag = pcSlice->getVPS()->getViewSynthesisPredFlag( pcSlice->getLayerIdInVps() ) ;
     2174        WRITE_UVLC( ( ivMvPredFlag || vspFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
     2175#else
    20712176        WRITE_UVLC( ( ivMvPredFlag ? MRG_MAX_NUM_CANDS_MEM : MRG_MAX_NUM_CANDS ) - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
    2072       }
     2177#endif
     2178      }
     2179#endif
    20732180#else
    20742181      WRITE_UVLC(MRG_MAX_NUM_CANDS - pcSlice->getMaxNumMergeCand(), "five_minus_max_num_merge_cand");
     
    21362243  {
    21372244    // Derive the value of PocMsbValRequiredFlag
     2245#if !H_MV_HLS_FIX
    21382246    pcSlice->setPocMsbValRequiredFlag( pcSlice->getCraPicFlag() || pcSlice->getBlaPicFlag()
    21392247                                          /* || related to vps_poc_lsb_aligned_flag */
    21402248                                          );
     2249#endif
    21412250
    21422251    // Determine value of SH extension length.
     
    21562265
    21572266
     2267#if H_MV_HLS_FIX
     2268    if( !pcSlice->getPocMsbValRequiredFlag() &&  pcSlice->getVPS()->getVpsPocLsbAlignedFlag() )
     2269#else
    21582270    if( !pcSlice->getPocMsbValRequiredFlag() /* TODO &&  pcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ )
     2271#endif
    21592272    {
    21602273      shExtnLengthInBit++;    // For poc_msb_val_present_flag
     
    22192332    pcSlice->checkPocLsbVal();
    22202333
     2334#if H_MV_HLS_FIX
     2335    if( !pcSlice->getPocMsbValRequiredFlag() &&  pcSlice->getVPS()->getVpsPocLsbAlignedFlag()  )
     2336#else
    22212337    if( !pcSlice->getPocMsbValRequiredFlag() /* TODO &&  pcSlice->getVPS()->getVpsPocLsbAlignedFlag() */ )
     2338#endif
    22222339    {
    22232340      WRITE_FLAG( pcSlice->getPocMsbValPresentFlag( ) ? 1 : 0 , "poc_msb_val_present_flag" );
  • trunk/source/Lib/TLibEncoder/TEncCavlc.h

    r1084 r1124  
    9999#endif
    100100#if H_3D
     101#if HHI_VPS_3D_EXTENSION_I3_J0107
     102  Void  codeVPS3dExtension       ( TComVPS* pcVPS );
     103#else
    101104  Void  codeVPSExtension2       ( TComVPS* pcVPS );
     105#endif
     106#if HHI_TOOL_PARAMETERS_I2_J0107
     107  Void  codeSPS3dExtension      ( TComSPS* pcSPS );
     108  Void  codeSPS                 ( TComSPS* pcSPS );
     109#else
    102110  Void  codeSPSExtension2       ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag  );
    103111  Void  codeSPS                 ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );
     112#endif
    104113#else
    105114  Void  codeSPS                 ( TComSPS* pcSPS );
  • trunk/source/Lib/TLibEncoder/TEncCfg.h

    r1084 r1124  
    392392  Double    m_dDispCoeff;
    393393#endif
     394#if !HHI_TOOL_PARAMETERS_I2_J0107
    394395#if H_3D_ARP
    395396  UInt      m_uiUseAdvResPred;
     
    400401  Int      m_iSubPUMPILog2Size;
    401402#endif
     403#endif
    402404#if H_3D_IC
    403405  Bool      m_bUseIC;
    404406  Bool      m_bUseICLowLatencyEnc;
    405407#endif
     408#if !HHI_TOOL_PARAMETERS_I2_J0107
    406409#if H_3D_INTER_SDC
    407410  bool      m_bInterSDC;
     
    409412#if H_3D_DBBP
    410413  Bool      m_bUseDBBP;
     414#endif
    411415#endif
    412416  //====== Depth Intra Modes ======
    413417#if H_3D_DIM
    414418  Bool      m_useDMM;
     419#if !HHI_TOOL_PARAMETERS_I2_J0107
    415420  Bool      m_useIVP;
     421#endif
    416422  Bool      m_useSDC;
    417423  Bool      m_useDLT;
    418424#endif
     425#if !HHI_TOOL_PARAMETERS_I2_J0107
    419426#if H_3D_SINGLE_DEPTH
    420427  Bool      m_useSingleDepthMode;
    421428#endif
     429
    422430#if H_3D_IV_MERGE
    423431  Bool      m_useMPI;
     432#endif
    424433#endif
    425434#if H_3D_QTLPC
     
    497506  Void      setMaxTempLayer                 ( Int maxTempLayer )            { m_maxTempLayer = maxTempLayer;      }
    498507
     508#if !HHI_TOOL_PARAMETERS_I2_J0107
    499509#if H_3D_ARP
    500510  UInt       getUseAdvRP                    ( )              { return m_uiUseAdvResPred; }
     
    510520  Void       setSubPUMPILog2Size            (Int u)          { m_iSubPUMPILog2Size = u;   }     
    511521#endif
     522#endif
    512523#if H_3D_IC
    513524  Void       setUseIC                       ( Bool bVal )    { m_bUseIC = bVal; }
     
    516527  Bool       getUseICLowLatencyEnc          ()               { return m_bUseICLowLatencyEnc; }
    517528#endif
     529#if !HHI_TOOL_PARAMETERS_I2_J0107
    518530#if H_3D_INTER_SDC
    519531  Void       setInterSDCEnable              ( Bool bVal )    { m_bInterSDC = bVal; }
     
    523535  Void       setUseDBBP                     ( Bool  b )      { m_bUseDBBP   = b; }
    524536  Bool       getUseDBBP()                                    { return m_bUseDBBP;     }
     537#endif
    525538#endif
    526539  //======== Transform =============
     
    932945  Void setFrameOnlyConstraintFlag(Bool b) { m_frameOnlyConstraintFlag = b; }
    933946#if H_3D
     947
     948  // Only flags that are not in the SPS3dExtension should go here.
    934949  /// 3D Tools
    935950
     
    976991  Bool      getUseDMM                       ()        { return m_useDMM; }
    977992  Void      setUseDMM                       ( Bool b) { m_useDMM = b;    }
     993#if !HHI_TOOL_PARAMETERS_I2_J0107
    978994  Bool      getUseIVP                       ()        { return m_useIVP; }
    979995  Void      setUseIVP                       ( Bool b) { m_useIVP = b;    }
     996#endif
    980997  Bool      getUseSDC                       ()        { return m_useSDC; }
    981998  Void      setUseSDC                       ( Bool b) { m_useSDC = b;    }
     999
    9821000  Bool      getUseDLT                       ()        { return m_useDLT; }
    9831001  Void      setUseDLT                       ( Bool b) { m_useDLT = b;    }
    9841002#endif
     1003#if !HHI_TOOL_PARAMETERS_I2_J0107
    9851004#if H_3D_SINGLE_DEPTH
    9861005  Void       setUseSingleDepthMode          ( Bool bVal )    { m_useSingleDepthMode = bVal; }
    9871006  Bool       getUseSingleDepthMode          ()               { return m_useSingleDepthMode; }
    9881007#endif
     1008#endif
    9891009#if H_3D_QTLPC
    9901010  Void      setUseQTL                       ( Bool b ) { m_bUseQTL = b;    }
    9911011  Bool      getUseQTL                       ()         { return m_bUseQTL; }
    9921012#endif
     1013#if !HHI_TOOL_PARAMETERS_I2_J0107
    9931014#if H_3D_IV_MERGE
    9941015  Void      setUseMPI                       ( Bool b ) { m_useMPI = b;    }
    9951016  Bool      getUseMPI                       ()         { return m_useMPI; }
    9961017#endif
     1018#endif
    9971019#endif // H_3D
    9981020};
  • trunk/source/Lib/TLibEncoder/TEncCu.cpp

    r1084 r1124  
    409409
    410410#if H_3D_QTLPC
    411   TComVPS *vps            = pcPic->getSlice(0)->getVPS();
     411#if HHI_TOOL_PARAMETERS_I2_J0107
     412  Bool  bLimQtPredFalg    = pcPic->getSlice(0)->getQtPredFlag();
     413#else
     414    TComVPS *vps            = pcPic->getSlice(0)->getVPS();
    412415  Bool  bLimQtPredFalg    = vps->getLimQtPredFlag(pcPic->getSlice(0)->getLayerId());
     416#endif
    413417  TComPic *pcTexture      = rpcBestCU->getSlice()->getTexturePic();
    414418
     
    566570      {
    567571#if H_3D_ARP && H_3D_IV_MERGE
     572#if HHI_TOOL_PARAMETERS_I2_J0107
     573        if( rpcTempCU->getSlice()->getIvResPredFlag() || rpcTempCU->getSlice()->getIvMvPredFlag() )
     574#else
    568575        if( rpcTempCU->getSlice()->getVPS()->getUseAdvRP(rpcTempCU->getSlice()->getLayerId()) || rpcTempCU->getSlice()->getVPS()->getIvMvPredFlag(rpcTempCU->getSlice()->getLayerId()) )
     576#endif
    569577#else
    570578#if H_3D_ARP
     
    590598#endif
    591599#if H_3D_NBDV_REF
     600#if HHI_TOOL_PARAMETERS_I2_J0107
     601          if( rpcTempCU->getSlice()->getDepthRefinementFlag() )
     602#else
    592603          if(rpcTempCU->getSlice()->getVPS()->getDepthRefinementFlag( rpcTempCU->getSlice()->getLayerIdInVps()))
     604#endif
    593605            DvInfo.bDV = rpcTempCU->getDisMvpCandNBDV(&DvInfo, true);
    594606          else
     
    605617      }
    606618#if  H_3D_FAST_TEXTURE_ENCODING
     619#if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037
     620      if(rpcTempCU->getSlice()->getViewIndex() && !rpcTempCU->getSlice()->getIsDepth() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     621#else
    607622      if(rpcTempCU->getSlice()->getViewIndex() && !rpcTempCU->getSlice()->getIsDepth())
     623#endif
    608624      {
    609625        PartSize ePartTemp = rpcTempCU->getPartitionSize(0);
     
    668684         
    669685#if H_3D_DBBP
     686#if SEC_DBBP_VIEW_REF_CHECK_J0037
     687#if HHI_TOOL_PARAMETERS_I2_J0107
     688          if( rpcTempCU->getSlice()->getDepthBasedBlkPartFlag() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     689#else
     690          if( m_pcEncCfg->getUseDBBP() && rpcTempCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     691#endif
     692#else
    670693          if( m_pcEncCfg->getUseDBBP() )
     694#endif
    671695          {
    672696            xCheckRDCostInterDBBP( rpcBestCU, rpcTempCU, false );
     
    715739#if H_3D_SINGLE_DEPTH
    716740    rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP  );
     741#if MTK_SINGLE_DEPTH_VPS_FLAG_J0060
     742#if ALIGN_J0060_J0107
     743    if( rpcBestCU->getSlice()->getIntraSingleFlag() )
     744#else
     745    if(rpcBestCU->getSlice()->getVPS()->getSingleDepthModeFlag(rpcBestCU->getSlice()->getLayerIdInVps()))
     746#endif
     747#else
    717748    if(rpcBestCU->getSlice()->getApplySingleDepthMode())
     749#endif
    718750    {
    719751      xCheckRDCostSingleDepth( rpcBestCU, rpcTempCU, SIZE_2Nx2N );
     
    18691901
    18701902#endif
    1871 
     1903#if !LGE_DDD_REMOVAL_J0042_J0030
    18721904#if H_3D_DDD
    18731905    Int iDDDCand = rpcTempCU->getUseDDDCandIdx();
    18741906    UChar ucDDDepth = rpcTempCU->getDDTmpDepth();
    18751907    rpcTempCU->setUseDDD( false, 0, uhDepth );
     1908#endif
    18761909#endif
    18771910
     
    19081941          rpcTempCU->setVSPFlagSubParts( vspFlag[uiMergeCand], 0, 0, uhDepth );
    19091942#endif
     1943#if !LGE_DDD_REMOVAL_J0042_J0030
    19101944#if H_3D_DDD
    19111945          if( rpcTempCU->getSlice()->getIsDepth() && rpcTempCU->getSlice()->getViewIndex() != 0 && iDDDCand == uiMergeCand )
     
    19181952              rpcTempCU->setUseDDD( false, 0, 0, uhDepth );
    19191953          }
     1954#endif
    19201955#endif
    19211956#if H_3D_SPIVMP
     
    20212056          xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth);
    20222057#if H_3D_INTER_SDC
     2058#if HHI_TOOL_PARAMETERS_I2_J0107
     2059          if( rpcTempCU->getSlice()->getInterSdcFlag() && !uiNoResidual )
     2060#else
    20232061          if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && !uiNoResidual )
     2062#endif
    20242063          {
    20252064            Double dOffsetCost[3] = {MAX_DOUBLE,MAX_DOUBLE,MAX_DOUBLE};
     
    20932132      {
    20942133#if H_3D_INTER_SDC
     2134#if HHI_TOOL_PARAMETERS_I2_J0107
     2135        if( rpcTempCU->getSlice()->getInterSdcFlag() )
     2136#else
    20952137        if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) )
     2138#endif
    20962139        {
    20972140          bestIsSkip = !rpcBestCU->getSDCFlag( 0 ) && ( rpcBestCU->getQtRootCbf(0) == 0 );
     
    21692212  UChar uhDepth = rpcTempCU->getDepth( 0 );
    21702213#if H_3D_ARP
     2214#if !HHI_TOOL_PARAMETERS_I2_J0107
    21712215  Int iLayerId    = rpcTempCU->getSlice()->getLayerId();
     2216#endif
    21722217  Bool bFirstTime = true;
    21732218  Int nARPWMax    = rpcTempCU->getSlice()->getARPStepNum() - 1;
     
    21802225  for( Int nARPW = 0; nARPW <= nARPWMax; nARPW++ )
    21812226  {
     2227#if HHI_TOOL_PARAMETERS_I2_J0107
     2228    if( !bFirstTime && rpcTempCU->getSlice()->getIvResPredFlag() )
     2229#else
    21822230    if( bFirstTime == false && rpcTempCU->getSlice()->getVPS()->getUseAdvRP( iLayerId ) )
     2231#endif
    21832232    {
    21842233      rpcTempCU->initEstData( rpcTempCU->getDepth(0), rpcTempCU->getQP(0),bTransquantBypassFlag );     
     
    22042253  rpcTempCU->setPartSizeSubParts  ( ePartSize,  0, uhDepth );
    22052254  rpcTempCU->setPredModeSubParts  ( MODE_INTER, 0, uhDepth );
     2255#if !LGE_DDD_REMOVAL_J0042_J0030
    22062256#if H_3D_DDD
    22072257  rpcTempCU->setUseDDD( false, 0, uhDepth );
     2258#endif
    22082259#endif
    22092260
     
    22842335  xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth);
    22852336#if H_3D_INTER_SDC
     2337#if HHI_TOOL_PARAMETERS_I2_J0107
     2338  if( rpcTempCU->getSlice()->getInterSdcFlag() && ePartSize == SIZE_2Nx2N)
     2339#else
    22862340  if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && ePartSize == SIZE_2Nx2N)
     2341#endif
    22872342  {
    22882343    Double dOffsetCost[3] = {MAX_DOUBLE,MAX_DOUBLE,MAX_DOUBLE};
  • trunk/source/Lib/TLibEncoder/TEncEntropy.cpp

    r1084 r1124  
    7878}
    7979
     80#if HHI_TOOL_PARAMETERS_I2_J0107
     81Void TEncEntropy::encodeSPS( TComSPS* pcSPS )
     82{
     83  m_pcEntropyCoderIf->codeSPS( pcSPS );
     84  return;
     85}
     86#else
    8087#if H_3D
    8188Void TEncEntropy::encodeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
     
    9198}
    9299#endif
     100#endif
    93101
    94102Void TEncEntropy::encodeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
     
    122130Void TEncEntropy::encodeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
    123131{
     132#if ALIGN_J0060_J0107
     133  if(!pcCU->getSlice()->getIntraSingleFlag() )
     134  {
     135    return;
     136  }
     137#else
    124138  if ( !pcCU->getSlice()->getIsDepth() )
    125139  {
    126140    return;
    127141  }
     142#if MTK_SINGLE_DEPTH_VPS_FLAG_J0060
     143  if(!pcCU->getSlice()->getVPS()->getSingleDepthModeFlag(pcCU->getSlice()->getLayerIdInVps()))
     144  {
     145     return;
     146  }
     147#else
    128148  if(!pcCU->getSlice()->getApplySingleDepthMode())
    129149  {
    130150     return;
    131151  }
    132  
     152#endif
     153#endif
    133154  if( bRD )
    134155  {
     
    268289 
    269290#if H_3D_DBBP
     291#if SEC_DBBP_VIEW_REF_CHECK_J0037
     292#if HHI_TOOL_PARAMETERS_I2_J0107
     293  if( pcCU->getSlice()->getDepthBasedBlkPartFlag() && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     294#else
     295  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 && pcCU->getSlice()->getDefaultRefViewIdxAvailableFlag() )
     296#endif
     297#else
    270298  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 )
     299#endif
    271300  {
    272301    encodeDBBPFlag(pcCU, uiAbsPartIdx, bRD);
     
    780809Void TEncEntropy::encodeSDCFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
    781810{
     811#if HHI_TOOL_PARAMETERS_I2_J0107
     812  if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getInterSdcFlag() ) ||
     813    ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getIntraSdcWedgeFlag() ) )
     814#else
    782815  if( ( !pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getInterSDCFlag( pcCU->getSlice()->getLayerIdInVps() ) ) ||
    783816    ( pcCU->isIntra( uiAbsPartIdx ) && !pcCU->getSlice()->getVPS()->getVpsDepthModesFlag( pcCU->getSlice()->getLayerIdInVps() ) ) )
     817#endif
    784818  {
    785819    return;
  • trunk/source/Lib/TLibEncoder/TEncEntropy.h

    r1084 r1124  
    6969
    7070  virtual Void  codeVPS                 ( TComVPS* pcVPS )                                      = 0;
     71#if HHI_TOOL_PARAMETERS_I2_J0107
     72  virtual Void  codeSPS                 ( TComSPS* pcSPS )                                      = 0;
     73#else
    7174#if !H_3D
    7275  virtual Void  codeSPS                 ( TComSPS* pcSPS )                                      = 0;
    7376#else
    7477  virtual Void  codeSPS                 ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )       = 0;
     78#endif
    7579#endif
    7680  virtual Void  codePPS                 ( TComPPS* pcPPS )                                      = 0;
     
    165169  Void encodeVPS               ( TComVPS* pcVPS);
    166170  // SPS
     171#if HHI_TOOL_PARAMETERS_I2_J0107
     172  Void encodeSPS               ( TComSPS* pcSPS );
     173#else
    167174#if H_3D
    168175  Void encodeSPS               ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );
    169176#else
    170177  Void encodeSPS               ( TComSPS* pcSPS );
     178#endif
    171179#endif
    172180  Void encodePPS               ( TComPPS* pcPPS );
  • trunk/source/Lib/TLibEncoder/TEncGOP.cpp

    r1084 r1124  
    880880
    881881    TComVPS*           vps = pcSlice->getVPS();     
     882#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     883#if H_3D
     884    Int numDirectRefLayers = vps    ->getNumRefListLayers( getLayerId() );
     885#else
    882886    Int numDirectRefLayers = vps    ->getNumDirectRefLayers( getLayerId() );
     887#endif
     888#else
     889    Int numDirectRefLayers = vps    ->getNumDirectRefLayers( getLayerId() );
     890#endif
    883891    GOPEntry gopEntry      = m_pcCfg->getGOPEntry( (pcSlice->getRapPicFlag() && getLayerId() > 0) ? MAX_GOP : iGOPid );     
    884892   
     
    893901          pcSlice->setNumInterLayerRefPicsMinus1( gopEntry.m_numActiveRefLayerPics - 1 );
    894902        }
     903#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     904#if H_3D
     905        if ( gopEntry.m_numActiveRefLayerPics != vps->getNumRefListLayers( getLayerId() ) )
     906#else
    895907        if ( gopEntry.m_numActiveRefLayerPics != vps->getNumDirectRefLayers( getLayerId() ) )
     908#endif
     909#else
     910        if ( gopEntry.m_numActiveRefLayerPics != vps->getNumDirectRefLayers( getLayerId() ) )
     911#endif
    896912        {       
    897913          interLayerPredLayerIdcPresentFlag = true;
     
    941957    pcSlice->setRefPicList ( rcListPic );
    942958#endif
     959#if !MTK_SINGLE_DEPTH_VPS_FLAG_J0060
    943960#if H_3D_SINGLE_DEPTH
     961#if HHI_TOOL_PARAMETERS_I2_J0107
     962    pcSlice->setApplySingleDepthMode( pcSlice->getIntraSingleFlag() );
     963#else
    944964    TEncTop* pcEncTop = (TEncTop*) m_pcCfg;
    945965    bool enableSingleDepthMode=false;
     
    952972    }
    953973    pcSlice->setApplySingleDepthMode(enableSingleDepthMode);
    954 #endif   
     974#endif
     975#endif   
     976#endif
     977#if SEC_ARP_VIEW_REF_CHECK_J0037 || SEC_DBBP_VIEW_REF_CHECK_J0037
     978    pcSlice->setDefaultRefView();
     979#endif
    955980#if H_3D_ARP
    956981    //GT: This seems to be broken when layerId in vps is not equal to layerId in nuh
     
    14141439        pcSlice->getSPS()->getVuiParameters()->setHrdParametersPresentFlag( true );
    14151440      }
     1441#if HHI_TOOL_PARAMETERS_I2_J0107
     1442      m_pcEntropyCoder->encodeSPS(pcSlice->getSPS());
     1443#else
    14161444#if !H_3D
    14171445      m_pcEntropyCoder->encodeSPS(pcSlice->getSPS());
    14181446#else
    14191447      m_pcEntropyCoder->encodeSPS(pcSlice->getSPS(), pcSlice->getViewIndex(), pcSlice->getIsDepth() );
     1448#endif
    14201449#endif
    14211450      writeRBSPTrailingBits(nalu.m_Bitstream);
  • trunk/source/Lib/TLibEncoder/TEncSbac.cpp

    r1084 r1124  
    255255      curCost += m_CUTransquantBypassFlagSCModel.calcCost( curSliceType, qp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG );
    256256#if H_3D_DIM
     257#if HHI_TOOL_PARAMETERS_I2_J0107
     258    if( m_pcSlice->getIntraSdcWedgeFlag() || m_pcSlice->getIntraContourFlag() )
     259#else
    257260    if( m_pcSlice->getVpsDepthModesFlag() || m_pcSlice->getIVPFlag() )
     261#endif
    258262    {
    259263      curCost += m_cDepthIntraModeSCModel.calcCost    ( curSliceType, qp, (UChar*)INIT_DEPTH_INTRA_MODE );
     
    346350}
    347351
     352#if HHI_TOOL_PARAMETERS_I2_J0107
     353Void TEncSbac::codeSPS( TComSPS* pcSPS )
     354#else
    348355#if H_3D
    349356Void TEncSbac::codeSPS( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    350357#else
    351358Void TEncSbac::codeSPS( TComSPS* pcSPS )
     359#endif
    352360#endif
    353361{
     
    625633  PartSize eSize         = pcCU->getPartitionSize( uiAbsPartIdx );
    626634#if H_3D_QTLPC
     635#if HHI_TOOL_PARAMETERS_I2_J0107
     636  Bool    bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag();
     637#else
    627638  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
    628639  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
     640#endif
    629641  TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
    630642  Bool bDepthMapDetect   = (pcTexture != NULL);
     
    9981010  Bool bCodeSplitFlag    = true;
    9991011
     1012 
     1013#if HHI_TOOL_PARAMETERS_I2_J0107
     1014  Bool    bLimQtPredFlag = pcCU->getPic()->getSlice(0)->getQtPredFlag();
     1015#else
    10001016  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
    10011017  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
     1018#endif
    10021019  TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
    10031020  Bool bDepthMapDetect   = (pcTexture != NULL);
     
    10601077    dir[j] = pcCU->getLumaIntraDir( absPartIdx+partOffset*j );
    10611078#if H_3D_DIM
     1079#if HHI_TOOL_PARAMETERS_I2_J0107
     1080    if( pcCU->getSlice()->getIntraSdcWedgeFlag() ||  pcCU->getSlice()->getIntraContourFlag() )
     1081#else
    10621082    if( pcCU->getSlice()->getVpsDepthModesFlag() ||  pcCU->getSlice()->getIVPFlag() )
     1083#endif
    10631084    {
    10641085      codeIntraDepth( pcCU, absPartIdx+partOffset*j );
     
    12061227    }
    12071228    //mode coding
     1229#if HHI_TOOL_PARAMETERS_I2_J0107
     1230    if( pcCU->getSlice()->getIntraSdcWedgeFlag() && pcCU->getSlice()->getIntraContourFlag())
     1231#else
    12081232    if( pcCU->getSlice()->getVpsDepthModesFlag() && pcCU->getSlice()->getIVPFlag())
     1233#endif
    12091234    {
    12101235      m_pcBinIf->encodeBin( uiCodeIdx == 0 ? 0 : 1, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) );
     
    23052330  PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx );
    23062331  AOF( ePartSize == SIZE_2NxN || ePartSize == SIZE_Nx2N );
     2332#if HHI_TOOL_PARAMETERS_I2_J0107
     2333  AOF( pcCU->getSlice()->getDepthBasedBlkPartFlag() );
     2334#else
    23072335  AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) );
     2336#endif
    23082337  AOF( !pcCU->getSlice()->getIsDepth() );
    23092338 
  • trunk/source/Lib/TLibEncoder/TEncSbac.h

    r1084 r1124  
    9494
    9595  Void  codeVPS                 ( TComVPS* pcVPS );
     96#if HHI_TOOL_PARAMETERS_I2_J0107
     97  Void  codeSPS                 ( TComSPS* pcSPS     );
     98#else
    9699#if !H_3D
    97100  Void  codeSPS                 ( TComSPS* pcSPS     );
    98101#else
    99102  Void  codeSPS                 ( TComSPS* pcSPS, Int viewIndex, Bool depthFlag );
     103#endif
    100104#endif
    101105  Void  codePPS                 ( TComPPS* pcPPS     );
  • trunk/source/Lib/TLibEncoder/TEncSearch.cpp

    r1084 r1124  
    28812881  Int index=0;
    28822882  Pel testDepth;
     2883#if SINGLE_DEPTH_SIMP_J0115
     2884  Pel DepthNeighbours[2];
     2885#else
    28832886  Pel DepthNeighbours[5];
     2887#endif
    28842888  //construction of depth candidates
     2889#if SINGLE_DEPTH_SIMP_J0115
     2890  for( Int i = 0; (i < 2)  && (index<SINGLE_DEPTH_MODE_CAND_LIST_SIZE) ; i++ )
     2891#else
    28852892  for( Int i = 0; (i < 5)  && (index<SINGLE_DEPTH_MODE_CAND_LIST_SIZE) ; i++ )
     2893#endif
    28862894  {
    28872895    if(!pcCU->getNeighDepth (0, 0, &testDepth, i))
     
    28912899    DepthNeighbours[index]=testDepth;
    28922900    index++;
     2901#if !SINGLE_DEPTH_SIMP_J0115
    28932902    for(Int j=0;j<index-1;j++)
    28942903    {
     
    28992908      }
    29002909    }
     2910#endif
    29012911  }
    29022912
     
    31173127    }
    31183128#endif
    3119 
     3129   
    31203130#if H_3D_DIM
    31213131    //===== determine set of depth intra modes to be tested =====
    31223132    if( m_pcEncCfg->getIsDepth() && uiWidth >= DIM_MIN_SIZE && uiWidth <= DIM_MAX_SIZE && uiWidth == uiHeight )
    31233133    {
     3134#if HHI_TOOL_PARAMETERS_I2_J0107
     3135      if( bOnlyIVP && pcCU->getSlice()->getIntraContourFlag() )
     3136#else
    31243137      if( bOnlyIVP && m_pcEncCfg->getUseIVP() )
     3138#endif
    31253139      {
    31263140        TComWedgelet* dmm4Segmentation = new TComWedgelet( uiWidth, uiHeight );
     
    31443158
    31453159#if H_3D_DIM_DMM
     3160#if HHI_TOOL_PARAMETERS_I2_J0107
     3161      if( ( ( m_pcEncCfg->getUseDMM() &&  pcCU->getSlice()->getIntraSdcWedgeFlag() )  || pcCU->getSlice()->getIntraContourFlag() )
     3162#else
    31463163      if( ( m_pcEncCfg->getUseDMM() || m_pcEncCfg->getUseIVP() )
     3164#endif
    31473165#if H_3D_FAST_DEPTH_INTRA
    31483166         && (uiRdModeList[0] != PLANAR_IDX || varCU >= varThreshold)
     
    31513169      {
    31523170        UInt uiStart, uiEnd;
     3171#if HHI_TOOL_PARAMETERS_I2_J0107
     3172        if( ( m_pcEncCfg->getUseDMM() &&  pcCU->getSlice()->getIntraSdcWedgeFlag() ) &&  pcCU->getSlice()->getIntraContourFlag() )
     3173#else
    31533174        if( m_pcEncCfg->getUseDMM() &&  m_pcEncCfg->getUseIVP() )
     3175#endif
    31543176        {
    31553177          uiStart = 0;
    31563178          uiEnd   = 2;
    31573179        }
     3180#if HHI_TOOL_PARAMETERS_I2_J0107
     3181        else if( ( m_pcEncCfg->getUseDMM() &&  pcCU->getSlice()->getIntraSdcWedgeFlag() ) )
     3182#else
    31583183        else if( m_pcEncCfg->getUseDMM() )
     3184#endif
    31593185        {
    31603186          uiStart = 0;
    31613187          uiEnd   = 1;
    31623188        }
     3189#if HHI_TOOL_PARAMETERS_I2_J0107
     3190        else if( pcCU->getSlice()->getIntraContourFlag() )
     3191#else
    31633192        else if( m_pcEncCfg->getUseIVP() )
     3193#endif
    31643194        {
    31653195          uiStart = 1;
     
    32993329#if H_3D_DIM_SDC
    33003330#if H_3D_FAST_INTRA_SDC
     3331#if HHI_TOOL_PARAMETERS_I2_J0107
     3332      Bool bTestSDC = ( ( m_pcEncCfg->getUseSDC() &&  pcCU->getSlice()->getIntraSdcWedgeFlag() ) && pcCU->getSDCAvailable(uiPartOffset) && uiMode >= numModesForFullRD);
     3333#else
    33013334      Bool bTestSDC = ( m_pcEncCfg->getUseSDC() && pcCU->getSDCAvailable(uiPartOffset) && uiMode >= numModesForFullRD);
     3335#endif
    33023336#else
    33033337      Bool bTestSDC = ( m_pcEncCfg->getUseSDC() && pcCU->getSDCAvailable(uiPartOffset) );
     
    41434177      }
    41444178#endif
    4145 
     4179#if !LGE_DDD_REMOVAL_J0042_J0030
    41464180#if H_3D_DDD
    41474181      if( uiMergeCand == pcCU->getUseDDDCandIdx() )
     
    41544188        pcCU->setUseDDD( false, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) );
    41554189      }
     4190#endif
    41564191#endif
    41574192
     
    48414876        pcCU->setVSPFlagSubParts( vspFlag[uiMRGIndex], uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
    48424877#endif
     4878#if !LGE_DDD_REMOVAL_J0042_J0030
    48434879#if H_3D_DDD
    48444880        if( uiMRGIndex == pcCU->getUseDDDCandIdx() )
     
    48534889            pcCU->setUseDDD( false, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
    48544890        }
     4891#endif
    48554892#endif
    48564893#if H_3D_SPIVMP
     
    49304967        pcCU->setSPIVMPFlagSubParts(0, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
    49314968#endif
     4969#if !LGE_DDD_REMOVAL_J0042_J0030
    49324970#if H_3D_DDD
    49334971        pcCU->setUseDDD( false, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
     4972#endif
    49344973#endif
    49354974        // set ME result
     
    53145353#endif
    53155354#if H_3D_INTER_SDC
     5355#if HHI_TOOL_PARAMETERS_I2_J0107 
     5356   pcPatternKey->setSDCMRSADFlag( pcCU->getSlice()->getInterSdcFlag() );
     5357#else
    53165358  if ( pcCU->getSlice()->getIsDepth() && pcCU->getSlice()->getVPS()->getInterSDCFlag( pcCU->getSlice()->getLayerIdInVps() ) )
    53175359  {
     
    53225364    pcPatternKey->setSDCMRSADFlag( false );
    53235365  }
     5366#endif
    53245367#endif
    53255368
  • trunk/source/Lib/TLibEncoder/TEncSlice.cpp

    r976 r1124  
    215215  rpcSlice->setPicOutputFlag( true );
    216216  rpcSlice->setPOC( pocCurr );
     217#if HHI_TOOL_PARAMETERS_I2_J0107
     218#if H_3D
     219  rpcSlice->init3dToolParameters();
     220#endif
     221#endif
    217222#if H_3D_IC
    218223  rpcSlice->setApplyIC( false );
     
    608613  rpcSlice->setSliceSegmentArgument ( m_pcCfg->getSliceSegmentArgument() );
    609614#if H_3D_IV_MERGE
     615#if HHI_TOOL_PARAMETERS_I2_J0107
     616#if ALGIN_J0107_J0059
     617  rpcSlice->setMaxNumMergeCand      ( m_pcCfg->getMaxNumMergeCand()   + ( ( rpcSlice->getMpiFlag( ) || rpcSlice->getIvMvPredFlag( ) || rpcSlice->getViewSynthesisPredFlag( )   ) ? 1 : 0 ));
     618#else
     619  rpcSlice->setMaxNumMergeCand      ( m_pcCfg->getMaxNumMergeCand()   + ( ( rpcSlice->getMpiFlag( ) || rpcSlice->getIvMvPredFlag( ) ) ? 1 : 0 ));
     620#endif
     621#else
    610622  if(rpcSlice->getIsDepth())
    611623  {
     
    614626  else
    615627  {
     628#if MTK_MRG_LIST_SIZE_CLEANUP_J0059
     629    rpcSlice->setMaxNumMergeCand      ( m_pcCfg->getMaxNumMergeCand()   + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() )  || rpcSlice->getVPS()->getViewSynthesisPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) );
     630#else
    616631    rpcSlice->setMaxNumMergeCand      ( m_pcCfg->getMaxNumMergeCand()   + ( rpcSlice->getVPS()->getIvMvPredFlag( rpcSlice->getLayerIdInVps() ) ? 1 : 0 ) );
    617   }
     632#endif
     633  }
     634#endif
    618635#else
    619636  rpcSlice->setMaxNumMergeCand        ( m_pcCfg->getMaxNumMergeCand()        );
     
    10111028    }
    10121029  }
     1030#if LGE_DEFAULT_DV_J0046 && !SEC_ARP_VIEW_REF_CHECK_J0037 && !SEC_DBBP_VIEW_REF_CHECK_J0037
     1031  pcSlice->setDefaultRefViewIdx( -1 );
     1032  pcSlice->setDefaultRefViewIdxAvailableFlag( false );
     1033
     1034  Int valid = 0;
     1035  Int viewIndex = 0;
     1036  for( UInt uiBId = 0; uiBId < pcSlice->getViewIndex() && valid==0; uiBId++ )
     1037  {
     1038      UInt        uiBaseId    = uiBId;
     1039      TComPic*    pcBasePic   = pcSlice->getIvPic( false, uiBaseId );
     1040      for( Int iRefListId = 0; ( iRefListId < (pcSlice->isInterB()? 2:1) ) && !pcSlice->isIntra() && valid==0; iRefListId++ )
     1041      {
     1042          RefPicList  eRefPicListTest = RefPicList( iRefListId );
     1043          Int         iNumRefPics = pcSlice->getNumRefIdx( eRefPicListTest ) ;
     1044          for( Int iRefIndex = 0; iRefIndex < iNumRefPics; iRefIndex++ )
     1045          {
     1046              if(pcBasePic->getPOC() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getPOC()
     1047                  && pcBasePic->getViewIndex() == pcSlice->getRefPic( eRefPicListTest, iRefIndex )->getViewIndex())
     1048              {
     1049                  valid=1;
     1050                  viewIndex = uiBaseId;
     1051                  break;
     1052              }
     1053          }
     1054      }
     1055  }
     1056  if( valid )
     1057  {
     1058      pcSlice->setDefaultRefViewIdx( viewIndex );
     1059      pcSlice->setDefaultRefViewIdxAvailableFlag( true );   
     1060  }
     1061#endif
     1062
    10131063  // for every CU in slice
    10141064#if H_3D
     
    11691219#endif
    11701220      }
    1171 
    11721221      // run CU encoder
    11731222      m_pcCuEncoder->compressCU( pcCU );
  • trunk/source/Lib/TLibEncoder/TEncSlice.h

    r884 r1124  
    107107  UInt                    m_uiSliceIdx;
    108108  std::vector<TEncSbac*> CTXMem;
     109#if !LGE_DDD_REMOVAL_J0042_J0030
    109110#if H_3D_DDD
    110111  Int          m_iDDDScale;
    111112  Int          m_iDDDOffset;
    112113  UInt         m_uiDDDPrecision;
     114#endif
    113115#endif
    114116public:
     
    145147  Void      initCtxMem( UInt i );
    146148  Void      setCtxMem( TEncSbac* sb, Int b )   { CTXMem[b] = sb; }
    147 
     149#if !LGE_DDD_REMOVAL_J0042_J0030
    148150#if H_3D_DDD
    149151  Void setDDDPar( Int iScale, Int iOffset, UInt uiPrecision ){ m_iDDDScale = iScale; m_iDDDOffset = iOffset; m_uiDDDPrecision = uiPrecision; }
     152#endif
    150153#endif
    151154
  • trunk/source/Lib/TLibEncoder/TEncTop.cpp

    r1084 r1124  
    534534Void TEncTop::encode(Bool flush, TComPicYuv* pcPicYuvOrg, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsOut, Int& iNumEncoded, bool isTff, Int gopId )
    535535{
    536   assert( 0 ); // Field coding and multiview need to be furhter harmonized.
     536  assert( 0 ); // Field coding and multiview need to be further harmonized.
    537537}
    538538#else
     
    896896#if H_MV
    897897  m_cPPS.setLayerId( getLayerId() );
     898#if HHI_DEPENDENCY_SIGNALLING_I1_J0107
     899#if H_3D
     900  // Check if this condition is still correct
     901  if( getVPS()->getNumRefListLayers( getLayerId() ) > 0 )
     902#else
    898903  if( getVPS()->getNumDirectRefLayers( getLayerId() ) > 0 )
     904#endif
     905#else
     906  if( getVPS()->getNumDirectRefLayers( getLayerId() ) > 0 )
     907#endif
    899908  {
    900909    m_cPPS.setListsModificationPresentFlag( true );
  • trunk/source/Lib/TLibEncoder/TEncTop.h

    r1084 r1124  
    270270  Void                    setIvPicLists         ( TComPicLists* picLists) { m_ivPicLists = picLists; }
    271271#endif
     272#if HHI_TOOL_PARAMETERS_I2_J0107
     273#if H_3D
     274  Void                    setSps3dExtension     ( TComSps3dExtension sps3dExtension ) { m_cSPS.setSps3dExtension( sps3dExtension );  };
     275#endif
     276#endif
    272277#if H_3D_IC
    273278  Void                    setICEnableCandidate         ( Int* ICEnableCandidate) { m_aICEnableCandidate = ICEnableCandidate; }
Note: See TracChangeset for help on using the changeset viewer.