Changeset 1084 in 3DVCSoftware for trunk/source/Lib/TLibEncoder/TEncGOP.cpp
- Timestamp:
- 24 Oct 2014, 11:44:58 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibEncoder/TEncGOP.cpp
r1066 r1084 160 160 #endif 161 161 #endif 162 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX163 m_aICEnableCandidate 164 m_aICEnableNum 162 #if H_3D_IC 163 m_aICEnableCandidate = pcTEncTop->getICEnableCandidate(); 164 m_aICEnableNum = pcTEncTop->getICEnableNum(); 165 165 #endif 166 166 #if KWU_FIX_URQ … … 395 395 Void TEncGOP::initGOP( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsInGOP) 396 396 { 397 #if H_MV_ALIGN_HM_15 398 xInitGOP( iPOCLast, iNumPicRcvd, rcListPic, rcListPicYuvRecOut, false ); 399 #else 397 400 xInitGOP( iPOCLast, iNumPicRcvd, rcListPic, rcListPicYuvRecOut ); 401 #endif 398 402 m_iNumPicCoded = 0; 399 403 } … … 937 941 pcSlice->setRefPicList ( rcListPic ); 938 942 #endif 939 #if MTK_SINGLE_DEPTH_MODE_I0095943 #if H_3D_SINGLE_DEPTH 940 944 TEncTop* pcEncTop = (TEncTop*) m_pcCfg; 941 945 bool enableSingleDepthMode=false; … … 971 975 #endif 972 976 #endif 973 #if MTK_LOW_LATENCY_IC_ENCODING_H0086_FIX977 #if H_3D_IC 974 978 pcSlice->setICEnableCandidate( m_aICEnableCandidate ); 975 979 pcSlice->setICEnableNum( m_aICEnableNum ); … … 1228 1232 UInt uiRealEndAddress = uiExternalAddress*pcPic->getNumPartInCU()+uiInternalAddress; 1229 1233 1230 UInt uiCummulativeTileWidth;1231 UInt uiCummulativeTileHeight;1232 1234 Int p, j; 1233 1235 UInt uiEncCUAddr; 1234 1236 1235 //set NumColumnsMinus1 and NumRowsMinus1 1236 pcPic->getPicSym()->setNumColumnsMinus1( pcSlice->getPPS()->getNumColumnsMinus1() ); 1237 pcPic->getPicSym()->setNumRowsMinus1( pcSlice->getPPS()->getNumRowsMinus1() ); 1238 1239 //create the TComTileArray 1240 pcPic->getPicSym()->xCreateTComTileArray(); 1241 1242 if( pcSlice->getPPS()->getUniformSpacingFlag() == 1 ) 1243 { 1244 //set the width for each tile 1245 for(j=0; j < pcPic->getPicSym()->getNumRowsMinus1()+1; j++) 1246 { 1247 for(p=0; p < pcPic->getPicSym()->getNumColumnsMinus1()+1; p++) 1248 { 1249 pcPic->getPicSym()->getTComTile( j * (pcPic->getPicSym()->getNumColumnsMinus1()+1) + p )-> 1250 setTileWidth( (p+1)*pcPic->getPicSym()->getFrameWidthInCU()/(pcPic->getPicSym()->getNumColumnsMinus1()+1) 1251 - (p*pcPic->getPicSym()->getFrameWidthInCU())/(pcPic->getPicSym()->getNumColumnsMinus1()+1) ); 1252 } 1253 } 1254 1255 //set the height for each tile 1256 for(j=0; j < pcPic->getPicSym()->getNumColumnsMinus1()+1; j++) 1257 { 1258 for(p=0; p < pcPic->getPicSym()->getNumRowsMinus1()+1; p++) 1259 { 1260 pcPic->getPicSym()->getTComTile( p * (pcPic->getPicSym()->getNumColumnsMinus1()+1) + j )-> 1261 setTileHeight( (p+1)*pcPic->getPicSym()->getFrameHeightInCU()/(pcPic->getPicSym()->getNumRowsMinus1()+1) 1262 - (p*pcPic->getPicSym()->getFrameHeightInCU())/(pcPic->getPicSym()->getNumRowsMinus1()+1) ); 1263 } 1264 } 1265 } 1266 else 1267 { 1268 //set the width for each tile 1269 for(j=0; j < pcPic->getPicSym()->getNumRowsMinus1()+1; j++) 1270 { 1271 uiCummulativeTileWidth = 0; 1272 for(p=0; p < pcPic->getPicSym()->getNumColumnsMinus1(); p++) 1273 { 1274 pcPic->getPicSym()->getTComTile( j * (pcPic->getPicSym()->getNumColumnsMinus1()+1) + p )->setTileWidth( pcSlice->getPPS()->getColumnWidth(p) ); 1275 uiCummulativeTileWidth += pcSlice->getPPS()->getColumnWidth(p); 1276 } 1277 pcPic->getPicSym()->getTComTile(j * (pcPic->getPicSym()->getNumColumnsMinus1()+1) + p)->setTileWidth( pcPic->getPicSym()->getFrameWidthInCU()-uiCummulativeTileWidth ); 1278 } 1279 1280 //set the height for each tile 1281 for(j=0; j < pcPic->getPicSym()->getNumColumnsMinus1()+1; j++) 1282 { 1283 uiCummulativeTileHeight = 0; 1284 for(p=0; p < pcPic->getPicSym()->getNumRowsMinus1(); p++) 1285 { 1286 pcPic->getPicSym()->getTComTile( p * (pcPic->getPicSym()->getNumColumnsMinus1()+1) + j )->setTileHeight( pcSlice->getPPS()->getRowHeight(p) ); 1287 uiCummulativeTileHeight += pcSlice->getPPS()->getRowHeight(p); 1288 } 1289 pcPic->getPicSym()->getTComTile(p * (pcPic->getPicSym()->getNumColumnsMinus1()+1) + j)->setTileHeight( pcPic->getPicSym()->getFrameHeightInCU()-uiCummulativeTileHeight ); 1290 } 1291 } 1292 //intialize each tile of the current picture 1293 pcPic->getPicSym()->xInitTiles(); 1237 pcPic->getPicSym()->initTiles(pcSlice->getPPS()); 1294 1238 1295 1239 // Allocate some coders, now we know how many tiles there are. … … 1814 1758 1815 1759 #if SETTING_NO_OUT_PIC_PRIOR 1760 pcSlice->setNoRaslOutputFlag(false); 1816 1761 if (pcSlice->isIRAP()) 1817 1762 { … … 1821 1766 } 1822 1767 //the inference for NoOutputPriorPicsFlag 1768 // KJS: This cannot happen at the encoder 1823 1769 if (!m_bFirst && pcSlice->isIRAP() && pcSlice->getNoRaslOutputFlag()) 1824 1770 { … … 2492 2438 assert (m_iGopSize > 0); 2493 2439 2494 return;2495 }2496 2497 Void TEncGOP::xInitGOP( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut )2498 {2499 assert( iNumPicRcvd > 0 );2500 // Exception for the first frame2501 if ( iPOCLast == 0 )2502 {2503 m_iGopSize = 1;2504 }2505 else2506 m_iGopSize = m_pcCfg->getGOPSize();2507 2508 assert (m_iGopSize > 0);2509 2510 2440 return; 2511 2441 }
Note: See TracChangeset for help on using the changeset viewer.