Changeset 476 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder/TAppEncTop.cpp
- Timestamp:
- 18 Jun 2013, 05:16:27 (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder/TAppEncTop.cpp
r446 r476 128 128 m_frameRcvd .push_back(0); 129 129 m_acTEncTopList .push_back(new TEncTop); 130 #if H_3D_IV_MERGE 131 // m_acTEncDepthTopList .push_back(new TEncTop); 132 #endif 130 133 m_acTVideoIOYuvInputFileList.push_back(new TVideoIOYuv); 131 134 m_acTVideoIOYuvReconFileList.push_back(new TVideoIOYuv); 132 135 m_picYuvRec .push_back(new TComList<TComPicYuv*>) ; 133 136 #if H_3D_IV_MERGE 137 //m_acTEncDepthTopList[iViewIdx]->setFrameRate ( m_iFrameRate ); 138 //m_acTEncDepthTopList[iViewIdx]->setFrameSkip ( m_FrameSkip ); 139 //m_acTEncDepthTopList[iViewIdx]->setSourceWidth ( m_iSourceWidth ); 140 //m_acTEncDepthTopList[iViewIdx]->setSourceHeight ( m_iSourceHeight ); 141 //m_acTEncDepthTopList[iViewIdx]->setCroppingMode ( m_croppingMode ); 142 //m_acTEncDepthTopList[iViewIdx]->setCropLeft ( m_cropLeft ); 143 //m_acTEncDepthTopList[iViewIdx]->setCropRight ( m_cropRight ); 144 //m_acTEncDepthTopList[iViewIdx]->setCropTop ( m_cropTop ); 145 //m_acTEncDepthTopList[iViewIdx]->setCropBottom ( m_cropBottom ); 146 //m_acTEncDepthTopList[iViewIdx]->setFrameToBeEncoded ( m_iFrameToBeEncoded ); 147 //m_acTEncDepthTopList[iViewIdx]->setViewId ( iViewIdx ); 148 //m_acTEncDepthTopList[iViewIdx]->setIsDepth ( true ); 149 150 //m_acTEncDepthTopList[iViewIdx]->setViewOrderIdx ( m_cCameraData.getViewOrderIndex()[ iViewIdx ] ); 151 152 //m_acTEncDepthTopList[iViewIdx]->setLayerId ( layerId ); 153 154 #endif 134 155 m_ivPicLists.push_back( m_acTEncTopList[ layer ]->getListPic() ); 135 156 TEncTop& m_cTEncTop = *m_acTEncTopList[ layer ]; // It is not a member, but this name helps avoiding code duplication !!! … … 143 164 m_cTEncTop.setIsDepth ( isDepth ); 144 165 //====== Camera Parameters ========= 166 #if H_3D_IV_MERGE 167 //m_acTEncDepthTopList[iViewIdx]->setCamParPrecision ( 0 ); 168 //m_acTEncDepthTopList[iViewIdx]->setCamParInSliceHeader ( false ); 169 //m_acTEncDepthTopList[iViewIdx]->setCodedScale ( 0 ); 170 //m_acTEncDepthTopList[iViewIdx]->setCodedOffset ( 0 ); 171 #endif 145 172 m_cTEncTop.setCameraParameters ( &m_cCameraData ); 146 173 m_cTEncTop.setCamParPrecision ( isDepth ? false : m_cCameraData.getCamParsCodedPrecision () ); … … 166 193 m_cTEncTop.setDWeight ( isDepth ? m_iDWeight : 0 ); 167 194 #endif // H_3D_VSO 195 #if H_3D_IV_MERGE 196 m_cTEncTop.setMultiviewMvPredMode ( m_uiMultiviewMvPredMode ); 197 m_cTEncTop.setPredDepthMapGeneration ( m_uiPredDepthMapGeneration ); 198 #endif 168 199 #endif // H_3D 169 200 … … 189 220 190 221 //====== Coding Structure ======== 222 #if H_3D_IV_MERGE 223 //m_acTEncDepthTopList[iViewIdx]->setIntraPeriod ( m_iIntraPeriod ); 224 //m_acTEncDepthTopList[iViewIdx]->setDecodingRefreshType ( m_iDecodingRefreshType ); 225 //m_acTEncDepthTopList[iViewIdx]->setGOPSize ( m_iGOPSize ); 226 //m_acTEncDepthTopList[iViewIdx]->setGopList ( m_GOPListsMvc[iViewIdx] ); 227 //m_acTEncDepthTopList[iViewIdx]->setExtraRPSs ( m_extraRPSs[iViewIdx] ); 228 #endif 191 229 m_cTEncTop.setIntraPeriod ( m_iIntraPeriod ); 192 230 m_cTEncTop.setDecodingRefreshType ( m_iDecodingRefreshType ); … … 207 245 m_cTEncTop.setNumReorderPics ( m_numReorderPics[i], i ); 208 246 m_cTEncTop.setMaxDecPicBuffering ( m_maxDecPicBuffering[i], i ); 209 } 247 #if H_3D_IV_MERGE 248 m_acTEncDepthTopList[iViewIdx]->setNumReorderPics ( m_numReorderPics[iViewIdx][i], i ); 249 m_acTEncDepthTopList[iViewIdx]->setMaxDecPicBuffering ( m_maxDecPicBuffering[iViewIdx][i], i ); 250 #endif 251 } 252 #if H_3D_IV_MERGE 253 m_acTEncDepthTopList[iViewIdx]->setQP ( m_aiQP[1] ); 254 255 m_acTEncDepthTopList[iViewIdx]->setTemporalLayerQPOffset ( m_aiTLayerQPOffset ); 256 m_acTEncDepthTopList[iViewIdx]->setPad ( m_aiPad ); 257 258 m_acTEncDepthTopList[iViewIdx]->setMaxTempLayer ( m_maxTempLayer[iViewIdx] ); 259 260 m_acTEncDepthTopList[iViewIdx]->setDisInter4x4 ( m_bDisInter4x4); 261 262 m_acTEncDepthTopList[iViewIdx]->setUseNSQT( m_enableNSQT ); 263 m_acTEncDepthTopList[iViewIdx]->setUseAMP( m_enableAMP ); 264 #endif 210 265 #endif 211 266 for( UInt uiLoop = 0; uiLoop < MAX_TLAYER; ++uiLoop ) 212 267 { 213 268 m_cTEncTop.setLambdaModifier( uiLoop, m_adLambdaModifier[ uiLoop ] ); 269 #if H_3D_IV_MERGE 270 // m_acTEncDepthTopList[iViewIdx]->setLambdaModifier( uiLoop, m_adLambdaModifier[ uiLoop ] ); 271 #endif 214 272 } 215 273 #if H_MV … … 231 289 232 290 //====== Loop/Deblock Filter ======== 291 #if H_3D_IV_MERGE 292 //m_acTEncDepthTopList[iViewIdx]->setLoopFilterDisable ( m_abLoopFilterDisable[1] ); 293 //m_acTEncDepthTopList[iViewIdx]->setLoopFilterOffsetInAPS ( m_loopFilterOffsetInAPS ); 294 //m_acTEncDepthTopList[iViewIdx]->setLoopFilterBetaOffset ( m_loopFilterBetaOffsetDiv2 ); 295 //m_acTEncDepthTopList[iViewIdx]->setLoopFilterTcOffset ( m_loopFilterTcOffsetDiv2 ); 296 //m_acTEncDepthTopList[iViewIdx]->setDeblockingFilterControlPresent( m_DeblockingFilterControlPresent); 297 #endif 233 298 #if H_MV 234 299 m_cTEncTop.setLoopFilterDisable ( m_bLoopFilterDisable[layer]); … … 604 669 for(Int layer=0; layer<m_numberOfLayers; layer++) 605 670 { 671 #if H_3D_IV_MERGE 672 m_acTEncTopList[layer]->init(this ); 673 #else 606 674 m_acTEncTopList[layer]->init( ); 675 #endif 607 676 } 608 677 #else … … 1032 1101 } 1033 1102 #endif 1103 #if H_3D_IV_MERGE 1104 TComPic* TAppEncTop::xGetPicFromView( Int viewIdx, Int poc, Bool isDepth ) 1105 { 1106 assert( ( viewIdx >= 0 ) && ( viewIdx < m_iNumberOfViews ) ); 1107 1108 TComList<TComPic*>* apcListPic = m_acTEncTopList[(isDepth ? 1 : 0) + viewIdx * 2]->getListPic() ; 1109 1110 1111 1112 TComPic* pcPic = NULL; 1113 for(TComList<TComPic*>::iterator it=apcListPic->begin(); it!=apcListPic->end(); it++) 1114 { 1115 if( (*it)->getPOC() == poc ) 1116 { 1117 pcPic = *it ; 1118 break ; 1119 } 1120 } 1121 1122 return pcPic; 1123 }; 1124 #endif 1034 1125 //! \}
Note: See TracChangeset for help on using the changeset viewer.