Changeset 177 in 3DVCSoftware for branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon
- Timestamp:
- 10 Nov 2012, 19:05:41 (12 years ago)
- 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 163 163 #endif 164 164 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 165 174 // ==================================================================================================================== 166 175 // Tables … … 1328 1337 #endif 1329 1338 1339 #if RWTH_SDC_DLT_B0036 1340 static 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 1353 static 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 1373 static 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 1392 static 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 1411 static 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 1330 1431 //! \} 1331 1432 -
branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/TComDataCU.cpp
r161 r177 158 158 #endif 159 159 #endif 160 #if RWTH_SDC_DLT_B0036 161 m_pbSDCFlag = NULL; 162 m_apSegmentDCOffset[0] = NULL; 163 m_apSegmentDCOffset[1] = NULL; 164 #endif 160 165 #if OL_DEPTHLIMIT_A0044 161 166 //add a variable to store the partition information … … 208 213 memset( m_pePartSize, SIZE_NONE,uiNumPartition * sizeof( *m_pePartSize ) ); 209 214 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 210 221 211 222 m_puiAlfCtrlFlag = new Bool[ uiNumPartition ]; … … 355 366 #endif 356 367 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 357 373 if ( m_puhCbf[0] ) { xFree(m_puhCbf[0]); m_puhCbf[0] = NULL; } 358 374 if ( m_puhCbf[1] ) { xFree(m_puhCbf[1]); m_puhCbf[1] = NULL; } … … 546 562 m_piTextureModeDepth[ui] = pcFrom->getTextureModeDepth(ui); 547 563 #endif 564 #if RWTH_SDC_DLT_B0036 565 m_pbSDCFlag[ui] = pcFrom->getSDCFlag(ui); 566 #endif 548 567 m_puhWidth [ui] = pcFrom->getWidth(ui); 549 568 m_puhHeight [ui] = pcFrom->getHeight(ui); … … 581 600 memset( m_piTextureModeDepth+ firstElement,-1, numElements * sizeof( *m_piTextureModeDepth ) ); 582 601 #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 583 607 memset( m_puhTrIdx + firstElement, 0, numElements * sizeof( *m_puhTrIdx ) ); 584 608 memset( m_nsqtPartIdx + firstElement, 0, numElements * sizeof( *m_nsqtPartIdx) ); … … 810 834 m_piContourPredTexDeltaDC2[ui] = 0; 811 835 #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 812 841 } 813 842 } … … 922 951 memset( m_piContourPredTexDeltaDC1, 0, sizeof( Int ) * m_uiNumPartition ); 923 952 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 925 959 926 960 UChar uhWidth = g_uiMaxCUWidth >> uiDepth; … … 993 1027 m_pbResPredFlag [ui] = pcCU->m_pbResPredFlag [ uiPartOffset + ui ]; 994 1028 #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 995 1034 } 996 1035 } … … 1202 1241 } 1203 1242 #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 1204 1248 } 1205 1249 … … 1384 1428 memcpy( m_piTextureModeDepth + uiOffset, pcCU->getTextureModeDepth(), sizeof( Int ) * uiNumPartition ); 1385 1429 #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 1386 1435 } 1387 1436 … … 1505 1554 memcpy( rpcCU->getTextureModeDepth() + m_uiAbsIdxInLCU, m_piTextureModeDepth, sizeof( Int ) * m_uiNumPartition ); 1506 1555 #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 1507 1561 } 1508 1562 … … 1626 1680 #if HHI_MPI 1627 1681 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); 1628 1687 #endif 1629 1688 } … … 2955 3014 setSubPart( bMergeFlag, m_pbMergeFlag, uiAbsPartIdx, uiDepth, uiPartIdx ); 2956 3015 } 3016 3017 #if RWTH_SDC_DLT_B0036 3018 Void TComDataCU::setSDCFlagSubParts ( Bool bSDCFlag, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth ) 3019 { 3020 setSubPart( bSDCFlag, m_pbSDCFlag, uiAbsPartIdx, uiDepth, uiPartIdx ); 3021 } 3022 3023 UInt 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 3040 Bool 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 2957 3059 2958 3060 Void TComDataCU::setMergeIndexSubParts ( UInt uiMergeIndex, UInt uiAbsPartIdx, UInt uiPartIdx, UInt uiDepth ) -
branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/TComDataCU.h
r152 r177 274 274 Int* m_piContourPredTexDeltaDC2; 275 275 #endif 276 277 #if RWTH_SDC_DLT_B0036 278 Bool* m_pbSDCFlag; 279 Pel* m_apSegmentDCOffset[2]; 280 #endif 276 281 277 282 protected: … … 823 828 #endif 824 829 #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 825 844 }; 826 845 -
branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/TComRom.cpp
r158 r177 305 305 }; 306 306 307 #if RWTH_SDC_DLT_B0036 308 UInt g_auiSDCPredModes[RWTH_SDC_NUM_PRED_MODES] = { DC_IDX, DMM_WEDGE_FULL_IDX, DMM_WEDGE_PREDDIR_IDX, PLANAR_IDX }; 309 #endif 307 310 308 311 Int g_quantScales[6] = -
branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/TComRom.h
r158 r177 198 198 #endif 199 199 200 #if RWTH_SDC_DLT_B0036 201 #define RWTH_SDC_NUM_PRED_MODES 4 202 extern UInt g_auiSDCPredModes[RWTH_SDC_NUM_PRED_MODES]; 203 #endif 204 200 205 Void initWedgeLists(); 201 206 Void 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 1557 1557 1558 1558 ::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 1559 1568 } 1560 1569 … … 1572 1581 } 1573 1582 } 1583 1584 #if RWTH_SDC_DLT_B0036 1585 Void 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 1574 1664 1575 1665 TComPPS::TComPPS() -
branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/TComSlice.h
r152 r177 323 323 Bool m_bUseMVI; 324 324 #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 325 334 326 335 Bool m_bLFCrossTileBoundaryFlag; … … 547 556 Bool getUseMVI () {return m_bUseMVI;} 548 557 #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 549 569 550 570 UInt getMaxTLayers() { return m_uiMaxTLayers; } -
branches/HTM-4.1-dev2-RWTH/source/Lib/TLibCommon/TypeDef.h
r161 r177 134 134 #endif 135 135 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 136 141 #define HHI_MPI 1 // motion parameter inheritance from texture picture for depth map coding 137 142 #define HHI_MPI_MERGE_POS 0
Note: See TracChangeset for help on using the changeset viewer.