Changeset 1074 in 3DVCSoftware


Ignore:
Timestamp:
21 Oct 2014, 20:39:50 (9 years ago)
Author:
tech
Message:

Removed 3D-HEVC related macros.

Location:
branches/HTM-12.1-dev0/source
Files:
42 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-12.1-dev0/source/App/TAppEncoder/TAppEncCfg.cpp

    r1066 r1074  
    398398#if H_3D_DIM
    399399  ("DMM",                   m_useDMM,           true,  "Depth intra model modes")
    400 #if SEPARATE_FLAG_I0085
    401400  ("IVP",                   m_useIVP,           true,  "intra-view prediction")
    402 #endif
    403401  ("SDC",                   m_useSDC,           true,  "Simplified depth coding")
    404402  ("DLT",                   m_useDLT,           true,  "Depth lookup table")
     
    814812
    815813#endif //HHI_VSO
    816 #if MTK_I0099_VPS_EX2
     814#if H_3D_QTLPC
    817815  ("LimQtPredFlag",                   m_bLimQtPredFlag          , true          , "Use Predictive Coding with QTL" )
    818 #endif
    819 #if !MTK_I0099_VPS_EX2 || MTK_I0099_FIX
    820 #if H_3D_QTLPC
    821816  ("QTL",                             m_bUseQTL                 , true          , "Use depth Quadtree Limitation" )
    822 #if !MTK_I0099_VPS_EX2
    823   ("PC",                              m_bUsePC                  , true          , "Use Predictive Coding with QTL" )
    824 #endif
    825 #endif
    826817#endif
    827818#if H_3D_IV_MERGE
     
    15401531    for ( Int i = 0; i < m_layerIdsInSets[lsIdx].size(); i++ )
    15411532    {
    1542 #if FIX_TICKET_61
    15431533      xConfirmPara( m_layerIdsInSets[lsIdx][i] < 0 || m_layerIdsInSets[lsIdx][i] >= MAX_NUM_LAYER_IDS, "LayerIdsInSet must be greater than 0 and less than MAX_NUM_LAYER_IDS" );
    1544 #else
    1545       xConfirmPara( m_layerIdsInSets[lsIdx][i] < 0 || m_layerIdsInSets[lsIdx].size() >= MAX_NUM_LAYER_IDS, "LayerIdsInSet must be greater than and less than MAX_NUM_LAYER_IDS" );
    1546 #endif
    15471534    }
    15481535  }
     
    26762663  printf("WVSO:%d ", m_bUseWVSO ); 
    26772664#endif
    2678 #if MTK_I0099_VPS_EX2
     2665#if H_3D_QTLPC
    26792666  printf("LimQtPredFlag:%d ", m_bLimQtPredFlag ? 1 : 0);
    2680 #endif
    2681 #if !MTK_I0099_VPS_EX2 || MTK_I0099_FIX
    2682 #if H_3D_QTLPC
    26832667  printf("QTL:%d ", m_bUseQTL);
    2684 #if !MTK_I0099_VPS_EX2
    2685   printf("PC:%d " , m_bUsePC );
    2686 #endif
    2687 #endif
    26882668#endif
    26892669#if H_3D_IV_MERGE
     
    27122692#if H_3D_DIM
    27132693  printf("DMM:%d ", m_useDMM );
    2714 #if SEPARATE_FLAG_I0085
    27152694  printf("IVP:%d ", m_useIVP );
    2716 #endif
    27172695  printf("SDC:%d ", m_useSDC );
    27182696  printf("DLT:%d ", m_useDLT );
  • branches/HTM-12.1-dev0/source/App/TAppEncoder/TAppEncCfg.h

    r1066 r1074  
    151151#endif
    152152#endif
    153 #if MTK_I0099_VPS_EX2
     153#if H_3D_QTLPC
    154154  Bool                   m_bLimQtPredFlag;
    155155#endif
     
    504504#if H_3D_DIM
    505505  Bool      m_useDMM;                                        ///< flag for using DMM
    506 #if SEPARATE_FLAG_I0085
    507506  Bool      m_useIVP;
    508 #endif
    509507  Bool      m_useSDC;                                        ///< flag for using SDC
    510508  Bool      m_useDLT;                                        ///< flag for using DLT
    511509#endif
    512 #if MTK_SINGLE_DEPTH_MODE_I0095
     510#if H_3D_SINGLE_DEPTH
    513511  Bool     m_useSingleDepthMode;                          ///< flag for using single depth mode
    514512#endif
    515 #if !MTK_I0099_VPS_EX2 || MTK_I0099_FIX
    516513#if H_3D_QTLPC
    517514  Bool      m_bUseQTL;                                        ///< flag for using depth QuadTree Limitation
    518 #if !MTK_I0099_VPS_EX2
    519   Bool      m_bUsePC;                                         ///< flag for using Predictive Coding with QTL
    520 #endif
    521 #endif
    522515#endif
    523516#if H_3D_INTER_SDC
  • branches/HTM-12.1-dev0/source/App/TAppEncoder/TAppEncTop.cpp

    r1066 r1074  
    233233#if H_3D_DIM
    234234    m_cTEncTop.setUseDMM                       ( isDepth ? m_useDMM               : false );
    235 #if SEPARATE_FLAG_I0085
    236 #if LGE_FCO_I0116
     235#if H_3D_FCO
    237236    m_cTEncTop.setUseIVP                       ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_useIVP               : false );
    238237#else
    239238    m_cTEncTop.setUseIVP                       ( isDepth ? m_useIVP               : false );
    240 #endif
    241239#endif
    242240    m_cTEncTop.setUseSDC                       ( isDepth ? m_useSDC               : false );
    243241    m_cTEncTop.setUseDLT                       ( isDepth ? m_useDLT               : false );
    244242#endif
    245 #if MTK_SINGLE_DEPTH_MODE_I0095
     243#if H_3D_SINGLE_DEPTH
    246244    m_cTEncTop.setUseSingleDepthMode           ( isDepth ? m_useSingleDepthMode   : false );
    247245#endif
    248 #if !MTK_I0099_VPS_EX2 || MTK_I0099_FIX
    249246#if H_3D_QTLPC
    250 #if LGE_FCO_I0116
    251     m_cTEncTop.setUseQTL                       ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_bUseQTL               : false );
    252 #else
    253247    m_cTEncTop.setUseQTL                       ( isDepth ? m_bUseQTL               : false );
    254 #endif
    255 #if !MTK_I0099_VPS_EX2   
    256     m_cTEncTop.setUsePC                        ( isDepth ? m_bUsePC                : false );
    257 #endif
    258 #endif
    259248#endif
    260249    //====== Depth Inter SDC =========
     
    266255#endif
    267256#if H_3D_IV_MERGE
    268 #if LGE_FCO_I0116
     257#if H_3D_FCO
    269258    m_cTEncTop.setUseMPI                       ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_bMPIFlag    : false );
    270259#else
     
    21592148    Bool isDepth      = ( vps.getDepthId( layer ) == 1 ) ;
    21602149    Bool isLayerZero  = ( layer == 0 );
    2161 #if LGE_FCO_I0116
     2150#if H_3D_FCO
    21622151    Bool isDepthFirst = (layer > 1 ? true : false);
    21632152#endif
     
    21712160    {
    21722161      vps.setSubPULog2Size         ( layer, (layer != 1) ? 6: 0 );
    2173 #if MTK_I0099_VPS_EX2
    21742162      vps.setSubPUMPILog2Size      ( layer, (!isLayerZero) ? m_iSubPUMPILog2Size: 0 );
    2175 #endif
    21762163    }
    21772164    else
     
    21832170#if H_3D_DIM
    21842171    vps.setVpsDepthModesFlag( layer, isDepth && !isLayerZero && (m_useDMM || m_useSDC || m_useDLT ) );
    2185 #if SEPARATE_FLAG_I0085
    2186 #if LGE_FCO_I0116
     2172#if H_3D_FCO
    21872173    vps.setIVPFlag          ( layer, isDepth && !isLayerZero && m_useIVP && !isDepthFirst );
    21882174#else
    21892175    vps.setIVPFlag          ( layer, isDepth && !isLayerZero && m_useIVP );
    2190 #endif
    21912176#endif
    21922177#endif
     
    21962181    {
    21972182      vps.setIvMvPredFlag    (layer, false);
    2198 #if SEC_HLS_CLEANUP_I0100
    21992183      vps.setIvMvScalingFlag (layer, false);
    2200 #endif
    22012184    }
    22022185    else
     
    22102193        vps.setIvMvPredFlag         ( layer, !isLayerZero && m_ivMvPredFlag[0] );
    22112194      }
    2212 #if SEC_HLS_CLEANUP_I0100
    22132195      vps.setIvMvScalingFlag (layer, m_ivMvScalingFlag);
    2214 #endif
    2215     }
    2216 #endif
    2217 #if MTK_I0099_VPS_EX2
    2218 #if LGE_FCO_I0116
     2196    }
     2197#endif
     2198#if H_3D_QTLPC
     2199#if H_3D_FCO
    22192200    vps.setLimQtPredFlag         ( layer, isDepth && m_bLimQtPredFlag && !isDepthFirst );
    22202201#else
     
    22352216#endif
    22362217#if H_3D_IV_MERGE
    2237 #if LGE_FCO_I0116
     2218#if H_3D_FCO
    22382219    vps.setMPIFlag( layer, !isLayerZero && isDepth && m_bMPIFlag && !isDepthFirst );
    22392220#else
     
    22422223#endif
    22432224  } 
    2244 #if !MTK_I0099_VPS_EX2
    2245 #if H_3D_SPIVMP
    2246   vps.setSubPUMPILog2Size( m_iSubPUMPILog2Size );
    2247 #endif
    2248 #endif
    2249 #if H_3D
    2250 #if !SEC_HLS_CLEANUP_I0100
    2251   vps.setIvMvScalingFlag( m_ivMvScalingFlag );   
    2252 #endif
    2253 #endif
    22542225}
    22552226
     
    22732244      xAnalyzeInputBaseDepth(layer, max(m_iIntraPeriod[layer], 24), &vps, &dlt);
    22742245      bDltPresentFlag = bDltPresentFlag || dlt.getUseDLTFlag(layer);
    2275 #if H_3D_DELTA_DLT
    22762246      dlt.setInterViewDltPredEnableFlag(layer, (dlt.getUseDLTFlag(layer) && (layer>1)));
    2277 #endif
    22782247    }
    22792248  }
  • branches/HTM-12.1-dev0/source/Lib/TAppCommon/program_options_lite.h

    r1039 r1074  
    378378        std::string cDescBuffer;
    379379
    380 #if !FIX_TICKET_62
    381         cNameBuffer       .resize( name.size() + 10 );
    382         cDescBuffer.resize( desc.size() + 10 );
    383 #endif
    384 
    385380        storage.resize(uiMaxNum);
    386381        for ( unsigned int uiK = 0; uiK < uiMaxNum; uiK++ )
    387382        {
    388 
    389 #if FIX_TICKET_62
    390383          cNameBuffer       .resize( name.size() + 10 );
    391384          cDescBuffer.resize( desc.size() + 10 );
    392 #endif
    393385
    394386          Bool duplicate = (uiK != 0);
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/ContextTables.h

    r1039 r1074  
    5151#define NUM_SPLIT_FLAG_CTX            3       ///< number of context models for split flag
    5252#define NUM_SKIP_FLAG_CTX             3       ///< number of context models for skip flag
    53 #if MTK_SINGLE_DEPTH_MODE_I0095
     53#if H_3D_SINGLE_DEPTH
    5454#define NUM_SINGLEDEPTH_FLAG_CTX                     1
    5555#define NUM_SINGLE_DEPTH_VALUE_DATA_CTX              1       
     
    153153  { CNU,  CNU,  CNU, },
    154154};
    155 #if MTK_SINGLE_DEPTH_MODE_I0095
     155#if H_3D_SINGLE_DEPTH
    156156static const UChar
    157157INIT_SINGLEDEPTH_FLAG[3][NUM_SINGLEDEPTH_FLAG_CTX] = 
     
    450450static const UChar INIT_DBBP_FLAG[3][DBBP_NUM_FLAG_CTX] =
    451451{
    452 #if SEC_DBBP_EXPLICIT_SIG_I0077
    453   { CNU },
    454   { CNU },
    455   { CNU },
    456 #else
    457   { 161 },
    458   { 161 },
    459   { 161 },
    460 #endif
    461 };
    462 #endif
    463 
    464 #endif
     452  { CNU },
     453  { CNU },
     454  { CNU },
     455};
     456#endif
     457
     458#endif
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComDataCU.cpp

    r1066 r1074  
    6060 
    6161  m_skipFlag           = NULL;
    62 #if MTK_SINGLE_DEPTH_MODE_I0095
     62#if H_3D_SINGLE_DEPTH
    6363  m_singleDepthFlag     = NULL;
    6464  m_apSingleDepthValue  = NULL;
     
    185185
    186186    m_skipFlag           = new Bool[ uiNumPartition ];
    187 #if MTK_SINGLE_DEPTH_MODE_I0095
     187#if H_3D_SINGLE_DEPTH
    188188    m_singleDepthFlag     = new Bool[ uiNumPartition ];
    189189    m_apSingleDepthValue  = (Pel*)xMalloc(Pel, uiNumPartition);
     
    335335
    336336    if ( m_skipFlag           ) { delete[] m_skipFlag;          m_skipFlag          = NULL; }
    337 #if MTK_SINGLE_DEPTH_MODE_I0095
     337#if H_3D_SINGLE_DEPTH
    338338    if ( m_singleDepthFlag    ) { delete[] m_singleDepthFlag;   m_singleDepthFlag     = NULL; }
    339339    if ( m_apSingleDepthValue ) { xFree(m_apSingleDepthValue);  m_apSingleDepthValue  = NULL; }
     
    503503    TComDataCU * pcFrom = pcPic->getCU(getAddr());
    504504    m_skipFlag[ui]   = pcFrom->getSkipFlag(ui);
    505 #if MTK_SINGLE_DEPTH_MODE_I0095
     505#if H_3D_SINGLE_DEPTH
    506506    m_singleDepthFlag[ui]    = pcFrom->getSingleDepthFlag(ui);
    507507    m_apSingleDepthValue[ui] = pcFrom->getSingleDepthValue(ui);
     
    563563  {
    564564    memset( m_skipFlag          + firstElement, false,                    numElements * sizeof( *m_skipFlag ) );
    565 #if MTK_SINGLE_DEPTH_MODE_I0095
     565#if H_3D_SINGLE_DEPTH
    566566    memset( m_singleDepthFlag     + firstElement, false,                  numElements * sizeof( *m_singleDepthFlag ) );
    567567    memset( m_apSingleDepthValue  + firstElement,     0,                  numElements * sizeof( *m_apSingleDepthValue ) );
     
    754754      m_puhTransformSkip[2][ui] = 0;
    755755      m_skipFlag[ui]   = false;
    756 #if MTK_SINGLE_DEPTH_MODE_I0095
     756#if H_3D_SINGLE_DEPTH
    757757      m_singleDepthFlag[ui]     = false;
    758758      m_apSingleDepthValue[ui]  = 0;
     
    933933  {
    934934    m_skipFlag[ui]   = false;
    935 #if MTK_SINGLE_DEPTH_MODE_I0095
     935#if H_3D_SINGLE_DEPTH
    936936    m_singleDepthFlag[ui]   = false;
    937937    m_apSingleDepthValue[ui]= 0;
     
    958958      m_puhTransformSkip[2][ui] = pcCU->getTransformSkip(uiPartOffset+ui,TEXT_CHROMA_V);
    959959      m_skipFlag[ui]   = pcCU->getSkipFlag(uiPartOffset+ui);
    960 #if MTK_SINGLE_DEPTH_MODE_I0095
     960#if H_3D_SINGLE_DEPTH
    961961      m_singleDepthFlag[ui]    = pcCU->getSingleDepthFlag(uiPartOffset+ui);
    962962      m_apSingleDepthValue[ui] = pcCU->getSingleDepthValue(uiPartOffset+ui);
     
    11111111 
    11121112  m_skipFlag=pcCU->getSkipFlag()          + uiPart;
    1113 #if MTK_SINGLE_DEPTH_MODE_I0095
     1113#if H_3D_SINGLE_DEPTH
    11141114  m_singleDepthFlag     = pcCU->getSingleDepthFlag()   + uiPart;
    11151115  m_apSingleDepthValue  = pcCU->getSingleDepthValue()  + uiPart;
     
    12521252 
    12531253  m_skipFlag           = pcCU->getSkipFlag ()             + uiAbsPartIdx;
    1254 #if MTK_SINGLE_DEPTH_MODE_I0095
     1254#if H_3D_SINGLE_DEPTH
    12551255  m_singleDepthFlag     = pcCU->getSingleDepthFlag ()             + uiAbsPartIdx;
    12561256  m_apSingleDepthValue  = pcCU->getSingleDepthValue ()            + uiAbsPartIdx;
     
    13311331  Int sizeInChar  = sizeof( Char ) * uiNumPartition;
    13321332  memcpy( m_skipFlag   + uiOffset, pcCU->getSkipFlag(),       sizeof( *m_skipFlag )   * uiNumPartition );
    1333 #if MTK_SINGLE_DEPTH_MODE_I0095
     1333#if H_3D_SINGLE_DEPTH
    13341334  memcpy( m_singleDepthFlag     + uiOffset, pcCU->getSingleDepthFlag(),       sizeof( *m_singleDepthFlag )   * uiNumPartition );
    13351335  memcpy( m_apSingleDepthValue  + uiOffset, pcCU->getSingleDepthValue(),      sizeof( *m_apSingleDepthValue ) * uiNumPartition);
     
    14551455
    14561456  memcpy( rpcCU->getSkipFlag() + m_uiAbsIdxInLCU, m_skipFlag, sizeof( *m_skipFlag ) * m_uiNumPartition );
    1457 #if MTK_SINGLE_DEPTH_MODE_I0095
     1457#if H_3D_SINGLE_DEPTH
    14581458  memcpy( rpcCU->getSingleDepthFlag()  + m_uiAbsIdxInLCU, m_singleDepthFlag,    sizeof( *m_singleDepthFlag ) * m_uiNumPartition );
    14591459  memcpy( rpcCU->getSingleDepthValue() + m_uiAbsIdxInLCU, m_apSingleDepthValue, sizeof( *m_apSingleDepthValue ) * m_uiNumPartition);
     
    15741574  Int sizeInChar  = sizeof( Char ) * uiQNumPart;
    15751575  memcpy( rpcCU->getSkipFlag()       + uiPartOffset, m_skipFlag,   sizeof( *m_skipFlag )   * uiQNumPart );
    1576 #if MTK_SINGLE_DEPTH_MODE_I0095
     1576#if H_3D_SINGLE_DEPTH
    15771577  memcpy( rpcCU->getSingleDepthFlag()  + uiPartOffset, m_singleDepthFlag,    sizeof( *m_singleDepthFlag )   * uiQNumPart );
    15781578  memcpy( rpcCU->getSingleDepthValue() + uiPartOffset, m_apSingleDepthValue, sizeof( *m_apSingleDepthValue ) * uiQNumPart);
     
    24972497  memset( m_skipFlag + absPartIdx, skip, m_pcPic->getNumPartInCU() >> ( 2 * depth ) );
    24982498}
    2499 #if MTK_SINGLE_DEPTH_MODE_I0095
     2499#if H_3D_SINGLE_DEPTH
    25002500Void TComDataCU::setSingleDepthFlagSubParts( Bool singleDepth, UInt absPartIdx, UInt depth )
    25012501{
     
    26772677  }
    26782678
    2679 #if HS_DMM_SIGNALLING_I0120
    26802679  if( isDimMode( getLumaIntraDir( uiAbsPartIdx ) ) )
    2681 #else
    2682   if( isDimMode( getLumaIntraDir( uiAbsPartIdx ) ) && !isDimDeltaDC( getLumaIntraDir( uiAbsPartIdx ) ) )
    2683 #endif
    26842680  {
    26852681    return true;
     
    26942690  // check prediction mode
    26952691  UInt uiLumaPredMode = getLumaIntraDir( uiAbsPartIdx ); 
    2696 #if HS_DMM_SIGNALLING_I0120
    26972692  if( uiLumaPredMode == PLANAR_IDX || ( getDimType( uiLumaPredMode ) == DMM1_IDX  ) )
    2698 #else
    2699   if( uiLumaPredMode == PLANAR_IDX || ( getDimType( uiLumaPredMode ) == DMM1_IDX && !isDimDeltaDC( uiLumaPredMode ) ) )
    2700 #endif
    27012693    return true;
    27022694 
     
    33733365  for(Int iLoop = 0; iLoop < 2; iLoop ++ )
    33743366  {
    3375 #if !SEC_SIMP_SHIFTED_DV_I0086
    3376     // IvDcShift (Derived from spatial Iv neighboring blocks)
    3377     if( iLoop == 1 )
    3378     {
    3379       Int iFirDispCand = -1;
    3380       TComMvField mvIvDcShift[2];
    3381       UChar dirIvDcShift;
    3382 
    3383       if (xGetPosFirstAvailDmvCand(MRG_IVSHIFT, iFirDispCand))
    3384       {
    3385         TComMv cMv;
    3386         cMv = m_mergCands[iFirDispCand].m_cMvField[0].getMv();
    3387         cMv.setHor(cMv.getHor()+4);
    3388         if(m_pcSlice->getVPS()->getViewSynthesisPredFlag(m_pcSlice->getLayerIdInVps()))
    3389         {
    3390           cMv.setVer(0);
    3391         }
    3392 #if !(NTT_BUG_FIX_TK54)
    3393         clipMv( cMv );
    3394 #endif
    3395 
    3396         dirIvDcShift = m_mergCands[iFirDispCand].m_uDir;
    3397         mvIvDcShift[0].setMvField(cMv, m_mergCands[iFirDispCand].m_cMvField[0].getRefIdx() );
    3398         mvIvDcShift[1].setMvField(m_mergCands[iFirDispCand].m_cMvField[1].getMv(), m_mergCands[iFirDispCand].m_cMvField[1].getRefIdx() );
    3399         m_mergCands[MRG_IVSHIFT].setCand(mvIvDcShift, dirIvDcShift, false, false);
    3400        
    3401         if( mrgCandIdx == iCount )
    3402         {
    3403           return true;
    3404         }
    3405         iCount++;
    3406         break;
    3407       }
    3408     }
    3409 #endif
    3410 
    34113367    /// iLoop = 0 --> IvMCShift
    34123368    /// iLoop = 1 --> IvDCShift  (Derived from IvDC)
     
    34553411}
    34563412
    3457 #if !SEC_SIMP_SHIFTED_DV_I0086
    3458 inline Bool TComDataCU::xGetPosFirstAvailDmvCand(Int iCount, Int& posFirstAvailDmvCand )
    3459 {
    3460   for ( Int currListPos = 0; currListPos < iCount; currListPos++ )
    3461   {
    3462     if ( !m_mergCands[currListPos].m_bAvailable || ( currListPos == MRG_IVMC ) || ( currListPos == MRG_IVDC ) || ( m_mergCands[currListPos].m_iVspFlag != 0 ))
    3463     {
    3464       continue;
    3465     }
    3466     else if((m_mergCands[currListPos].m_bAvailable) && (m_mergCands[currListPos].m_cMvField[0].getRefIdx() != -1 ) && (getSlice()->getViewIndex() != getSlice()->getRefPic(RefPicList(0), m_mergCands[currListPos].m_cMvField[0].getRefIdx())->getViewIndex()))
    3467     {
    3468       posFirstAvailDmvCand = currListPos;
    3469       return true;
    3470     }
    3471   }
    3472   return false; 
    3473 }
    3474 #endif
    3475                                      
    34763413#endif
    34773414
     
    39213858Void TComDataCU::getInterMergeCandidates( UInt uiAbsPartIdx, UInt uiPUIdx, TComMvField* pcMvFieldNeighbours, UChar* puhInterDirNeighbours
    39223859#endif
    3923 #if H_3D_VSP && !FIX_TICKET_79
    3924       , InheritedVSPDisInfo*  inheritedVSPDisInfo
    3925 #endif
    39263860#if H_3D_SPIVMP
    39273861      , TComMvField* pcMvFieldSP, UChar* puhInterDirSP
     
    39513885  //////////////////////////////////
    39523886  DisInfo cDisInfo = getDvInfo(uiAbsPartIdx);
    3953 #if !FIX_TICKET_79
    3954   for(Int i = 0; i < MRG_MAX_NUM_CANDS_MEM; i++)
    3955   {
    3956     inheritedVSPDisInfo[i].m_acDvInfo = cDisInfo;   // To prevent run-time error, this code must be executed always for merging process.
    3957   }
    3958 #endif
    39593887  m_cDefaultDisInfo = cDisInfo;
    39603888
     
    41774105    TComPic * pcTexPic = m_pcSlice->getTexturePic();
    41784106#if H_3D_FCO
    4179 #if LGE_FCO_I0116
     4107#if H_3D_FCO
    41804108    if (pcTexPic && pcTexPic->getReconMark())
    41814109#else
     
    42514179                TComMv cMv = cDefaultMvField.getMv() + cMvRounding;
    42524180                cMv >>= 2;
    4253 #if !FIX_TICKET_68
    4254                 clipMv( cMv );
    4255 #endif
    42564181                cMvFieldSaved[eCurrRefPicList].setMvField(cMv, iRefPicList) ;
    42574182                break;
     
    53255250#endif
    53265251
    5327 #if !FIX_TICKET_76
    5328 #if H_3D_VSP
    5329 inline Void TComDataCU::xInheritVSPDisInfo(TComDataCU* pcCURef, UInt uiAbsPartIdx, Int iCount, InheritedVSPDisInfo*  inheritedVSPDisInfo)
    5330 {
    5331   inheritedVSPDisInfo[iCount].m_acDvInfo.m_acNBDV   = pcCURef->getDvInfo(uiAbsPartIdx).m_acNBDV;
    5332   inheritedVSPDisInfo[iCount].m_acDvInfo.m_aVIdxCan = pcCURef->getDvInfo(uiAbsPartIdx).m_aVIdxCan;
    5333 }
    5334 #endif
    5335 #endif
    53365252/** Check whether the current PU and a spatial neighboring PU are in a same ME region.
    53375253 * \param xN, xN   location of the upper-left corner pixel of a neighboring PU
     
    59765892    Int iColRefViewId  = pColCU->getSlice()->getRefPic( eColRefPicList, pColCU->getCUMvField(eColRefPicList)->getRefIdx(uiAbsPartAddr))->getViewIndex();
    59775893    iScale = xGetDistScaleFactor( iCurrViewId, iCurrRefViewId, iColViewId, iColRefViewId );
    5978 #if SEC_HLS_CLEANUP_I0100
     5894
    59795895    if ( iScale != 4096 && m_pcSlice->getVPS()->getIvMvScalingFlag(getSlice()->getLayerIdInVps()) )
    5980 #else
    5981     if ( iScale != 4096 && m_pcSlice->getVPS()->getIvMvScalingFlag() )
    5982 #endif
    59835896    {
    59845897      rcMv = cColMv.scaleMv( iScale );
     
    61646077  TComMv cMv;
    61656078#if MTK_I0093
    6166 #if H_3D_FIX_64BIT_SHIFT
    61676079  Int iDisp     = getSlice()->getDepthToDisparityB( 0 )[ (Int64) (1 << ( getSlice()->getSPS()->getBitDepthY() - 1 )) ];
    6168 #else
    6169   Int iDisp     = getSlice()->getDepthToDisparityB( 0 )[  1 << ( getSlice()->getSPS()->getBitDepthY() - 1 ) ];
    6170 #endif
    61716080#else
    61726081  Int iDisp     = getSlice()->getDepthToDisparityB( 0 )[ 128 ];
     
    61816090#endif
    61826091
    6183 #if MTK_SINGLE_DEPTH_MODE_I0095
     6092#if H_3D_SINGLE_DEPTH
    61846093Bool TComDataCU::getNeighDepth (UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index)
    61856094{
     
    67956704  if( getSlice()->getIsDepth() )
    67966705  {
    6797 #if MTK_I0099_VPS_EX2
    67986706    iSubPUSize = 1<<getSlice()->getVPS()->getSubPUMPILog2Size(getSlice()->getLayerId());
    6799 #else
    6800     iSubPUSize = 1 << getSlice()->getVPS()->getSubPUMPILog2Size();
    6801 #endif
    68026707  }
    68036708
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComDataCU.h

    r1039 r1074  
    110110  // -------------------------------------------------------------------------------------------------------------------
    111111  Bool*         m_skipFlag;           ///< array of skip flags
    112 #if MTK_SINGLE_DEPTH_MODE_I0095
     112#if H_3D_SINGLE_DEPTH
    113113  Bool*         m_singleDepthFlag;           ///< array of single depth flags
    114114  Pel*          m_apSingleDepthValue;
     
    250250#if H_3D_IV_MERGE
    251251  Bool          xAddIvMRGCand( Int mrgCandIdx, Int& iCount, Int*   ivCandDir, TComMv* ivCandMv, Int* ivCandRefIdx );
    252 #if! SEC_SIMP_SHIFTED_DV_I0086
    253   Bool          xGetPosFirstAvailDmvCand( Int iCount, Int& iFirDispCand );
    254 #endif
    255252#endif
    256253
     
    353350  Void         setSkipFlag           ( UInt idx, Bool skip)     { m_skipFlag[idx] = skip;   }
    354351  Void         setSkipFlagSubParts   ( Bool skip, UInt absPartIdx, UInt depth );
    355 #if MTK_SINGLE_DEPTH_MODE_I0095
     352#if H_3D_SINGLE_DEPTH
    356353  Bool*        getSingleDepthFlag            ()                        { return m_singleDepthFlag;          }
    357354  Bool         getSingleDepthFlag            (UInt idx)                { return m_singleDepthFlag[idx];     }
     
    505502  Bool          getDispMvPredCan(UInt uiPartIdx, RefPicList eRefPicList, Int iRefIdx, Int* paiPdmRefIdx, TComMv* pacPdmMv, DisInfo* pDis, Int* iPdm );
    506503#endif
    507 #if MTK_SINGLE_DEPTH_MODE_I0095
     504#if H_3D_SINGLE_DEPTH
    508505   Bool          getNeighDepth (UInt uiPartIdx, UInt uiPartAddr, Pel* pNeighDepth, Int index);
    509506#endif
     
    670667  Void          getInterMergeCandidates ( UInt uiAbsPartIdx, UInt uiPUIdx, TComMvField* pcMFieldNeighbours, UChar* puhInterDirNeighbours
    671668#endif
    672 #if H_3D_VSP && !FIX_TICKET_79
    673                                             , InheritedVSPDisInfo*  inheritedVSPDisInfo
    674 #endif
    675669#if H_3D_SPIVMP
    676670                                            , TComMvField* pcMvFieldSP, UChar* puhInterDirSP
     
    680674
    681675#if H_3D_VSP
    682 #if !FIX_TICKET_76
    683   inline Void   xInheritVSPDisInfo(TComDataCU* pcCURef, UInt uiAbsPartIdx, Int iCount,  InheritedVSPDisInfo*  inheritedVSPDisInfo);
    684 #endif
    685 
    686676#if H_3D_SPIVMP
    687677  Bool*         getSPIVMPFlag        ()                        { return m_pbSPIVMPFlag;          }
     
    771761#endif
    772762
    773 #if SHARP_DMM1_I0110
     763#if H_3D_DIM
    774764  Bool         isDMM1UpscaleMode       ( UInt uiWidth ){ Bool bDMM1UpsampleModeFlag = true; UInt uiBaseWidth = 16; if( uiBaseWidth >= uiWidth ){ bDMM1UpsampleModeFlag = false; } return bDMM1UpsampleModeFlag; };
    775765  UInt         getDMM1BasePatternWidth ( UInt uiWidth ){ UInt uiBaseWidth = 16; if( uiBaseWidth >= uiWidth ){ uiBaseWidth =  uiWidth; } return uiBaseWidth; }
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComMotionInfo.h

    r1039 r1074  
    7979} IDVInfo;
    8080#endif
    81 #if H_3D_VSP && !FIX_TICKET_79
    82 typedef struct _InheritedVSPDisCand
    83 {
    84   DisInfo m_acDvInfo;
    85 } InheritedVSPDisInfo;
    86 #endif
     81
    8782// ====================================================================================================================
    8883// Class definition
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComPrediction.cpp

    r1039 r1074  
    423423
    424424  UInt dimType    = getDimType  ( uiIntraMode );
    425 #if !HS_DMM_SIGNALLING_I0120
    426   Bool dimDeltaDC = isDimDeltaDC( uiIntraMode );
    427 #endif
    428425  Bool isDmmMode  = (dimType <  DMM_NUM_TYPE);
    429426
     
    440437    case( DMM1_IDX ):
    441438      {
    442 #if SHARP_DMM1_I0110
    443439        dmmSegmentation = pcCU->isDMM1UpscaleMode((UInt)iWidth) ?
    444440            &(g_dmmWedgeLists[ g_aucConvertToBit[pcCU->getDMM1BasePatternWidth((UInt)iWidth)] ][ pcCU->getDmmWedgeTabIdx( dimType, uiAbsPartIdx ) ]) :
    445441            &(g_dmmWedgeLists[ g_aucConvertToBit[iWidth] ][ pcCU->getDmmWedgeTabIdx( dimType, uiAbsPartIdx ) ]);
    446 #else
    447         dmmSegmentation = &(g_dmmWedgeLists[ g_aucConvertToBit[iWidth] ][ pcCU->getDmmWedgeTabIdx( dimType, uiAbsPartIdx ) ]);
    448 #endif
    449442      } break;
    450443    case( DMM4_IDX ):
     
    464457    }
    465458    assert( dmmSegmentation );
    466 #if SHARP_DMM1_I0110
    467459    if( dimType == DMM1_IDX && pcCU->isDMM1UpscaleMode((UInt)iWidth) )
    468460    {
     
    475467        patternStride = dmmSegmentation->getStride ();
    476468    }
    477 #else
    478     biSegPattern  = dmmSegmentation->getPattern();
    479     patternStride = dmmSegmentation->getStride ();
    480 #endif
    481469  }
    482470#endif
     
    495483  Pel segDC1 = 0;
    496484  Pel segDC2 = 0;
    497 #if HS_DMM_SIGNALLING_I0120
    498485  if( !pcCU->getSDCFlag( uiAbsPartIdx ) )
    499 #else
    500   if( dimDeltaDC )
    501 #endif
    502486  {
    503487    Pel deltaDC1 = pcCU->getDimDeltaDC( dimType, 0, uiAbsPartIdx );
     
    568552    pcCU->getSPAbsPartIdx(uiPartAddr, iSPWidth, iSPHeight, i, iNumSPInOneLine, uiSPAddr[i]);
    569553  }
    570 #if SHARP_ARP_CHROMA_I0104
    571554  if( pcCU->getARPW( uiPartAddr ) != 0 )
    572555  {
    573556    return;
    574557  }
    575 #endif
     558
    576559  // horizontal sub-PU merge
    577560  for (Int i=0; i<iNumSP; i++)
     
    745728  Int uiMinDepth = MAX_INT;
    746729  Int uiMaxDepth = 0;
    747 #if SEC_DBBP_DMM4_THRESHOLD_I0076
     730
    748731  iSumDepth  = pDepthPels[ 0 ];
    749732  iSumDepth += pDepthPels[ uiWidth - 1 ];
     
    760743  uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) ]);
    761744  uiMaxDepth = std::max( uiMaxDepth, (Int)pDepthPels[ uiDepthStride * (uiHeight - 1) + uiWidth - 1 ]);
    762 #else
    763   for (Int y=0; y<uiHeight; y++)
    764   {
    765     for (Int x=0; x<uiWidth; x++)
    766     {
    767       Int depthPel = pDepthPels[x];
    768       iSumDepth += depthPel;
    769      
    770       if( depthPel > uiMaxDepth )
    771       {
    772         uiMaxDepth = depthPel;
    773       }
    774       if( depthPel < uiMinDepth )
    775       {
    776         uiMinDepth = depthPel;
    777       }
    778     }
    779    
    780     // next row
    781     pDepthPels += uiDepthStride;
    782   }
    783 #endif
     745
    784746 
    785747  // don't generate mask for blocks with small depth range (encoder decision)
     
    790752 
    791753  AOF(uiWidth==uiHeight);
    792 #if SEC_DBBP_DMM4_THRESHOLD_I0076
    793754  Int iMean = iSumDepth >> 2;
    794 #else
    795   Int iSizeInBits = g_aucConvertToBit[uiWidth]+2;
    796   Int iMean = iSumDepth >> iSizeInBits*2;       // iMean /= (uiWidth*uiHeight);
    797 #endif
    798755 
    799756  // start again for segmentation
     
    842799}
    843800
    844 #if SHARP_DBBP_SIMPLE_FLTER_I0109
    845801Void TComPrediction::combineSegmentsWithMask( TComYuv* pInYuv[2], TComYuv* pOutYuv, Bool* pMask, UInt uiWidth, UInt uiHeight, UInt uiPartAddr, UInt partSize )
    846 #else
    847 Void TComPrediction::combineSegmentsWithMask( TComYuv* pInYuv[2], TComYuv* pOutYuv, Bool* pMask, UInt uiWidth, UInt uiHeight, UInt uiPartAddr )
    848 #endif
    849802{
    850803  Pel*  piSrc[2]    = {pInYuv[0]->getLumaAddr(uiPartAddr), pInYuv[1]->getLumaAddr(uiPartAddr)};
     
    854807 
    855808  UInt  uiMaskStride= MAX_CU_SIZE;
    856 #if !SHARP_DBBP_SIMPLE_FLTER_I0109
    857   Pel  filSrc = 0;
    858 #endif
    859809  Pel* tmpTar = 0;
    860810  tmpTar = (Pel *)xMalloc(Pel, uiWidth*uiHeight);
     
    880830  }
    881831 
    882 #if SHARP_DBBP_SIMPLE_FLTER_I0109
    883832  if (partSize == SIZE_Nx2N)
    884833  {
     
    917866    }
    918867  }
    919 #else
    920   for (Int y=0; y<uiHeight; y++)
    921   {
    922     for (Int x=0; x<uiWidth; x++)
    923     {
    924       Bool t = (y==0)?pMaskStart[y*uiMaskStride+x]:pMaskStart[(y-1)*uiMaskStride+x];
    925       Bool l = (x==0)?pMaskStart[y*uiMaskStride+x]:pMaskStart[y*uiMaskStride+x-1];
    926       Bool b = (y==uiHeight-1)?pMaskStart[y*uiMaskStride+x]:pMaskStart[(y+1)*uiMaskStride+x];
    927       Bool r = (x==uiWidth-1)?pMaskStart[y*uiMaskStride+x]:pMaskStart[y*uiMaskStride+x+1];
    928       Bool c =pMaskStart[y*uiMaskStride+x];
    929 
    930       Pel left, right, top, bottom;
    931       left   = (x==0)          ? tmpTar[y*uiWidth+x] : tmpTar[y*uiWidth+x-1];
    932       right  = (x==uiWidth-1)  ? tmpTar[y*uiWidth+x] : tmpTar[y*uiWidth+x+1];
    933       top    = (y==0)          ? tmpTar[y*uiWidth+x] : tmpTar[(y-1)*uiWidth+x];
    934       bottom = (y==uiHeight-1) ? tmpTar[y*uiWidth+x] : tmpTar[(y+1)*uiWidth+x];
    935 
    936       if(!((l&&r&&c) || (!l&&!r&&!c)))
    937       {
    938         filSrc = Clip3( Pel( 0 ), Pel( 255 ), Pel(( left + (tmpTar[y*uiWidth+x] << 1) + right ) >> 2 ));
    939       }
    940       else
    941       {
    942         filSrc = tmpTar[y*uiWidth+x];
    943       }
    944 
    945       if(!((t&&b&&c) || (!t&&!b&&!c)))
    946       {
    947         filSrc = Clip3( Pel( 0 ), Pel( 255 ), Pel(( top + (filSrc << 1) + bottom ) >> 2 ));
    948       }
    949       piDst[x] = filSrc;
    950     }
    951     piDst     += uiDstStride;
    952   }
    953 #endif
    954868
    955869  if ( tmpTar    ) { xFree(tmpTar);             tmpTar        = NULL; }
     
    989903  }
    990904
    991 #if SHARP_DBBP_SIMPLE_FLTER_I0109
    992905  if (partSize == SIZE_Nx2N)
    993906  {
     
    1056969    }
    1057970  }
    1058 #else
    1059   for (Int y=0; y<uiHeightC; y++)
    1060   {
    1061     for (Int x=0; x<uiWidthC; x++)
    1062     {
    1063       Bool t = (y==0)?pMaskStart[y*2*uiMaskStride+x*2]:pMaskStart[(y-1)*2*uiMaskStride+x*2];
    1064       Bool l = (x==0)?pMaskStart[y*2*uiMaskStride+x*2]:pMaskStart[y*2*uiMaskStride+(x-1)*2];
    1065       Bool b = (y==uiHeightC-1)?pMaskStart[y*2*uiMaskStride+x*2]:pMaskStart[(y+1)*2*uiMaskStride+x*2];
    1066       Bool r = (x==uiWidthC-1)?pMaskStart[y*2*uiMaskStride+x*2]:pMaskStart[y*2*uiMaskStride+(x+1)*2];
    1067       Bool c =pMaskStart[y*2*uiMaskStride+x*2];
    1068 
    1069       Pel leftU, rightU, topU, bottomU;
    1070       leftU   = (x==0)           ? tmpTarU[y*uiWidthC+x] : tmpTarU[y*uiWidthC+x-1];
    1071       rightU  = (x==uiWidthC-1)  ? tmpTarU[y*uiWidthC+x] : tmpTarU[y*uiWidthC+x+1];
    1072       topU    = (y==0)           ? tmpTarU[y*uiWidthC+x] : tmpTarU[(y-1)*uiWidthC+x];
    1073       bottomU = (y==uiHeightC-1) ? tmpTarU[y*uiWidthC+x] : tmpTarU[(y+1)*uiWidthC+x];
    1074 
    1075       Pel leftV, rightV, topV, bottomV;
    1076       leftV   = (x==0)           ? tmpTarV[y*uiWidthC+x] : tmpTarV[y*uiWidthC+x-1];
    1077       rightV  = (x==uiWidthC-1)  ? tmpTarV[y*uiWidthC+x] : tmpTarV[y*uiWidthC+x+1];
    1078       topV    = (y==0)           ? tmpTarV[y*uiWidthC+x] : tmpTarV[(y-1)*uiWidthC+x];
    1079       bottomV = (y==uiHeightC-1) ? tmpTarV[y*uiWidthC+x] : tmpTarV[(y+1)*uiWidthC+x];
    1080 
    1081       if(!((l&&r&&c) || (!l&&!r&&!c)))
    1082       {
    1083         filSrcU = Clip3( Pel( 0 ), Pel( 255 ), Pel(( leftU + (tmpTarU[y*uiWidthC+x] << 1) + rightU ) >> 2 ));
    1084         filSrcV = Clip3( Pel( 0 ), Pel( 255 ), Pel(( leftV + (tmpTarV[y*uiWidthC+x] << 1) + rightV ) >> 2 ));
    1085       }
    1086       else
    1087       {
    1088         filSrcU = tmpTarU[y*uiWidthC+x];
    1089         filSrcV = tmpTarV[y*uiWidthC+x];
    1090       }
    1091 
    1092       if(!((t&&b&&c) || (!t&&!b&&!c)))
    1093       {
    1094         filSrcU = Clip3( Pel( 0 ), Pel( 255 ), Pel(( topU + (filSrcU << 1) + bottomU ) >> 2 ));
    1095         filSrcV = Clip3( Pel( 0 ), Pel( 255 ), Pel(( topV + (filSrcV << 1) + bottomV ) >> 2 ));
    1096       }
    1097 
    1098       piDstU[x] = filSrcU;
    1099       piDstV[x] = filSrcV;
    1100     }
    1101     piDstU      += uiDstStrideC;
    1102     piDstV      += uiDstStrideC;
    1103   }
    1104 #endif
     971
    1105972  if ( tmpTarU    ) { xFree(tmpTarU);             tmpTarU        = NULL; }
    1106973  if ( tmpTarV    ) { xFree(tmpTarV);             tmpTarV        = NULL; }
     
    14751342  pcCU->clipMv(cMv);
    14761343  TComPicYuv* pcPicYuvRef = pcCU->getSlice()->getRefPic( eRefPicList, iRefIdx )->getPicYuvRec();
    1477 #if QC_I0129_ARP_FIX
    14781344  xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 ), true );
    14791345  xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 ), true );
    1480 #else
    1481   xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi, true );
    1482   xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMv, iWidth, iHeight, rpcYuvPred, bi, true );
    1483 #endif
     1346
    14841347  if( dW > 0 )
    14851348  {
     
    14891352    TComMv cMVwithDisparity = cMv + cDistparity.m_acNBDV;
    14901353    pcCU->clipMv(cMVwithDisparity);
    1491 #if SHARP_ARP_CHROMA_I0104
    14921354    if (iWidth <= 8)
    14931355    {
    14941356      pYuvB0->clear(); pYuvB1->clear();
    14951357    }
    1496 #endif
    14971358
    14981359    assert ( cDistparity.bDV );
    14991360   
    1500 #if NTT_BUG_FIX_TK54
    15011361    TComMv cNBDV = cDistparity.m_acNBDV;
    15021362    pcCU->clipMv( cNBDV );
    15031363   
    15041364    pcPicYuvRef = pcPicYuvBaseCol->getPicYuvRec();
    1505 #if QC_I0129_ARP_FIX
    15061365    xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, true, true );
    1507 #if SHARP_ARP_CHROMA_I0104
    15081366    if (iWidth > 8)
    1509 #endif
    1510     xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, true, true );
    1511 #else
    1512     xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, bi, true );
    1513     xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, bi, true );
    1514 #endif
    1515 #else
    1516     pcPicYuvRef = pcPicYuvBaseCol->getPicYuvRec();
    1517     xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cDistparity.m_acNBDV, iWidth, iHeight, pYuvB0, bi, true );
    1518     xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cDistparity.m_acNBDV, iWidth, iHeight, pYuvB0, bi, true );
    1519 #endif
     1367      xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cNBDV, iWidth, iHeight, pYuvB0, true, true );
    15201368   
    15211369    pcPicYuvRef = pcPicYuvBaseRef->getPicYuvRec();
    1522 #if QC_I0129_ARP_FIX
    15231370    xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, true, true );
    1524 #if SHARP_ARP_CHROMA_I0104
     1371 
    15251372    if (iWidth > 8)
    1526 #endif
    1527     xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, true, true );
    1528 #else
    1529     xPredInterLumaBlk  ( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, bi, true );
    1530     xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, bi, true );
    1531 #endif
     1373      xPredInterChromaBlk( pcCU, pcPicYuvRef, uiPartAddr, &cMVwithDisparity, iWidth, iHeight, pYuvB1, true, true );
     1374   
    15321375    pYuvB0->subtractARP( pYuvB0 , pYuvB1 , uiPartAddr , iWidth , iHeight );
    15331376
     
    15401383}
    15411384
    1542 #if QC_I0051_ARP_SIMP
    15431385Bool TComPrediction::xCheckBiInterviewARP( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eBaseRefPicList, TComPic*& pcPicYuvCurrTRef, TComMv& cBaseTMV, Int& iCurrTRefPoc )
    15441386{
     
    15721414        Int  iCurrRefPOC = pcPicYuvBaseTRef->getPOC();
    15731415        Int  iCurrRef    = pcCU->getSlice()->getFirstTRefIdx(eRefPicListCurr);
    1574 #if MTK_I0072_IVARP_SCALING_FIX
     1416
    15751417        if( iCurrRef >= 0 && iCurrPOC != iCurrRefPOC)
    1576 #else
    1577         if( iCurrRef >= 0)
    1578 #endif
    15791418        {
    15801419          pcPicYuvCurrTRef =  pcCU->getSlice()->getRefPic(eRefPicListCurr,iCurrRef); 
     
    16081447  return false;
    16091448}
    1610 #endif
    16111449
    16121450Void TComPrediction::xPredInterUniARPviewRef( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi, TComMvField * pNewMvFiled )
     
    16431481  pcYuvBaseCol->getCUAddrAndPartIdx( irefPUX, irefPUY, uiLCUAddr, uiAbsPartAddr);
    16441482  TComDataCU *pColCU = pcPicYuvBaseCol->getCU( uiLCUAddr );
    1645 #if QC_I0051_ARP_SIMP
    16461483  if( pcCU->getSlice()->isInterB() && !pcCU->getSlice()->getIsDepth() )
    16471484  {
     
    17081545
    17091546  if( !pColCU->isIntra( uiAbsPartAddr ) && !bTMVAvai )
    1710 #else
    1711   if(!pColCU->isIntra(uiAbsPartAddr))
    1712 #endif
    17131547  {
    17141548    TComMvField puMVField;
     
    17231557        Int  iCurrRefPOC = pcPicYuvBaseTRef->getPOC();
    17241558        Int  iCurrRef    = pcCU->getSlice()->getFirstTRefIdx(eRefPicListCurr);
    1725 #if MTK_I0072_IVARP_SCALING_FIX
    17261559        if (iCurrRef >= 0 && iCurrRefPOC != iCurrPOC)
    1727 #else
    1728         if( iCurrRef >= 0)
    1729 #endif
    17301560        {
    17311561          pcPicYuvCurrTRef =  pcCU->getSlice()->getRefPic(eRefPicListCurr,iCurrRef); 
     
    17541584    pcPicYuvCurrTRef =  pcCU->getSlice()->getRefPic  (eRefPicList,  pcCU->getSlice()->getFirstTRefIdx(eRefPicList));     
    17551585  }
    1756 #if QC_I0129_ARP_FIX
     1586
    17571587  xPredInterLumaBlk  ( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 && bTMVAvai ),        bTMVAvai);
    17581588  xPredInterChromaBlk( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi || ( dW > 0 && bTMVAvai ),        bTMVAvai);
    1759 #else
    1760   xPredInterLumaBlk  ( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi,        bTMVAvai);
    1761   xPredInterChromaBlk( pcCU, pcYuvBaseCol, uiPartAddr, &cTempDMv, iWidth, iHeight, rpcYuvPred, bi,        bTMVAvai);
    1762 #endif
     1589
    17631590  if( dW > 0 && bTMVAvai )
    17641591  {
     
    17711598    pcCU->clipMv(cBaseTMV);
    17721599    pcCU->clipMv(cTempMv);
    1773 #if SHARP_ARP_CHROMA_I0104
     1600
    17741601    if (iWidth <= 8)
    17751602    {
    17761603      pYuvCurrTRef->clear(); pYuvBaseTRef->clear();
    17771604    }
    1778 #endif
    1779 #if QC_I0129_ARP_FIX
    17801605    xPredInterLumaBlk  ( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, true,   true);
    1781 #if SHARP_ARP_CHROMA_I0104
     1606
    17821607    if (iWidth > 8)
    1783 #endif
    1784     xPredInterChromaBlk( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, true,   true);
     1608      xPredInterChromaBlk( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, true,   true);
     1609
    17851610    xPredInterLumaBlk  ( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv,  iWidth, iHeight, pYuvBaseTRef, true,   true);
    1786 #if SHARP_ARP_CHROMA_I0104
     1611
    17871612    if (iWidth > 8)
    1788 #endif
    1789     xPredInterChromaBlk( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv,  iWidth, iHeight, pYuvBaseTRef, true,   true);
    1790 #else
    1791     xPredInterLumaBlk  ( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, bi,   true);
    1792     xPredInterChromaBlk( pcCU, pcYuvCurrTref, uiPartAddr, &cBaseTMV, iWidth, iHeight, pYuvCurrTRef, bi,   true);
    1793     xPredInterLumaBlk  ( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv,  iWidth, iHeight, pYuvBaseTRef, bi,   true);
    1794     xPredInterChromaBlk( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv,  iWidth, iHeight, pYuvBaseTRef, bi,   true);
    1795 
    1796 #endif
     1613      xPredInterChromaBlk( pcCU, pcYuvBaseTref, uiPartAddr, &cTempMv,  iWidth, iHeight, pYuvBaseTRef, true,   true);
     1614
    17971615    pYuvCurrTRef->subtractARP( pYuvCurrTRef , pYuvBaseTRef , uiPartAddr , iWidth , iHeight ); 
    17981616    if(dW == 2)
     
    18031621  }
    18041622}
    1805 
    18061623#endif
    18071624
     
    23282145  Int iRecStride = ( eType == TEXT_LUMA ) ? pRecPic->getStride() : pRecPic->getCStride();
    23292146  Int iRefStride = ( eType == TEXT_LUMA ) ? pRefPic->getStride() : pRefPic->getCStride();
    2330 #if SEC_IC_NEIGHBOR_CLIP_I0080
    23312147  Int iRefOffset, iHor, iVer;
    2332 #else
    2333   Int iCUPelX, iCUPelY, iRefX, iRefY, iRefOffset, iHor, iVer;
    2334 
    2335   iCUPelX = pcCU->getCUPelX() + g_auiRasterToPelX[g_auiZscanToRaster[pcCU->getZorderIdxInCU()]];
    2336   iCUPelY = pcCU->getCUPelY() + g_auiRasterToPelY[g_auiZscanToRaster[pcCU->getZorderIdxInCU()]];
    2337 #endif
    23382148  iHor = pcCU->getSlice()->getIsDepth() ? pMv->getHor() : ( ( pMv->getHor() + 2 ) >> 2 );
    23392149  iVer = pcCU->getSlice()->getIsDepth() ? pMv->getVer() : ( ( pMv->getVer() + 2 ) >> 2 );
    2340 #if !SEC_IC_NEIGHBOR_CLIP_I0080
    2341   iRefX   = iCUPelX + iHor;
    2342   iRefY   = iCUPelY + iVer;
    2343 #endif
    23442150  if( eType != TEXT_LUMA )
    23452151  {
     
    23572163  Int precShift = std::max(0, (( eType == TEXT_LUMA ) ? g_bitDepthY : g_bitDepthC) - 12);
    23582164
    2359 #if SEC_IC_NEIGHBOR_CLIP_I0080
    23602165  if( pcCU->getPUAbove( uiTmpPartIdx, pcCU->getZorderIdxInCU() ) )
    2361 #else
    2362   if( pcCU->getPUAbove( uiTmpPartIdx, pcCU->getZorderIdxInCU() ) && iCUPelY > 0 && iRefY > 0 )
    2363 #endif
    23642166  {
    23652167    iRefOffset = iHor + iVer * iRefStride - iRefStride;
     
    23912193  }
    23922194
    2393 #if SEC_IC_NEIGHBOR_CLIP_I0080
    23942195  if( pcCU->getPULeft( uiTmpPartIdx, pcCU->getZorderIdxInCU() ) )
    2395 #else
    2396   if( pcCU->getPULeft( uiTmpPartIdx, pcCU->getZorderIdxInCU() ) && iCUPelX > 0 && iRefX > 0 )
    2397 #endif
    23982196  {
    23992197    iRefOffset = iHor + iVer * iRefStride - 1;
     
    24292227  }
    24302228
    2431 #if FIX_TICKET_71
    24322229  if( iCountShift == 0 )
    24332230  {
     
    24362233    return;
    24372234  }
    2438 #endif
    24392235
    24402236  xy += xx >> IC_REG_COST_SHIFT;
     
    25532349  // find contour for texture luma block
    25542350  UInt iDC = 0;
    2555 #if SEC_DBBP_DMM4_THRESHOLD_I0076
     2351
    25562352  iDC  = piRefBlkY[ 0 ];
    25572353  iDC += piRefBlkY[ uiWidth - 1 ];
     
    25592355  iDC += piRefBlkY[ uiWidth * (uiHeight - 1) + uiWidth - 1 ];
    25602356  iDC = iDC >> 2;
    2561 #else
    2562   for( UInt k = 0; k < (uiWidth*uiHeight); k++ )
    2563   {
    2564     iDC += piRefBlkY[k];
    2565   }
    2566 
    2567   Int cuMaxLog2Size = g_aucConvertToBit[g_uiMaxCUWidth]+2;   //
    2568   iDC = iDC >> (cuMaxLog2Size - pcCU->getDepth(0))*2;        //  iDC /= (uiWidth*uiHeight);
    2569 #endif
    25702357
    25712358  piRefBlkY = cTempYuv.getLumaAddr();
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComPrediction.h

    r1039 r1074  
    9090#if H_3D_ARP
    9191  Void xPredInterUniARP         ( TComDataCU* pcCU,                          UInt uiPartAddr,               Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi=false, TComMvField * pNewMvFiled = NULL );
    92 #if QC_I0051_ARP_SIMP
    9392  Bool xCheckBiInterviewARP     ( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eBaseRefPicList, TComPic*& pcPicYuvCurrTRef, TComMv& cBaseTMV, Int& iCurrTRefPoc );
    94 #endif
    9593  Void xPredInterUniARPviewRef( TComDataCU* pcCU, UInt uiPartAddr, Int iWidth, Int iHeight, RefPicList eRefPicList, TComYuv*& rpcYuvPred, Bool bi, TComMvField * pNewMvFiled = NULL );
    9694#endif
     
    179177  PartSize      getPartitionSizeFromDepth(Pel* pDepthPels, UInt uiDepthStride, UInt uiSize);
    180178  Bool          getSegmentMaskFromDepth( Pel* pDepthPels, UInt uiDepthStride, UInt uiWidth, UInt uiHeight, Bool* pMask );
    181 #if SHARP_DBBP_SIMPLE_FLTER_I0109
    182179  Void          combineSegmentsWithMask( TComYuv* pInYuv[2], TComYuv* pOutYuv, Bool* pMask, UInt uiWidth, UInt uiHeight, UInt uiPartAddr, UInt partSize );
    183 #else
    184   Void          combineSegmentsWithMask( TComYuv* pInYuv[2], TComYuv* pOutYuv, Bool* pMask, UInt uiWidth, UInt uiHeight, UInt uiPartAddr = 0 );
    185 #endif
    186180#endif
    187181
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComRom.cpp

    r1066 r1074  
    355355  HALF_PEL,    //   8x8
    356356  FULL_PEL,    //  16x16
    357 #if SHARP_DMM1_I0110
    358357  FULL_PEL,    //  32x32
    359358  FULL_PEL,    //  64x64
    360359  FULL_PEL     // 128x128
    361 #else
    362   DOUBLE_PEL,  //  32x32
    363   DOUBLE_PEL,  //  64x64
    364   DOUBLE_PEL   // 128x128
    365 #endif
    366360};
    367361
     
    374368     0,    4,    7,    8,    8,    0 };
    375369
    376 #if SHARP_DMM1_I0110
    377370Bool g_wedgePattern[32*32];
    378 #endif
    379371
    380372extern std::vector< std::vector<TComWedgelet> >   g_dmmWedgeLists;
     
    388380
    389381Char  g_aucConvertToBit  [ MAX_CU_SIZE+1 ];
    390 #if !MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
    391 #if H_3D_IC
    392 UInt g_aICEnableCANDIDATE[10] = { 0, };
    393 UInt g_aICEnableNUM[ 10 ] = { 0, };
    394 Int g_lastlayer=0;
    395 #endif
    396 #endif
    397382#if ENC_DEC_TRACE
    398383FILE*  g_hTrace = NULL;
     
    676661  if( !g_dmmWedgeLists.empty() ) return;
    677662
    678 #if SHARP_DMM1_I0110
    679663  for( UInt ui = g_aucConvertToBit[DIM_MIN_SIZE]; ui < (g_aucConvertToBit[DIM_MAX_SIZE]); ui++ )
    680 #else
    681   for( UInt ui = g_aucConvertToBit[DIM_MIN_SIZE]; ui < (g_aucConvertToBit[DIM_MAX_SIZE]+1); ui++ )
    682 #endif
    683664  {
    684665    UInt uiWedgeBlockSize = ((UInt)DIM_MIN_SIZE)<<ui;
     
    764745  switch( eWedgeRes )
    765746  {
    766 #if !SHARP_DMM1_I0110
    767   case( DOUBLE_PEL ): { uiBlockSize = (uiWidth>>1); break; }
    768 #endif
    769747  case(   FULL_PEL ): { uiBlockSize =  uiWidth;     break; }
    770748  case(   HALF_PEL ): { uiBlockSize = (uiWidth<<1); break; }
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComRom.h

    r1066 r1074  
    166166extern const UChar                                           g_dmm3IntraTabIdxBits[6];
    167167
    168 #if SHARP_DMM1_I0110
    169168extern Bool                                                  g_wedgePattern[32*32];
    170 #endif
    171169
    172170extern       std::vector< std::vector<TComWedgelet> >        g_dmmWedgeLists;
     
    230228
    231229extern       Char   g_aucConvertToBit  [ MAX_CU_SIZE+1 ];   // from width to log2(width)-2
    232 #if !MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
    233 #if H_3D_IC
    234 extern UInt g_aICEnableCANDIDATE[10];
    235 extern UInt g_aICEnableNUM[ 10 ]; //10 layers
    236 extern Int  g_lastlayer;
    237 #endif
    238 #endif
    239230
    240231#ifndef ENC_DEC_TRACE
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComSlice.cpp

    r1066 r1074  
    142142, m_depthToDisparityF             ( NULL )
    143143#endif
    144 #if MTK_SINGLE_DEPTH_MODE_I0095
     144#if H_3D_SINGLE_DEPTH
    145145, m_bApplySingleDepthMode         (false)
    146146#endif
     
    650650 
    651651  TComPic**             refPicSetStCurr    [2] = { RefPicSetStCurr0, RefPicSetStCurr1 };
    652 #if FIX_WARNING
    653652  Int numPocStCurr[2] = { (Int)NumPocStCurr0, (Int)NumPocStCurr1 };
    654 #else
    655   Int numPocStCurr[2] = { NumPocStCurr0, NumPocStCurr1 };
    656 #endif
    657653
    658654  for (Int li = 0; li < ((m_eSliceType==B_SLICE) ? 2 : 1); li++)
     
    11051101  }
    11061102#endif
    1107 #if MTK_SINGLE_DEPTH_MODE_I0095
     1103#if H_3D_SINGLE_DEPTH
    11081104  m_bApplySingleDepthMode = pSrc->m_bApplySingleDepthMode;
    11091105#endif
     
    19701966    m_viewIndex         [i] = -1;
    19711967    m_vpsDepthModesFlag [i] = false;
    1972 #if SEC_HLS_CLEANUP_I0100
    19731968    m_ivMvScalingFlag[i] = true;
    1974 #else
    1975     m_ivMvScalingFlag = true;
    1976 #endif
    1977 #if SEPARATE_FLAG_I0085
    19781969    m_bIVPFlag [i]      = false;
    1979 #endif
    19801970#endif
    19811971
     
    20162006#endif
    20172007#endif
    2018 #if MTK_I0099_VPS_EX2
     2008#if H_3D_QTLPC
    20192009    m_bLimQtPredFlag       [ i ] = false;
    20202010#endif
     
    20282018    m_bInterSDCFlag        [ i ] = false;
    20292019#endif
    2030 #if SEPARATE_FLAG_I0085
     2020#if H_3D
    20312021    m_bIVPFlag             [ i ] = false;
    20322022#endif
     
    23092299  for ( i = 0; i < iNumViews ; i++ )
    23102300  {
    2311 #if H_3D_FIX_UNINIT
    23122301    m_bCamParPresent[i] = false;
    2313 #endif
    23142302    m_bCamParInSliceHeader[i] = false;
    23152303    m_aaaiCodedScale[i] = new Int*[ 2 ];
     
    29102898, m_pcmLog2MaxSize            (  5)
    29112899, m_uiPCMLog2MinSize          (  7)
    2912 #if !MTK_I0099_VPS_EX2
    2913 #if H_3D_QTLPC
    2914 , m_bUseQTL                   (false)
    2915 , m_bUsePC                    (false)
    2916 #endif
    2917 #endif
    29182900, m_bitDepthY                 (  8)
    29192901, m_bitDepthC                 (  8)
     
    31863168    // allocate some memory and initialize with default mapping
    31873169    m_iNumDepthmapValues[i] = ((1 << m_uiDepthViewBitDepth)-1)+1;
    3188 #if !FIX_TICKET_77
    3189     m_iBitsPerDepthValue[i] = numBitsForValue(m_iNumDepthmapValues[i]);
    3190 #endif
    31913170    m_iDepthValue2Idx[i]    = (Int*) xMalloc(Int, m_iNumDepthmapValues[i]);
    31923171    m_iIdx2DepthValue[i]    = (Int*) xMalloc(Int, m_iNumDepthmapValues[i]);
     
    32773256  // update DLT variables
    32783257  m_iNumDepthmapValues[layerIdInVps] = iNumDepthValues;
    3279 #if !FIX_TICKET_77
    3280   m_iBitsPerDepthValue[layerIdInVps] = numBitsForValue(m_iNumDepthmapValues[layerIdInVps]);
    3281 #endif
    3282 }
    3283 
    3284 #if H_3D_DELTA_DLT
     3258}
     3259
    32853260Void TComDLT::getDeltaDLT( Int layerIdInVps, Int* piDLTInRef, UInt uiDLTInRefNum, Int* piDeltaDLTOut, UInt *puiDeltaDLTOutNum )
    32863261{
     
    33473322  setDepthLUTs(layerIdInVps, aiIdx2DepthValue, uiNumDepthValues);
    33483323}
    3349 #endif
    33503324
    33513325#endif
     
    40654039      m_bApplyIC = true;
    40664040      Int refLayer = curLayer-1;
    4067 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
     4041
    40684042      Int ICEnableCandidate = getICEnableCandidate(refLayer);
    40694043      Int ICEnableNum = getICEnableNum(refLayer);
     
    40834057      setICEnableCandidate(curLayer, 0);
    40844058      setICEnableNum(curLayer, 0);
    4085 #else
    4086       if( (refLayer>=0) && (g_aICEnableCANDIDATE[refLayer]>0) )
    4087       {   
    4088         Double ratio=Double(g_aICEnableNUM[refLayer])/Double(g_aICEnableCANDIDATE[refLayer]);
    4089 
    4090         if( ratio > IC_LOW_LATENCY_ENCODING_THRESHOLD)
    4091 {
    4092           m_bApplyIC=true;
    4093         }
    4094         else
    4095         {
    4096           m_bApplyIC=false;
    4097         }
    4098       }
    4099       g_aICEnableNUM[curLayer]=0;
    4100       g_aICEnableCANDIDATE[curLayer]=0;
    4101       g_lastlayer=getDepth();
    4102 #endif
    41034059    }
    41044060  }
     
    42104166
    42114167#if H_3D_DDD
    4212 #if LGE_FCO_I0116
     4168#if H_3D_FCO
    42134169  if( getIsDepth() && getViewIndex() > 0 && getVPS()->getMPIFlag(layerIdInVPS))
    42144170#else
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComSlice.h

    r1066 r1074  
    10091009#if H_3D_IV_MERGE
    10101010  Bool        m_ivMvPredFlag             [ MAX_NUM_LAYERS ];
    1011 #if SEC_HLS_CLEANUP_I0100
    10121011  Bool        m_ivMvScalingFlag          [ MAX_NUM_LAYERS ];
    1013 #endif
    10141012#if H_3D_SPIVMP
    10151013  Int         m_iSubPULog2Size           [MAX_NUM_LAYERS   ];
    1016 #if MTK_I0099_VPS_EX2
    10171014  Int         m_iSubPUMPILog2Size        [MAX_NUM_LAYERS   ];
    1018 #else
    1019   Int         m_iSubPUMPILog2Size;
    1020 #endif
    1021 #endif
    1022 #endif
    1023 #if MTK_I0099_VPS_EX2
     1015#endif
     1016#endif
     1017#if H_3D_QTLPC
    10241018  Bool        m_bLimQtPredFlag           [ MAX_NUM_LAYERS ];
    10251019#endif
     
    10311025#endif
    10321026  Bool        m_vpsDepthModesFlag        [MAX_NUM_LAYERS   ];
    1033 #if SEPARATE_FLAG_I0085
     1027#if H_3D
    10341028  Bool        m_bIVPFlag                 [MAX_NUM_LAYERS   ];
    10351029#endif
    1036 
    10371030#if H_3D
    10381031  UInt        m_uiCamParPrecision;
     
    10411034  Int         ***m_aaaiCodedScale ;
    10421035  Int         ***m_aaaiCodedOffset;
    1043 
    1044 #if !SEC_HLS_CLEANUP_I0100
    1045   Bool        m_ivMvScalingFlag;
    1046 #endif
    1047 
    10481036#endif
    10491037#if H_3D_INTER_SDC
     
    14701458  Int     getSubPULog2Size(Int layerIdInVps)           { return m_iSubPULog2Size[layerIdInVps]; }
    14711459  Void    setSubPULog2Size(Int layerIdInVps, Int u)    { m_iSubPULog2Size[layerIdInVps] = u;}
    1472 #if MTK_I0099_VPS_EX2
    14731460  Int     getSubPUMPILog2Size(Int layerIdInVps)           { return m_iSubPUMPILog2Size[layerIdInVps]; }
    14741461  Void    setSubPUMPILog2Size(Int layerIdInVps, Int u)    { m_iSubPUMPILog2Size[layerIdInVps] = u;}
    1475 #else
    1476   Int     getSubPUMPILog2Size( )           { return m_iSubPUMPILog2Size; }
    1477   Void    setSubPUMPILog2Size( Int u )     { m_iSubPUMPILog2Size = u;    }
    1478 #endif
    1479 #endif
    1480 #endif
    1481 #if MTK_I0099_VPS_EX2
     1462#endif
     1463#endif
     1464#if H_3D_QTLPC
    14821465  Void    setLimQtPredFlag    ( Int layerIdInVps, Bool val )  { m_bLimQtPredFlag[ layerIdInVps ] = val; }
    14831466  Bool    getLimQtPredFlag    ( Int layerIdInVps ) { return m_bLimQtPredFlag[layerIdInVps];}
     
    14931476  Void    setVpsDepthModesFlag( Int layerIdInVps, Bool val )               { m_vpsDepthModesFlag[ layerIdInVps ] = val; }
    14941477  Bool    getVpsDepthModesFlag( Int layerIdInVps )                         { return m_vpsDepthModesFlag[ layerIdInVps ]; }
    1495 #if SEPARATE_FLAG_I0085
     1478
    14961479  Void    setIVPFlag( Int layerIdInVps, Bool val )                    { m_bIVPFlag[ layerIdInVps ] = val; }
    14971480  Bool    getIVPFlag( Int layerIdInVps )                              { return m_bIVPFlag[ layerIdInVps ]; }
    1498 #endif
    1499 
    1500 #if SEC_HLS_CLEANUP_I0100
     1481
    15011482  Bool    getIvMvScalingFlag   ( Int layerIdInVps )                        { return m_ivMvScalingFlag[ layerIdInVps ]; }
    15021483  Void    setIvMvScalingFlag   (Int layerIdInVps, Bool b )                 { m_ivMvScalingFlag[ layerIdInVps ] = b;    } 
    1503 #else
    1504   Bool    getIvMvScalingFlag   (  )                       { return m_ivMvScalingFlag; }
    1505   Void    setIvMvScalingFlag   ( Bool b )                 { m_ivMvScalingFlag = b;    } 
    1506 #endif
    15071484
    15081485#if H_3D_INTER_SDC
     
    15301507  Bool        m_bInterViewDltPredEnableFlag[ MAX_NUM_LAYERS ];
    15311508
    1532 #if !FIX_TICKET_77
    1533   Int         m_iBitsPerDepthValue       [ MAX_NUM_LAYERS ];
    1534 #endif
    15351509  Int         m_iNumDepthmapValues       [ MAX_NUM_LAYERS ];
    15361510  Int*        m_iDepthValue2Idx          [ MAX_NUM_LAYERS ];
     
    15591533  UInt    getDepthViewBitDepth()                          { return m_uiDepthViewBitDepth; }
    15601534
    1561 #if !FIX_TICKET_77
    1562   Int     getBitsPerDepthValue( Int layerIdInVps )        { return getUseDLTFlag(layerIdInVps)?m_iBitsPerDepthValue[layerIdInVps]:g_bitDepthY; }
    1563 #endif
    15641535  Int     getNumDepthValues( Int layerIdInVps )           { return getUseDLTFlag(layerIdInVps)?m_iNumDepthmapValues[layerIdInVps]:((1 << g_bitDepthY)-1); }
    15651536  Int     depthValue2idx( Int layerIdInVps, Pel value )   { return getUseDLTFlag(layerIdInVps)?m_iDepthValue2Idx[layerIdInVps][value]:value; }
    1566 #if RWTH_DLT_CLIP_I0057
    15671537  Pel     idx2DepthValue( Int layerIdInVps, UInt uiIdx )  { return getUseDLTFlag(layerIdInVps)?m_iIdx2DepthValue[layerIdInVps][ClipY(uiIdx)]:uiIdx; }
    1568 #else
    1569   Pel     idx2DepthValue( Int layerIdInVps, UInt uiIdx )  { return getUseDLTFlag(layerIdInVps)?m_iIdx2DepthValue[layerIdInVps][uiIdx]:uiIdx; }
    1570 #endif
    15711538  Void    setDepthLUTs( Int layerIdInVps, Int* idx2DepthValue = NULL, Int iNumDepthValues = 0 );
    1572 #if H_3D_DELTA_DLT
    15731539  Int*    idx2DepthValue( Int layerIdInVps )  { return m_iIdx2DepthValue[layerIdInVps]; }
    15741540  Void    getDeltaDLT( Int layerIdInVps, Int* piDLTInRef, UInt uiDLTInRefNum, Int* piDeltaDLTOut, UInt *puiDeltaDLTOutNum );
    15751541  Void    setDeltaDLT( Int layerIdInVps, Int* piDLTInRef, UInt uiDLTInRefNum, Int* piDeltaDLTIn, UInt uiDeltaDLTInNum );
    1576 #endif
    15771542};
    15781543#endif
     
    18331798  Bool        m_useAMP;
    18341799
    1835 #if !MTK_I0099_VPS_EX2
    1836 #if H_3D_QTLPC
    1837   Bool        m_bUseQTL;
    1838   Bool        m_bUsePC;
    1839 #endif
    1840 #endif
    18411800  // Parameter
    18421801  Int         m_bitDepthY;
     
    21202079
    21212080#endif
    2122 #if !MTK_I0099_VPS_EX2
    2123 #if H_3D_QTLPC
    2124   Void setUseQTL( Bool b ) { m_bUseQTL = b;    }
    2125   Bool getUseQTL()         { return m_bUseQTL; }
    2126   Void setUsePC ( Bool b ) { m_bUsePC  = b;    }
    2127   Bool getUsePC ()         { return m_bUsePC;  }
    2128 #endif
    2129 #endif
    21302081#if H_MV
    21312082  Int  getLayerId            ()           { return m_layerId; }
     
    25992550  UInt         m_aiDDDShift    [MAX_NUM_LAYERS];
    26002551#endif
    2601 #if MTK_SINGLE_DEPTH_MODE_I0095
     2552#if H_3D_SINGLE_DEPTH
    26022553  Bool      m_bApplySingleDepthMode;
    26032554#endif
    2604 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
     2555#if H_3D_IC
    26052556  Int *m_aICEnableCandidate;
    26062557  Int *m_aICEnableNum;
     
    26762627  TComPic*  getTexturePic       ()                              { return  m_ivPicsCurrPoc[0][ m_viewIndex ]; }
    26772628#endif
    2678 #if MTK_SINGLE_DEPTH_MODE_I0095
     2629#if H_3D_SINGLE_DEPTH
    26792630  Void      setApplySingleDepthMode( Bool b )                                { m_bApplySingleDepthMode = b; }
    26802631  Bool      getApplySingleDepthMode()                                        { return m_bApplySingleDepthMode; }
     
    29172868  Int* getDepthToDisparityF( Int refViewIdx ) { return m_depthToDisparityF[ refViewIdx ]; };
    29182869  Bool getVpsDepthModesFlag  ()  { return getVPS()->getVpsDepthModesFlag( getVPS()->getLayerIdInVps( m_layerId ) ); }
    2919 #if SEPARATE_FLAG_I0085
    29202870  Bool getIVPFlag       ()  { return getVPS()->getIVPFlag( getVPS()->getLayerIdInVps( m_layerId ) ); }
    29212871#endif
    2922 #endif
    2923 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
     2872#if H_3D_IC
    29242873  Void    setICEnableCandidate( Int* ICEnableCandidate)   { m_aICEnableCandidate = ICEnableCandidate; };
    29252874  Void    setICEnableNum( Int* ICEnableNum)   { m_aICEnableNum = ICEnableNum; };
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComWedgelet.cpp

    r1039 r1074  
    6868                                                            m_uiHeight ( rcWedge.m_uiHeight  ),
    6969                                                            m_pbPattern( (Bool*)xMalloc( Bool, (m_uiWidth * m_uiHeight) ) )
    70 #if SHARP_DMM1_I0110
    7170                                                            ,m_pbScaledPattern( g_wedgePattern )
    72 #endif
    7371{
    7472  ::memcpy( m_pbPattern, rcWedge.m_pbPattern, sizeof(Bool) * (m_uiWidth * m_uiHeight));
     
    8886
    8987  m_pbPattern = (Bool*)xMalloc( Bool, (m_uiWidth * m_uiHeight) );
    90 #if SHARP_DMM1_I0110
    9188  m_pbScaledPattern = g_wedgePattern;
    92 #endif
    9389}
    9490
     
    187183  switch( m_eWedgeRes )
    188184  {
    189 #if !SHARP_DMM1_I0110
    190   case( DOUBLE_PEL ): { uiTempBlockSize =  m_uiWidth;     uhXs = (m_uhXs<<1); uhYs = (m_uhYs<<1); uhXe = (m_uhXe<<1); uhYe = (m_uhYe<<1); } break;
    191 #endif
    192185  case(   FULL_PEL ): { uiTempBlockSize =  m_uiWidth;     uhXs =  m_uhXs;     uhYs =  m_uhYs;     uhXe =  m_uhXe;     uhYe =  m_uhYe;     } break;
    193186  case(   HALF_PEL ): { uiTempBlockSize = (m_uiWidth<<1); uhXs =  m_uhXs;     uhYs =  m_uhYs;     uhXe =  m_uhXe;     uhYe =  m_uhYe;     } break;
    194187  }
    195 
    196 #if !SHARP_DMM1_I0110
    197   if( m_eWedgeRes == DOUBLE_PEL) // adjust line-end for DOUBLE_PEL resolution
    198   {
    199     if( m_uhOri == 1 ) { uhXs = uiTempBlockSize-1; }
    200     if( m_uhOri == 2 ) { uhXe = uiTempBlockSize-1; uhYs = uiTempBlockSize-1; }
    201     if( m_uhOri == 3 ) { uhYe = uiTempBlockSize-1; }
    202     if( m_uhOri == 4 ) { uhYe = uiTempBlockSize-1; }
    203     if( m_uhOri == 5 ) { uhXs = uiTempBlockSize-1; }
    204   }
    205 #endif
    206188
    207189  Bool* pbTempPattern = new Bool[ (uiTempBlockSize * uiTempBlockSize) ];
     
    233215  switch( m_eWedgeRes )
    234216  {
    235 #if !SHARP_DMM1_I0110
    236   case( DOUBLE_PEL ): { for( UInt k = 0; k < (m_uiWidth * m_uiHeight); k++ ) { m_pbPattern[k] = pbTempPattern[k]; }; } break;
    237 #endif
    238217  case(   FULL_PEL ): { for( UInt k = 0; k < (m_uiWidth * m_uiHeight); k++ ) { m_pbPattern[k] = pbTempPattern[k]; }; } break;
    239218  case(   HALF_PEL ): // sub-sampling by factor 2
     
    327306}
    328307
    329 #if SHARP_DMM1_I0110
    330308Bool* TComWedgelet::getScaledPattern(UInt uiDstSize)
    331309{
    332     Bool *pbSrcPat = this->getPattern();
    333     UInt uiSrcSize = this->getStride();
    334 
    335     Int scale = (g_aucConvertToBit[uiDstSize] - g_aucConvertToBit[uiSrcSize]);
    336     assert(scale>=0);
    337     for (Int y=0; y<uiDstSize; y++)
    338     {
    339        for (Int x=0; x<uiDstSize; x++)
    340        {
    341            Int srcX = x>>scale;
    342            Int srcY = y>>scale;
    343            m_pbScaledPattern[y*uiDstSize + x] = pbSrcPat[ srcY*uiSrcSize + srcX ];
    344        }
    345    }
    346    return m_pbScaledPattern;
    347 }
    348 #endif
     310  Bool *pbSrcPat = this->getPattern();
     311  UInt uiSrcSize = this->getStride();
     312
     313  Int scale = (g_aucConvertToBit[uiDstSize] - g_aucConvertToBit[uiSrcSize]);
     314  assert(scale>=0);
     315  for (Int y=0; y<uiDstSize; y++)
     316  {
     317    for (Int x=0; x<uiDstSize; x++)
     318    {
     319      Int srcX = x>>scale;
     320      Int srcY = y>>scale;
     321      m_pbScaledPattern[y*uiDstSize + x] = pbSrcPat[ srcY*uiSrcSize + srcX ];
     322    }
     323  }
     324  return m_pbScaledPattern;
     325}
    349326
    350327TComWedgeNode::TComWedgeNode()
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComWedgelet.h

    r1039 r1074  
    5858#define DIM_NO_IDX     MAX_UINT
    5959
    60 #if HS_DMM_SIGNALLING_I0120
    6160__inline UInt getDimType  ( Int intraMode )
    6261{
     
    6463    return (dimType >= 0 && dimType < DIM_NUM_TYPE) ? (UInt)dimType : DIM_NO_IDX;
    6564}
    66 #else
    67 __inline UInt getDimType  ( Int intraMode ) { Int dimType = (intraMode-DIM_OFFSET)/2; return (dimType >= 0 && dimType < DIM_NUM_TYPE) ? (UInt)dimType : DIM_NO_IDX; }
    68 #endif
    6965__inline Bool isDimMode   ( Int intraMode ) { return (getDimType( intraMode ) < DIM_NUM_TYPE); }
    70 #if !HS_DMM_SIGNALLING_I0120
    71 __inline Bool isDimDeltaDC( Int intraMode ) { return (isDimMode( intraMode ) && ((intraMode-DIM_OFFSET)%2) == 1); }
    72 #endif
    7366#endif
    7467
     
    7972enum WedgeResolution
    8073{
    81 #if !SHARP_DMM1_I0110
    82   DOUBLE_PEL,
    83 #endif
    8474  FULL_PEL,
    8575  HALF_PEL
     
    10696
    10797  Bool* m_pbPattern;
    108 #if SHARP_DMM1_I0110
    10998  Bool* m_pbScaledPattern;
    110 #endif
    11199
    112100  Void  xGenerateWedgePattern();
     
    134122  Bool            getIsCoarse() { return m_bIsCoarse; }
    135123  UInt            getAng     () { return m_uiAng; }
    136 #if SHARP_DMM1_I0110
    137124  Bool*           getScaledPattern(UInt uiWidth);
    138 #endif
    139125
    140126  Void  setWedgelet( UChar uhXs, UChar uhYs, UChar uhXe, UChar uhYe, UChar uhOri, WedgeResolution eWedgeRes, Bool bIsCoarse = false );
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TComYuv.cpp

    r1039 r1074  
    689689  UInt iSrc1Stride = pcYuvSrc1->getStride();
    690690  UInt iDstStride  = getStride();
    691 #if QC_I0129_ARP_FIX
    692691  Int iIFshift = IF_INTERNAL_PREC - g_bitDepthY;
    693692  Int iOffSet  = ( 1 << ( iIFshift - 1 ) ) + IF_INTERNAL_OFFS;
    694 #endif
    695693  for ( y = uiHeight-1; y >= 0; y-- )
    696694  {
     
    700698      if( bClip )
    701699      {
    702 #if QC_I0129_ARP_FIX
    703700        pDst[x] = ClipY( ( pDst[x] + iOffSet ) >> iIFshift );
    704 #else
    705         pDst[x] = ClipY( pDst[x] );
    706 #endif
    707701      }
    708702    }
     
    727721  UInt  iSrc1Stride = pcYuvSrc1->getCStride();
    728722  UInt  iDstStride  = getCStride();
    729 #if QC_I0129_ARP_FIX
     723
    730724  Int iIFshift = IF_INTERNAL_PREC - g_bitDepthC;
    731725  Int iOffSet  = ( 1 << ( iIFshift - 1 ) ) + IF_INTERNAL_OFFS;
    732 #endif
     726
    733727  for ( y = uiHeight-1; y >= 0; y-- )
    734728  {
     
    739733      if( bClip )
    740734      {
    741 #if QC_I0129_ARP_FIX
    742735        pDstU[x] = ClipC( ( pDstU[x] + iOffSet ) >> iIFshift );
    743736        pDstV[x] = ClipC( ( pDstV[x] + iOffSet ) >> iIFshift );
    744 #else
    745         pDstU[x] = ClipC( pDstU[x] );
    746         pDstV[x] = ClipC( pDstV[x] );
    747 #endif
    748737      }
    749738    }
     
    761750{
    762751  subtractARPLuma  ( pcYuvSrc0, pcYuvSrc1,  uiAbsPartIdx, uiWidth    , uiHeight    );
    763 #if SHARP_ARP_CHROMA_I0104
     752
    764753  if (uiWidth > 8)
    765 #endif
    766   subtractARPChroma( pcYuvSrc0, pcYuvSrc1,  uiAbsPartIdx, uiWidth>>1 , uiHeight>>1 );
     754    subtractARPChroma( pcYuvSrc0, pcYuvSrc1,  uiAbsPartIdx, uiWidth>>1 , uiHeight>>1 );
    767755}
    768756
     
    823811{
    824812  multiplyARPLuma( uiAbsPartIdx , uiWidth , uiHeight , dW );
    825 #if SHARP_ARP_CHROMA_I0104
     813
    826814  if (uiWidth > 8)
    827 #endif
    828   multiplyARPChroma( uiAbsPartIdx , uiWidth >> 1 , uiHeight >> 1 , dW );
     815    multiplyARPChroma( uiAbsPartIdx , uiWidth >> 1 , uiHeight >> 1 , dW );
    829816}
    830817
  • branches/HTM-12.1-dev0/source/Lib/TLibCommon/TypeDef.h

    r1066 r1074  
    111111                                              // MTK_ARP_REF_SELECTION_G0053 ARP Reference picture selection in JCT3V-G0053
    112112                                              // MTK_ALIGN_SW_WD_BI_PRED_ARP_H0085  Align the SW and WD for the bi-prediction ARP PUs by disallowing non-normative fast bi-prediction for ARP PUs, JCT3V-H0085
    113 
     113                                              // QC_I0051_ARP_SIMP         
     114                                              // SHARP_ARP_CHROMA_I0104     
     115                                              // MTK_I0072_IVARP_SCALING_FIX
    114116
    115117#define H_3D_IC                           1   // Illumination Compensation, JCT3V-B0045, JCT3V-C0046, JCT3V-D0060
     
    123125                                              // SEC_IC_ARP_SIG_G0072, Disabling IC when ARP is enabled, option 1 in JCT3V-G0072, part 2 in JCT3V-G0121
    124126                                              // MTK_LOW_LATENCY_IC_ENCODING_H0086  Low-latency IC encoding in JCT3V-H0086
    125 
    126 #define MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX  1  // Remove the global variables used in JCT3V-H0086
    127 
    128 
    129 #define SEC_IC_NEIGHBOR_CLIP_I0080        1   // Clipping of neighboring sample position, JCT3V-I0080
    130 
     127                                              // MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX  1  // Remove the global variables used in JCT3V-H0086
     128                                              // SEC_IC_NEIGHBOR_CLIP_I0080    // Clipping of neighboring sample position, JCT3V-I0080
    131129
    132130#if H_3D_NBDV
     
    177175                                              // SHARP_SIMPLE_MERGE_H0062      Restrict 3D-HEVC merge cand in small PUs
    178176                                              // MTK_DIS_SPBIP8X4_H0205        Disable bi-prediction for 8x4 and 4x8 sub PU and remove the SPIVMP 2Nx2N restriction
    179                                               // SEC_ADAPT_DISABLE_IVMP        Disalbing IVMP merge candidates when IC is enabled, JCT3V-H0070
    180 
    181 #define SEC_SIMP_SHIFTED_DV_I0086         1   // Simplification of Shifted DV candidate, JCT3V-I0086
     177                                              // SEC_ADAPT_DISABLE_IVMP        Disabling IVMP merge candidates when IC is enabled, JCT3V-H0070
     178                                              // SEC_SIMP_SHIFTED_DV_I0086     Simplification of Shifted DV candidate, JCT3V-I0086
     179
     180
    182181
    183182#define H_3D_TMVP                         1   // QC_TMVP_C0047
     
    222221                                              // SEC_NO_RESI_DLT_H0105   
    223222                                              // MTK_DLT_CODING_FIX_H0091
    224 
    225 #define MTK_SINGLE_DEPTH_MODE_I0095       1   // Single depth mode proposed in JCT3V-I0095
    226 #if MTK_SINGLE_DEPTH_MODE_I0095
    227 #define MTK_SINGLE_DEPTH_MODE_CANDIDATE_LIST_SIZE            2 // size of the sample candidate list
    228 #endif
    229 
    230 #define H_3D_FIX_UNINIT                   1   // Fix uninitialized flag
     223                                              // HS_DMM_SIGNALLING_I0120
     224                                              // SHARP_DMM1_I0110 // LUT size reduction for DMM1 proposed in JCT3V-I0110
     225                                              // FAST_SDC_OFFSET_DECISION_I0084
     226                                              // SEPARATE_FLAG_I0085
     227                                              // H_3D_DELTA_DLT
     228                                              // RWTH_DLT_CLIP_I0057               1
     229
     230
     231
     232#define H_3D_SINGLE_DEPTH                 1   // Single depth mode proposed in JCT3V-I0095
     233
     234
    231235#define H_3D_INTER_SDC                    1   // INTER SDC, Inter simplified depth coding
    232236                                              // LGE_INTER_SDC_E0156 Enable inter SDC for depth coding
     
    245249                                              // MTK_DBBP_SIGNALING_H0094   
    246250                                              // H_3D_FIX_DBBP_IVMP        Fix . Enable IVMP is always disabled, when DBBP is enabled. The original intention is to disable Sub-PU IVMP when DBBP is enabled, not to disable IVMP itself.
    247 
    248 #define SEC_DBBP_EXPLICIT_SIG_I0077       1   // Remove the partition derivation and signal dbbp_flag only when the partion mode is 2NxN/Nx2N, JCT3V-I0077
    249 #define SEC_DBBP_DISALLOW_8x8_I0078       1   // Disallow DBBP in 8x8 CU, JCT3V-I0078
    250 #define SHARP_DBBP_SIMPLE_FLTER_I0109     1   // Simple condition and one dimensional dilter for DBBP
    251 #define SEC_DBBP_DMM4_THRESHOLD_I0076     1   // Simplification of threshold derivation for DBBP and DMM4, JCT3V-I0076
     251                                              // SEC_DBBP_EXPLICIT_SIG_I0077       1   // Remove the partition derivation and signal dbbp_flag only when the partition mode is 2NxN/Nx2N, JCT3V-I0077
     252                                              // Disallow DBBP in 8x8 CU, JCT3V-I0078
     253                                              // SHARP_DBBP_SIMPLE_FLTER_I0109     1   // Simple condition and one dimensional filter for DBBP
     254                                              // SEC_DBBP_DMM4_THRESHOLD_I0076     Simplification of threshold derivation for DBBP and DMM4, JCT3V-I0076
    252255
    253256
     
    256259#define H_3D_FCO                          0   // Flexible coding order for 3D
    257260#if H_3D_FCO
    258 #define LGE_FCO_I0116                     1
    259 #endif
    260 
    261 #define SCU_HS_FAST_INTRA_SDC_I0123       1
     261#define H_3D_FCO                     1
     262#endif
     263
     264#define H_3D_FAST_INTRA_SDC               1   // I0123
    262265
    263266// OTHERS
     
    271274#endif
    272275
    273 #define MTK_I0099_VPS_EX2                 1  ///< JCT3V-I0099, sub-PU size signaling and lim_qt_pred_flag in VPS extension 2
    274 #define MTK_I0099_FIX                     1  ///< Fix the problem of removing encoder only QTL
    275 
    276276// Rate Control
    277277#define KWU_FIX_URQ                       1
    278278#define KWU_RC_VIEWRC_E0227               0  ///< JCT3V-E0227, view-wise target bitrate allocation
    279279#define KWU_RC_MADPRED_E0227              0  ///< JCT3V-E0227, inter-view MAD prediction
    280 
    281 #define SEC_VPS_CLEANUP_I0090             1
    282 #define SEC_HLS_CLEANUP_I0100             1
    283 
    284 #define H_3D_FIX_64BIT_SHIFT              1
    285280#endif // H_3D
    286281
     
    292287
    293288// Fixes
    294 #define FIX_TICKET_79                     1    // Unused VSP code
    295 #define FIX_TICKET_75                     1    // Bi-pred restriction bug in VSP
    296 #define FIX_TICKET_68                     1    // MV clipping bug in the sub-PU MPI default MV generation
    297 #define FIX_TICKET_71                     1    // IC parameters is meaningless in HTM when no training samples are available
    298 #define FIX_TICKET_77                     1    // Unused variable m_iBitsPerDepthValue
    299 #define FIX_TICKET_76                     1    // unused functions
    300 #define FIX_TICKET_62                     1    // buffer overflow for print
    301 #define FIX_TICKET_61                     1    // layerIdsInSets size check
     289
     290///// ***** SINGLE DEPTH MODE *********
     291#if H_3D_SINGLE_DEPTH
     292#define SINGLE_DEPTH_MODE_CAND_LIST_SIZE            2 // size of the sample candidate list
     293#endif
    302294
    303295///// ***** VIEW SYNTHESIS OPTIMIZAION *********
     
    308300#define H_3D_VSO_RM_ASSERTIONS            0   // Output VSO assertions
    309301#define H_3D_VSO_SYNTH_DIST_OUT           0   // Output of synthesized view distortion instead of depth distortion in encoder output
    310 #define H_3D_VSO_FIX                      1   // This fix should be enabled after verification
    311302#endif
    312303
     
    321312#if H_3D_ARP
    322313#define H_3D_ARP_WFNR                     3
    323 #define QC_I0129_ARP_FIX                  1
    324 #define QC_I0051_ARP_SIMP                 1
    325 #define SHARP_ARP_CHROMA_I0104            1
    326 #define MTK_I0072_IVARP_SCALING_FIX       1
    327314#endif
    328315
    329316///// ***** DEPTH INTRA MODES *********
    330317#if H_3D_DIM
     318                                              // HHI_DMM4_ENC_I0066
    331319#define H_3D_DIM_DMM                      1   // Depth Modeling Modes
    332320#define H_3D_DIM_SDC                      1   // Simplified Depth Coding method
    333321#define H_3D_DIM_DLT                      1   // Depth Lookup Table
    334 #define HS_DMM_SIGNALLING_I0120  1   
    335 #define SHARP_DMM1_I0110                  1   // LUT size reduction for DMM1 proposed in JCT3V-I0110
    336 #define FIX_WARNING                       1   // fix narrowing conversion of NumPocStCurr0,NumPocStCurr1 at TComSlice.cpp
    337 #define FAST_SDC_OFFSET_DECISION_I0084    1
    338 #define SEPARATE_FLAG_I0085               1
    339 
    340 #if H_3D_DIM_DLT
    341 #define H_3D_DELTA_DLT                    1
    342 #define RWTH_DLT_CLIP_I0057               1
    343 #endif
     322
    344323#define H_3D_DIM_ENC                      1   // Depth Intra encoder optimizations, includes:
    345324                                              // HHI_DEPTH_INTRA_SEARCH_RAU_C0160
    346325                                              // LG_ZEROINTRADEPTHRESI_A0087
    347 #define HHI_DMM4_ENC_I0066                1
    348326#endif
    349327///// ***** VIEW SYNTHESIS PREDICTION *********
     
    370348#if H_3D_DBBP
    371349#define DBBP_INVALID_SHORT                (-4)
    372 #define RWTH_DBBP_PACK_MODE               SIZE_2NxN
     350#define DBBP_PACK_MODE               SIZE_2NxN
    373351#endif
    374352
  • branches/HTM-12.1-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r1066 r1074  
    505505              READ_CODE(8, uiNumDepthValues, "num_depth_values_in_dlt[i]");   // num_entry
    506506
    507 #if !H_3D_DELTA_DLT
    508               if ( pcDLT->getInterViewDltPredEnableFlag( i ) == false )       // Single-view DLT Diff Coding
    509 #endif
    510507              {
    511508                // The condition if( pcVPS->getNumDepthValues(i) > 0 ) is always true since for Single-view Diff Coding, there is at least one depth value in depth component.
     
    555552            }
    556553           
    557 #if H_3D_DELTA_DLT
    558554            if( pcDLT->getInterViewDltPredEnableFlag( i ) )
    559555            {
     
    571567              pcDLT->setDepthLUTs(i, aiIdx2DepthValue, uiNumDepthValues);
    572568            }
    573 #else
    574             // store final DLT
    575             pcDLT->setDepthLUTs(i, aiIdx2DepthValue, uiNumDepthValues);
    576 #endif
     569
    577570          }
    578571        }
     
    11071100Void TDecCavlc::parseSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    11081101{
    1109 #if !MTK_I0099_VPS_EX2
    1110   UInt uiCode;
    1111 #if H_3D_QTLPC
    1112   //GT: This has to go to VPS
    1113   if( depthFlag )
    1114   {
    1115     READ_FLAG( uiCode, "use_qtl_flag" );
    1116     pcSPS->setUseQTL( uiCode );
    1117     READ_FLAG( uiCode, "use_pc_flag" );
    1118     pcSPS->setUsePC( uiCode );
    1119   }
    1120 #endif
    1121 #endif
     1102
    11221103}
    11231104#endif
     
    21062087{
    21072088  UInt uiCode;
    2108 #if SEC_VPS_CLEANUP_I0090
    21092089  for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )
    2110 #else
    2111   for( Int i = 0; i <= pcVPS->getMaxLayersMinus1(); i++ )
    2112 #endif
    21132090  {
    21142091#if H_3D_ARP
     
    21192096    pcVPS->setSubPULog2Size(i, 0);
    21202097#endif
    2121 #if !SEC_VPS_CLEANUP_I0090
    2122     if ( i != 0 )
    2123 #endif
    2124     {
    2125 #if MTK_I0099_VPS_EX2
     2098    {
     2099#if H_3D_IV_MERGE
    21262100      READ_FLAG( uiCode, "iv_mv_pred_flag[i]");          pcVPS->setIvMvPredFlag         ( i, uiCode == 1 ? true : false );
    2127 #if SEC_HLS_CLEANUP_I0100
    21282101      READ_FLAG( uiCode, "iv_mv_scaling_flag[i]");       pcVPS->setIvMvScalingFlag         ( i, uiCode == 1 ? true : false );
    21292102#endif
    2130 #endif
    21312103      if( !( pcVPS->getDepthId( i ) == 1 ) )
    21322104      {
    21332105#if H_3D_IV_MERGE
    2134 #if !MTK_I0099_VPS_EX2
    2135         READ_FLAG( uiCode, "iv_mv_pred_flag[i]");          pcVPS->setIvMvPredFlag         ( i, uiCode == 1 ? true : false );
    2136 #endif
    21372106        if( !pcVPS->getNumDirectRefLayers(i) )
    21382107        {
     
    21662135      else
    21672136      {
    2168 #if !MTK_I0099_VPS_EX2
    2169 #if H_3D_IV_MERGE
    2170         if(i!=1)
    2171         {
    2172           READ_FLAG( uiCode, "iv_mv_pred_flag[i]");          pcVPS->setIvMvPredFlag         ( i, uiCode == 1 ? true : false );
    2173           if( !pcVPS->getNumDirectRefLayers(i) )
    2174           {
    2175             assert( !uiCode );         
    2176           }
    2177         }
    2178 #endif
    2179 #if H_3D_SPIVMP
    2180         if (i!=1)
    2181         {
    2182           READ_UVLC (uiCode, "log2_sub_PU_size_minus3[i]");     pcVPS->setSubPULog2Size(i, uiCode+3);
    2183         }
    2184 #endif
    2185 #endif
    21862137#if H_3D_IV_MERGE
    21872138        READ_FLAG( uiCode, "mpi_flag[i]" );             pcVPS->setMPIFlag( i, uiCode == 1 ? true : false );
    2188 #endif
    2189 #if MTK_I0099_VPS_EX2
    21902139        READ_UVLC (uiCode, "log2_mpi_sub_PU_size_minus3[i]");     pcVPS->setSubPUMPILog2Size(i, uiCode+3);
    21912140#endif
    21922141        READ_FLAG( uiCode, "vps_depth_modes_flag[i]" );             pcVPS->setVpsDepthModesFlag( i, uiCode == 1 ? true : false );
    2193 #if SEPARATE_FLAG_I0085
     2142#if H_3D
    21942143        READ_FLAG( uiCode, "ivp_flag[i]" );                   pcVPS->setIVPFlag( i, uiCode == 1 ? true : false );
    21952144#endif
    2196 #if MTK_I0099_VPS_EX2
     2145#if H_3D_QTLPC
    21972146        READ_FLAG( uiCode, "lim_qt_pred_flag[i]");                  pcVPS->setLimQtPredFlag     ( i, uiCode == 1 ? true : false );
    21982147#endif
     
    22092158
    22102159  READ_UVLC( uiCamParPrecision, "cp_precision" );
    2211 #if SEC_VPS_CLEANUP_I0090
    22122160  for (UInt viewIndex=1; viewIndex<pcVPS->getNumViews(); viewIndex++)
    2213 #else
    2214   for (UInt viewIndex=0; viewIndex<pcVPS->getNumViews(); viewIndex++)
    2215 #endif
    22162161  {
    22172162    pcVPS->setCamParPresent         ( viewIndex, false );
     
    22352180    }
    22362181  }
    2237 #if !MTK_I0099_VPS_EX2
    2238   READ_UVLC (uiCode, "log2_sub_PU_MPI_size_minus3");              pcVPS->setSubPUMPILog2Size( uiCode + 3 );
    2239 #endif
    2240 #if !SEC_HLS_CLEANUP_I0100
    2241   READ_FLAG( uiCode, "iv_mv_scaling_flag");                       pcVPS->setIvMvScalingFlag( uiCode == 1 ? true : false );
    2242 #endif
    22432182}
    22442183#endif
     
    28652804    }
    28662805#if H_3D_IC
    2867 #if SEC_HLS_CLEANUP_I0100
    28682806    else if( rpcSlice->getViewIndex() && ( rpcSlice->getSliceType() == P_SLICE || rpcSlice->getSliceType() == B_SLICE ) && !rpcSlice->getIsDepth() && vps->getNumDirectRefLayers( layerId ) > 0 )
    2869 #else
    2870     else if( rpcSlice->getViewIndex() && ( rpcSlice->getSliceType() == P_SLICE || rpcSlice->getSliceType() == B_SLICE ) && !rpcSlice->getIsDepth())
    2871 #endif
    28722807    {
    28732808      UInt uiCodeTmp = 0;
     
    28832818    }
    28842819#endif
    2885 #if MTK_SINGLE_DEPTH_MODE_I0095
     2820#if H_3D_SINGLE_DEPTH
    28862821    if(rpcSlice->getIsDepth())
    28872822    {
     
    30092944
    30102945#if H_3D
    3011 #if LGE_FCO_I0116
     2946#if H_3D_FCO
    30122947  if( rpcSlice->getVPS()->hasCamParInSliceHeader( rpcSlice->getViewIndex() )  && rpcSlice->getIsDepth() )
    30132948#else
     
    33313266  assert(0);
    33323267}
    3333 #if MTK_SINGLE_DEPTH_MODE_I0095
     3268#if H_3D_SINGLE_DEPTH
    33343269Void TDecCavlc::parseSingleDepthMode( TComDataCU* /*pcCU*/, UInt /*uiAbsPartIdx*/, UInt /*uiDepth*/ )
    33353270{
  • branches/HTM-12.1-dev0/source/Lib/TLibDecoder/TDecCAVLC.h

    r1066 r1074  
    126126 
    127127  Void  parseSkipFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    128 #if MTK_SINGLE_DEPTH_MODE_I0095
     128#if H_3D_SINGLE_DEPTH
    129129  Void  parseSingleDepthMode        ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    130130#endif 
  • branches/HTM-12.1-dev0/source/Lib/TLibDecoder/TDecCu.cpp

    r1066 r1074  
    420420    Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    421421    memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
    422 #if !FIX_TICKET_79
    423     InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
    424 #endif
    425422#if H_3D_SPIVMP
    426423    Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM];
     
    434431    m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
    435432    m_ppcCU[uiDepth]->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours
    436 #if !FIX_TICKET_79
    437       , inheritedVSPDisInfo
    438 #endif
    439433#if H_3D_SPIVMP
    440434      , pcMvFieldSP, puhInterDirSP
     
    456450    m_ppcCU[uiDepth]->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
    457451#endif
    458 #endif
    459 #if H_3D_VSP && !FIX_TICKET_79
    460     if(vspFlag[uiMergeIndex])
    461     {
    462       pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeIndex].m_acDvInfo, uiAbsPartIdx, 0, uiDepth);
    463     }
    464452#endif
    465453    pcCU->setInterDirSubParts( uhInterDirNeighbours[uiMergeIndex], uiAbsPartIdx, 0, uiDepth );
     
    546534    return;
    547535  }
    548 #if MTK_SINGLE_DEPTH_MODE_I0095
     536#if H_3D_SINGLE_DEPTH
    549537  m_pcEntropyDecoder->decodeSingleDepthMode( pcCU, uiAbsPartIdx, uiDepth );
    550538  if(!pcCU->getSingleDepthFlag(uiAbsPartIdx))
     
    580568  m_pcEntropyDecoder->decodeCoeff( pcCU, uiAbsPartIdx, uiDepth, uiCurrWidth, uiCurrHeight, bCodeDQP );
    581569  setdQPFlag( bCodeDQP );
    582 #if MTK_SINGLE_DEPTH_MODE_I0095
     570#if H_3D_SINGLE_DEPTH
    583571  }
    584572#endif
     
    682670      break;
    683671    case MODE_INTRA:
    684 #if MTK_SINGLE_DEPTH_MODE_I0095
     672#if H_3D_SINGLE_DEPTH
    685673      if( m_ppcCU[uiDepth]->getSingleDepthFlag(0) )
    686674        xReconIntraSingleDepth( m_ppcCU[uiDepth], 0, uiDepth );
     
    730718  }
    731719}
    732 #if MTK_SINGLE_DEPTH_MODE_I0095
     720#if H_3D_SINGLE_DEPTH
    733721Void TDecCu::xReconIntraSingleDepth( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    734722{
     
    749737  Pel DepthNeighbours[5];
    750738  Int index =0;
    751   for( Int i = 0; (i < 5) && (index<MTK_SINGLE_DEPTH_MODE_CANDIDATE_LIST_SIZE) ; i++ )
     739  for( Int i = 0; (i < 5) && (index<SINGLE_DEPTH_MODE_CAND_LIST_SIZE) ; i++ )
    752740  {
    753741    if(!pcCU->getNeighDepth (0, uiAbsPartIdx, &testDepth, i))
     
    859847  // get collocated depth block
    860848  UInt uiDepthStride = 0;
    861 #if LGE_FCO_I0116
     849#if H_3D_FCO
    862850  Pel* pDepthPels = pcCU->getVirtualDepthBlock(pcCU->getZorderIdxInCU(), pcCU->getWidth(0), pcCU->getHeight(0), uiDepthStride);
    863851#else
     
    932920 
    933921  // reconstruct final prediction signal by combining both segments
    934 #if SHARP_DBBP_SIMPLE_FLTER_I0109
    935922  m_pcPrediction->combineSegmentsWithMask(apSegPredYuv, m_ppcYuvReco[uiDepth], pMask, pcCU->getWidth(0), pcCU->getHeight(0), 0, ePartSize);
    936 #else
    937   m_pcPrediction->combineSegmentsWithMask(apSegPredYuv, m_ppcYuvReco[uiDepth], pMask, pcCU->getWidth(0), pcCU->getHeight(0));
    938 #endif
    939  
     923
    940924  // inter recon
    941925  xDecodeInterTexture( pcCU, 0, uiDepth );
     
    13111295    Int uiTabIdx = pcCU->getDmmWedgeTabIdx(DMM1_IDX, uiAbsPartIdx);
    13121296
    1313 #if SHARP_DMM1_I0110
    13141297    WedgeList* pacWedgeList  = pcCU->isDMM1UpscaleMode(uiWidth) ? &g_dmmWedgeLists[(g_aucConvertToBit[pcCU->getDMM1BasePatternWidth(uiWidth)])] :  &g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])];
    1315 #else
    1316     WedgeList* pacWedgeList = &g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])];
    1317 #endif
    13181298    TComWedgelet* pcWedgelet = &(pacWedgeList->at( uiTabIdx ));
    13191299
    13201300    uiNumSegments = 2;
    13211301
    1322 #if SHARP_DMM1_I0110
    13231302    pbMask       = pcCU->isDMM1UpscaleMode( uiWidth ) ? pcWedgelet->getScaledPattern(uiWidth) : pcWedgelet->getPattern();
    13241303    uiMaskStride = pcCU->isDMM1UpscaleMode( uiWidth ) ? uiWidth : pcWedgelet->getStride();
    1325 #else
    1326     pbMask = pcWedgelet->getPattern();
    1327     uiMaskStride = pcWedgelet->getStride();
    1328 #endif
    13291304  }
    13301305  if( getDimType( uiLumaPredMode ) == DMM4_IDX )
  • branches/HTM-12.1-dev0/source/Lib/TLibDecoder/TDecCu.h

    r1039 r1074  
    123123  Void setdQPFlag               ( Bool b )                { m_bDecodeDQP = b;           }
    124124  Void xFillPCMBuffer           (TComDataCU* pCU, UInt depth);
    125 #if MTK_SINGLE_DEPTH_MODE_I0095
     125#if H_3D_SINGLE_DEPTH
    126126  Void xReconIntraSingleDepth( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    127127#endif
  • branches/HTM-12.1-dev0/source/Lib/TLibDecoder/TDecEntropy.cpp

    r1039 r1074  
    5252  m_pcEntropyDecoderIf->parseSkipFlag( pcCU, uiAbsPartIdx, uiDepth );
    5353}
    54 #if MTK_SINGLE_DEPTH_MODE_I0095
     54#if H_3D_SINGLE_DEPTH
    5555Void TDecEntropy::decodeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    5656{
     
    152152 
    153153#if H_3D_DBBP
    154 
    155 #if SEC_DBBP_EXPLICIT_SIG_I0077
    156 #if SEC_DBBP_DISALLOW_8x8_I0078
    157154  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 )
    158 #else
    159   if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) )
    160 #endif
    161 #else
    162 #if SEC_DBBP_DISALLOW_8x8_I0078
    163   if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && pcCU->getWidth(uiAbsPartIdx) > 8 )
    164 #else
    165   if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) )
    166 #endif
    167 #endif
    168155  {
    169156    decodeDBBPFlag(pcCU, uiAbsPartIdx, uiDepth);
    170 #if !SEC_DBBP_EXPLICIT_SIG_I0077   
    171     if( pcCU->getDBBPFlag(uiAbsPartIdx) )
    172     {
    173      
    174       // get collocated depth block
    175       UInt uiDepthStride = 0;
    176       Pel* pDepthPels = NULL;
    177       pDepthPels = pcCU->getVirtualDepthBlock(uiAbsPartIdx, pcCU->getWidth(uiAbsPartIdx), pcCU->getHeight(uiAbsPartIdx), uiDepthStride);
    178      
    179       AOF( pDepthPels != NULL );
    180       AOF( uiDepthStride != 0 );
    181      
    182       // derive true partitioning for this CU based on depth
    183       // (needs to be done in parsing process as motion vector predictors are also derived during parsing)
    184       PartSize eVirtualPartSize = m_pcPrediction->getPartitionSizeFromDepth(pDepthPels, uiDepthStride, pcCU->getWidth(uiAbsPartIdx));
    185       AOF( eVirtualPartSize != SIZE_NONE );
    186      
    187       pcCU->setPartSizeSubParts(eVirtualPartSize, uiAbsPartIdx, uiDepth);
    188      
    189       // make sure that DBBP flag is set for both segments
    190       UInt uiPUOffset = ( g_auiPUOffset[UInt( eVirtualPartSize )] << ( ( pcCU->getSlice()->getSPS()->getMaxCUDepth() - uiDepth ) << 1 ) ) >> 4;
    191       pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx, 0, uiDepth);
    192       pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx+uiPUOffset, 1, uiDepth);
    193     }
    194 #endif
    195157  }
    196158#endif
     
    311273          Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    312274          memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
    313 #if !FIX_TICKET_79
    314           InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
    315 #endif
    316275#if H_3D_SPIVMP
    317276          memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
     
    320279          pcSubCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand);
    321280          pcSubCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours
    322 #if !FIX_TICKET_79
    323             , inheritedVSPDisInfo
    324 #endif
    325281#if H_3D_SPIVMP
    326282            , pcMvFieldSP, puhInterDirSP
     
    334290          pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
    335291
    336 #if !FIX_TICKET_79
    337           if(vspFlag[uiMergeIndex])
    338           {
    339             pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeIndex].m_acDvInfo, uiSubPartIdx, uiPartIdx, uiDepth);
    340           }
    341 #endif
    342292#else
    343293#if H_3D
     
    360310        Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    361311        memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
    362 #if !FIX_TICKET_79
    363         InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
    364 #endif
    365312#if H_3D_SPIVMP
    366313        memset(bSPIVMPFlag, false, sizeof(Bool)*MRG_MAX_NUM_CANDS_MEM);
     
    369316        pcSubCU->getInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand, uiMergeIndex );
    370317        pcSubCU->xGetInterMergeCandidates( uiSubPartIdx-uiAbsPartIdx, uiPartIdx, cMvFieldNeighbours, uhInterDirNeighbours
    371 #if !FIX_TICKET_79
    372           , inheritedVSPDisInfo
    373 #endif
    374318#if H_3D_SPIVMP
    375319          , pcMvFieldSP, puhInterDirSP
     
    382326          ,numValidMergeCand );
    383327        pcCU->setVSPFlagSubParts( vspFlag[uiMergeIndex], uiSubPartIdx, uiPartIdx, uiDepth );
    384 #if !FIX_TICKET_79
    385         if(vspFlag[uiMergeIndex])
    386         {
    387           pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeIndex].m_acDvInfo, uiSubPartIdx, uiPartIdx, uiDepth);
    388         }
    389 #endif
    390328#else
    391329#if H_3D
     
    485423#endif
    486424    }
    487 #if H_3D_VSP && !FIX_TICKET_75
    488     if ( (pcCU->getInterDir(uiSubPartIdx) == 3) && pcSubCU->isBipredRestriction(uiPartIdx) && (pcCU->getVSPFlag(uiSubPartIdx) == 0))
    489 #else
    490425    if ( (pcCU->getInterDir(uiSubPartIdx) == 3) && pcSubCU->isBipredRestriction(uiPartIdx) )
    491 #endif
    492426    {
    493427      pcCU->getCUMvField( REF_PIC_LIST_1 )->setAllMv( TComMv(0,0), ePartSize, uiSubPartIdx, uiDepth, uiPartIdx);
  • branches/HTM-12.1-dev0/source/Lib/TLibDecoder/TDecEntropy.h

    r1039 r1074  
    8989public:
    9090  virtual Void parseSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
    91 #if MTK_SINGLE_DEPTH_MODE_I0095
     91#if H_3D_SINGLE_DEPTH
    9292  virtual Void parseSingleDepthMode       ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0;
    9393#endif
     
    179179  Void decodeSplitFlag         ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    180180  Void decodeSkipFlag          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    181 #if MTK_SINGLE_DEPTH_MODE_I0095
     181#if H_3D_SINGLE_DEPTH
    182182  Void decodeSingleDepthMode ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) ;
    183183#endif
  • branches/HTM-12.1-dev0/source/Lib/TLibDecoder/TDecSbac.cpp

    r1066 r1074  
    5252, m_cCUSplitFlagSCModel       ( 1,             1,               NUM_SPLIT_FLAG_CTX            , m_contextModels + m_numContextModels, m_numContextModels )
    5353, m_cCUSkipFlagSCModel        ( 1,             1,               NUM_SKIP_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
    54 #if MTK_SINGLE_DEPTH_MODE_I0095
     54#if H_3D_SINGLE_DEPTH
    5555, m_cCUSingleDepthFlagSCModel        ( 1,             1,               NUM_SINGLEDEPTH_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
    5656, m_cSingleDepthValueSCModel         ( 1,             1,               NUM_SINGLE_DEPTH_VALUE_DATA_CTX      , m_contextModels + m_numContextModels, m_numContextModels)
     
    136136  m_cCUSplitFlagSCModel.initBuffer       ( sliceType, qp, (UChar*)INIT_SPLIT_FLAG );
    137137  m_cCUSkipFlagSCModel.initBuffer        ( sliceType, qp, (UChar*)INIT_SKIP_FLAG );
    138 #if MTK_SINGLE_DEPTH_MODE_I0095
     138#if H_3D_SINGLE_DEPTH
    139139  m_cCUSingleDepthFlagSCModel.initBuffer        ( sliceType, qp, (UChar*)INIT_SINGLEDEPTH_FLAG );
    140140  m_cSingleDepthValueSCModel.initBuffer         ( sliceType, qp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
     
    207207  m_cCUSplitFlagSCModel.initBuffer       ( eSliceType, iQp, (UChar*)INIT_SPLIT_FLAG );
    208208  m_cCUSkipFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SKIP_FLAG );
    209 #if MTK_SINGLE_DEPTH_MODE_I0095
     209#if H_3D_SINGLE_DEPTH
    210210  m_cCUSingleDepthFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SINGLEDEPTH_FLAG );
    211211  m_cSingleDepthValueSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
     
    432432#endif
    433433
    434 #if !FIX_TICKET_76
    435 #if H_3D_DIM_SDC
    436 Void TDecSbac::xParseSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiSegment )
    437 {
    438   assert( pcCU->getSlice()->getIsDepth() );
    439   assert( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N );
    440   assert( pcCU->getSDCFlag(uiAbsPartIdx) );
    441   assert( uiSegment < 2 );
    442  
    443   UInt uiResidual = 0;
    444   UInt uiBit      = 0;
    445   UInt uiAbsIdx   = 0;
    446   UInt uiSign     = 0;
    447   Int  iIdx       = 0;
    448  
    449 #if H_3D_DIM_DLT
    450   UInt uiMaxResidualBits = pcCU->getSlice()->getPPS()->getDLT()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
    451 #else
    452   UInt uiMaxResidualBits = g_bitDepthY;
    453 #endif
    454   assert( uiMaxResidualBits <= g_bitDepthY );
    455  
    456   m_pcTDecBinIf->decodeBin(uiResidual, m_cSDCResidualFlagSCModel.get( 0, 0, 0 ) );
    457  
    458 #if H_MV_ENC_DEC_TRAC
    459   DTRACE_CU("sdc_residual_flag[i]", uiResidual)
    460 #endif
    461  
    462   if (uiResidual)
    463   {
    464     // decode residual sign bit
    465     m_pcTDecBinIf->decodeBinEP(uiSign);
    466 #if H_MV_ENC_DEC_TRAC
    467     DTRACE_CU("sdc_residual_sign_flag[i]", uiSign)
    468 #endif
    469    
    470     // decode residual magnitude
    471     // prefix part
    472     UInt uiCount = 0;
    473 #if H_3D_DIM_DLT
    474     UInt uiNumDepthValues = pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
    475 #else
    476     UInt uiNumDepthValues = ((1 << g_bitDepthY)-1);
    477 #endif
    478     UInt uiPrefixThreshold = ((uiNumDepthValues * 3) >> 2);
    479     for ( UInt ui = 0; ui < uiPrefixThreshold; ui++)
    480     {
    481       m_pcTDecBinIf->decodeBin( uiBit, m_cSDCResidualSCModel.get(0, 0, 0) );
    482       if ( uiBit == 0 )
    483         break;
    484       else
    485         uiCount++;
    486     }
    487     // suffix part
    488     if ( uiCount == uiPrefixThreshold )
    489     {
    490       for ( UInt ui = 0; ui < numBitsForValue(uiNumDepthValues - uiPrefixThreshold); ui++ )
    491       {
    492         m_pcTDecBinIf->decodeBinEP( uiBit );
    493         uiAbsIdx |= uiBit << ui;
    494       }
    495       uiAbsIdx += uiCount;
    496     }
    497     else
    498     {
    499       uiAbsIdx = uiCount;
    500     }
    501  
    502 #if H_MV_ENC_DEC_TRAC
    503     DTRACE_CU("sdc_residual_abs_minus1[i]", uiAbsIdx)
    504 #endif
    505    
    506     uiAbsIdx += 1;
    507     iIdx =(Int)(uiSign ? -1 : 1)*uiAbsIdx;
    508   }
    509  
    510   pcCU->setSDCSegmentDCOffset(iIdx, uiSegment, uiAbsPartIdx);
    511 }
    512 #endif
    513 #endif
     434
    514435#endif
    515436/** Parse I_PCM information.
     
    649570#endif
    650571}
    651 #if MTK_SINGLE_DEPTH_MODE_I0095
     572#if H_3D_SINGLE_DEPTH
    652573Void TDecSbac::parseSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth )
    653574{
     
    671592
    672593    UInt uiUnaryIdx = 0;
    673     UInt uiNumCand = MTK_SINGLE_DEPTH_MODE_CANDIDATE_LIST_SIZE;
     594    UInt uiNumCand = SINGLE_DEPTH_MODE_CAND_LIST_SIZE;
    674595    if ( uiNumCand > 1 )
    675596    {
     
    778699
    779700  UInt uiSymbol;
     701  Bool bParseSplitFlag    = true;
     702
    780703#if H_3D_QTLPC
    781   Bool bParseSplitFlag    = true;
    782 
    783 #if MTK_I0099_VPS_EX2
     704
    784705  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
    785706  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
    786 #else
    787   TComSPS *sps            = pcCU->getPic()->getSlice(0)->getSPS();
    788 #endif
    789707  TComPic *pcTexture      = pcCU->getSlice()->getTexturePic();
    790708  Bool bDepthMapDetect    = (pcTexture != NULL);
     
    793711  Bool rapPic = (pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA);
    794712
    795 #if MTK_I0099_VPS_EX2
    796 #if LGE_FCO_I0116
     713#if H_3D_FCO
    797714  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag && pcTexture->getReconMark())
    798715#else
    799716  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag)
    800 #endif
    801 #else
    802   if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL() && sps->getUsePC())
    803717#endif
    804718  {
     
    843757#if H_3D_QTLPC
    844758  Bool bParsePartSize    = true;
    845 #if MTK_I0099_VPS_EX2
    846759  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
    847760  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
    848 #else
    849   TComSPS *sps           = pcCU->getPic()->getSlice(0)->getSPS();
    850 #endif
    851761  TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
    852762  Bool bDepthMapDetect   = (pcTexture != NULL);
     
    857767  Bool depthDependent = false;
    858768  UInt uiTexturePart = uiMode;
    859 #if MTK_I0099_VPS_EX2
    860 #if LGE_FCO_I0116
     769
     770#if H_3D_FCO
    861771  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag && pcTexture->getReconMark())
    862772#else
    863773  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFlag )
    864 #endif
    865 #else
    866   if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL() && sps->getUsePC())
    867774#endif
    868775  {
     
    1076983  {
    1077984#if H_3D_DIM
    1078 #if SEPARATE_FLAG_I0085
    1079985    if( pcCU->getSlice()->getVpsDepthModesFlag() || pcCU->getSlice()->getIVPFlag() )
    1080 #else
    1081     if( pcCU->getSlice()->getVpsDepthModesFlag() )
    1082 #endif
    1083986    {
    1084987      parseIntraDepth( pcCU, absPartIdx+partOffset*j, depth );
     
    12221125  if( uiIsDimMode )
    12231126  {
    1224 #if SEPARATE_FLAG_I0085
    12251127    if( pcCU->getSlice()->getVpsDepthModesFlag() && pcCU->getSlice()->getIVPFlag() )
    12261128    {
     
    12281130      if( !uiSymbol )
    12291131      {
    1230 #if HS_DMM_SIGNALLING_I0120
    12311132        pcCU->setLumaIntraDirSubParts( DIM_OFFSET, absPartIdx, depth );
    1232 #else
    1233         pcCU->setLumaIntraDirSubParts( ( 2 * DMM1_IDX + DIM_OFFSET ), absPartIdx, depth );
    1234 #endif
    12351133      }
    12361134      else
    12371135      {
    1238 #if HS_DMM_SIGNALLING_I0120
    12391136        pcCU->setLumaIntraDirSubParts( ( 1+ DIM_OFFSET ), absPartIdx, depth );
    1240 #else
    1241         pcCU->setLumaIntraDirSubParts( ( 2 * DMM4_IDX + DIM_OFFSET ), absPartIdx, depth );
    1242 #endif
    12431137      }
    12441138    }
    12451139    else if ( pcCU->getSlice()->getVpsDepthModesFlag() )
    12461140    {
    1247 #if HS_DMM_SIGNALLING_I0120
    12481141      pcCU->setLumaIntraDirSubParts( DIM_OFFSET, absPartIdx, depth );
    1249 #else
    1250       pcCU->setLumaIntraDirSubParts( ( 2 * DMM1_IDX + DIM_OFFSET ), absPartIdx, depth );
    1251 #endif
    12521142    }
    12531143    else if( pcCU->getSlice()->getIVPFlag() )
    12541144    {
    1255 #if HS_DMM_SIGNALLING_I0120
    12561145      pcCU->setLumaIntraDirSubParts( ( 1+ DIM_OFFSET ), absPartIdx, depth );
    1257 #else
    1258       pcCU->setLumaIntraDirSubParts( ( 2 * DMM4_IDX + DIM_OFFSET ), absPartIdx, depth );
    1259 #endif
    1260     }
    1261 #else
    1262     m_pcTDecBinIf->decodeBin( uiSymbol, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) );
    1263     if( !uiSymbol )
    1264     {
    1265 #if HS_DMM_SIGNALLING_I0120
    1266       pcCU->setLumaIntraDirSubParts( DIM_OFFSET, absPartIdx, depth );
    1267 #else
    1268       pcCU->setLumaIntraDirSubParts( ( 2 * DMM1_IDX + DIM_OFFSET ), absPartIdx, depth );
    1269 #endif
    1270     }
    1271     else
    1272     {
    1273 #if HS_DMM_SIGNALLING_I0120
    1274       pcCU->setLumaIntraDirSubParts( ( 1+ DIM_OFFSET ), absPartIdx, depth );
    1275 #else
    1276       pcCU->setLumaIntraDirSubParts( ( 2 * DMM4_IDX + DIM_OFFSET ), absPartIdx, depth );
    1277 #endif
    1278     }
    1279 #endif
     1146    }
    12801147  }
    12811148}
     
    21902057  }
    21912058
    2192 #if HS_DMM_SIGNALLING_I0120
    21932059  UInt symbol = 1;
    21942060  UInt uiNumSegments = isDimMode( pcCU->getLumaIntraDir( absPartIdx ) ) ? 2 : 1;
    2195 #else
    2196   UInt symbol = 0;
    2197   UInt uiNumSegments = 0;
    2198 #endif
    2199 
    2200 #if HS_DMM_SIGNALLING_I0120
     2061
    22012062  if( pcCU->isIntra( absPartIdx ) && pcCU->getSDCFlag( absPartIdx ))
    22022063  {
    2203 #else
    2204   if( pcCU->isIntra( absPartIdx ) )
    2205   {
    2206     UInt dir     = pcCU->getLumaIntraDir( absPartIdx );
    2207     uiNumSegments = isDimMode( dir ) ? 2 : 1;
    2208 #endif
     2064
    22092065    m_pcTDecBinIf->decodeBin( symbol, m_cDdcFlagSCModel.get( 0, 0, 0 ) );
    2210 #if !HS_DMM_SIGNALLING_I0120
    2211     if( pcCU->getSDCFlag( absPartIdx ) )
    2212     {
    2213 #endif
    22142066      assert( pcCU->getPartitionSize( absPartIdx ) == SIZE_2Nx2N );
    22152067      pcCU->setTrIdxSubParts( 0, absPartIdx, depth );
    22162068      pcCU->setCbfSubParts( 1, 1, 1, absPartIdx, depth );
    22172069    }
    2218 #if !HS_DMM_SIGNALLING_I0120
    2219     else
    2220     {
    2221       pcCU->setLumaIntraDirSubParts( dir + symbol, absPartIdx, depth );
    2222     }
    2223   }
    2224   else
    2225   {
    2226     uiNumSegments = 1;
    2227     symbol = 1;
    2228   }
    2229 #endif
    2230 
    22312070
    22322071  for( UInt segment = 0; segment < uiNumSegments; segment++ )
     
    22892128  m_pcTDecBinIf->decodeBin( uiSymbol, m_cDBBPFlagSCModel.get( 0, 0, 0 ) );
    22902129 
    2291 #if SEC_DBBP_EXPLICIT_SIG_I0077
    22922130  PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx );
    22932131  AOF( ePartSize == SIZE_2NxN || ePartSize == SIZE_Nx2N );
     
    22952133  pcCU->setDBBPFlagSubParts(uiSymbol, uiAbsPartIdx, 0, uiDepth);
    22962134  pcCU->setDBBPFlagSubParts(uiSymbol, uiAbsPartIdx+uiPUOffset, 1, uiDepth);
    2297 #else
    2298   if( uiSymbol )
    2299   {
    2300     pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx, 0, uiDepth);
    2301     UInt uiCurrPartNumQ = (pcCU->getPic()->getNumPartInCU() >> (2 * uiDepth)) >> 2;
    2302     pcCU->setDBBPFlagSubParts(true, uiAbsPartIdx + 2*uiCurrPartNumQ, 1, uiDepth);
    2303   }
    2304 #endif
    23052135}
    23062136#endif
  • branches/HTM-12.1-dev0/source/Lib/TLibDecoder/TDecSbac.h

    r1039 r1074  
    129129 
    130130  Void parseSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    131 #if MTK_SINGLE_DEPTH_MODE_I0095 
     131#if H_3D_SINGLE_DEPTH 
    132132  Void parseSingleDepthMode      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    133133#endif 
     
    182182  ContextModel3DBuffer m_cCUSplitFlagSCModel;
    183183  ContextModel3DBuffer m_cCUSkipFlagSCModel;
    184 #if MTK_SINGLE_DEPTH_MODE_I0095
     184#if H_3D_SINGLE_DEPTH
    185185  ContextModel3DBuffer m_cCUSingleDepthFlagSCModel;
    186186  ContextModel3DBuffer m_cSingleDepthValueSCModel;
  • branches/HTM-12.1-dev0/source/Lib/TLibDecoder/TDecTop.cpp

    r1066 r1074  
    229229  }
    230230
    231 #if !LGE_FCO_I0116
     231#if !H_3D_FCO
    232232  if ( pcSlice->getIsDepth())
    233233  {
     
    12721272
    12731273#if H_3D_IV_MERGE
    1274 #if LGE_FCO_I0116
     1274#if H_3D_FCO
    12751275  if( !pcSlice->getIsDepth() && m_pcCamParsCollector )
    12761276#else
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp

    r1066 r1074  
    385385            }
    386386           
    387 #if H_3D_DELTA_DLT
    388387            if( pcDLT->getInterViewDltPredEnableFlag( i ) )
    389388            {
     
    395394              pcDLT->getDeltaDLT(i, piRefDLT, uiRefNum, aiIdx2DepthValue_coded, &uiNumDepthValues_coded);
    396395            }
    397 #endif
    398396
    399397            if ( NULL == (puiDltDiffValues = (UInt *)calloc(uiNumDepthValues_coded, sizeof(UInt))) )
    400398            {
     399              // This should be changed to an assertion.
    401400              exit(-1);
    402401            }
     
    477476            {
    478477              WRITE_CODE(uiNumDepthValues_coded, 8, "num_depth_values_in_dlt[i]");    // num_entry
    479 
    480 #if !H_3D_DELTA_DLT
    481               if ( pcDLT->getInterViewDltPredEnableFlag( i ) == false )   // Single-view DLT Diff Coding
    482 #endif
    483478              {
    484479                // The condition if( uiNumDepthValues_coded > 0 ) is always true since for Single-view Diff Coding, there is at least one depth value in depth component.
     
    951946Void TEncCavlc::codeSPSExtension2( TComSPS* pcSPS, Int viewIndex, Bool depthFlag )
    952947{
    953 #if H_3D_QTLPC
    954 #if !MTK_I0099_VPS_EX2
    955 //GT: This has to go to VPS
    956 if( depthFlag )
    957 {
    958   WRITE_FLAG( pcSPS->getUseQTL() ? 1 : 0, "use_qtl_flag");
    959   WRITE_FLAG( pcSPS->getUsePC()  ? 1 : 0, "use_pc_flag");
    960 }
    961 #endif
    962 #endif
    963 }
    964 
    965 
     948
     949}
    966950#endif
    967951
     
    18051789Void TEncCavlc::codeVPSExtension2( TComVPS* pcVPS )
    18061790{
    1807 #if SEC_VPS_CLEANUP_I0090
    18081791  for( Int i = 1; i <= pcVPS->getMaxLayersMinus1(); i++ )
    1809 #else
    1810   for( Int i = 0; i <= pcVPS->getMaxLayersMinus1(); i++ )
    1811 #endif
    1812   {
    1813 #if !SEC_VPS_CLEANUP_I0090
    1814     if (i!= 0)
    1815 #endif
    1816     {
    1817 #if MTK_I0099_VPS_EX2
     1792  {
     1793    {
    18181794      WRITE_FLAG( pcVPS->getIvMvPredFlag         ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]");
    1819 #if SEC_HLS_CLEANUP_I0100
    18201795      WRITE_FLAG( pcVPS->getIvMvScalingFlag( i ) ? 1 : 0 ,       "iv_mv_scaling_flag[i]" );
    1821 #endif
    1822 
    1823 #endif
     1796
    18241797      if ( !( pcVPS->getDepthId( i ) == 1 ) )
    18251798      {
    18261799#if H_3D_IV_MERGE
    1827 #if !MTK_I0099_VPS_EX2
    1828         WRITE_FLAG( pcVPS->getIvMvPredFlag         ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]");
    1829 #endif
    18301800#if H_3D_SPIVMP
    18311801        WRITE_UVLC( pcVPS->getSubPULog2Size(i)-3, "log2_sub_PU_size_minus3[i]");
     
    18471817      else
    18481818      {
    1849 #if !MTK_I0099_VPS_EX2
    1850         if(i!=1)
    1851         {
    1852           WRITE_FLAG( pcVPS->getIvMvPredFlag         ( i ) ? 1 : 0 , "iv_mv_pred_flag[i]");
    1853         }
    1854 #if H_3D_SPIVMP
    1855         if (i!=1)
    1856         {
    1857           WRITE_UVLC( pcVPS->getSubPULog2Size(i)-3, "log2_sub_PU_size_minus3[i]");
    1858         }
    1859 #endif
    1860 #endif
    18611819#if H_3D_IV_MERGE
    18621820        WRITE_FLAG( pcVPS->getMPIFlag( i ) ? 1 : 0 ,          "mpi_flag[i]" );
    18631821#endif
    1864 #if MTK_I0099_VPS_EX2
    18651822        WRITE_UVLC( pcVPS->getSubPUMPILog2Size(i)-3, "log2_mpi_sub_PU_size_minus3[i]");
    1866 #endif
     1823
    18671824        WRITE_FLAG( pcVPS->getVpsDepthModesFlag( i ) ? 1 : 0 ,          "vps_depth_modes_flag[i]" );
    1868 #if SEPARATE_FLAG_I0085
     1825#if H_3D
    18691826        WRITE_FLAG( pcVPS->getIVPFlag( i ) ? 1 : 0 ,               "IVP_flag[i]" );
    18701827#endif
    1871 #if MTK_I0099_VPS_EX2
    18721828        WRITE_FLAG( pcVPS->getLimQtPredFlag    ( i ) ? 1 : 0 ,          "lim_qt_pred_flag[i]"     );
    1873 #endif
    18741829
    18751830#if H_3D_INTER_SDC
     
    18801835  }
    18811836  WRITE_UVLC( pcVPS->getCamParPrecision(), "cp_precision" );
    1882 #if SEC_VPS_CLEANUP_I0090
    18831837  for (UInt viewIndex=1; viewIndex<pcVPS->getNumViews(); viewIndex++)
    1884 #else
    1885   for (UInt viewIndex=0; viewIndex<pcVPS->getNumViews(); viewIndex++)
    1886 #endif
    18871838  {
    18881839    WRITE_FLAG( pcVPS->getCamParPresent(viewIndex) ? 1 : 0, "cp_present_flag[i]" );
     
    19021853    }
    19031854  }
    1904 #if !MTK_I0099_VPS_EX2
    1905   WRITE_UVLC( pcVPS->getSubPUMPILog2Size( ) - 3, "log2_sub_PU_MPI_size_minus3");
    1906 #endif
    1907 #if H_3D_TMVP
    1908 #if !SEC_HLS_CLEANUP_I0100
    1909   WRITE_FLAG( pcVPS->getIvMvScalingFlag( ) ? 1 : 0 ,          "iv_mv_scaling_flag" );
    1910 #endif
    1911 #endif
    19121855}
    19131856#endif
     
    23082251    }
    23092252#if H_3D_IC
    2310 #if SEC_HLS_CLEANUP_I0100
    23112253    else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth() && vps->getNumDirectRefLayers( layerId ) > 0 )
    2312 #else
    2313     else if( pcSlice->getViewIndex() && ( pcSlice->getSliceType() == P_SLICE || pcSlice->getSliceType() == B_SLICE ) && !pcSlice->getIsDepth())
    2314 #endif
    23152254    {
    23162255      WRITE_FLAG( pcSlice->getApplyIC() ? 1 : 0, "slice_ic_enable_flag" );
     
    23212260    }
    23222261#endif
    2323 #if MTK_SINGLE_DEPTH_MODE_I0095
     2262#if H_3D_SINGLE_DEPTH
    23242263    if(pcSlice->getIsDepth())
    23252264    {
     
    23852324  }
    23862325#if H_3D
    2387 #if LGE_FCO_I0116
     2326#if H_3D_FCO
    23882327  if( pcSlice->getVPS()->hasCamParInSliceHeader( pcSlice->getViewIndex() ) && pcSlice->getIsDepth() )
    23892328#else
     
    27622701  assert(0);
    27632702}
    2764 #if MTK_SINGLE_DEPTH_MODE_I0095
     2703#if H_3D_SINGLE_DEPTH
    27652704Void TEncCavlc::codeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx )
    27662705{
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncCavlc.h

    r1066 r1074  
    129129  Void codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx );
    130130  Void codeSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    131 #if MTK_SINGLE_DEPTH_MODE_I0095
     131#if H_3D_SINGLE_DEPTH
    132132  Void codeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx );
    133133#endif
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncCfg.h

    r1039 r1074  
    414414#if H_3D_DIM
    415415  Bool      m_useDMM;
    416 #if SEPARATE_FLAG_I0085
    417416  Bool      m_useIVP;
    418 #endif
    419417  Bool      m_useSDC;
    420418  Bool      m_useDLT;
    421419#endif
    422 #if MTK_SINGLE_DEPTH_MODE_I0095
     420#if H_3D_SINGLE_DEPTH
    423421  Bool      m_useSingleDepthMode;
    424422#endif
     
    426424  Bool      m_useMPI;
    427425#endif
    428 #if !MTK_I0099_VPS_EX2 || MTK_I0099_FIX
    429426#if H_3D_QTLPC
    430427  Bool      m_bUseQTL;
    431 #if !MTK_I0099_VPS_EX2
    432   Bool      m_bUsePC;
    433 #endif
    434 #endif
    435428#endif
    436429#endif
     
    10131006  Bool      getUseDMM                       ()        { return m_useDMM; }
    10141007  Void      setUseDMM                       ( Bool b) { m_useDMM = b;    }
    1015 #if SEPARATE_FLAG_I0085
    10161008  Bool      getUseIVP                       ()        { return m_useIVP; }
    10171009  Void      setUseIVP                       ( Bool b) { m_useIVP = b;    }
    1018 #endif
    10191010  Bool      getUseSDC                       ()        { return m_useSDC; }
    10201011  Void      setUseSDC                       ( Bool b) { m_useSDC = b;    }
     
    10221013  Void      setUseDLT                       ( Bool b) { m_useDLT = b;    }
    10231014#endif
    1024 #if MTK_SINGLE_DEPTH_MODE_I0095
     1015#if H_3D_SINGLE_DEPTH
    10251016  Void       setUseSingleDepthMode          ( Bool bVal )    { m_useSingleDepthMode = bVal; }
    10261017  Bool       getUseSingleDepthMode          ()               { return m_useSingleDepthMode; }
    10271018#endif
    1028 #if !MTK_I0099_VPS_EX2 || MTK_I0099_FIX
    10291019#if H_3D_QTLPC
    10301020  Void      setUseQTL                       ( Bool b ) { m_bUseQTL = b;    }
    10311021  Bool      getUseQTL                       ()         { return m_bUseQTL; }
    1032 #if !MTK_I0099_VPS_EX2
    1033   Void      setUsePC                        ( Bool b ) { m_bUsePC  = b;    }
    1034   Bool      getUsePC                        ()         { return m_bUsePC;  }
    1035 #endif
    1036 #endif
    10371022#endif
    10381023#if H_3D_IV_MERGE
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncCu.cpp

    r1066 r1074  
    409409
    410410#if H_3D_QTLPC
    411 #if MTK_I0099_VPS_EX2
    412411  TComVPS *vps            = pcPic->getSlice(0)->getVPS();
    413412  Bool  bLimQtPredFalg    = vps->getLimQtPredFlag(pcPic->getSlice(0)->getLayerId());
    414 #else
    415   TComSPS *sps            = pcPic->getSlice(0)->getSPS();
    416 #endif
    417413  TComPic *pcTexture      = rpcBestCU->getSlice()->getTexturePic();
    418414
     
    535531#if H_3D_QTLPC
    536532      //logic for setting bTrySplit using the partition information that is stored of the texture colocated CU
    537 
    538 #if MTK_I0099_VPS_EX2
    539 #if MTK_I0099_FIX
    540 #if LGE_FCO_I0116
     533#if H_3D_FCO
    541534      if(depthMapDetect && !bIntraSliceDetect && !rapPic && ( m_pcEncCfg->getUseQTL() || bLimQtPredFalg ) && pcTexture->getReconMark())
    542535#else
    543536      if(depthMapDetect && !bIntraSliceDetect && !rapPic && ( m_pcEncCfg->getUseQTL() || bLimQtPredFalg ))
    544 #endif
    545 #else
    546       if(depthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFalg)
    547 #endif
    548 #else
    549       if(depthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL())
    550537#endif
    551538      {
     
    702689
    703690#if H_3D_QTLPC     
    704 #if MTK_I0099_VPS_EX2
    705 #if MTK_I0099_FIX
    706691      if(depthMapDetect && !bIntraSliceDetect && !rapPic && ( m_pcEncCfg->getUseQTL() || bLimQtPredFalg ))
    707 #else
    708       if(depthMapDetect && !bIntraSliceDetect && !rapPic && bLimQtPredFalg)
    709 #endif
    710 #else
    711       if(depthMapDetect && !bIntraSliceDetect && !rapPic && sps->getUseQTL())
    712 #endif
    713692      {
    714693        bTrySplitDQP = bTrySplit;
     
    734713    }
    735714#endif
    736 #if MTK_SINGLE_DEPTH_MODE_I0095
     715#if H_3D_SINGLE_DEPTH
    737716    rpcTempCU->initEstData( uiDepth, iMinQP, isAddLowestQP  );
    738717    if(rpcBestCU->getSlice()->getApplySingleDepthMode())
     
    10571036              rpcBestCU->getCbf( 0, TEXT_CHROMA_V ) != 0     
    10581037#if H_3D_DIM_ENC
    1059 #if HHI_DMM4_ENC_I0066
    10601038              || rpcBestCU->getSlice()->getIsDepth()
    1061 #else
    1062             || ( rpcBestCU->getSlice()->getIsDepth() && rpcBestCU->getSlice()->isIRAP() )
    1063 #endif
    10641039#endif
    10651040            ) // avoid very complex intra if it is unlikely
    10661041          {
    1067 #if HHI_DMM4_ENC_I0066
     1042#if H_3D_DIM
    10681043            Bool bOnlyIVP = false;
    10691044            if( rpcBestCU->getSlice()->getIsDepth() && !(rpcBestCU->getSlice()->isIRAP()) &&
     
    10981073                if( rpcTempCU->getWidth(0) > ( 1 << rpcTempCU->getSlice()->getSPS()->getQuadtreeTULog2MinSize() ) )
    10991074                {
    1100 #if HHI_DMM4_ENC_I0066
     1075#if H_3D_DIM
    11011076                  xCheckRDCostIntra( rpcBestCU, rpcTempCU, SIZE_NxN, bOnlyIVP );
    11021077#else
     
    15901565    return;
    15911566  }
    1592 #if MTK_SINGLE_DEPTH_MODE_I0095
     1567#if H_3D_SINGLE_DEPTH
    15931568  m_pcEntropyCoder->encodeSingleDepthMode( pcCU, uiAbsPartIdx );
    15941569  if(!pcCU->getSingleDepthFlag(uiAbsPartIdx))
     
    16271602  m_pcEntropyCoder->encodeCoeff( pcCU, uiAbsPartIdx, uiDepth, pcCU->getWidth (uiAbsPartIdx), pcCU->getHeight(uiAbsPartIdx), bCodeDQP );
    16281603  setdQPFlag( bCodeDQP );
    1629 #if MTK_SINGLE_DEPTH_MODE_I0095
     1604#if H_3D_SINGLE_DEPTH
    16301605  }
    16311606#endif
     
    18631838    Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    18641839    memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
    1865 #if !FIX_TICKET_79
    1866     InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
    1867 #endif
    18681840#if H_3D_SPIVMP
    18691841    Bool bSPIVMPFlag[MRG_MAX_NUM_CANDS_MEM];
     
    18781850    rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
    18791851    rpcTempCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours
    1880 #if !FIX_TICKET_79
    1881       , inheritedVSPDisInfo
    1882 #endif
    18831852#if H_3D_SPIVMP
    18841853      , pcMvFieldSP, puhInterDirSP
     
    18951864
    18961865#else
    1897 #if FIX_TICKET_79
    18981866    rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, numValidMergeCand );
    1899 #else
    1900     rpcTempCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, vspFlag, inheritedVSPDisInfo, numValidMergeCand );
    1901 #endif
    19021867#endif
    19031868
     
    19421907#if H_3D_VSP
    19431908          rpcTempCU->setVSPFlagSubParts( vspFlag[uiMergeCand], 0, 0, uhDepth );
    1944 #if !FIX_TICKET_79
    1945           rpcTempCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeCand].m_acDvInfo, 0, 0, uhDepth );
    1946 #endif
    19471909#endif
    19481910#if H_3D_DDD
     
    20432005
    20442006          rpcTempCU->setSkipFlagSubParts( rpcTempCU->getQtRootCbf(0) == 0, 0, uhDepth );
    2045 #if MTK_SINGLE_DEPTH_MODE_I0095
     2007#if H_3D_SINGLE_DEPTH
    20462008          rpcTempCU->setSingleDepthFlagSubParts( false, 0, uhDepth );
    20472009#endif
     
    20612023          if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && !uiNoResidual )
    20622024          {
    2063 #if FAST_SDC_OFFSET_DECISION_I0084
    20642025            Double dOffsetCost[3] = {MAX_DOUBLE,MAX_DOUBLE,MAX_DOUBLE};
    20652026            for( Int uiOffest = 1 ; uiOffest <= 5 ; uiOffest++ )
    2066 #else
    2067             for( Int uiOffest = -2 ; uiOffest <= 2 ; uiOffest++ )
    2068 #endif
    20692027            {
    2070 #if FAST_SDC_OFFSET_DECISION_I0084
    20712028              if( uiOffest > 3)
    20722029              {
     
    20842041                }
    20852042              }
    2086 #endif
    20872043              if( rpcTempCU != rpcTempCUPre )
    20882044              {
     
    20912047              }
    20922048              rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth );
    2093 #if MTK_SINGLE_DEPTH_MODE_I0095
     2049#if H_3D_SINGLE_DEPTH
    20942050              rpcTempCU->setSingleDepthFlagSubParts( false, 0, uhDepth );
    20952051#endif
     
    21062062              }
    21072063#endif
    2108 #if FAST_SDC_OFFSET_DECISION_I0084
    21092064              Int iSdcOffset = 0;
    21102065              if(uiOffest % 2 == 0)
     
    21272082                dOffsetCost [uiOffest -1] = rpcTempCU->getTotalCost();
    21282083              }
    2129 #else
    2130               m_pcPredSearch->encodeResAndCalcRdInterSDCCU( rpcTempCU,
    2131                 m_ppcOrigYuv[uhDepth],
    2132                 ( rpcTempCU != rpcTempCUPre ) ? m_ppcPredYuvBest[uhDepth] : m_ppcPredYuvTemp[uhDepth],
    2133                 m_ppcResiYuvTemp[uhDepth],
    2134                 m_ppcRecoYuvTemp[uhDepth],
    2135                 uiOffest,
    2136                 uhDepth );
    2137 #endif
    21382084
    21392085              xCheckDQP( rpcTempCU );
     
    22532199 
    22542200  rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth );
    2255 #if MTK_SINGLE_DEPTH_MODE_I0095
     2201#if H_3D_SINGLE_DEPTH
    22562202  rpcTempCU->setSingleDepthFlagSubParts( false, 0, uhDepth );
    22572203#endif
     
    23422288  if( rpcTempCU->getSlice()->getVPS()->getInterSDCFlag( rpcTempCU->getSlice()->getLayerIdInVps() ) && rpcTempCU->getSlice()->getIsDepth() && ePartSize == SIZE_2Nx2N)
    23432289  {
    2344 #if FAST_SDC_OFFSET_DECISION_I0084
    23452290    Double dOffsetCost[3] = {MAX_DOUBLE,MAX_DOUBLE,MAX_DOUBLE};
    23462291    for( Int uiOffest = 1 ; uiOffest <= 5 ; uiOffest++ )
    2347 #else
    2348     for( Int uiOffest = -2 ; uiOffest <= 2 ; uiOffest++ )
    2349 #endif
    2350     {
    2351 #if FAST_SDC_OFFSET_DECISION_I0084
     2292    {
    23522293      if( uiOffest > 3)
    23532294      {
     
    23652306        }
    23662307      }
    2367 #endif
     2308
    23682309      if( rpcTempCU != rpcTempCUPre )
    23692310      {
     
    23732314      }
    23742315      rpcTempCU->setSkipFlagSubParts( false, 0, uhDepth );
    2375 #if MTK_SINGLE_DEPTH_MODE_I0095
     2316#if H_3D_SINGLE_DEPTH
    23762317      rpcTempCU->setSingleDepthFlagSubParts( false, 0, uhDepth );
    23772318#endif
     
    23892330#endif
    23902331
    2391 #if FAST_SDC_OFFSET_DECISION_I0084
    23922332      Int iSdcOffset = 0;
    23932333      if(uiOffest % 2 == 0)
     
    24102350        dOffsetCost [uiOffest -1] = rpcTempCU->getTotalCost();
    24112351      }
    2412 #else
    2413       m_pcPredSearch->encodeResAndCalcRdInterSDCCU( rpcTempCU,
    2414         m_ppcOrigYuv[uhDepth],
    2415         ( rpcTempCU != rpcTempCUPre ) ? m_ppcPredYuvBest[uhDepth] : m_ppcPredYuvTemp[uhDepth],
    2416         m_ppcResiYuvTemp[uhDepth],
    2417         m_ppcRecoYuvTemp[uhDepth],
    2418         uiOffest,
    2419         uhDepth );
    2420 #endif
    24212352
    24222353      xCheckDQP( rpcTempCU );
     
    24932424  }
    24942425}
    2495 #if MTK_SINGLE_DEPTH_MODE_I0095
     2426#if H_3D_SINGLE_DEPTH
    24962427Void TEncCu::xCheckRDCostSingleDepth( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize eSize )
    24972428{
     
    25602491}
    25612492#endif
     2493
    25622494Void TEncCu::xCheckRDCostInterDBBP( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool bUseMRG )
    25632495{
     
    25812513  AOF( uiWidth == uiHeight );
    25822514 
    2583 #if SEC_DBBP_DISALLOW_8x8_I0078
     2515#if H_3D_DBBP
     2516  // Is this correct here, was under the macro SEC_DBBP_DISALLOW_8x8_I0078, however the function is related to Single Depth Mode
    25842517  if(uiWidth <= 8)
    25852518  {
     
    25922525  // fetch virtual depth block
    25932526  UInt uiDepthStride = 0;
    2594 #if LGE_FCO_I0116
     2527#if H_3D_FCO
    25952528  Pel* pDepthPels = rpcTempCU->getVirtualDepthBlock(rpcTempCU->getZorderIdxInCU(), uiWidth, uiHeight, uiDepthStride);
    25962529#else
     
    26882621 
    26892622  // reconstruct final prediction signal by combining both segments
    2690 #if SHARP_DBBP_SIMPLE_FLTER_I0109
    26912623  m_pcPredSearch->combineSegmentsWithMask(apPredYuv, m_ppcPredYuvTemp[uhDepth], pMask, uiWidth, uiHeight, 0, eVirtualPartSize);
    2692 #else
    2693   m_pcPredSearch->combineSegmentsWithMask(apPredYuv, m_ppcPredYuvTemp[uhDepth], pMask, uiWidth, uiHeight);
    2694 #endif
    2695  
    26962624  m_pcPredSearch->encodeResAndCalcRdInterCU( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcResiYuvBest[uhDepth], m_ppcRecoYuvTemp[uhDepth], false );
    26972625 
     
    27012629#endif
    27022630
    2703 #if HHI_DMM4_ENC_I0066
     2631#if H_3D_DIM
    27042632Void TEncCu::xCheckRDCostIntra( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize eSize, Bool bOnlyIVP )
    27052633#else
     
    27212649
    27222650  rpcTempCU->setSkipFlagSubParts( false, 0, uiDepth );
    2723 #if MTK_SINGLE_DEPTH_MODE_I0095
     2651#if H_3D_SINGLE_DEPTH
    27242652  rpcTempCU->setSingleDepthFlagSubParts( false, 0, uiDepth );
    27252653#endif
     
    27332661    m_pcPredSearch->preestChromaPredMode( rpcTempCU, m_ppcOrigYuv[uiDepth], m_ppcPredYuvTemp[uiDepth] );
    27342662  }
    2735 #if HHI_DMM4_ENC_I0066
     2663#if H_3D_DIM
    27362664  m_pcPredSearch  ->estIntraPredQT      ( rpcTempCU, m_ppcOrigYuv[uiDepth], m_ppcPredYuvTemp[uiDepth], m_ppcResiYuvTemp[uiDepth], m_ppcRecoYuvTemp[uiDepth], uiPreCalcDistC, bSeparateLumaChroma, bOnlyIVP );
    27372665#else
     
    27512679  }
    27522680  m_pcEntropyCoder->encodeSkipFlag ( rpcTempCU, 0,          true );
    2753 #if MTK_SINGLE_DEPTH_MODE_I0095
     2681#if H_3D_SINGLE_DEPTH
    27542682  m_pcEntropyCoder->encodeSingleDepthMode( rpcTempCU, 0,          true );
    27552683  if(!rpcTempCU->getSingleDepthFlag(0))
     
    27682696  m_pcEntropyCoder->encodeCoeff( rpcTempCU, 0, uiDepth, rpcTempCU->getWidth (0), rpcTempCU->getHeight(0), bCodeDQP );
    27692697  setdQPFlag( bCodeDQP );
    2770 #if MTK_SINGLE_DEPTH_MODE_I0095
     2698#if H_3D_SINGLE_DEPTH
    27712699  }
    27722700#endif       
     
    27982726
    27992727  rpcTempCU->setSkipFlagSubParts( false, 0, uiDepth );
    2800 #if MTK_SINGLE_DEPTH_MODE_I0095
     2728#if H_3D_SINGLE_DEPTH
    28012729  rpcTempCU->setSingleDepthFlagSubParts( false, 0, uiDepth );
    28022730#endif
     
    28172745  }
    28182746  m_pcEntropyCoder->encodeSkipFlag ( rpcTempCU, 0,          true );
    2819 #if MTK_SINGLE_DEPTH_MODE_I0095
     2747#if H_3D_SINGLE_DEPTH
    28202748  m_pcEntropyCoder->encodeSingleDepthMode( rpcTempCU, 0,          true );
    28212749#endif
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncCu.h

    r1039 r1074  
    159159  Void  xCheckRDCostInterDBBP( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, Bool bUseMRG = false );
    160160#endif
    161 #if MTK_SINGLE_DEPTH_MODE_I0095
     161#if H_3D_SINGLE_DEPTH
    162162  Void  xCheckRDCostSingleDepth   ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize  );
    163163#endif
    164 #if HHI_DMM4_ENC_I0066
     164#if H_3D_DIM
    165165  Void  xCheckRDCostIntra   ( TComDataCU*& rpcBestCU, TComDataCU*& rpcTempCU, PartSize ePartSize, Bool bOnlyIVP );
    166166#else
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncEntropy.cpp

    r1066 r1074  
    119119  m_pcEntropyCoderIf->codeSkipFlag( pcCU, uiAbsPartIdx );
    120120}
    121 #if MTK_SINGLE_DEPTH_MODE_I0095
     121#if H_3D_SINGLE_DEPTH
    122122Void TEncEntropy::encodeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD )
    123123{
     
    185185  else
    186186  {
    187 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
    188187    Int ICEnableCandidate = pcCU->getSlice()->getICEnableCandidate(pcCU->getSlice()->getDepth());
    189188    Int ICEnableNum = pcCU->getSlice()->getICEnableNum(pcCU->getSlice()->getDepth());
     
    195194    pcCU->getSlice()->setICEnableCandidate(pcCU->getSlice()->getDepth(), ICEnableCandidate);
    196195    pcCU->getSlice()->setICEnableNum(pcCU->getSlice()->getDepth(), ICEnableNum);
    197 #else
    198     g_aICEnableCANDIDATE[pcCU->getSlice()->getDepth()]++;
    199     if(pcCU->getICFlag(uiAbsPartIdx))
    200     {
    201       g_aICEnableNUM[pcCU->getSlice()->getDepth()]++;
    202     }
    203 #endif
    204196  }
    205197  if( pcCU->isICFlagRequired( uiAbsPartIdx ) )
     
    273265  }
    274266 
     267  m_pcEntropyCoderIf->codePartSize( pcCU, uiAbsPartIdx, uiDepth );
     268 
    275269#if H_3D_DBBP
    276 #if! SEC_DBBP_EXPLICIT_SIG_I0077
    277   PartSize eVirtualPartSize = pcCU->getPartitionSize(uiAbsPartIdx);
    278   if( pcCU->getDBBPFlag(uiAbsPartIdx) )
    279   {
    280     AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) );
    281    
    282     // temporarily change partition size for DBBP blocks
    283     pcCU->setPartSizeSubParts(RWTH_DBBP_PACK_MODE, uiAbsPartIdx, uiDepth);
    284   }
    285 #endif
    286 #endif
    287  
    288   m_pcEntropyCoderIf->codePartSize( pcCU, uiAbsPartIdx, uiDepth );
    289  
    290 #if H_3D_DBBP
    291 #if SEC_DBBP_EXPLICIT_SIG_I0077
    292 #if SEC_DBBP_DISALLOW_8x8_I0078
    293270  if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) && pcCU->getWidth(uiAbsPartIdx) > 8 )
    294 #else
    295   if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && (pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2NxN || pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_Nx2N) )
    296 #endif
    297 #else
    298 #if SEC_DBBP_DISALLOW_8x8_I0078
    299   if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) && pcCU->getWidth(uiAbsPartIdx) > 8 )
    300 #else
    301   if( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) )
    302 #endif
    303 #endif
    304271  {
    305272    encodeDBBPFlag(pcCU, uiAbsPartIdx, bRD);
    306 #if !SEC_DBBP_EXPLICIT_SIG_I0077
    307     if( pcCU->getDBBPFlag(uiAbsPartIdx) )
    308     {
    309       // restore virtual partition size for DBBP blocks
    310       pcCU->setPartSizeSubParts(eVirtualPartSize, uiAbsPartIdx, uiDepth);
    311     }
    312 #endif
    313273  }
    314274#endif
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncEntropy.h

    r1039 r1074  
    8686  virtual Void codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    8787  virtual Void codeSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    88 #if MTK_SINGLE_DEPTH_MODE_I0095
     88#if H_3D_SINGLE_DEPTH
    8989  virtual Void codeSingleDepthMode      ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0;
    9090#endif
     
    174174  Void encodeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
    175175  Void encodeSkipFlag          ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false );
    176 #if MTK_SINGLE_DEPTH_MODE_I0095
     176#if H_3D_SINGLE_DEPTH
    177177  Void encodeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD=false );
    178178#endif
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncGOP.cpp

    r1066 r1074  
    160160#endif
    161161#endif
    162 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
    163   m_aICEnableCandidate           = pcTEncTop->getICEnableCandidate();
    164   m_aICEnableNum           = pcTEncTop->getICEnableNum();
     162#if H_3D_IC
     163  m_aICEnableCandidate   = pcTEncTop->getICEnableCandidate();
     164  m_aICEnableNum         = pcTEncTop->getICEnableNum();
    165165#endif
    166166#if KWU_FIX_URQ
     
    937937    pcSlice->setRefPicList ( rcListPic );
    938938#endif
    939 #if MTK_SINGLE_DEPTH_MODE_I0095
     939#if H_3D_SINGLE_DEPTH
    940940    TEncTop* pcEncTop = (TEncTop*) m_pcCfg;
    941941    bool enableSingleDepthMode=false;
     
    971971#endif   
    972972#endif
    973 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
     973#if H_3D_IC
    974974    pcSlice->setICEnableCandidate( m_aICEnableCandidate );         
    975975    pcSlice->setICEnableNum( m_aICEnableNum );         
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncGOP.h

    r1066 r1074  
    116116#endif
    117117#endif
    118 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
    119   Int *m_aICEnableCandidate;
    120   Int *m_aICEnableNum;
     118#if H_3D_IC
     119  Int*                    m_aICEnableCandidate;
     120  Int*                    m_aICEnableNum;
    121121#endif
    122122  //--Adaptive Loop filter
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncSbac.cpp

    r1066 r1074  
    5858, m_cCUSplitFlagSCModel       ( 1,             1,               NUM_SPLIT_FLAG_CTX            , m_contextModels + m_numContextModels, m_numContextModels )
    5959, m_cCUSkipFlagSCModel        ( 1,             1,               NUM_SKIP_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
    60 #if MTK_SINGLE_DEPTH_MODE_I0095
     60#if H_3D_SINGLE_DEPTH
    6161, m_cCUSingleDepthFlagSCModel        ( 1,             1,               NUM_SINGLEDEPTH_FLAG_CTX             , m_contextModels + m_numContextModels, m_numContextModels)
    6262, m_cSingleDepthValueSCModel         ( 1,             1,               NUM_SINGLE_DEPTH_VALUE_DATA_CTX      , m_contextModels + m_numContextModels, m_numContextModels)
     
    134134 
    135135  m_cCUSkipFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SKIP_FLAG );
    136 #if MTK_SINGLE_DEPTH_MODE_I0095
     136#if H_3D_SINGLE_DEPTH
    137137  m_cCUSingleDepthFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SINGLEDEPTH_FLAG );
    138138  m_cSingleDepthValueSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
     
    214214      curCost  = m_cCUSplitFlagSCModel.calcCost       ( curSliceType, qp, (UChar*)INIT_SPLIT_FLAG );
    215215      curCost += m_cCUSkipFlagSCModel.calcCost        ( curSliceType, qp, (UChar*)INIT_SKIP_FLAG );
    216 #if MTK_SINGLE_DEPTH_MODE_I0095
     216#if H_3D_SINGLE_DEPTH
    217217      curCost += m_cCUSingleDepthFlagSCModel.calcCost        ( curSliceType, qp, (UChar*)INIT_SINGLEDEPTH_FLAG );
    218218      curCost += m_cSingleDepthValueSCModel.calcCost         ( curSliceType, qp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
     
    255255      curCost += m_CUTransquantBypassFlagSCModel.calcCost( curSliceType, qp, (UChar*)INIT_CU_TRANSQUANT_BYPASS_FLAG );
    256256#if H_3D_DIM
    257 #if SEPARATE_FLAG_I0085
    258257    if( m_pcSlice->getVpsDepthModesFlag() || m_pcSlice->getIVPFlag() )
    259 #else
    260     if( m_pcSlice->getVpsDepthModesFlag() )
    261 #endif
    262258    {
    263259      curCost += m_cDepthIntraModeSCModel.calcCost    ( curSliceType, qp, (UChar*)INIT_DEPTH_INTRA_MODE );
     
    291287 
    292288  m_cCUSkipFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SKIP_FLAG );
    293 #if MTK_SINGLE_DEPTH_MODE_I0095
     289#if H_3D_SINGLE_DEPTH
    294290  m_cCUSingleDepthFlagSCModel.initBuffer        ( eSliceType, iQp, (UChar*)INIT_SINGLEDEPTH_FLAG );
    295291  m_cSingleDepthValueSCModel.initBuffer         ( eSliceType, iQp, (UChar*)INIT_SINGLE_DEPTH_VALUE_DATA );
     
    454450  m_pcBinIf->encodeBinsEP( bins, numBins );
    455451}
    456 #if MTK_SINGLE_DEPTH_MODE_I0095
     452#if H_3D_SINGLE_DEPTH
    457453Void TEncSbac::codeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx )
    458454{
     
    462458  {
    463459    UInt uiUnaryIdx = (UInt) pcCU->getSingleDepthValue(uiAbsPartIdx);
    464     UInt uiNumCand = MTK_SINGLE_DEPTH_MODE_CANDIDATE_LIST_SIZE;
     460    UInt uiNumCand = SINGLE_DEPTH_MODE_CAND_LIST_SIZE;
    465461    if ( uiNumCand > 1 )
    466462    {
     
    563559
    564560#endif
    565 
    566 #if !FIX_TICKET_76
    567 #if H_3D_DIM_SDC
    568 Void TEncSbac::xCodeSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiSegment )
    569 {
    570   assert( pcCU->getSlice()->getIsDepth() );
    571   assert( pcCU->getPartitionSize(uiAbsPartIdx) == SIZE_2Nx2N );
    572   assert( pcCU->getSDCFlag(uiAbsPartIdx) );
    573   assert( uiSegment < 2 );
    574  
    575   Pel segmentDCOffset = pcCU->getSDCSegmentDCOffset(uiSegment, uiAbsPartIdx);
    576  
    577   UInt uiResidual = segmentDCOffset == 0 ? 0 : 1;
    578   UInt uiSign     = segmentDCOffset < 0 ? 1 : 0;
    579   UInt uiAbsIdx   = abs(segmentDCOffset);
    580 
    581 #if H_3D_DIM_DLT
    582   UInt uiMaxResidualBits = pcCU->getSlice()->getPPS()->getDLT()->getBitsPerDepthValue( pcCU->getSlice()->getLayerIdInVps() );
    583 #else
    584   UInt uiMaxResidualBits = g_bitDepthY;
    585 #endif
    586   assert( uiMaxResidualBits <= g_bitDepthY );
    587  
    588   // residual flag
    589   m_pcBinIf->encodeBin( uiResidual, m_cSDCResidualFlagSCModel.get( 0, 0, 0 ) );
    590 #if H_MV_ENC_DEC_TRAC
    591   DTRACE_CU("sdc_residual_flag[i]", uiResidual)
    592 #endif 
    593  
    594   if (uiResidual)
    595   {
    596     // encode sign bit of residual
    597     m_pcBinIf->encodeBinEP( uiSign );
    598 #if H_MV_ENC_DEC_TRAC
    599     DTRACE_CU("sdc_residual_sign_flag[i]", uiSign)
    600 #endif
    601 #if H_3D_DIM_DLT   
    602     UInt uiNumDepthValues = pcCU->getSlice()->getPPS()->getDLT()->getNumDepthValues( pcCU->getSlice()->getLayerIdInVps() );
    603 #else
    604     UInt uiNumDepthValues = ((1 << g_bitDepthY)-1);
    605 #endif
    606 
    607     assert(uiAbsIdx <= uiNumDepthValues);
    608    
    609     // encode residual magnitude
    610     uiAbsIdx -= 1;
    611 
    612 #if H_MV_ENC_DEC_TRAC
    613     DTRACE_CU("sdc_residual_abs_minus1[i]", uiAbsIdx)
    614 #endif
    615 
    616     // prefix part
    617     if ( uiAbsIdx == 0 )
    618     {
    619       m_pcBinIf->encodeBin( 0, m_cSDCResidualSCModel.get(0, 0, 0) );
    620     }
    621     else
    622     {
    623       UInt l = uiAbsIdx;
    624       UInt k = 0;
    625       UInt uiPrefixThreshold = ((uiNumDepthValues * 3) >> 2);
    626       while ( l > 0 && k < uiPrefixThreshold )
    627       {
    628         m_pcBinIf->encodeBin( 1, m_cSDCResidualSCModel.get(0, 0, 0) );
    629         l--;
    630         k++;
    631       }
    632       if ( uiAbsIdx < uiPrefixThreshold )
    633       {
    634         m_pcBinIf->encodeBin( 0, m_cSDCResidualSCModel.get(0, 0, 0) );
    635       }     
    636       else
    637       { // suffix part
    638         uiAbsIdx -= uiPrefixThreshold;
    639         UInt uiSuffixLength = numBitsForValue(uiNumDepthValues - uiPrefixThreshold);
    640         UInt uiBitInfo = 0;
    641         for ( Int i = 0; i < uiSuffixLength; i++)
    642         {
    643           uiBitInfo = ( uiAbsIdx & ( 1 << i ) ) >> i;
    644           m_pcBinIf->encodeBinEP( uiBitInfo);
    645         }
    646       }
    647     }
    648    
    649   }
    650 }
    651 #endif
    652 #endif
    653561#endif
    654562
     
    717625  PartSize eSize         = pcCU->getPartitionSize( uiAbsPartIdx );
    718626#if H_3D_QTLPC
    719 #if MTK_I0099_VPS_EX2
    720627  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
    721628  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
    722 #else
    723   TComSPS *sps           = pcCU->getPic()->getSlice(0)->getSPS();
    724 #endif
    725629  TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
    726630  Bool bDepthMapDetect   = (pcTexture != NULL);
     
    731635  Bool depthDependent = false;
    732636  UInt uiTexturePart = eSize;
    733 #if MTK_I0099_VPS_EX2
    734 #if LGE_FCO_I0116
     637
     638#if H_3D_FCO
    735639  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && bLimQtPredFlag && pcTexture->getReconMark())
    736640#else
    737641  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && bLimQtPredFlag )
    738 #endif
    739 #else
    740   if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && sps->getUseQTL() && sps->getUsePC() )
    741642#endif
    742643  {
     
    1097998  Bool bCodeSplitFlag    = true;
    1098999
    1099 #if MTK_I0099_VPS_EX2
    11001000  TComVPS *vps           = pcCU->getPic()->getSlice(0)->getVPS();
    11011001  Bool    bLimQtPredFlag = vps->getLimQtPredFlag(pcCU->getPic()->getSlice(0)->getLayerId());
    1102 #else
    1103   TComSPS *sps           = pcCU->getPic()->getSlice(0)->getSPS();
    1104 #endif
    11051002  TComPic *pcTexture     = pcCU->getSlice()->getTexturePic();
    11061003  Bool bDepthMapDetect   = (pcTexture != NULL);
     
    11091006  Bool rapPic     = (pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_W_RADL || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_IDR_N_LP || pcCU->getSlice()->getNalUnitType() == NAL_UNIT_CODED_SLICE_CRA);
    11101007
    1111 #if MTK_I0099_VPS_EX2
    1112 #if LGE_FCO_I0116
     1008#if H_3D_FCO
    11131009  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && bLimQtPredFlag && pcTexture->getReconMark() )
    11141010#else
    11151011  if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && bLimQtPredFlag  )
    1116 #endif
    1117 #else
    1118   if(bDepthMapDetect && !bIntraSliceDetect && !rapPic && pcCU->getPic()->getReduceBitsFlag() && sps->getUseQTL() && sps->getUsePC())
    11191012#endif
    11201013  {
     
    11671060    dir[j] = pcCU->getLumaIntraDir( absPartIdx+partOffset*j );
    11681061#if H_3D_DIM
    1169 #if SEPARATE_FLAG_I0085
    11701062    if( pcCU->getSlice()->getVpsDepthModesFlag() ||  pcCU->getSlice()->getIVPFlag() )
    1171 #else
    1172     if( pcCU->getSlice()->getVpsDepthModesFlag() )
    1173 #endif
    11741063    {
    11751064      codeIntraDepth( pcCU, absPartIdx+partOffset*j );
     
    13171206    }
    13181207    //mode coding
    1319 #if SEPARATE_FLAG_I0085
    13201208    if( pcCU->getSlice()->getVpsDepthModesFlag() && pcCU->getSlice()->getIVPFlag())
    13211209    {
    13221210      m_pcBinIf->encodeBin( uiCodeIdx == 0 ? 0 : 1, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) );
    13231211    }
    1324 #else
    1325     m_pcBinIf->encodeBin( uiCodeIdx == 0 ? 0 : 1, m_cDepthIntraModeSCModel.get( 0, 0, 0 ) );
    1326 #endif
    13271212  }
    13281213}
     
    23682253  }
    23692254
    2370 #if HS_DMM_SIGNALLING_I0120
    23712255  UInt uiNumSegments = isDimMode( pcCU->getLumaIntraDir( absPartIdx ) ) ? 2 : 1;
    23722256  UInt dimDeltaDC = 1;
    2373 #else
    2374   UInt uiNumSegments = 0;
    2375   UInt dimDeltaDC = 0;
    2376 #endif
    2377 
    2378 #if HS_DMM_SIGNALLING_I0120
     2257
    23792258  if( pcCU->isIntra( absPartIdx ) && pcCU->getSDCFlag( absPartIdx ))
    23802259  {
    2381 #else
    2382   if( pcCU->isIntra( absPartIdx ) )
    2383   {
    2384     UInt dir     = pcCU->getLumaIntraDir( absPartIdx );
    2385     uiNumSegments = isDimMode( dir ) ? 2 : 1;
    2386 
    2387     if( pcCU->getSDCFlag( absPartIdx ) )
    2388     {
    2389 #endif
    23902260      if( uiNumSegments == 1 )
    23912261      {
     
    23962266        dimDeltaDC = ( pcCU->getSDCSegmentDCOffset( 0, absPartIdx ) || pcCU->getSDCSegmentDCOffset( 1, absPartIdx ) ) ? 1 : 0;
    23972267      }
    2398 #if !HS_DMM_SIGNALLING_I0120
    2399     }
    2400     else
    2401     {
    2402       dimDeltaDC = isDimDeltaDC( dir );
    2403     }
    2404 #endif
    24052268    m_pcBinIf->encodeBin( dimDeltaDC, m_cDdcFlagSCModel.get( 0, 0, 0 ) );
    24062269  }
    2407 #if !HS_DMM_SIGNALLING_I0120
    2408   else //all-zero inter SDC is not allowed
    2409   {
    2410     uiNumSegments = 1;
    2411     dimDeltaDC = 1;
    2412   }
    2413 #endif
    24142270
    24152271  if( dimDeltaDC )
     
    24472303Void TEncSbac::codeDBBPFlag( TComDataCU* pcCU, UInt uiAbsPartIdx )
    24482304{
    2449 #if SEC_DBBP_EXPLICIT_SIG_I0077
    24502305  PartSize ePartSize = pcCU->getPartitionSize( uiAbsPartIdx );
    24512306  AOF( ePartSize == SIZE_2NxN || ePartSize == SIZE_Nx2N );
    2452 #endif
    24532307  AOF( pcCU->getSlice()->getVPS()->getUseDBBP(pcCU->getSlice()->getLayerIdInVps()) );
    24542308  AOF( !pcCU->getSlice()->getIsDepth() );
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncSbac.h

    r1039 r1074  
    130130  Void  xCodeDmm1WedgeIdx    ( UInt uiTabIdx, Int iNumBit );
    131131#endif
    132 #if !FIX_TICKET_76
    133 #if H_3D_DIM_SDC
    134   Void  xCodeSDCResidualData ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiSegment );
    135 #endif
    136 #endif
    137132#endif
    138133 
     
    155150  Void codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx );
    156151  Void codeSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    157 #if MTK_SINGLE_DEPTH_MODE_I0095
     152#if H_3D_SINGLE_DEPTH
    158153  Void codeSingleDepthMode( TComDataCU* pcCU, UInt uiAbsPartIdx );
    159154#endif
     
    224219  ContextModel3DBuffer m_cCUSplitFlagSCModel;
    225220  ContextModel3DBuffer m_cCUSkipFlagSCModel;
    226 #if MTK_SINGLE_DEPTH_MODE_I0095
     221#if H_3D_SINGLE_DEPTH
    227222  ContextModel3DBuffer m_cCUSingleDepthFlagSCModel;
    228223  ContextModel3DBuffer m_cSingleDepthValueSCModel;
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncSearch.cpp

    r1066 r1074  
    915915        }
    916916        m_pcEntropyCoder->encodeSkipFlag( pcCU, 0, true );
    917 #if MTK_SINGLE_DEPTH_MODE_I0095
     917#if H_3D_SINGLE_DEPTH
    918918        m_pcEntropyCoder->encodeSingleDepthMode(pcCU, 0, true );
    919919        if(!pcCU->getSingleDepthFlag(uiAbsPartIdx))
     
    921921        m_pcEntropyCoder->encodePredMode( pcCU, 0, true );
    922922      }
    923 #if MTK_SINGLE_DEPTH_MODE_I0095
     923#if H_3D_SINGLE_DEPTH
    924924      else
    925925      {
     
    927927      }
    928928#endif     
    929 #if MTK_SINGLE_DEPTH_MODE_I0095
     929#if H_3D_SINGLE_DEPTH
    930930      if(!pcCU->getSingleDepthFlag(uiAbsPartIdx))
    931931      {
     
    945945        }
    946946      }
    947 #if MTK_SINGLE_DEPTH_MODE_I0095
    948     }
    949 #endif
    950     }
    951 #if MTK_SINGLE_DEPTH_MODE_I0095
     947#if H_3D_SINGLE_DEPTH
     948    }
     949#endif
     950    }
     951#if H_3D_SINGLE_DEPTH
    952952      if(!pcCU->getSingleDepthFlag(uiAbsPartIdx))
    953953      {
     
    995995    }
    996996  }
    997 #if MTK_SINGLE_DEPTH_MODE_I0095
     997#if H_3D_SINGLE_DEPTH
    998998    }
    999999#endif
     
    18591859  dRDCost  += dSingleCost;
    18601860}
    1861 #if MTK_SINGLE_DEPTH_MODE_I0095
     1861#if H_3D_SINGLE_DEPTH
    18621862Void TEncSearch::xIntraCodingSingleDepth( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Int iTestDepthIdx, Pel *DepthNeighbor )
    18631863{
     
    19701970      UInt dimType   = getDimType  ( uiLumaPredMode );
    19711971      UInt patternID = pcCU->getDmmWedgeTabIdx(dimType, uiAbsPartIdx);
    1972 #if SHARP_DMM1_I0110
    19731972      UInt uiBaseWidth = pcCU->isDMM1UpscaleMode(uiWidth) ? pcCU->getDMM1BasePatternWidth(uiWidth) : uiWidth;
    19741973      if ( patternID >= g_dmmWedgeLists[g_aucConvertToBit[uiBaseWidth]].size() && dimType == DMM1_IDX )
    1975 #else
    1976       if ( patternID >= g_dmmWedgeLists[g_aucConvertToBit[uiWidth]].size() && dimType == DMM1_IDX )
    1977 #endif
    1978       {
    1979 #if SHARP_DMM1_I0110
     1974      {
    19801975        if (g_aucConvertToBit[uiBaseWidth] == 2) // Encoder method. Avoid DMM1 pattern list index exceeds the maximum DMM1 pattern number when SDC split is used.
    1981 #else
    1982         if (g_aucConvertToBit[uiWidth] == 2) // Encoder method. Avoid DMM1 pattern list index exceeds the maximum DMM1 pattern number when SDC split is used.
    1983 #endif
    19841976        {                                   
    19851977          patternID = 1349;  // Split 32x32 to 16x16. 1349: Maximum DMM1 pattern number when block size is 16x16
     
    20432035    Int uiTabIdx = pcCU->getDmmWedgeTabIdx(DMM1_IDX, uiAbsPartIdx);
    20442036
    2045 #if SHARP_DMM1_I0110
    20462037    WedgeList* pacWedgeList  = pcCU->isDMM1UpscaleMode( uiWidth ) ? &g_dmmWedgeLists[(g_aucConvertToBit[pcCU->getDMM1BasePatternWidth(uiWidth)])] : &g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])];
    2047 #else
    2048     WedgeList* pacWedgeList = &g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])];
    2049 #endif
    20502038    TComWedgelet* pcWedgelet = &(pacWedgeList->at( uiTabIdx ));
    20512039
    20522040    uiNumSegments = 2;
    2053 #if SHARP_DMM1_I0110
    20542041    pbMask       = pcCU->isDMM1UpscaleMode( uiWidth ) ? pcWedgelet->getScaledPattern( uiWidth ) : pcWedgelet->getPattern();
    20552042    uiMaskStride = pcCU->isDMM1UpscaleMode( uiWidth ) ? uiWidth : pcWedgelet->getStride();
    2056 #else
    2057     pbMask = pcWedgelet->getPattern();
    2058     uiMaskStride = pcWedgelet->getStride();
    2059 #endif
    20602043  }
    20612044  if( getDimType( uiLumaPredMode ) == DMM4_IDX )
     
    28782861  pcCU->setChromIntraDirSubParts( uiBestMode, 0, pcCU->getDepth( 0 ) );
    28792862}
    2880 #if MTK_SINGLE_DEPTH_MODE_I0095
     2863#if H_3D_SINGLE_DEPTH
    28812864Void
    28822865TEncSearch::estIntraPredSingleDepth( TComDataCU* pcCU,
     
    29002883  Pel DepthNeighbours[5];
    29012884  //construction of depth candidates
    2902   for( Int i = 0; (i < 5)  && (index<MTK_SINGLE_DEPTH_MODE_CANDIDATE_LIST_SIZE) ; i++ )
     2885  for( Int i = 0; (i < 5)  && (index<SINGLE_DEPTH_MODE_CAND_LIST_SIZE) ; i++ )
    29032886  {
    29042887    if(!pcCU->getNeighDepth (0, 0, &testDepth, i))
     
    29832966                            UInt&       ruiDistC,
    29842967                            Bool        bLumaOnly
    2985 #if HHI_DMM4_ENC_I0066
     2968#if H_3D_DIM
    29862969                          , Bool        bOnlyIVP
    29872970#endif
     
    30323015    Int numModesForFullRD = g_aucIntraModeNumFast[ uiWidthBit ];
    30333016   
    3034 #if HHI_DMM4_ENC_I0066
     3017#if H_3D_DIM
    30353018    if( bOnlyIVP )
    30363019    {
     
    30803063        UInt   iModeBits = xModeBitsIntra( pcCU, uiMode, uiPU, uiPartOffset, uiDepth, uiInitTrDepth );
    30813064#if H_3D_VSO // M35
    3082 #if H_3D_VSO_FIX // This fix should be enabled after verification
    30833065        Double dLambda;
    30843066        if ( m_pcRdCost->getUseLambdaScaleVSO() )
     
    30923074
    30933075        Double cost      = (Double)uiSad + (Double)iModeBits * dLambda;
    3094 #else
    3095         Double cost      = (Double)uiSad + (Double)iModeBits * m_pcRdCost->getSqrtLambda();
    3096 #endif
    30973076#else
    30983077        Double cost      = (Double)uiSad + (Double)iModeBits * m_pcRdCost->getSqrtLambda();
     
    31353114      }
    31363115    }
    3137 #if HHI_DMM4_ENC_I0066
     3116#if H_3D_DIM
    31383117    }
    31393118#endif
     
    31433122    if( m_pcEncCfg->getIsDepth() && uiWidth >= DIM_MIN_SIZE && uiWidth <= DIM_MAX_SIZE && uiWidth == uiHeight )
    31443123    {
    3145 #if HHI_DMM4_ENC_I0066
    3146 #if SEPARATE_FLAG_I0085
    31473124      if( bOnlyIVP && m_pcEncCfg->getUseIVP() )
    3148 #else
    3149       if( bOnlyIVP )
    3150 #endif
    31513125      {
    31523126        TComWedgelet* dmm4Segmentation = new TComWedgelet( uiWidth, uiHeight );
     
    31583132        pcCU->setDimDeltaDC( DMM4_IDX, 1, uiPartOffset, deltaDC2 );
    31593133
    3160 #if HS_DMM_SIGNALLING_I0120
    31613134        uiRdModeList[ numModesForFullRD++ ] = (DMM4_IDX+DIM_OFFSET);
    3162 #else
    3163         uiRdModeList[ numModesForFullRD++ ] = (2*DMM4_IDX  +DIM_OFFSET);
    3164         if( deltaDC1 != 0 || deltaDC2 != 0 )
    3165           uiRdModeList[ numModesForFullRD++ ] = (2*DMM4_IDX+1+DIM_OFFSET);
    3166 #endif
    31673135        dmm4Segmentation->destroy(); delete dmm4Segmentation;
    31683136      }
    31693137      else
    31703138      {
    3171 #endif
    31723139#if H_3D_FAST_DEPTH_INTRA
    31733140      Int  threshold    = max(((pcCU->getQP(0))>>3)-1,3);
     
    31773144
    31783145#if H_3D_DIM_DMM
    3179 #if SEPARATE_FLAG_I0085
    31803146      if( ( m_pcEncCfg->getUseDMM() || m_pcEncCfg->getUseIVP() )
    3181 #else
    3182       if( m_pcEncCfg->getUseDMM()
    3183 #endif
    31843147#if H_3D_FAST_DEPTH_INTRA
    31853148         && (uiRdModeList[0] != PLANAR_IDX || varCU >= varThreshold)
     
    31873150        )
    31883151      {
    3189 #if SEPARATE_FLAG_I0085
    31903152        UInt uiStart, uiEnd;
    31913153        if( m_pcEncCfg->getUseDMM() &&  m_pcEncCfg->getUseIVP() )
     
    32103172        }
    32113173        for( UInt dmmType = uiStart; dmmType < uiEnd; dmmType++ )
    3212 #else
    3213         for( UInt dmmType = 0; dmmType < DMM_NUM_TYPE; dmmType++ )
    3214 #endif
    32153174        {
    32163175#if H_3D_FCO
    32173176            TComPic* picTexture  = pcCU->getSlice()->getIvPic(false, pcCU->getSlice()->getViewIndex() );
    3218 #if LGE_FCO_I0116
     3177#if H_3D_FCO
    32193178            if ( !picTexture->getReconMark() && (DMM4_IDX == dmmType ) )
    32203179#else
     
    32343193              xSearchDmm1Wedge( pcCU, uiPartOffset, piOrg, uiStride, uiWidth, uiHeight, uiTabIdx );
    32353194              pcCU->setDmmWedgeTabIdxSubParts( uiTabIdx, dmmType,  uiPartOffset, uiDepth + uiInitTrDepth );
    3236 #if SHARP_DMM1_I0110
    32373195              biSegmentation = pcCU->isDMM1UpscaleMode( uiWidth ) ?
    32383196                  &(g_dmmWedgeLists[(g_aucConvertToBit[pcCU->getDMM1BasePatternWidth(uiWidth)])][uiTabIdx]) : &(g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])][uiTabIdx]);
    3239 #else
    3240               biSegmentation = &(g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])][uiTabIdx]);
    3241 #endif
    32423197            } break;
    32433198
     
    32543209          if( biSegmentation )
    32553210          {
    3256 #if SHARP_DMM1_I0110
    32573211            if( dmmType == DMM1_IDX && pcCU->isDMM1UpscaleMode( uiWidth ) ){
    32583212                xSearchDmmDeltaDCs( pcCU, uiPartOffset, piOrg, piPred, uiStride, biSegmentation->getScaledPattern(uiWidth), uiWidth, uiWidth, uiHeight, deltaDC1, deltaDC2 );
     
    32623216                xSearchDmmDeltaDCs( pcCU, uiPartOffset, piOrg, piPred, uiStride, biSegmentation->getPattern(), biSegmentation->getStride(), uiWidth, uiHeight, deltaDC1, deltaDC2 );
    32633217            }
    3264 #else
    3265             xSearchDmmDeltaDCs( pcCU, uiPartOffset, piOrg, piPred, uiStride, biSegmentation->getPattern(), biSegmentation->getStride(), uiWidth, uiHeight, deltaDC1, deltaDC2 );
    3266 #endif
    32673218            pcCU->setDimDeltaDC( dmmType, 0, uiPartOffset, deltaDC1 );
    32683219            pcCU->setDimDeltaDC( dmmType, 1, uiPartOffset, deltaDC2 );
    32693220
    3270 #if HS_DMM_SIGNALLING_I0120
    32713221            uiRdModeList[ numModesForFullRD++ ] = (dmmType  +DIM_OFFSET);
    3272 #else
    3273             uiRdModeList[ numModesForFullRD++ ] = (2*dmmType  +DIM_OFFSET);
    3274 #if HHI_DMM4_ENC_I0066
    3275             if( deltaDC1 != 0 || deltaDC2 != 0 )
    3276 #endif
    3277             uiRdModeList[ numModesForFullRD++ ] = (2*dmmType+1+DIM_OFFSET);
    3278 #endif
    3279 
    32803222            if( DMM4_IDX == dmmType ) { biSegmentation->destroy(); delete biSegmentation; }
    32813223          }
    32823224        }
    32833225      }
    3284 #if HHI_DMM4_ENC_I0066
     3226#if H_3D_DIM
    32853227      }
    32863228#endif
     
    32953237   
    32963238    UInt    uiBestPUMode  = 0;
    3297 #if SCU_HS_FAST_INTRA_SDC_I0123
     3239#if H_3D_FAST_INTRA_SDC
    32983240    UInt    uiBestPUModeConv  = 0;
    32993241    UInt    uiSecondBestPUModeConv  = 0;
     
    33093251    Double  dBestPUCost   = MAX_DOUBLE;
    33103252
    3311 #if SCU_HS_FAST_INTRA_SDC_I0123
     3253#if H_3D_FAST_INTRA_SDC
    33123254    Double  dBestPUCostConv   = MAX_DOUBLE;
    33133255    UInt varCU      = m_pcRdCost->calcVAR(piOrg, uiStride, uiWidth,uiHeight,pcCU->getDepth(0));
     
    33193261    Pel     apBestDCOffsets[2] = {0,0};
    33203262#endif
    3321 #if SCU_HS_FAST_INTRA_SDC_I0123
     3263#if H_3D_FAST_INTRA_SDC
    33223264    for( UInt uiMode = 0; uiMode < numModesForFullRD + rdSDC; uiMode++ )
    33233265#else
     
    33263268    {
    33273269      // set luma prediction mode
    3328 #if !SCU_HS_FAST_INTRA_SDC_I0123
     3270#if !H_3D_FAST_INTRA_SDC
    33293271     UInt uiOrgMode = uiRdModeList[uiMode]; 
    33303272#endif
    33313273     
    3332 #if SCU_HS_FAST_INTRA_SDC_I0123
     3274#if H_3D_FAST_INTRA_SDC
    33333275      UInt uiOrgMode;
    33343276      if (uiMode < numModesForFullRD)
     
    33563298     
    33573299#if H_3D_DIM_SDC
    3358 #if SCU_HS_FAST_INTRA_SDC_I0123
     3300#if H_3D_FAST_INTRA_SDC
    33593301      Bool bTestSDC = ( m_pcEncCfg->getUseSDC() && pcCU->getSDCAvailable(uiPartOffset) && uiMode >= numModesForFullRD);
    33603302#else
     
    33643306      for( UInt uiSDC=0; uiSDC<=(bTestSDC?1:0); uiSDC++ )
    33653307      {
    3366 #if SCU_HS_FAST_INTRA_SDC_I0123
     3308#if H_3D_FAST_INTRA_SDC
    33673309        if (!uiSDC && uiMode >= numModesForFullRD) continue;
    33683310#endif
    33693311        pcCU->setSDCFlagSubParts( (uiSDC != 0), uiPartOffset, uiDepth + uiInitTrDepth );
    3370 #if FAST_SDC_OFFSET_DECISION_I0084
    33713312        Double dOffsetCost[3] = {MAX_DOUBLE,MAX_DOUBLE,MAX_DOUBLE};
    33723313        for( Int iOffset = 1; iOffset <= 5; iOffset++ )
    3373 #else
    3374         for( Int iSDCDeltaResi = -2; iSDCDeltaResi <= 2; iSDCDeltaResi++ )
    3375 #endif
    3376         {
    3377 #if FAST_SDC_OFFSET_DECISION_I0084
     3314        {
    33783315          Int iSDCDeltaResi = 0;
    33793316          if(iOffset % 2 == 0)
     
    33853322            iSDCDeltaResi = -1 * (iOffset >> 1);
    33863323          }
    3387 #endif
    33883324          if( ( uiSDC == 0 ) && iSDCDeltaResi != 0 )
    33893325          {
    33903326            continue;
    33913327          }
    3392 #if FAST_SDC_OFFSET_DECISION_I0084
    33933328          if( iOffset > 3)
    33943329          {
     
    34073342          }
    34083343#endif
    3409 #endif
    34103344     
    34113345#if H_3D_DIM_ENC || H_3D_DIM_SDC
     
    34523386          // start encoding with SDC
    34533387          xIntraCodingSDC(pcCU, uiPartOffset, pcOrgYuv, pcPredYuv, uiPUDistY, dPUCost, ( testZeroResi != 0 ), iSDCDeltaResi );
    3454 #if FAST_SDC_OFFSET_DECISION_I0084
    34553388          if ( testZeroResi == 0 && iOffset <= 3 )
    34563389          {
    34573390            dOffsetCost [iOffset -1] = dPUCost;
    34583391          }
    3459 #endif
    34603392        }
    34613393        else
     
    34653397#if H_3D_DIM_ENC
    34663398          xRecurIntraCodingQT( pcCU, uiInitTrDepth, uiPartOffset, bLumaOnly, pcOrgYuv, pcPredYuv, pcResiYuv, uiPUDistY, uiPUDistC, true, dPUCost, (testZeroResi != 0) );
    3467 #if SCU_HS_FAST_INTRA_SDC_I0123   
     3399#if H_3D_FAST_INTRA_SDC   
    34683400      if( dPUCost < dBestPUCostConv )
    34693401      {
     
    40173949#if H_3D_VSP
    40183950                                 , Int* vspFlag
    4019 #if !FIX_TICKET_79
    4020                                  , InheritedVSPDisInfo*  inheritedVSPDisInfo
    4021 #endif
    40223951#endif
    40233952#if H_3D_SPIVMP
     
    40794008      pcCU->getInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand);
    40804009      pcCU->xGetInterMergeCandidates( 0, 0, cMvFieldNeighbours,uhInterDirNeighbours
    4081 #if H_3D_VSP && !FIX_TICKET_79
    4082                                         , inheritedVSPDisInfo
    4083 #endif
    40844010#if H_3D_SPIVMP
    40854011        , pcMvFieldSP, puhInterDirSP
     
    41094035    pcCU->getInterMergeCandidates( uiAbsPartIdx, iPUIdx, cMvFieldNeighbours,uhInterDirNeighbours, numValidMergeCand);
    41104036    pcCU->xGetInterMergeCandidates( uiAbsPartIdx, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours
    4111 #if H_3D_VSP && !FIX_TICKET_79
    4112                                       , inheritedVSPDisInfo
    4113 #endif
    41144037#if H_3D_SPIVMP
    41154038      , pcMvFieldSP, puhInterDirSP
     
    41324055#endif
    41334056  }
    4134 #if H_3D_VSP && !FIX_TICKET_75
    4135   xRestrictBipredMergeCand( pcCU, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours,vspFlag, numValidMergeCand );
    4136 #else
    41374057  xRestrictBipredMergeCand( pcCU, iPUIdx, cMvFieldNeighbours, uhInterDirNeighbours, numValidMergeCand );
    4138 #endif
    41394058
    41404059#if H_3D_DBBP
     
    41644083#if H_3D_VSP
    41654084    pcCU->setVSPFlagSubParts( vspFlag[uiMergeCand], uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) );
    4166 #if !FIX_TICKET_79
    4167     pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMergeCand].m_acDvInfo, uiAbsPartIdx, iPUIdx, pcCU->getDepth( uiAbsPartIdx ) );
    4168 #endif
    41694085#endif
    41704086
     
    42664182 * \returns Void
    42674183 */
    4268 #if H_3D_VSP && !FIX_TICKET_75
    4269 Void TEncSearch::xRestrictBipredMergeCand( TComDataCU* pcCU, UInt puIdx, TComMvField* mvFieldNeighbours, UChar* interDirNeighbours, Int* vspFlag, Int numValidMergeCand )
    4270 #else
    42714184Void TEncSearch::xRestrictBipredMergeCand( TComDataCU* pcCU, UInt puIdx, TComMvField* mvFieldNeighbours, UChar* interDirNeighbours, Int numValidMergeCand )
    4272 #endif
    42734185{
    42744186  if ( pcCU->isBipredRestriction(puIdx) )
     
    42764188    for( UInt mergeCand = 0; mergeCand < numValidMergeCand; ++mergeCand )
    42774189    {
    4278 #if H_3D_VSP && !FIX_TICKET_75
    4279       if ( (interDirNeighbours[mergeCand] == 3) && (vspFlag[mergeCand] == false) )
    4280 #else
    42814190      if ( interDirNeighbours[mergeCand] == 3 )
    4282 #endif
    42834191      {
    42844192        interDirNeighbours[mergeCand] = 1;
     
    49024810      Int vspFlag[MRG_MAX_NUM_CANDS_MEM];
    49034811      memset(vspFlag, 0, sizeof(Int)*MRG_MAX_NUM_CANDS_MEM);
    4904 #if !FIX_TICKET_79
    4905       InheritedVSPDisInfo inheritedVSPDisInfo[MRG_MAX_NUM_CANDS_MEM];
    4906 #endif
    49074812      UInt uiAbsPartIdx = 0;
    49084813      Int iWidth = 0;
     
    49224827#if H_3D_VSP
    49234828                      , vspFlag
    4924 #if !FIX_TICKET_79
    4925                       , inheritedVSPDisInfo
    4926 #endif
    49274829#endif
    49284830#if H_3D_SPIVMP
     
    49384840#if H_3D_VSP
    49394841        pcCU->setVSPFlagSubParts( vspFlag[uiMRGIndex], uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
    4940 #if !FIX_TICKET_79
    4941         pcCU->setDvInfoSubParts(inheritedVSPDisInfo[uiMRGIndex].m_acDvInfo, uiPartAddr, iPartIdx, pcCU->getDepth( uiPartAddr ) );
    4942 #endif
    49434842#endif
    49444843#if H_3D_DDD
     
    73887287    }
    73897288    m_pcEntropyCoder->encodeSkipFlag ( pcCU, 0, true );
    7390 #if MTK_SINGLE_DEPTH_MODE_I0095
     7289#if H_3D_SINGLE_DEPTH
    73917290    m_pcEntropyCoder->encodeSingleDepthMode ( pcCU, 0, true );
    73927291#endif
     
    78457744
    78467745  Pel refDC1 = 0; Pel refDC2 = 0;
    7847 #if SHARP_DMM1_I0110
    78487746  WedgeList*     pacWedgeList     = pcCU->isDMM1UpscaleMode( uiWidth ) ? &g_dmmWedgeLists[(g_aucConvertToBit[pcCU->getDMM1BasePatternWidth(uiWidth)])] : &g_dmmWedgeLists[(g_aucConvertToBit[uiWidth])];
    78497747  WedgeNodeList* pacWedgeNodeList = pcCU->isDMM1UpscaleMode( uiWidth ) ? &g_dmmWedgeNodeLists[(g_aucConvertToBit[pcCU->getDMM1BasePatternWidth(uiWidth)])] : &g_dmmWedgeNodeLists[(g_aucConvertToBit[uiWidth])];
    7850 #else
    7851   WedgeList*     pacWedgeList     = &g_dmmWedgeLists    [(g_aucConvertToBit[uiWidth])];
    7852   WedgeNodeList* pacWedgeNodeList = &g_dmmWedgeNodeLists[(g_aucConvertToBit[uiWidth])];
    7853 #endif
    78547748
    78557749  // coarse wedge search
     
    78597753  {
    78607754    TComWedgelet* pcWedgelet = &(pacWedgeList->at(pacWedgeNodeList->at(uiNodeId).getPatternIdx()));
    7861 #if SHARP_DMM1_I0110
    78627755    Bool *pbPattern = pcCU->isDMM1UpscaleMode(uiWidth) ? pcWedgelet->getScaledPattern(uiWidth) : pcWedgelet->getPattern();
    78637756    UInt uiStride   = pcCU->isDMM1UpscaleMode(uiWidth) ? uiWidth : pcWedgelet->getStride();
    78647757    xCalcBiSegDCs  ( piRef,  uiRefStride,  pbPattern, uiStride, refDC1, refDC2 );
    78657758    xAssignBiSegDCs( piPred, uiPredStride, pbPattern, uiStride, refDC1, refDC2 );
    7866 #else
    7867     xCalcBiSegDCs  ( piRef,  uiRefStride,  pcWedgelet->getPattern(), pcWedgelet->getStride(), refDC1, refDC2 );
    7868     xAssignBiSegDCs( piPred, uiPredStride, pcWedgelet->getPattern(), pcWedgelet->getStride(), refDC1, refDC2 );
    7869 #endif
    78707759
    78717760    Dist uiActDist = RDO_DIST_MAX;
     
    79037792    {
    79047793      TComWedgelet* pcWedgelet = &(pacWedgeList->at(pacWedgeNodeList->at(uiBestNodeId).getRefineIdx( uiRefId )));
    7905 #if SHARP_DMM1_I0110
    79067794      Bool *pbPattern = pcCU->isDMM1UpscaleMode(uiWidth) ? pcWedgelet->getScaledPattern(uiWidth) : pcWedgelet->getPattern();
    79077795      UInt uiStride   = pcCU->isDMM1UpscaleMode(uiWidth) ? uiWidth : pcWedgelet->getStride();
    79087796      xCalcBiSegDCs  ( piRef,  uiRefStride,  pbPattern, uiStride, refDC1, refDC2 );
    79097797      xAssignBiSegDCs( piPred, uiPredStride, pbPattern, uiStride, refDC1, refDC2 );
    7910 #else
    7911       xCalcBiSegDCs  ( piRef,  uiRefStride,  pcWedgelet->getPattern(), pcWedgelet->getStride(), refDC1, refDC2 );
    7912       xAssignBiSegDCs( piPred, uiPredStride, pcWedgelet->getPattern(), pcWedgelet->getStride(), refDC1, refDC2 );
    7913 #endif
    79147798      Dist uiActDist = RDO_DIST_MAX;
    79157799#if H_3D_VSO
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncSearch.h

    r1039 r1074  
    181181                                  UInt&       ruiDistC,
    182182                                  Bool        bLumaOnly
    183 #if HHI_DMM4_ENC_I0066
     183#if H_3D_DIM
    184184                                , Bool        bOnlyIVP
    185185#endif
     
    191191                                  TComYuv*    pcRecoYuv,
    192192                                  UInt        uiPreCalcDistC );
    193 #if MTK_SINGLE_DEPTH_MODE_I0095
     193#if H_3D_SINGLE_DEPTH
    194194  Void  estIntraPredSingleDepth  ( TComDataCU* pcCU,
    195195                                  TComYuv*    pcOrgYuv,
     
    354354                                    UInt         uiAbsPartIdx,
    355355                                    UInt         stateU0V1Both2 );
    356 #if MTK_SINGLE_DEPTH_MODE_I0095
     356#if H_3D_SINGLE_DEPTH
    357357  Void xIntraCodingSingleDepth( TComDataCU* pcCU, UInt uiAbsPartIdx, TComYuv* pcOrgYuv, TComYuv* pcPredYuv, Dist& ruiDist, Double& dRDCost, Int iTestDepthIdx, Pel * DepthNeighbor );
    358358#endif
     
    429429#if H_3D_VSP
    430430                                  , Int* vspFlag
    431 #if !FIX_TICKET_79
    432                                   , InheritedVSPDisInfo*  inheritedVSPDisInfo
    433 #endif
    434431#endif
    435432#if H_3D_SPIVMP
     
    443440                                    TComMvField*    mvFieldNeighbours,
    444441                                    UChar*          interDirNeighbours,
    445 #if H_3D_VSP && !FIX_TICKET_75
    446                                     Int* vspFlag,
    447 #endif
    448442                                    Int             numValidMergeCand );
    449443
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncTop.cpp

    r1066 r1074  
    8989  m_ivPicLists = NULL;
    9090#endif
    91 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
     91#if H_3D_IC
    9292  m_aICEnableCandidate = NULL;
    9393  m_aICEnableNum = NULL;
     
    370370
    371371  xInitPPSforTiles();
    372 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
     372#if H_3D_IC
    373373  m_aICEnableCandidate = new Int[ 10 ];
    374374  m_aICEnableNum = new Int[ 10 ];
     
    828828
    829829  m_cSPS.setUseAMP ( m_useAMP );
    830 
    831 #if !MTK_I0099_VPS_EX2
    832 #if H_3D_QTLPC
    833   m_cSPS.setUseQTL( m_bUseQTL );
    834   m_cSPS.setUsePC ( m_bUsePC  );
    835 #endif
    836 #endif
    837830
    838831  for (i = g_uiMaxCUDepth-g_uiAddCUDepth; i < g_uiMaxCUDepth; i++ )
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncTop.h

    r1066 r1074  
    8080  TComPicLists*           m_ivPicLists;                   ///< access to picture lists of other layers
    8181#endif
    82 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
     82#if H_3D_IC
    8383  Int *m_aICEnableCandidate;
    8484  Int *m_aICEnableNum;
     
    209209  TComPicLists* getIvPicLists() { return m_ivPicLists; }
    210210#endif
    211 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
    212   Int *getICEnableCandidate() { return m_aICEnableCandidate; }
    213   Int *getICEnableNum() { return m_aICEnableNum; }
     211#if H_3D_IC
     212  Int*      getICEnableCandidate() { return m_aICEnableCandidate; }
     213  Int*      getICEnableNum() { return m_aICEnableNum; }
    214214#endif
    215215  Void      deletePicBuffer ();
     
    272272  Void                    setIvPicLists         ( TComPicLists* picLists) { m_ivPicLists = picLists; }
    273273#endif
    274 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX
     274#if H_3D_IC
    275275  Void                    setICEnableCandidate         ( Int* ICEnableCandidate) { m_aICEnableCandidate = ICEnableCandidate; }
    276276  Void                    setICEnableNum         ( Int* ICEnableNum) { m_aICEnableNum = ICEnableNum; }
Note: See TracChangeset for help on using the changeset viewer.