Changeset 464 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder
- Timestamp:
- 11 Jun 2013, 20:35:00 (12 years ago)
- Location:
- branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder/TEncCavlc.cpp
r446 r464 741 741 } 742 742 } 743 744 #if H_3D_ARP 745 for( Int layer = 0; layer <= pcVPS->getMaxLayers() - 1; layer++ ) 746 { 747 if( ( layer!=0 ) && ( pcVPS->getDepthId(layer)!=1 ) ) 748 { 749 WRITE_FLAG( pcVPS->getUseAdvRP ( layer ) ? 1 : 0, "advanced_residual_pred_flag" ); 750 } 751 else 752 { 753 assert( pcVPS->getUseAdvRP ( layer ) == 0 ); 754 } 755 } 756 #endif 757 743 758 WRITE_FLAG( 0, "vps_extension2_flag" ); 744 759 #else … … 1349 1364 } 1350 1365 1366 #if H_3D_ARP 1367 Void TEncCavlc::codeARPW( TComDataCU* pcCU, UInt uiAbsPartIdx ) 1368 { 1369 assert(0); 1370 } 1371 #endif 1372 1351 1373 Void TEncCavlc::codeInterModeFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiEncMode ) 1352 1374 { -
branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder/TEncCavlc.h
r446 r464 114 114 Void codeMergeIndex ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 115 115 116 #if H_3D_ARP 117 Void codeARPW ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 118 #endif 119 116 120 Void codeInterModeFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiEncMode ); 117 121 Void codeSplitFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); -
branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder/TEncCfg.h
r446 r464 394 394 Bool m_bUseEstimatedVSD; 395 395 Double m_dDispCoeff; 396 397 #if H_3D_ARP 398 UInt m_uiUseAdvResPred; 399 UInt m_uiARPStepNum; 400 #endif 396 401 #endif 397 402 … … 467 472 Bool getMaxTempLayer () { return m_maxTempLayer; } 468 473 Void setMaxTempLayer ( Int maxTempLayer ) { m_maxTempLayer = maxTempLayer; } 474 475 #if H_3D_ARP 476 UInt getUseAdvRP ( ) { return m_uiUseAdvResPred; } 477 Void setUseAdvRP ( UInt u ) { m_uiUseAdvResPred = u; } 478 479 UInt getARPStepNum () { return m_uiARPStepNum; } 480 Void setARPStepNum ( UInt u ) { m_uiARPStepNum = u; } 481 #endif 482 469 483 //======== Transform ============= 470 484 Void setQuadtreeTULog2MaxSize ( UInt u ) { m_uiQuadtreeTULog2MaxSize = u; } -
branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder/TEncCu.cpp
r455 r464 65 65 m_ppcTempCU = new TComDataCU*[m_uhTotalDepth-1]; 66 66 67 #if H_3D_ARP 68 m_ppcWeightedTempCU = new TComDataCU*[m_uhTotalDepth-1]; 69 #endif 70 67 71 m_ppcPredYuvBest = new TComYuv*[m_uhTotalDepth-1]; 68 72 m_ppcResiYuvBest = new TComYuv*[m_uhTotalDepth-1]; … … 83 87 m_ppcTempCU[i] = new TComDataCU; m_ppcTempCU[i]->create( uiNumPartitions, uiWidth, uiHeight, false, uiMaxWidth >> (m_uhTotalDepth - 1) ); 84 88 89 #if H_3D_ARP 90 m_ppcWeightedTempCU[i] = new TComDataCU; m_ppcWeightedTempCU[i]->create( uiNumPartitions, uiWidth, uiHeight, false, uiMaxWidth >> (m_uhTotalDepth - 1) ); 91 #endif 92 85 93 m_ppcPredYuvBest[i] = new TComYuv; m_ppcPredYuvBest[i]->create(uiWidth, uiHeight); 86 94 m_ppcResiYuvBest[i] = new TComYuv; m_ppcResiYuvBest[i]->create(uiWidth, uiHeight); … … 124 132 m_ppcTempCU[i]->destroy(); delete m_ppcTempCU[i]; m_ppcTempCU[i] = NULL; 125 133 } 134 #if H_3D_ARP 135 if(m_ppcWeightedTempCU[i]) 136 { 137 m_ppcWeightedTempCU[i]->destroy(); delete m_ppcWeightedTempCU[i]; m_ppcWeightedTempCU[i] = NULL; 138 } 139 #endif 126 140 if(m_ppcPredYuvBest[i]) 127 141 { … … 468 482 if( rpcTempCU->getSlice()->getSliceType() != I_SLICE ) 469 483 { 484 #if H_3D_ARP 485 if( rpcTempCU->getSlice()->getVPS()->getUseAdvRP(rpcTempCU->getSlice()->getLayerId()) ) 486 #else 470 487 if(rpcTempCU->getSlice()->getViewIndex() && !rpcTempCU->getSlice()->getIsDepth()) //Notes from QC: this condition shall be changed once the configuration is completed, e.g. in pcSlice->getSPS()->getMultiviewMvPredMode() || ARP in prev. HTM. Remove this comment once it is done. Remove this comment once it is done. 488 #endif 471 489 { 472 490 PartSize ePartTemp = rpcTempCU->getPartitionSize(0); … … 1220 1238 { 1221 1239 m_pcEntropyCoder->encodeMergeIndex( pcCU, uiAbsPartIdx ); 1240 #if H_3D_ARP 1241 m_pcEntropyCoder->encodeARPW( pcCU , uiAbsPartIdx ); 1242 #endif 1222 1243 finishCU(pcCU,uiAbsPartIdx,uiDepth); 1223 1244 return; … … 1241 1262 // prediction Info ( Intra : direction mode, Inter : Mv, reference idx ) 1242 1263 m_pcEntropyCoder->encodePredInfo( pcCU, uiAbsPartIdx ); 1243 1264 #if H_3D_ARP 1265 m_pcEntropyCoder->encodeARPW( pcCU , uiAbsPartIdx ); 1266 #endif 1267 1244 1268 // Encode Coefficients 1245 1269 Bool bCodeDQP = getdQPFlag(); … … 1302 1326 } 1303 1327 1328 #if H_3D_ARP 1329 Int nARPWMax = rpcTempCU->getSlice()->getARPStepNum() - 1; 1330 if( nARPWMax < 0 || !rpcTempCU->getDvInfo(0).bDV ) 1331 { 1332 nARPWMax = 0; 1333 } 1334 for( Int nARPW=nARPWMax; nARPW >= 0 ; nARPW-- ) 1335 { 1336 memset( mergeCandBuffer, 0, MRG_MAX_NUM_CANDS*sizeof(Int) ); 1337 #endif 1304 1338 for( UInt uiNoResidual = 0; uiNoResidual < iteration; ++uiNoResidual ) 1305 1339 { … … 1316 1350 rpcTempCU->setCUTransquantBypassSubParts( m_pcEncCfg->getCUTransquantBypassFlagValue(), 0, uhDepth ); 1317 1351 rpcTempCU->setPartSizeSubParts( SIZE_2Nx2N, 0, uhDepth ); // interprets depth relative to LCU level 1352 #if H_3D_ARP 1353 rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth ); 1354 #endif 1318 1355 rpcTempCU->setMergeFlagSubParts( true, 0, 0, uhDepth ); // interprets depth relative to LCU level 1319 1356 rpcTempCU->setMergeIndexSubParts( uiMergeCand, 0, 0, uhDepth ); // interprets depth relative to LCU level … … 1322 1359 rpcTempCU->getCUMvField( REF_PIC_LIST_1 )->setAllMvField( cMvFieldNeighbours[1 + 2*uiMergeCand], SIZE_2Nx2N, 0, 0 ); // interprets depth relative to rpcTempCU level 1323 1360 1361 #if H_3D_ARP 1362 if( nARPW ) 1363 { 1364 Bool bSignalflag[2] = { true, true }; 1365 for( UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx ++ ) 1366 { 1367 Int iRefIdx = cMvFieldNeighbours[uiRefListIdx + 2*uiMergeCand].getRefIdx(); 1368 RefPicList eRefList = uiRefListIdx ? REF_PIC_LIST_1 : REF_PIC_LIST_0; 1369 if( iRefIdx < 0 || rpcTempCU->getSlice()->getPOC() == rpcTempCU->getSlice()->getRefPOC(eRefList, iRefIdx) ) 1370 { 1371 bSignalflag[uiRefListIdx] = false; 1372 } 1373 } 1374 if( !bSignalflag[0] && !bSignalflag[1] ) 1375 { 1376 rpcTempCU->setARPWSubParts( 0 , 0 , uhDepth ); 1377 } 1378 } 1379 #endif 1324 1380 // do MC 1325 1381 m_pcPredSearch->motionCompensation ( rpcTempCU, m_ppcPredYuvTemp[uhDepth] ); … … 1401 1457 } 1402 1458 } 1459 #if H_3D_ARP 1460 } 1461 #endif 1403 1462 } 1404 1463 … … 1411 1470 { 1412 1471 UChar uhDepth = rpcTempCU->getDepth( 0 ); 1472 #if H_3D_ARP 1473 Int iLayerId = rpcTempCU->getSlice()->getLayerId(); 1474 Bool bFirstTime = true; 1475 Int nARPWMax = rpcTempCU->getSlice()->getARPStepNum() - 1; 1476 1477 if( nARPWMax < 0 || ePartSize != SIZE_2Nx2N || !rpcTempCU->getDvInfo(0).bDV ) 1478 { 1479 nARPWMax = 0; 1480 } 1481 1482 for( Int nARPW = 0; nARPW <= nARPWMax; nARPW++ ) 1483 { 1484 if( bFirstTime == false && rpcTempCU->getSlice()->getVPS()->getUseAdvRP( iLayerId ) ) 1485 { 1486 rpcTempCU->initEstData( rpcTempCU->getDepth(0), rpcTempCU->getQP(0) ); 1487 } 1488 #endif 1413 1489 #if H_3D_VSO // M3 1414 1490 if( m_pcRdCost->getUseRenModel() ) … … 1430 1506 rpcTempCU->setCUTransquantBypassSubParts ( m_pcEncCfg->getCUTransquantBypassFlagValue(), 0, uhDepth ); 1431 1507 1508 #if H_3D_ARP 1509 rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth ); 1510 #endif 1511 1512 #if H_3D_ARP 1513 if( bFirstTime == false && nARPWMax ) 1514 { 1515 rpcTempCU->copyPartFrom( m_ppcWeightedTempCU[uhDepth] , 0 , uhDepth ); 1516 rpcTempCU->setARPWSubParts( (UChar)nARPW , 0 , uhDepth ); 1517 1518 m_pcPredSearch->motionCompensation( rpcTempCU , m_ppcPredYuvTemp[uhDepth] ); 1519 1520 if(rpcTempCU->getPartitionSize(0)==SIZE_2Nx2N) 1521 { 1522 Bool bSignalflag[2] = { true, true }; 1523 for(UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx ++ ) 1524 { 1525 RefPicList eRefList = uiRefListIdx ? REF_PIC_LIST_1 : REF_PIC_LIST_0; 1526 Int iRefIdx = rpcTempCU->getCUMvField(eRefList)->getRefIdx(0); 1527 if( iRefIdx < 0 || rpcTempCU->getSlice()->getPOC() == rpcTempCU->getSlice()->getRefPOC(eRefList, iRefIdx) ) 1528 { 1529 bSignalflag[uiRefListIdx] = false; 1530 } 1531 } 1532 if( !bSignalflag[0] && !bSignalflag[1] ) 1533 { 1534 rpcTempCU->setARPWSubParts( 0 , 0 , uhDepth ); 1535 } 1536 } 1537 } 1538 else 1539 { 1540 bFirstTime = false; 1541 #endif 1432 1542 #if AMP_MRG 1433 1543 rpcTempCU->setMergeAMP (true); … … 1436 1546 m_pcPredSearch->predInterSearch ( rpcTempCU, m_ppcOrigYuv[uhDepth], m_ppcPredYuvTemp[uhDepth], m_ppcResiYuvTemp[uhDepth], m_ppcRecoYuvTemp[uhDepth] ); 1437 1547 #endif 1548 #if H_3D_ARP 1549 if( nARPWMax ) 1550 { 1551 m_ppcWeightedTempCU[uhDepth]->copyPartFrom( rpcTempCU , 0 , uhDepth ); 1552 1553 Bool bSignalflag[2] = { true, true }; 1554 for(UInt uiRefListIdx = 0; uiRefListIdx < 2; uiRefListIdx ++ ) 1555 { 1556 RefPicList eRefList = uiRefListIdx ? REF_PIC_LIST_1 : REF_PIC_LIST_0; 1557 Int iRefIdx = rpcTempCU->getCUMvField(eRefList)->getRefIdx(0); 1558 if( iRefIdx < 0 || rpcTempCU->getSlice()->getPOC() == rpcTempCU->getSlice()->getRefPOC(eRefList, iRefIdx) ) 1559 { 1560 bSignalflag[uiRefListIdx] = false; 1561 } 1562 } 1563 if( !bSignalflag[0] && !bSignalflag[1]) 1564 { 1565 rpcTempCU->setARPWSubParts( 0 , 0 , uhDepth ); 1566 } 1567 } 1568 } 1569 #endif 1438 1570 1439 1571 #if AMP_MRG 1440 1572 if ( !rpcTempCU->getMergeAMP() ) 1441 1573 { 1574 #if H_3D_ARP 1575 if( nARPWMax ) 1576 { 1577 continue; 1578 } 1579 else 1580 #endif 1442 1581 return; 1443 1582 } … … 1466 1605 xCheckDQP( rpcTempCU ); 1467 1606 xCheckBestMode(rpcBestCU, rpcTempCU, uhDepth); 1607 #if H_3D_ARP 1608 } 1609 #endif 1468 1610 } 1469 1611 -
branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder/TEncCu.h
r324 r464 69 69 TComDataCU** m_ppcBestCU; ///< Best CUs in each depth 70 70 TComDataCU** m_ppcTempCU; ///< Temporary CUs in each depth 71 #if H_3D_ARP 72 TComDataCU** m_ppcWeightedTempCU; 73 #endif 71 74 UChar m_uhTotalDepth; 72 75 -
branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder/TEncEntropy.cpp
r446 r464 157 157 } 158 158 159 #if H_3D_ARP 160 Void TEncEntropy::encodeARPW( TComDataCU* pcCU, UInt uiAbsPartIdx ) 161 { 162 if( !pcCU->getSlice()->getARPStepNum() || pcCU->isIntra( uiAbsPartIdx ) ) 163 { 164 return; 165 } 166 167 if ( pcCU->getPartitionSize(uiAbsPartIdx)!=SIZE_2Nx2N ) 168 { 169 assert(pcCU->getARPW (uiAbsPartIdx) == 0); 170 } 171 else 172 { 173 m_pcEntropyCoderIf->codeARPW( pcCU, uiAbsPartIdx ); 174 } 175 } 176 #endif 177 159 178 /** encode prediction mode 160 179 * \param pcCU -
branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder/TEncEntropy.h
r446 r464 88 88 virtual Void codeMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0; 89 89 virtual Void codeMergeIndex ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0; 90 #if H_3D_ARP 91 virtual Void codeARPW ( TComDataCU* pcCU, UInt uiAbsPartIdx ) = 0; 92 #endif 90 93 virtual Void codeSplitFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) = 0; 91 94 … … 169 172 Void encodeMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 170 173 Void encodeMergeIndex ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false ); 174 #if H_3D_ARP 175 Void encodeARPW ( TComDataCU* pcCU, UInt uiAbspartIdx ); 176 #endif 171 177 Void encodePredMode ( TComDataCU* pcCU, UInt uiAbsPartIdx, Bool bRD = false ); 172 178 Void encodePartSize ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, Bool bRD = false ); -
branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder/TEncGOP.cpp
r455 r464 47 47 #include "TLibCommon/NAL.h" 48 48 #include "NALwrite.h" 49 #if H_3D_ARP 50 #include "../../App/TAppEncoder/TAppEncTop.h" 51 #endif 49 52 #include <time.h> 50 53 #include <math.h> … … 670 673 #if H_MV 671 674 pcSlice->setRefPicList( rcListPic, m_refPicSetInterLayer ); 675 #if H_3D_ARP 676 pcSlice->setARPStepNum(); 677 if(pcSlice->getARPStepNum() > 1) 678 { 679 for(Int iLayerId = 0; iLayerId < getLayerId(); iLayerId ++ ) 680 { 681 Int iViewIdx = pcSlice->getVPS()->getViewIndex(iLayerId); 682 Bool bIsDepth = ( pcSlice->getVPS()->getDepthId ( iLayerId ) == 1 ); 683 if( iViewIdx<getViewIndex() && !bIsDepth ) 684 { 685 pcSlice->setBaseViewRefPicList( m_pcEncTop->getTAppEncTop()->getTEncTop( iLayerId )->getListPic(), iViewIdx ); 686 } 687 } 688 } 689 #endif 672 690 #else 673 691 pcSlice->setRefPicList ( rcListPic ); -
branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder/TEncSbac.cpp
r446 r464 60 60 , m_cCUMergeFlagExtSCModel ( 1, 1, NUM_MERGE_FLAG_EXT_CTX , m_contextModels + m_numContextModels, m_numContextModels) 61 61 , m_cCUMergeIdxExtSCModel ( 1, 1, NUM_MERGE_IDX_EXT_CTX , m_contextModels + m_numContextModels, m_numContextModels) 62 #if H_3D_ARP 63 , m_cCUPUARPW ( 1, 1, NUM_ARPW_CTX , m_contextModels + m_numContextModels, m_numContextModels) 64 #endif 62 65 , m_cCUPartSizeSCModel ( 1, 1, NUM_PART_SIZE_CTX , m_contextModels + m_numContextModels, m_numContextModels) 63 66 , m_cCUPredModeSCModel ( 1, 1, NUM_PRED_MODE_CTX , m_contextModels + m_numContextModels, m_numContextModels) … … 111 114 m_cCUMergeFlagExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT); 112 115 m_cCUMergeIdxExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_IDX_EXT); 116 #if H_3D_ARP 117 m_cCUPUARPW.initBuffer ( eSliceType, iQp, (UChar*)INIT_ARPW ); 118 #endif 113 119 m_cCUPartSizeSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_PART_SIZE ); 114 120 m_cCUAMPSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_CU_AMP_POS ); … … 214 220 m_cCUMergeFlagExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_FLAG_EXT); 215 221 m_cCUMergeIdxExtSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_MERGE_IDX_EXT); 222 #if H_3D_ARP 223 m_cCUPUARPW.initBuffer ( eSliceType, iQp, (UChar*)INIT_ARPW ); 224 #endif 216 225 m_cCUPartSizeSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_PART_SIZE ); 217 226 m_cCUAMPSCModel.initBuffer ( eSliceType, iQp, (UChar*)INIT_CU_AMP_POS ); … … 589 598 DTRACE_CABAC_T( "\n" ); 590 599 } 600 601 #if H_3D_ARP 602 Void TEncSbac::codeARPW( TComDataCU* pcCU, UInt uiAbsPartIdx ) 603 { 604 Int iW = (Int)pcCU->getARPW( uiAbsPartIdx ); 605 Int iMaxW = pcCU->getSlice()->getARPStepNum() - 1; 606 assert( iMaxW > 0); 607 608 Int nOffset = pcCU->getCTXARPWFlag(uiAbsPartIdx); 609 Int nBinNum = iW + ( iW != iMaxW ); 610 m_pcBinIf->encodeBin( iW ? 1 : 0 , m_cCUPUARPW.get( 0, 0, 0 + nOffset ) ); 611 if( nBinNum > 1 ) 612 { 613 m_pcBinIf->encodeBin( ( iW == iMaxW ) ? 1 : 0, m_cCUPUARPW.get( 0, 0, 3 ) ); 614 } 615 } 616 #endif 591 617 592 618 Void TEncSbac::codeSplitFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ) -
branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder/TEncSbac.h
r446 r464 134 134 Void codeMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 135 135 Void codeMergeIndex ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 136 #if H_3D_ARP 137 Void codeARPW ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 138 #endif 136 139 Void codeSplitFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 137 140 Void codeMVPIdx ( TComDataCU* pcCU, UInt uiAbsPartIdx, RefPicList eRefList ); … … 181 184 ContextModel3DBuffer m_cCUMergeFlagExtSCModel; 182 185 ContextModel3DBuffer m_cCUMergeIdxExtSCModel; 186 #if H_3D_ARP 187 ContextModel3DBuffer m_cCUPUARPW; 188 #endif 183 189 ContextModel3DBuffer m_cCUPartSizeSCModel; 184 190 ContextModel3DBuffer m_cCUPredModeSCModel; -
branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder/TEncSearch.cpp
r456 r464 4741 4741 m_pcEntropyCoder->encodeSkipFlag(pcCU, 0, true); 4742 4742 m_pcEntropyCoder->encodeMergeIndex( pcCU, 0, true ); 4743 4743 #if H_3D_ARP 4744 m_pcEntropyCoder->encodeARPW( pcCU, 0 ); 4745 #endif 4744 4746 uiBits = m_pcEntropyCoder->getNumberOfWrittenBits(); 4745 4747 pcCU->getTotalBits() = uiBits; … … 6150 6152 m_pcEntropyCoder->encodeSkipFlag(pcCU, 0, true); 6151 6153 m_pcEntropyCoder->encodeMergeIndex(pcCU, 0, true); 6154 #if H_3D_ARP 6155 m_pcEntropyCoder->encodeARPW( pcCU, 0 ); 6156 #endif 6152 6157 ruiBits += m_pcEntropyCoder->getNumberOfWrittenBits(); 6153 6158 } … … 6163 6168 m_pcEntropyCoder->encodePartSize( pcCU, 0, pcCU->getDepth(0), true ); 6164 6169 m_pcEntropyCoder->encodePredInfo( pcCU, 0, true ); 6170 #if H_3D_ARP 6171 m_pcEntropyCoder->encodeARPW( pcCU , 0 ); 6172 #endif 6165 6173 Bool bDummy = false; 6166 6174 m_pcEntropyCoder->encodeCoeff ( pcCU, 0, pcCU->getDepth(0), pcCU->getWidth(0), pcCU->getHeight(0), bDummy ); -
branches/HTM-DEV-0.3-dev2a/source/Lib/TLibEncoder/TEncTop.h
r446 r464 63 63 // Class definition 64 64 // ==================================================================================================================== 65 66 #if H_3D_ARP 67 class TAppEncTop; 68 #endif 65 69 66 70 /// encoder class … … 124 128 TComScalingList m_scalingList; ///< quantization matrix information 125 129 TEncRateCtrl m_cRateCtrl; ///< Rate control class 126 130 131 #if H_3D_ARP 132 TAppEncTop* m_pcTAppEncTop; 133 #endif 134 127 135 #if H_MV 128 136 TEncAnalyze m_cAnalyzeAll; … … 205 213 Void setIvPicLists ( TComPicLists* picLists) { m_ivPicLists = picLists; } 206 214 #endif 215 #if H_3D_ARP 216 Void setTAppEncTop( TAppEncTop* pcTAppEncTop ) { m_pcTAppEncTop = pcTAppEncTop; } 217 TAppEncTop* getTAppEncTop() { return m_pcTAppEncTop; } 218 #endif 207 219 // ------------------------------------------------------------------------------------------------------------------- 208 220 // encoder function
Note: See TracChangeset for help on using the changeset viewer.