Ignore:
Timestamp:
10 Nov 2012, 19:05:41 (12 years ago)
Author:
rwth
Message:
  • added RWTH_B0036 (SDC+DLT)
Location:
branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/ContextTables.h

    r156 r177  
    163163#endif
    164164
     165#if RWTH_SDC_DLT_B0036
     166#define SDC_NUM_FLAG_CTX                 3
     167#define SDC_NUM_RESIDUAL_FLAG_CTX        1
     168#define SDC_NUM_SIGN_FLAG_CTX            1
     169#define SDC_NUM_RESIDUAL_CTX             10
     170
     171#define SDC_NUM_PRED_MODE_CTX            5
     172#endif
     173
    165174// ====================================================================================================================
    166175// Tables
     
    13281337#endif
    13291338
     1339#if RWTH_SDC_DLT_B0036
     1340static const Short INIT_SDC_FLAG[3][SDC_NUM_FLAG_CTX][2] =
     1341{
     1342  {
     1343    {    0,   64 }, {    0,   64 }, {    0,   64 }
     1344  },
     1345  {
     1346    {    0,   64 }, {    0,   64 }, {    0,   64 }
     1347  },
     1348  {
     1349    {    0,   64 }, {    0,   64 }, {    0,   64 }
     1350  }
     1351};
     1352
     1353static const Short INIT_SDC_RESIDUAL_FLAG[3][3*SDC_NUM_RESIDUAL_FLAG_CTX][2] =
     1354{
     1355  {
     1356    { -5, 35 },
     1357    { -0, 56 },
     1358    { -0, 56 }
     1359   
     1360  },
     1361  {
     1362    { -5, 35 },
     1363    { -0, 56 },
     1364    { -0, 56 }
     1365  },
     1366  {
     1367    { -5, 35 },
     1368    { -0, 56 },
     1369    { -0, 56 }
     1370  }
     1371};
     1372
     1373static const Short INIT_SDC_SIGN_FLAG[3][3*SDC_NUM_SIGN_FLAG_CTX][2] =
     1374{
     1375  {
     1376    { -1, 56 },
     1377    { -4, 55 },
     1378    { -4, 55 }
     1379  },
     1380  {
     1381    { -1, 56 },
     1382    { -4, 55 },
     1383    { -4, 55 }
     1384  },
     1385  {
     1386    { -1, 56 },
     1387    { -4, 55 },
     1388    { -4, 55 }
     1389  }
     1390};
     1391
     1392static const Short INIT_SDC_RESIDUAL[3][3*SDC_NUM_RESIDUAL_CTX][2] =
     1393{
     1394  {
     1395    { -1, 64 }, {  2, 64 }, {  6, 67 }, {  8, 61 }, {  7, 47 }, { 10, 33 }, { 12, 14 }, { 33, -13 }, { 12, 14 }, { 33, -13 },
     1396    {  2, 66 }, { -0, 63 }, {  1, 64 }, {  6, 65 }, {  7, 59 }, { 12, 50 }, { 14, 27 }, { -0, -17 }, { 14, 27 }, { -0, -17 },
     1397    {  2, 66 }, { -0, 63 }, {  1, 64 }, {  6, 65 }, {  7, 59 }, { 12, 50 }, { 14, 27 }, { -0, -17 }, { 14, 27 }, { -0, -17 }
     1398  },
     1399  {
     1400    { -1, 64 }, {  2, 64 }, {  6, 67 }, {  8, 61 }, {  7, 47 }, { 10, 33 }, { 12, 14 }, { 33, -13 }, { 12, 14 }, { 33, -13 },
     1401    {  2, 66 }, { -0, 63 }, {  1, 64 }, {  6, 65 }, {  7, 59 }, { 12, 50 }, { 14, 27 }, { -0, -17 }, { 14, 27 }, { -0, -17 },
     1402    {  2, 66 }, { -0, 63 }, {  1, 64 }, {  6, 65 }, {  7, 59 }, { 12, 50 }, { 14, 27 }, { -0, -17 }, { 14, 27 }, { -0, -17 }
     1403  },
     1404  {
     1405    { -1, 64 }, {  2, 64 }, {  6, 67 }, {  8, 61 }, {  7, 47 }, { 10, 33 }, { 12, 14 }, { 33, -13 }, { 12, 14 }, { 33, -13 },
     1406    {  2, 66 }, { -0, 63 }, {  1, 64 }, {  6, 65 }, {  7, 59 }, { 12, 50 }, { 14, 27 }, { -0, -17 }, { 14, 27 }, { -0, -17 },
     1407    {  2, 66 }, { -0, 63 }, {  1, 64 }, {  6, 65 }, {  7, 59 }, { 12, 50 }, { 14, 27 }, { -0, -17 }, { 14, 27 }, { -0, -17 }
     1408  }
     1409};
     1410
     1411static const Short INIT_SDC_PRED_MODE[3][3*SDC_NUM_PRED_MODE_CTX][2] =
     1412{
     1413  {
     1414    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 },
     1415    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 },
     1416    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 }
     1417  },
     1418  {
     1419    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 },
     1420    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 },
     1421    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 }
     1422  },
     1423  {
     1424    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 },
     1425    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 },
     1426    {  9, 85 }, { -4, 60 }, {  4, 70 }, {  4, 70 }, {  4, 70 }
     1427  }
     1428};
     1429#endif
     1430
    13301431//! \}
    13311432
  • branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/TComDataCU.cpp

    r161 r177  
    158158#endif
    159159#endif
     160#if RWTH_SDC_DLT_B0036
     161  m_pbSDCFlag           = NULL;
     162  m_apSegmentDCOffset[0] = NULL;
     163  m_apSegmentDCOffset[1] = NULL;
     164#endif
    160165#if OL_DEPTHLIMIT_A0044
    161166  //add a variable to store the partition information
     
    208213    memset( m_pePartSize, SIZE_NONE,uiNumPartition * sizeof( *m_pePartSize ) );
    209214    m_pePredMode         = new Char[ uiNumPartition ];
     215   
     216#if RWTH_SDC_DLT_B0036
     217    m_pbSDCFlag          = (Bool*  )xMalloc(Bool,   uiNumPartition);
     218    m_apSegmentDCOffset[0] = (Pel*)xMalloc(Pel, uiNumPartition);
     219    m_apSegmentDCOffset[1] = (Pel*)xMalloc(Pel, uiNumPartition);
     220#endif
    210221   
    211222    m_puiAlfCtrlFlag     = new Bool[ uiNumPartition ];
     
    355366#endif
    356367    if ( m_pePredMode         ) { delete[] m_pePredMode;        m_pePredMode        = NULL; }
     368#if RWTH_SDC_DLT_B0036
     369    if ( m_pbSDCFlag          ) { xFree(m_pbSDCFlag);      m_pbSDCFlag    = NULL; }
     370    if ( m_apSegmentDCOffset[0]          ) { xFree(m_apSegmentDCOffset[0]);      m_apSegmentDCOffset[0]    = NULL; }
     371    if ( m_apSegmentDCOffset[1]          ) { xFree(m_apSegmentDCOffset[1]);      m_apSegmentDCOffset[1]    = NULL; }
     372#endif
    357373    if ( m_puhCbf[0]          ) { xFree(m_puhCbf[0]);           m_puhCbf[0]         = NULL; }
    358374    if ( m_puhCbf[1]          ) { xFree(m_puhCbf[1]);           m_puhCbf[1]         = NULL; }
     
    546562    m_piTextureModeDepth[ui] = pcFrom->getTextureModeDepth(ui);
    547563#endif
     564#if RWTH_SDC_DLT_B0036
     565    m_pbSDCFlag[ui] = pcFrom->getSDCFlag(ui);
     566#endif
    548567    m_puhWidth  [ui] = pcFrom->getWidth(ui);
    549568    m_puhHeight [ui] = pcFrom->getHeight(ui);
     
    581600    memset( m_piTextureModeDepth+ firstElement,-1,                        numElements * sizeof( *m_piTextureModeDepth ) );
    582601#endif
     602#if RWTH_SDC_DLT_B0036
     603    memset( m_pbSDCFlag        + firstElement,     0,                     numElements * sizeof( *m_pbSDCFlag ) );
     604    memset( m_apSegmentDCOffset[0]        + firstElement,     0,                     numElements * sizeof( *m_apSegmentDCOffset[0] ) );
     605    memset( m_apSegmentDCOffset[1]        + firstElement,     0,                     numElements * sizeof( *m_apSegmentDCOffset[1] ) );
     606#endif
    583607    memset( m_puhTrIdx          + firstElement, 0,                        numElements * sizeof( *m_puhTrIdx ) );
    584608    memset( m_nsqtPartIdx       + firstElement, 0,                        numElements * sizeof( *m_nsqtPartIdx) );
     
    810834    m_piContourPredTexDeltaDC2[ui] = 0;
    811835#endif
     836#if RWTH_SDC_DLT_B0036
     837    m_pbSDCFlag[ui] = false;
     838    m_apSegmentDCOffset[0][ui] = 0;
     839    m_apSegmentDCOffset[1][ui] = 0;
     840#endif
    812841    }
    813842  }
     
    922951  memset( m_piContourPredTexDeltaDC1, 0, sizeof( Int  ) * m_uiNumPartition );
    923952  memset( m_piContourPredTexDeltaDC2, 0, sizeof( Int  ) * m_uiNumPartition );
    924 #endif   
     953#endif   
     954#if RWTH_SDC_DLT_B0036
     955  memset( m_pbSDCFlag,     0, sizeof(Bool) * m_uiNumPartition  );
     956  memset( m_apSegmentDCOffset[0],     0, sizeof(Pel) * m_uiNumPartition);
     957  memset( m_apSegmentDCOffset[1],     0, sizeof(Pel) * m_uiNumPartition);
     958#endif
    925959
    926960  UChar uhWidth  = g_uiMaxCUWidth  >> uiDepth;
     
    9931027      m_pbResPredFlag     [ui] = pcCU->m_pbResPredFlag     [ uiPartOffset + ui ];
    9941028#endif
     1029#if RWTH_SDC_DLT_B0036
     1030      m_pbSDCFlag         [ui] = pcCU->m_pbSDCFlag         [ uiPartOffset + ui ];
     1031      m_apSegmentDCOffset[0][ui] = pcCU->m_apSegmentDCOffset[0][ uiPartOffset + ui ];
     1032      m_apSegmentDCOffset[1][ui] = pcCU->m_apSegmentDCOffset[1][ uiPartOffset + ui ];
     1033#endif
    9951034    }
    9961035  }
     
    12021241  }
    12031242#endif
     1243#if RWTH_SDC_DLT_B0036
     1244  m_pbSDCFlag               = pcCU->getSDCFlag()            + uiPart;
     1245  m_apSegmentDCOffset[0]    = pcCU->getSDCSegmentDCOffset(0) + uiPart;
     1246  m_apSegmentDCOffset[1]    = pcCU->getSDCSegmentDCOffset(1) + uiPart;
     1247#endif
    12041248}
    12051249
     
    13841428  memcpy( m_piTextureModeDepth + uiOffset, pcCU->getTextureModeDepth(), sizeof( Int ) * uiNumPartition );
    13851429#endif
     1430#if RWTH_SDC_DLT_B0036
     1431  memcpy( m_pbSDCFlag     + uiOffset, pcCU->getSDCFlag(),      iSizeInBool  );
     1432  memcpy( m_apSegmentDCOffset[0]     + uiOffset, pcCU->getSDCSegmentDCOffset(0), sizeof( Pel ) * uiNumPartition);
     1433  memcpy( m_apSegmentDCOffset[1]     + uiOffset, pcCU->getSDCSegmentDCOffset(1), sizeof( Pel ) * uiNumPartition);
     1434#endif
    13861435}
    13871436
     
    15051554  memcpy( rpcCU->getTextureModeDepth() + m_uiAbsIdxInLCU, m_piTextureModeDepth, sizeof( Int ) * m_uiNumPartition );
    15061555#endif
     1556#if RWTH_SDC_DLT_B0036
     1557  memcpy( rpcCU->getSDCFlag() + m_uiAbsIdxInLCU, m_pbSDCFlag,      iSizeInBool  );
     1558  memcpy( rpcCU->getSDCSegmentDCOffset(0) + m_uiAbsIdxInLCU, m_apSegmentDCOffset[0], sizeof( Pel ) * m_uiNumPartition);
     1559  memcpy( rpcCU->getSDCSegmentDCOffset(1) + m_uiAbsIdxInLCU, m_apSegmentDCOffset[1], sizeof( Pel ) * m_uiNumPartition);
     1560#endif
    15071561}
    15081562
     
    16261680#if HHI_MPI
    16271681  memcpy( rpcCU->getTextureModeDepth() + uiPartOffset, m_piTextureModeDepth, sizeof( Int ) * uiQNumPart  );
     1682#endif
     1683#if RWTH_SDC_DLT_B0036
     1684  memcpy( rpcCU->getSDCFlag() + uiPartOffset, m_pbSDCFlag,      iSizeInBool  );
     1685  memcpy( rpcCU->getSDCSegmentDCOffset(0) + uiPartOffset, m_apSegmentDCOffset[0], sizeof( Pel ) * uiQNumPart);
     1686  memcpy( rpcCU->getSDCSegmentDCOffset(1) + uiPartOffset, m_apSegmentDCOffset[1], sizeof( Pel ) * uiQNumPart);
    16281687#endif
    16291688}
     
    29553014  setSubPart( bMergeFlag, m_pbMergeFlag, uiAbsPartIdx, uiDepth, uiPartIdx );
    29563015}
     3016
     3017#if RWTH_SDC_DLT_B0036
     3018Void TComDataCU::setSDCFlagSubParts ( Bool bSDCFlag, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )
     3019{
     3020  setSubPart( bSDCFlag, m_pbSDCFlag, uiAbsPartIdx, uiDepth, uiPartIdx );
     3021}
     3022
     3023UInt TComDataCU::getCtxSDCFlag( UInt uiAbsPartIdx )
     3024{
     3025  TComDataCU* pcTempCU;
     3026  UInt        uiTempPartIdx;
     3027  UInt        uiCtx = 0;
     3028 
     3029  // left PU
     3030  pcTempCU = getPULeft( uiTempPartIdx, m_uiAbsIdxInLCU + uiAbsPartIdx, true, false );
     3031  uiCtx    = ( pcTempCU ) ? pcTempCU->getSDCFlag( uiTempPartIdx ) : 0;
     3032 
     3033  // above PU
     3034  pcTempCU = getPUAbove( uiTempPartIdx, m_uiAbsIdxInLCU + uiAbsPartIdx, true, false );
     3035  uiCtx   += ( pcTempCU ) ? pcTempCU->getSDCFlag( uiTempPartIdx ) : 0;
     3036 
     3037  return uiCtx;
     3038}
     3039
     3040Bool TComDataCU::getSDCAvailable( UInt uiAbsPartIdx )
     3041{
     3042  if( !getSlice()->getSPS()->isDepth() || getPartitionSize(uiAbsPartIdx) != SIZE_2Nx2N )
     3043    return false;
     3044 
     3045  UInt uiLumaPredMode = getLumaIntraDir( uiAbsPartIdx );
     3046 
     3047  if(!isIntra(uiAbsPartIdx))
     3048    return false;
     3049 
     3050  for(UInt ui=0; ui<RWTH_SDC_NUM_PRED_MODES; ui++)
     3051  {
     3052    if( g_auiSDCPredModes[ui] == uiLumaPredMode )
     3053      return true;
     3054  }
     3055  // else
     3056  return false;
     3057}
     3058#endif
    29573059
    29583060Void TComDataCU::setMergeIndexSubParts ( UInt uiMergeIndex, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth )
  • branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/TComDataCU.h

    r152 r177  
    274274  Int*          m_piContourPredTexDeltaDC2;
    275275#endif
     276 
     277#if RWTH_SDC_DLT_B0036
     278  Bool*         m_pbSDCFlag;
     279  Pel*          m_apSegmentDCOffset[2];
     280#endif
    276281
    277282protected:
     
    823828#endif
    824829#endif
     830 
     831#if RWTH_SDC_DLT_B0036
     832  Bool*         getSDCFlag          ()                        { return m_pbSDCFlag;               }
     833  Bool          getSDCFlag          ( UInt uiIdx )            { return m_pbSDCFlag[uiIdx];        }
     834  Void          setSDCFlagSubParts  ( Bool bSDCFlag, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth );
     835 
     836  UInt          getCtxSDCFlag              ( UInt uiAbsPartIdx );
     837 
     838  Bool          getSDCAvailable             ( UInt uiAbsPartIdx );
     839 
     840  Pel*          getSDCSegmentDCOffset( UInt uiSeg ) { return m_apSegmentDCOffset[uiSeg]; }
     841  Pel           getSDCSegmentDCOffset( UInt uiSeg, UInt uiPartIdx ) { return m_apSegmentDCOffset[uiSeg][uiPartIdx]; }
     842  Void          setSDCSegmentDCOffset( Pel pOffset, UInt uiSeg, UInt uiPartIdx) { m_apSegmentDCOffset[uiSeg][uiPartIdx] = pOffset; }
     843#endif
    825844};
    826845
  • branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/TComRom.cpp

    r158 r177  
    305305};
    306306
     307#if RWTH_SDC_DLT_B0036
     308UInt g_auiSDCPredModes[RWTH_SDC_NUM_PRED_MODES] = { DC_IDX, DMM_WEDGE_FULL_IDX, DMM_WEDGE_PREDDIR_IDX, PLANAR_IDX };
     309#endif
    307310
    308311Int g_quantScales[6] =
  • branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/TComRom.h

    r158 r177  
    198198#endif
    199199
     200#if RWTH_SDC_DLT_B0036
     201#define RWTH_SDC_NUM_PRED_MODES 4
     202extern      UInt g_auiSDCPredModes[RWTH_SDC_NUM_PRED_MODES];
     203#endif
     204
    200205Void initWedgeLists();
    201206Void createWedgeList( UInt uiWidth, UInt uiHeight, std::vector<TComWedgelet> &racWedgeList, std::vector<TComWedgeRef> &racWedgeRefList, WedgeResolution eWedgeRes );
  • branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/TComSlice.cpp

    r156 r177  
    15571557
    15581558  ::memset( m_aiUsableInterViewRefs, 0, sizeof( m_aiUsableInterViewRefs ) );
     1559 
     1560#if RWTH_SDC_DLT_B0036
     1561  m_bUseDLT = false;
     1562 
     1563  m_uiBitsPerDepthValue = g_uiBitDepth;
     1564  m_uiNumDepthmapValues = 0;
     1565  m_uiDepthValue2Idx    = NULL;
     1566  m_uiIdx2DepthValue    = NULL;
     1567#endif
    15591568}
    15601569
     
    15721581  }
    15731582}
     1583
     1584#if RWTH_SDC_DLT_B0036
     1585Void TComSPS::setDepthLUTs(UInt* uidx2DepthValue, UInt uiNumDepthValues)
     1586{
     1587  UInt uiMaxDepthValue = g_uiIBDI_MAX;
     1588 
     1589  // allocate some memory
     1590  if( m_uiNumDepthmapValues == 0 )
     1591  {
     1592    m_uiNumDepthmapValues = uiMaxDepthValue+1;
     1593    m_uiBitsPerDepthValue = (UInt)ceil(log2f(m_uiNumDepthmapValues));
     1594   
     1595    m_uiDepthValue2Idx    = (UInt*) xMalloc(UInt, m_uiNumDepthmapValues);
     1596    m_uiIdx2DepthValue    = (UInt*) xMalloc(UInt, m_uiNumDepthmapValues);
     1597   
     1598    //default mapping
     1599    for (Int i=0; i<m_uiNumDepthmapValues; i++)
     1600    {
     1601      m_uiDepthValue2Idx[i] = i;
     1602      m_uiIdx2DepthValue[i] = i;
     1603    }
     1604  }
     1605 
     1606  if( uidx2DepthValue == NULL || uiNumDepthValues == 0 ) // default mapping only
     1607    return;
     1608 
     1609  // copy idx2DepthValue to internal array
     1610  memcpy(m_uiIdx2DepthValue, uidx2DepthValue, uiNumDepthValues*sizeof(UInt));
     1611 
     1612  for(Int p=0; p<=uiMaxDepthValue; p++)
     1613  {
     1614    Int iIdxDown    = 0;
     1615    Int iIdxUp      = uiNumDepthValues-1;
     1616    Bool bFound     = false;
     1617   
     1618    // iterate over indices to find lower closest depth
     1619    Int i = 1;
     1620    while(!bFound && i<uiNumDepthValues)
     1621    {
     1622      if( m_uiIdx2DepthValue[i] > p )
     1623      {
     1624        iIdxDown  = i-1;
     1625        bFound    = true;
     1626      }
     1627     
     1628      i++;
     1629    }
     1630    // iterate over indices to find upper closest depth
     1631    i = uiNumDepthValues-2;
     1632    bFound = false;
     1633    while(!bFound && i>=0)
     1634    {
     1635      if( m_uiIdx2DepthValue[i] < p )
     1636      {
     1637        iIdxUp  = i+1;
     1638        bFound    = true;
     1639      }
     1640     
     1641      i--;
     1642    }
     1643   
     1644    // assert monotony
     1645    assert(iIdxDown<=iIdxUp);
     1646   
     1647    // assign closer depth value/idx
     1648    if( abs(p-(Int)m_uiIdx2DepthValue[iIdxDown]) < abs(p-(Int)m_uiIdx2DepthValue[iIdxUp]) )
     1649    {
     1650      m_uiDepthValue2Idx[p] = iIdxDown;
     1651    }
     1652    else
     1653    {
     1654      m_uiDepthValue2Idx[p] = iIdxUp;
     1655    }
     1656   
     1657  }
     1658 
     1659  // update globals
     1660  m_uiNumDepthmapValues = uiNumDepthValues;
     1661  m_uiBitsPerDepthValue = (UInt)ceil(Log2(m_uiNumDepthmapValues));
     1662}
     1663#endif
    15741664
    15751665TComPPS::TComPPS()
  • branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/TComSlice.h

    r152 r177  
    323323  Bool        m_bUseMVI;
    324324#endif
     325 
     326#if RWTH_SDC_DLT_B0036
     327  Bool        m_bUseDLT;
     328 
     329  UInt        m_uiBitsPerDepthValue;
     330  UInt        m_uiNumDepthmapValues;
     331  UInt*       m_uiDepthValue2Idx;
     332  UInt*       m_uiIdx2DepthValue;
     333#endif
    325334
    326335  Bool     m_bLFCrossTileBoundaryFlag;
     
    547556  Bool getUseMVI                  ()           {return m_bUseMVI;}
    548557#endif
     558 
     559#if RWTH_SDC_DLT_B0036
     560  Bool getUseDLT      ()          { return m_bUseDLT; }
     561  Void setUseDLT      ( Bool b ) { m_bUseDLT  = b;          }
     562 
     563  UInt getBitsPerDepthValue()       { return m_bUseDLT?m_uiBitsPerDepthValue:g_uiBitDepth; }
     564  UInt getNumDepthValues()          { return m_bUseDLT?m_uiNumDepthmapValues:g_uiIBDI_MAX; }
     565  UInt depthValue2idx(Pel uiValue)  { return m_bUseDLT?m_uiDepthValue2Idx[uiValue]:uiValue; }
     566  Pel  idx2DepthValue(UInt uiIdx)   { return m_bUseDLT?m_uiIdx2DepthValue[uiIdx]:uiIdx; }
     567  Void setDepthLUTs   (UInt* uidx2DepthValue = NULL, UInt uiNumDepthValues = 0);
     568#endif
    549569
    550570  UInt      getMaxTLayers()                           { return m_uiMaxTLayers; }
  • branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/TypeDef.h

    r161 r177  
    134134#endif
    135135
     136#define RWTH_SDC_DLT_B0036                1   // JCT3V-B0036: Simplified Depth Coding + Depth Lookup Table
     137#if RWTH_SDC_DLT_B0036
     138#define Log2( n ) ( log((double)n) / log(2.0) )
     139#endif
     140
    136141#define HHI_MPI                           1   // motion parameter inheritance from texture picture for depth map coding
    137142#define HHI_MPI_MERGE_POS                 0
Note: See TracChangeset for help on using the changeset viewer.