Changeset 1048 in 3DVCSoftware


Ignore:
Timestamp:
18 Aug 2014, 09:35:34 (10 years ago)
Author:
lg
Message:

Integration of JCT3V-I0116

Location:
branches/HTM-12.0-dev1/source
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-12.0-dev1/source/App/TAppEncoder/TAppEncTop.cpp

    r1039 r1048  
    200200    m_cTEncTop.setUseDMM                       ( isDepth ? m_useDMM               : false );
    201201#if SEPARATE_FLAG_I0085
     202#if LGE_FCO_I0116
     203    m_cTEncTop.setUseIVP                       ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_useIVP               : false );
     204#else
    202205    m_cTEncTop.setUseIVP                       ( isDepth ? m_useIVP               : false );
     206#endif
    203207#endif
    204208    m_cTEncTop.setUseSDC                       ( isDepth ? m_useSDC               : false );
     
    210214#if !MTK_I0099_VPS_EX2 || MTK_I0099_FIX
    211215#if H_3D_QTLPC
     216#if LGE_FCO_I0116
     217    m_cTEncTop.setUseQTL                       ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_bUseQTL               : false );
     218#else
    212219    m_cTEncTop.setUseQTL                       ( isDepth ? m_bUseQTL               : false );
     220#endif
    213221#if !MTK_I0099_VPS_EX2   
    214222    m_cTEncTop.setUsePC                        ( isDepth ? m_bUsePC                : false );
     
    224232#endif
    225233#if H_3D_IV_MERGE
    226     m_cTEncTop.setUseMPI               ( isDepth ? m_bMPIFlag    : false );
     234#if LGE_FCO_I0116
     235    m_cTEncTop.setUseMPI                       ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_bMPIFlag    : false );
     236#else
     237    m_cTEncTop.setUseMPI                       ( isDepth ? m_bMPIFlag    : false );
     238#endif
    227239#endif
    228240#endif // H_3D
     
    18161828    Bool isDepth      = ( vps.getDepthId( layer ) == 1 ) ;
    18171829    Bool isLayerZero  = ( layer == 0 );
     1830#if LGE_FCO_I0116
     1831    Bool isDepthFirst = (layer > 1 ? true : false);
     1832#endif
    18181833
    18191834#if H_3D_ARP
     
    18381853    vps.setVpsDepthModesFlag( layer, isDepth && !isLayerZero && (m_useDMM || m_useSDC || m_useDLT ) );
    18391854#if SEPARATE_FLAG_I0085
     1855#if LGE_FCO_I0116
     1856    vps.setIVPFlag          ( layer, isDepth && !isLayerZero && m_useIVP && !isDepthFirst );
     1857#else
    18401858    vps.setIVPFlag          ( layer, isDepth && !isLayerZero && m_useIVP );
     1859#endif
    18411860#endif
    18421861#endif
     
    18661885#endif
    18671886#if MTK_I0099_VPS_EX2
     1887#if LGE_FCO_I0116
     1888    vps.setLimQtPredFlag         ( layer, isDepth && m_bLimQtPredFlag && !isDepthFirst );
     1889#else
    18681890    vps.setLimQtPredFlag         ( layer, isDepth && m_bLimQtPredFlag );
     1891#endif
    18691892#endif
    18701893#if H_3D_NBDV_REF
     
    18811904#endif
    18821905#if H_3D_IV_MERGE
     1906#if LGE_FCO_I0116
     1907    vps.setMPIFlag( layer, !isLayerZero && isDepth && m_bMPIFlag && !isDepthFirst );
     1908#else
    18831909    vps.setMPIFlag( layer, !isLayerZero && isDepth && m_bMPIFlag );
     1910#endif
    18841911#endif
    18851912  } 
  • branches/HTM-12.0-dev1/source/Lib/TLibCommon/TComDataCU.cpp

    r1039 r1048  
    41774177    TComPic * pcTexPic = m_pcSlice->getTexturePic();
    41784178#if H_3D_FCO
     4179#if LGE_FCO_I0116
     4180    if (pcTexPic && pcTexPic->getReconMark())
     4181#else
    41794182    if (pcTexturePic->getReconMark())
     4183#endif
    41804184    {
    41814185#endif   
  • branches/HTM-12.0-dev1/source/Lib/TLibCommon/TComSlice.cpp

    r1039 r1048  
    37273727
    37283728#if H_3D_DDD
     3729#if LGE_FCO_I0116
     3730  if( getIsDepth() && getViewIndex() > 0 && getVPS()->getMPIFlag(layerIdInVPS))
     3731#else
    37293732  if( getIsDepth() && getViewIndex() > 0 )
     3733#endif
    37303734  {
    37313735      TComSlice *pcTextSlice = getTexturePic()->getSlice( 0 );
  • branches/HTM-12.0-dev1/source/Lib/TLibCommon/TypeDef.h

    r1039 r1048  
    251251
    252252#define H_3D_FCO                          0   // Flexible coding order for 3D
     253#if H_3D_FCO
     254#define LGE_FCO_I0116                     1
     255#endif
    253256
    254257#define SCU_HS_FAST_INTRA_SDC_I0123       1
  • branches/HTM-12.0-dev1/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r1039 r1048  
    26372637
    26382638#if H_3D
     2639#if LGE_FCO_I0116
     2640  if( rpcSlice->getVPS()->hasCamParInSliceHeader( rpcSlice->getViewIndex() )  && rpcSlice->getIsDepth() )
     2641#else
    26392642  if( rpcSlice->getVPS()->hasCamParInSliceHeader( rpcSlice->getViewIndex() )  && !rpcSlice->getIsDepth() )
     2643#endif
    26402644  {
    26412645    UInt uiViewIndex = rpcSlice->getViewIndex();
  • branches/HTM-12.0-dev1/source/Lib/TLibDecoder/TDecCu.cpp

    r1039 r1048  
    859859  // get collocated depth block
    860860  UInt uiDepthStride = 0;
     861#if LGE_FCO_I0116
     862  Pel* pDepthPels = pcCU->getVirtualDepthBlock(pcCU->getZorderIdxInCU(), pcCU->getWidth(0), pcCU->getHeight(0), uiDepthStride);
     863#else
    861864  Pel* pDepthPels = pcCU->getVirtualDepthBlock(0, pcCU->getWidth(0), pcCU->getHeight(0), uiDepthStride);
     865#endif
    862866  AOF( pDepthPels != NULL );
    863867  AOF( uiDepthStride != 0 );
  • branches/HTM-12.0-dev1/source/Lib/TLibDecoder/TDecSbac.cpp

    r1039 r1048  
    794794
    795795#if MTK_I0099_VPS_EX2
     796#if LGE_FCO_I0116
     797  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag && pcTexture->getReconMark())
     798#else
    796799  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag)
     800#endif
    797801#else
    798802  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL() && sps->getUsePC())
     
    854858  UInt uiTexturePart = uiMode;
    855859#if MTK_I0099_VPS_EX2
     860#if LGE_FCO_I0116
     861  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag && pcTexture->getReconMark())
     862#else
    856863  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag )
     864#endif
    857865#else
    858866  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL() && sps->getUsePC())
  • branches/HTM-12.0-dev1/source/Lib/TLibDecoder/TDecTop.cpp

    r976 r1048  
    229229  }
    230230
     231#if !LGE_FCO_I0116
    231232  if ( pcSlice->getIsDepth())
    232233  {
    233234    return;
    234235  }
     236#endif
    235237
    236238  Int curPoc = pcSlice->getPOC();
     
    12011203
    12021204#if H_3D_IV_MERGE
     1205#if LGE_FCO_I0116
     1206  if( !pcSlice->getIsDepth() && m_pcCamParsCollector )
     1207#else
    12031208  if( pcSlice->getIsDepth() && m_pcCamParsCollector )
     1209#endif
    12041210  {
    12051211    m_pcCamParsCollector->copyCamParamForSlice( pcSlice );
  • branches/HTM-12.0-dev1/source/Lib/TLibEncoder/TEncCavlc.cpp

    r1039 r1048  
    21262126  }
    21272127#if H_3D
     2128#if LGE_FCO_I0116
     2129  if( pcSlice->getVPS()->hasCamParInSliceHeader( pcSlice->getViewIndex() ) && pcSlice->getIsDepth() )
     2130#else
    21282131  if( pcSlice->getVPS()->hasCamParInSliceHeader( pcSlice->getViewIndex() ) && !pcSlice->getIsDepth() )
     2132#endif
    21292133  {
    21302134    for( UInt uiId = 0; uiId < pcSlice->getViewIndex(); uiId++ )
  • branches/HTM-12.0-dev1/source/Lib/TLibEncoder/TEncCu.cpp

    r1039 r1048  
    538538#if MTK_I0099_VPS_EX2
    539539#if MTK_I0099_FIX
     540#if LGE_FCO_I0116
     541      if(depthMapDetect && !bIntraSliceDetect && !rapPic && ( m_pcEncCfg->getUseQTL() || bLimQtPredFalg ) && pcTexture->getReconMark())
     542#else
    540543      if(depthMapDetect && !bIntraSliceDetect && !rapPic && ( m_pcEncCfg->getUseQTL() || bLimQtPredFalg ))
     544#endif
    541545#else
    542546      if(depthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFalg)
     
    25882592  // fetch virtual depth block
    25892593  UInt uiDepthStride = 0;
     2594#if LGE_FCO_I0116
     2595  Pel* pDepthPels = rpcTempCU->getVirtualDepthBlock(rpcTempCU->getZorderIdxInCU(), uiWidth, uiHeight, uiDepthStride);
     2596#else
    25902597  Pel* pDepthPels = rpcTempCU->getVirtualDepthBlock(0, uiWidth, uiHeight, uiDepthStride);
     2598#endif
    25912599  AOF( pDepthPels != NULL );
    25922600  AOF( uiDepthStride != 0 );
  • branches/HTM-12.0-dev1/source/Lib/TLibEncoder/TEncSbac.cpp

    r1039 r1048  
    732732  UInt uiTexturePart = eSize;
    733733#if MTK_I0099_VPS_EX2
     734#if LGE_FCO_I0116
     735  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && bLimQtPredFlag && pcTexture->getReconMark())
     736#else
    734737  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && bLimQtPredFlag )
     738#endif
    735739#else
    736740  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && sps->getUseQTL() && sps->getUsePC() )
     
    11061110
    11071111#if MTK_I0099_VPS_EX2
     1112#if LGE_FCO_I0116
     1113  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && bLimQtPredFlag && pcTexture->getReconMark() )
     1114#else
    11081115  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && bLimQtPredFlag  )
     1116#endif
    11091117#else
    11101118  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && sps->getUseQTL() && sps->getUsePC())
  • branches/HTM-12.0-dev1/source/Lib/TLibEncoder/TEncSearch.cpp

    r1039 r1048  
    32123212#if H_3D_FCO
    32133213            TComPic* picTexture  = pcCU->getSlice()->getIvPic(false, pcCU->getSlice()->getViewIndex() );
     3214#if LGE_FCO_I0116
     3215            if ( !picTexture->getReconMark() && (DMM4_IDX == dmmType ) )
     3216#else
    32143217            if ( !picTexture->getReconMark() && (DMM3_IDX == dmmType || DMM4_IDX == dmmType ) )
     3218#endif
    32153219            {
    32163220                continue;
Note: See TracChangeset for help on using the changeset viewer.