Changeset 443 in 3DVCSoftware for trunk/source/App/TAppEncoder/TAppEncTop.cpp
- Timestamp:
- 26 May 2013, 15:41:34 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/App/TAppEncoder/TAppEncTop.cpp
r332 r443 223 223 #endif 224 224 #if H3D_IVRP 225 #if QC_ARP_D0177 226 m_acTEncTopList[iViewIdx]->setUseAdvRP ( iViewIdx ? m_nUseAdvResPred : 0 ); 227 m_acTEncTopList[iViewIdx]->setARPStepNum ( iViewIdx ? QC_ARP_WFNR : 1 ); 228 #else 225 229 m_acTEncTopList[iViewIdx]->setMultiviewResPredMode ( m_uiMultiviewResPredMode ); 230 #endif 231 #endif 232 #if MTK_D0156 233 #if MERL_VSP_COMPENSATION_C0152 234 m_acTEncTopList[iViewIdx]->setUseVSPCompensation ( iViewIdx ? m_bUseVSPCompensation : 0 ); 235 #endif 236 m_acTEncTopList[iViewIdx]->setUseDVPRefine ( iViewIdx ? m_bUseDVPRefine : 0 ); 226 237 #endif 227 238 … … 303 314 #endif 304 315 m_acTEncTopList[iViewIdx]->setMaxNumOffsetsPerPic (m_maxNumOffsetsPerPic); 316 #if LGE_SAO_MIGRATION_D0091 317 m_acTEncTopList[iViewIdx]->setSaoLcuBoundary (m_saoLcuBoundary); 318 m_acTEncTopList[iViewIdx]->setSaoLcuBasedOptimization (m_saoLcuBasedOptimization); 319 #else 305 320 m_acTEncTopList[iViewIdx]->setSaoInterleavingFlag (m_saoInterleavingFlag); 321 #endif 306 322 m_acTEncTopList[iViewIdx]->setPCMInputBitDepthFlag ( m_bPCMInputBitDepthFlag); 307 323 m_acTEncTopList[iViewIdx]->setPCMFilterDisableFlag ( m_bPCMFilterDisableFlag); … … 560 576 m_acTEncDepthTopList[iViewIdx]->setMultiviewMvRegLambdaScale ( 0.0 ); 561 577 #endif 562 #if H3D_IVRP 563 m_acTEncDepthTopList[iViewIdx]->setMultiviewResPredMode ( 0 ); 578 #if H3D_IVRP 579 #if QC_ARP_D0177 580 m_acTEncDepthTopList[iViewIdx]->setUseAdvRP ( 0 ); 581 m_acTEncDepthTopList[iViewIdx]->setARPStepNum ( 1 ); 582 #else 583 m_acTEncDepthTopList[iViewIdx]->setMultiviewResPredMode ( 0 ); 584 #endif 585 #endif 586 #if MTK_D0156 587 588 #if MERL_VSP_COMPENSATION_C0152 589 m_acTEncDepthTopList[iViewIdx]->setUseVSPCompensation ( iViewIdx ? true : false ); 590 #endif 591 592 m_acTEncDepthTopList[iViewIdx]->setUseDVPRefine ( iViewIdx ? true : false ); 564 593 #endif 565 594 … … 605 634 #endif 606 635 m_acTEncDepthTopList[iViewIdx]->setMaxNumOffsetsPerPic (m_maxNumOffsetsPerPic); 636 #if LGE_SAO_MIGRATION_D0091 637 m_acTEncDepthTopList[iViewIdx]->setSaoLcuBoundary (m_saoLcuBoundary); 638 m_acTEncDepthTopList[iViewIdx]->setSaoLcuBasedOptimization (m_saoLcuBasedOptimization); 639 #else 607 640 m_acTEncDepthTopList[iViewIdx]->setSaoInterleavingFlag (m_saoInterleavingFlag); 641 #endif 608 642 m_acTEncDepthTopList[iViewIdx]->setPCMInputBitDepthFlag ( m_bPCMInputBitDepthFlag); 609 643 m_acTEncDepthTopList[iViewIdx]->setPCMFilterDisableFlag ( m_bPCMFilterDisableFlag); … … 1076 1110 #if MERL_VSP_C0152 1077 1111 #if MERL_VSP_C0152_BugFix_ForNoDepthCase 1078 if(m_bUsingDepthMaps) // VSP can be used only when depth is available as input1112 if(m_bUsingDepthMaps) // VSP can be used only when depth is available as input 1079 1113 { 1080 1114 #endif … … 1087 1121 pEncSlice->setRefPicBaseTxt(pcBaseTxtPic); 1088 1122 pEncSlice->setRefPicBaseDepth(pcBaseDepthPic); 1123 #if MERL_VSP_NBDV_RefVId_Fix_D0166 1124 for (Int refViewId=0; refViewId < iViewIdx; refViewId++ ) 1125 { 1126 pEncSlice->setListDepthPic(m_acTEncDepthTopList[refViewId]->getListPic(), refViewId ); // The list will store only the depth pictures 1127 setBWVSPLUT(refViewId, iViewIdx, gopId, false); 1128 } 1129 #endif 1089 1130 } 1131 #if !MERL_VSP_NBDV_RefVId_Fix_D0166 1090 1132 setBWVSPLUT( iViewIdx, gopId, false); 1133 #endif 1134 #endif 1135 1091 1136 #if MERL_VSP_C0152_BugFix_ForNoDepthCase 1092 1137 } … … 1103 1148 #endif 1104 1149 1105 #endif1106 1150 // call encoding function for one frame 1107 1151 m_acTEncTopList[iViewIdx]->encode( eos[iViewIdx], pcPicYuvOrg, *m_picYuvRec[iViewIdx], outputAccessUnits, iNumEncoded, gopId ); … … 1118 1162 TEncSlice* pcSlice = (TEncSlice*) m_acTEncDepthTopList[iViewIdx]->getSliceEncoder(); 1119 1163 pcSlice->setRefPicBaseDepth(pcBaseDepthPic); 1164 #if MERL_VSP_NBDV_RefVId_Fix_D0166 1165 for (Int refViewId=0; refViewId < iViewIdx; refViewId++ ) 1166 { 1167 pcSlice->setListDepthPic(m_acTEncDepthTopList[refViewId]->getListPic(), refViewId ); // The list will store only the depth pictures 1168 setBWVSPLUT( refViewId, iViewIdx, gopId, true); 1169 } 1170 #endif 1120 1171 } 1172 #if !MERL_VSP_NBDV_RefVId_Fix_D0166 1121 1173 setBWVSPLUT( iViewIdx, gopId, true); 1174 #endif 1122 1175 #endif 1123 1176 … … 1636 1689 1637 1690 #if MERL_VSP_C0152 1638 Void TAppEncTop::setBWVSPLUT(Int iCodedViewIdx, Int gopId, Bool isDepth) 1691 1692 Void TAppEncTop::setBWVSPLUT( 1693 #if MERL_VSP_NBDV_RefVId_Fix_D0166 1694 Int iNeighborViewId, 1695 #endif 1696 Int iCodedViewIdx, Int gopId, Bool isDepth) 1639 1697 { 1640 1698 //first view does not have VSP … … 1643 1701 AOT( iCodedViewIdx <= 0); 1644 1702 AOT( iCodedViewIdx >= m_iNumberOfViews ); 1645 1703 #if !MERL_VSP_NBDV_RefVId_Fix_D0166 1646 1704 Int iNeighborViewId = 0; 1705 #endif 1647 1706 //setting look-up table 1648 1707 Int* piShiftLUT = m_cCameraData.getBaseViewShiftLUTI()[iNeighborViewId][iCodedViewIdx][0]; … … 1651 1710 { 1652 1711 TEncSlice* pcEncSlice = (TEncSlice*) m_acTEncDepthTopList[iCodedViewIdx]->getSliceEncoder(); 1712 #if MERL_VSP_NBDV_RefVId_Fix_D0166 1713 pcEncSlice->setBWVSPLUTParam( piShiftLUT, LOG2_DISP_PREC_LUT, iNeighborViewId ); 1714 #else 1653 1715 pcEncSlice->setBWVSPLUTParam( piShiftLUT, LOG2_DISP_PREC_LUT ); 1716 #endif 1654 1717 } 1655 1718 else 1656 1719 { 1657 1720 TEncSlice* pcEncSlice = (TEncSlice*) m_acTEncTopList[iCodedViewIdx]->getSliceEncoder(); 1721 #if MERL_VSP_NBDV_RefVId_Fix_D0166 1722 pcEncSlice->setBWVSPLUTParam( piShiftLUT, LOG2_DISP_PREC_LUT, iNeighborViewId ); 1723 #else 1658 1724 pcEncSlice->setBWVSPLUTParam( piShiftLUT, LOG2_DISP_PREC_LUT ); 1725 #endif 1659 1726 } 1660 1727
Note: See TracChangeset for help on using the changeset viewer.