Changeset 1081 in 3DVCSoftware for branches/HTM-12.1-dev0/source/Lib/TLibEncoder
- Timestamp:
- 22 Oct 2014, 01:32:55 (10 years ago)
- Location:
- branches/HTM-12.1-dev0/source/Lib/TLibEncoder
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp
r1079 r1081 210 210 if( pcPPS->getTilesEnabledFlag() ) 211 211 { 212 WRITE_UVLC( pcPPS->getNum ColumnsMinus1(), "num_tile_columns_minus1" );213 WRITE_UVLC( pcPPS->get NumRowsMinus1(), "num_tile_rows_minus1" );214 WRITE_FLAG( pcPPS->get UniformSpacingFlag(), "uniform_spacing_flag" );215 if( pcPPS->getUniformSpacingFlag() == 0)216 { 217 for(UInt i=0; i<pcPPS->getNum ColumnsMinus1(); i++)218 { 219 WRITE_UVLC( pcPPS->get ColumnWidth(i)-1, "column_width_minus1" );220 } 221 for(UInt i=0; i<pcPPS->get NumRowsMinus1(); i++)222 { 223 WRITE_UVLC( pcPPS->get RowHeight(i)-1, "row_height_minus1" );224 } 225 } 226 if(pcPPS->getNum ColumnsMinus1() !=0 || pcPPS->getNumRowsMinus1() !=0)212 WRITE_UVLC( pcPPS->getNumTileColumnsMinus1(), "num_tile_columns_minus1" ); 213 WRITE_UVLC( pcPPS->getTileNumRowsMinus1(), "num_tile_rows_minus1" ); 214 WRITE_FLAG( pcPPS->getTileUniformSpacingFlag(), "uniform_spacing_flag" ); 215 if( !pcPPS->getTileUniformSpacingFlag() ) 216 { 217 for(UInt i=0; i<pcPPS->getNumTileColumnsMinus1(); i++) 218 { 219 WRITE_UVLC( pcPPS->getTileColumnWidth(i)-1, "column_width_minus1" ); 220 } 221 for(UInt i=0; i<pcPPS->getTileNumRowsMinus1(); i++) 222 { 223 WRITE_UVLC( pcPPS->getTileRowHeight(i)-1, "row_height_minus1" ); 224 } 225 } 226 if(pcPPS->getNumTileColumnsMinus1() !=0 || pcPPS->getTileNumRowsMinus1() !=0) 227 227 { 228 228 WRITE_FLAG( pcPPS->getLoopFilterAcrossTilesEnabledFlag()?1 : 0, "loop_filter_across_tiles_enabled_flag"); … … 528 528 if( defaultDisplayWindow.getWindowEnabledFlag() ) 529 529 { 530 WRITE_UVLC(defaultDisplayWindow.getWindowLeftOffset() ,"def_disp_win_left_offset");531 WRITE_UVLC(defaultDisplayWindow.getWindowRightOffset() ,"def_disp_win_right_offset");532 WRITE_UVLC(defaultDisplayWindow.getWindowTopOffset() ,"def_disp_win_top_offset");533 WRITE_UVLC(defaultDisplayWindow.getWindowBottomOffset() ,"def_disp_win_bottom_offset");530 WRITE_UVLC(defaultDisplayWindow.getWindowLeftOffset() / TComSPS::getWinUnitX(pcSPS->getChromaFormatIdc()), "def_disp_win_left_offset"); 531 WRITE_UVLC(defaultDisplayWindow.getWindowRightOffset() / TComSPS::getWinUnitX(pcSPS->getChromaFormatIdc()), "def_disp_win_right_offset"); 532 WRITE_UVLC(defaultDisplayWindow.getWindowTopOffset() / TComSPS::getWinUnitY(pcSPS->getChromaFormatIdc()), "def_disp_win_top_offset"); 533 WRITE_UVLC(defaultDisplayWindow.getWindowBottomOffset()/ TComSPS::getWinUnitY(pcSPS->getChromaFormatIdc()), "def_disp_win_bottom_offset"); 534 534 } 535 535 TimingInfo *timingInfo = pcVUI->getTimingInfo(); -
branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncCfg.h
r1074 r1081 124 124 Int m_iSourceWidth; 125 125 Int m_iSourceHeight; 126 Int m_conformanceMode;127 126 Window m_conformanceWindow; 128 127 Int m_framesToBeEncoded; … … 229 228 Bool m_bPCMFilterDisableFlag; 230 229 Bool m_loopFilterAcrossTilesEnabledFlag; 231 Int m_iUniformSpacingIdr;230 Bool m_tileUniformSpacingFlag; 232 231 Int m_iNumColumnsMinus1; 233 UInt* m_puiColumnWidth;234 232 Int m_iNumRowsMinus1; 235 UInt* m_puiRowHeight; 233 std::vector<Int> m_tileColumnWidth; 234 std::vector<Int> m_tileRowHeight; 236 235 237 236 Int m_iWaveFrontSynchro; … … 430 429 public: 431 430 TEncCfg() 432 : m_ puiColumnWidth()433 , m_ puiRowHeight()431 : m_tileColumnWidth() 432 , m_tileRowHeight() 434 433 #if H_MV 435 434 , m_layerId(-1) … … 445 444 446 445 virtual ~TEncCfg() 447 { 448 delete[] m_puiColumnWidth; 449 delete[] m_puiRowHeight; 450 } 446 {} 451 447 452 448 Void setProfile(Profile::Name profile) { m_profile = profile; } … … 671 667 Void setLFCrossTileBoundaryFlag ( Bool val ) { m_loopFilterAcrossTilesEnabledFlag = val; } 672 668 Bool getLFCrossTileBoundaryFlag () { return m_loopFilterAcrossTilesEnabledFlag; } 673 Void set UniformSpacingIdr ( Int i ) { m_iUniformSpacingIdr = i; }674 Int getUniformSpacingIdr () { return m_iUniformSpacingIdr; }669 Void setTileUniformSpacingFlag ( Bool b ) { m_tileUniformSpacingFlag = b; } 670 Bool getTileUniformSpacingFlag () { return m_tileUniformSpacingFlag; } 675 671 Void setNumColumnsMinus1 ( Int i ) { m_iNumColumnsMinus1 = i; } 676 672 Int getNumColumnsMinus1 () { return m_iNumColumnsMinus1; } 677 Void setColumnWidth ( UInt* columnWidth ) 678 { 679 if( m_iUniformSpacingIdr == 0 && m_iNumColumnsMinus1 > 0 ) 680 { 681 Int m_iWidthInCU = ( m_iSourceWidth%g_uiMaxCUWidth ) ? m_iSourceWidth/g_uiMaxCUWidth + 1 : m_iSourceWidth/g_uiMaxCUWidth; 682 m_puiColumnWidth = new UInt[ m_iNumColumnsMinus1 ]; 683 684 for(Int i=0; i<m_iNumColumnsMinus1; i++) 685 { 686 m_puiColumnWidth[i] = columnWidth[i]; 687 printf("col: m_iWidthInCU= %4d i=%4d width= %4d\n",m_iWidthInCU,i,m_puiColumnWidth[i]); //AFU 688 } 689 } 690 } 691 UInt getColumnWidth ( UInt columnidx ) { return *( m_puiColumnWidth + columnidx ); } 673 Void setColumnWidth ( const std::vector<Int>& columnWidth ) { m_tileColumnWidth = columnWidth; } 674 UInt getColumnWidth ( UInt columnIdx ) { return m_tileColumnWidth[columnIdx]; } 692 675 Void setNumRowsMinus1 ( Int i ) { m_iNumRowsMinus1 = i; } 693 676 Int getNumRowsMinus1 () { return m_iNumRowsMinus1; } 694 Void setRowHeight (UInt* rowHeight) 695 { 696 if( m_iUniformSpacingIdr == 0 && m_iNumRowsMinus1 > 0 ) 697 { 698 Int m_iHeightInCU = ( m_iSourceHeight%g_uiMaxCUHeight ) ? m_iSourceHeight/g_uiMaxCUHeight + 1 : m_iSourceHeight/g_uiMaxCUHeight; 699 m_puiRowHeight = new UInt[ m_iNumRowsMinus1 ]; 700 701 for(Int i=0; i<m_iNumRowsMinus1; i++) 702 { 703 m_puiRowHeight[i] = rowHeight[i]; 704 printf("row: m_iHeightInCU=%4d i=%4d height=%4d\n",m_iHeightInCU,i,m_puiRowHeight[i]); //AFU 705 } 706 } 707 } 708 UInt getRowHeight ( UInt rowIdx ) { return *( m_puiRowHeight + rowIdx ); } 677 Void setRowHeight ( const std::vector<Int>& rowHeight) { m_tileRowHeight = rowHeight; } 678 UInt getRowHeight ( UInt rowIdx ) { return m_tileRowHeight[rowIdx]; } 709 679 Void xCheckGSParameters(); 710 680 Void setWaveFrontSynchro(Int iWaveFrontSynchro) { m_iWaveFrontSynchro = iWaveFrontSynchro; } -
branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncGOP.cpp
r1074 r1081 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 } … … 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 } -
branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncGOP.h
r1074 r1081 200 200 201 201 Void xInitGOP( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, bool isField ); 202 Void xInitGOP ( Int iPOC, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut );203 202 Void xGetBuffer ( TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, Int iNumPicRcvd, Int iTimeOffset, TComPic*& rpcPic, TComPicYuv*& rpcPicYuvRecOut, Int pocCurr, bool isField ); 204 203 -
branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncSearch.cpp
r1074 r1081 6329 6329 if( bCodeChroma ) 6330 6330 { 6331 m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] ); 6332 m_pcEntropyCoder->resetBits(); 6331 6333 m_pcEntropyCoder->encodeQtCbf ( pcCU, uiAbsPartIdx, TEXT_CHROMA_U, uiTrMode ); 6332 6334 m_pcEntropyCoder->encodeCoeffNxN( pcCU, pcCoeffCurrU, uiAbsPartIdx, trWidthC, trHeightC, uiDepth, TEXT_CHROMA_U ); 6333 uiSingleBitsU = m_pcEntropyCoder->getNumberOfWrittenBits() - uiSingleBitsY;6335 uiSingleBitsU = m_pcEntropyCoder->getNumberOfWrittenBits(); 6334 6336 6337 m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] ); 6338 m_pcEntropyCoder->resetBits(); 6335 6339 m_pcEntropyCoder->encodeQtCbf ( pcCU, uiAbsPartIdx, TEXT_CHROMA_V, uiTrMode ); 6336 6340 m_pcEntropyCoder->encodeCoeffNxN( pcCU, pcCoeffCurrV, uiAbsPartIdx, trWidthC, trHeightC, uiDepth, TEXT_CHROMA_V ); 6337 uiSingleBitsV = m_pcEntropyCoder->getNumberOfWrittenBits() - ( uiSingleBitsY + uiSingleBitsU );6341 uiSingleBitsV = m_pcEntropyCoder->getNumberOfWrittenBits(); 6338 6342 } 6339 6343 … … 6416 6420 const Double singleCostY = m_pcRdCost->calcRdCost( uiSingleBitsY, uiNonzeroDistY ); 6417 6421 #endif 6422 m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] ); 6423 6418 6424 m_pcEntropyCoder->resetBits(); 6419 6425 m_pcEntropyCoder->encodeQtCbfZero( pcCU, TEXT_LUMA, uiTrMode ); … … 6449 6455 else if( checkTransformSkipY ) 6450 6456 { 6457 m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] ); 6451 6458 m_pcEntropyCoder->resetBits(); 6452 6459 m_pcEntropyCoder->encodeQtCbfZero( pcCU, TEXT_LUMA, uiTrMode ); … … 6505 6512 { 6506 6513 const Double dSingleCostU = m_pcRdCost->calcRdCost( uiSingleBitsU, uiNonzeroDistU ); 6514 m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] ); 6507 6515 m_pcEntropyCoder->resetBits(); 6508 6516 m_pcEntropyCoder->encodeQtCbfZero( pcCU, TEXT_CHROMA_U, uiTrMode ); … … 6530 6538 else if( checkTransformSkipUV ) 6531 6539 { 6540 m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] ); 6532 6541 m_pcEntropyCoder->resetBits(); 6533 6542 m_pcEntropyCoder->encodeQtCbfZero( pcCU, TEXT_CHROMA_U, uiTrMode ); … … 6574 6583 { 6575 6584 const Double dSingleCostV = m_pcRdCost->calcRdCost( uiSingleBitsV, uiNonzeroDistV ); 6585 m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] ); 6576 6586 m_pcEntropyCoder->resetBits(); 6577 6587 m_pcEntropyCoder->encodeQtCbfZero( pcCU, TEXT_CHROMA_V, uiTrMode ); … … 6599 6609 else if( checkTransformSkipUV ) 6600 6610 { 6611 m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] ); 6601 6612 m_pcEntropyCoder->resetBits(); 6602 6613 m_pcEntropyCoder->encodeQtCbfZero( pcCU, TEXT_CHROMA_V, uiTrMode ); … … 6795 6806 pcCU->setCbfSubParts( uiAbsSumTransformSkipV ? uiSetCbf : 0, TEXT_CHROMA_V, uiAbsPartIdx, pcCU->getDepth(0)+uiTrModeC ); 6796 6807 6797 m_pcEntropyCoder->resetBits();6798 6808 uiSingleBitsU = 0; 6799 6809 uiSingleBitsV = 0; … … 6801 6811 if( uiAbsSumTransformSkipU ) 6802 6812 { 6813 m_pcEntropyCoder->resetBits(); 6803 6814 m_pcEntropyCoder->encodeQtCbf ( pcCU, uiAbsPartIdx, TEXT_CHROMA_U, uiTrMode ); 6804 6815 m_pcEntropyCoder->encodeCoeffNxN( pcCU, pcCoeffCurrU, uiAbsPartIdx, trWidthC, trHeightC, uiDepth, TEXT_CHROMA_U ); … … 6843 6854 if( uiAbsSumTransformSkipV ) 6844 6855 { 6856 m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] ); 6857 m_pcEntropyCoder->resetBits(); 6845 6858 m_pcEntropyCoder->encodeQtCbf ( pcCU, uiAbsPartIdx, TEXT_CHROMA_V, uiTrMode ); 6846 6859 m_pcEntropyCoder->encodeCoeffNxN( pcCU, pcCoeffCurrV, uiAbsPartIdx, trWidthC, trHeightC, uiDepth, TEXT_CHROMA_V ); 6847 uiSingleBitsV = m_pcEntropyCoder->getNumberOfWrittenBits() - uiSingleBitsU;6860 uiSingleBitsV = m_pcEntropyCoder->getNumberOfWrittenBits(); 6848 6861 6849 6862 curChromaQpOffset = pcCU->getSlice()->getPPS()->getChromaCrQpOffset() + pcCU->getSlice()->getSliceQpDeltaCr(); -
branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncTop.cpp
r1076 r1081 854 854 { 855 855 TComVUI* pcVUI = m_cSPS.getVuiParameters(); 856 pcVUI->setAspectRatioInfoPresentFlag(getAspectRatioI dc() != -1);856 pcVUI->setAspectRatioInfoPresentFlag(getAspectRatioInfoPresentFlag()); 857 857 pcVUI->setAspectRatioIdc(getAspectRatioIdc()); 858 858 pcVUI->setSarWidth(getSarWidth()); … … 1288 1288 Void TEncTop::xInitPPSforTiles() 1289 1289 { 1290 m_cPPS.set UniformSpacingFlag( m_iUniformSpacingIdr);1291 m_cPPS.setNum ColumnsMinus1( m_iNumColumnsMinus1 );1292 m_cPPS.setNum RowsMinus1( m_iNumRowsMinus1 );1293 if( m_iUniformSpacingIdr == 0)1294 { 1295 m_cPPS.set ColumnWidth( m_puiColumnWidth );1296 m_cPPS.set RowHeight( m_puiRowHeight );1290 m_cPPS.setTileUniformSpacingFlag( m_tileUniformSpacingFlag ); 1291 m_cPPS.setNumTileColumnsMinus1( m_iNumColumnsMinus1 ); 1292 m_cPPS.setNumTileRowsMinus1( m_iNumRowsMinus1 ); 1293 if( !m_tileUniformSpacingFlag ) 1294 { 1295 m_cPPS.setTileColumnWidth( m_tileColumnWidth ); 1296 m_cPPS.setTileRowHeight( m_tileRowHeight ); 1297 1297 } 1298 1298 m_cPPS.setLoopFilterAcrossTilesEnabledFlag( m_loopFilterAcrossTilesEnabledFlag ); 1299 1299 1300 1300 // # substreams is "per tile" when tiles are independent. 1301 if (m_iWaveFrontSynchro 1302 ) 1301 if (m_iWaveFrontSynchro ) 1303 1302 { 1304 1303 m_cPPS.setNumSubstreams(m_iWaveFrontSubstreams * (m_iNumColumnsMinus1+1)); … … 1326 1325 } 1327 1326 1328 if( m_iNumColumnsMinus1 && m_iUniformSpacingIdr==0)1327 if( m_iNumColumnsMinus1 && !m_tileUniformSpacingFlag ) 1329 1328 { 1330 1329 for(Int i=0; i<m_iNumColumnsMinus1; i++) 1331 1330 { 1332 uiCummulativeColumnWidth += m_ puiColumnWidth[i];1331 uiCummulativeColumnWidth += m_tileColumnWidth[i]; 1333 1332 } 1334 1333 … … 1353 1352 } 1354 1353 1355 if( m_iNumRowsMinus1 && m_iUniformSpacingIdr==0)1354 if( m_iNumRowsMinus1 && !m_tileUniformSpacingFlag ) 1356 1355 { 1357 1356 for(Int i=0; i<m_iNumRowsMinus1; i++) 1358 uiCummulativeRowHeight += m_ puiRowHeight[i];1357 uiCummulativeRowHeight += m_tileRowHeight[i]; 1359 1358 1360 1359 if( uiCummulativeRowHeight >= iHeightInCU )
Note: See TracChangeset for help on using the changeset viewer.