Changeset 1081 in 3DVCSoftware for branches/HTM-12.1-dev0/source/Lib/TLibEncoder


Ignore:
Timestamp:
22 Oct 2014, 01:32:55 (10 years ago)
Author:
tech
Message:

Update to HTM-15.0

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  
    210210  if( pcPPS->getTilesEnabledFlag() )
    211211  {
    212     WRITE_UVLC( pcPPS->getNumColumnsMinus1(),                                    "num_tile_columns_minus1" );
    213     WRITE_UVLC( pcPPS->getNumRowsMinus1(),                                       "num_tile_rows_minus1" );
    214     WRITE_FLAG( pcPPS->getUniformSpacingFlag(),                                  "uniform_spacing_flag" );
    215     if( pcPPS->getUniformSpacingFlag() == 0 )
    216     {
    217       for(UInt i=0; i<pcPPS->getNumColumnsMinus1(); i++)
    218       {
    219         WRITE_UVLC( pcPPS->getColumnWidth(i)-1,                                  "column_width_minus1" );
    220       }
    221       for(UInt i=0; i<pcPPS->getNumRowsMinus1(); i++)
    222       {
    223         WRITE_UVLC( pcPPS->getRowHeight(i)-1,                                    "row_height_minus1" );
    224       }
    225     }
    226     if(pcPPS->getNumColumnsMinus1() !=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)
    227227    {
    228228      WRITE_FLAG( pcPPS->getLoopFilterAcrossTilesEnabledFlag()?1 : 0,          "loop_filter_across_tiles_enabled_flag");
     
    528528  if( defaultDisplayWindow.getWindowEnabledFlag() )
    529529  {
    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");
    534534  }
    535535  TimingInfo *timingInfo = pcVUI->getTimingInfo();
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncCfg.h

    r1074 r1081  
    124124  Int       m_iSourceWidth;
    125125  Int       m_iSourceHeight;
    126   Int       m_conformanceMode;
    127126  Window    m_conformanceWindow;
    128127  Int       m_framesToBeEncoded;
     
    229228  Bool      m_bPCMFilterDisableFlag;
    230229  Bool      m_loopFilterAcrossTilesEnabledFlag;
    231   Int       m_iUniformSpacingIdr;
     230  Bool      m_tileUniformSpacingFlag;
    232231  Int       m_iNumColumnsMinus1;
    233   UInt*     m_puiColumnWidth;
    234232  Int       m_iNumRowsMinus1;
    235   UInt*     m_puiRowHeight;
     233  std::vector<Int> m_tileColumnWidth;
     234  std::vector<Int> m_tileRowHeight;
    236235
    237236  Int       m_iWaveFrontSynchro;
     
    430429public:
    431430  TEncCfg()
    432   : m_puiColumnWidth()
    433   , m_puiRowHeight()
     431  : m_tileColumnWidth()
     432  , m_tileRowHeight()
    434433#if H_MV
    435434  , m_layerId(-1)
     
    445444
    446445  virtual ~TEncCfg()
    447   {
    448     delete[] m_puiColumnWidth;
    449     delete[] m_puiRowHeight;
    450   }
     446  {}
    451447 
    452448  Void setProfile(Profile::Name profile) { m_profile = profile; }
     
    671667  Void  setLFCrossTileBoundaryFlag               ( Bool   val  )       { m_loopFilterAcrossTilesEnabledFlag = val; }
    672668  Bool  getLFCrossTileBoundaryFlag               ()                    { return m_loopFilterAcrossTilesEnabledFlag;   }
    673   Void  setUniformSpacingIdr           ( 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; }
    675671  Void  setNumColumnsMinus1            ( Int i )           { m_iNumColumnsMinus1 = i; }
    676672  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]; }
    692675  Void  setNumRowsMinus1               ( Int i )           { m_iNumRowsMinus1 = i; }
    693676  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]; }
    709679  Void  xCheckGSParameters();
    710680  Void  setWaveFrontSynchro(Int iWaveFrontSynchro)       { m_iWaveFrontSynchro = iWaveFrontSynchro; }
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncGOP.cpp

    r1074 r1081  
    395395Void TEncGOP::initGOP( Int iPOCLast, Int iNumPicRcvd, TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, std::list<AccessUnit>& accessUnitsInGOP)
    396396{
     397#if H_MV_ALIGN_HM_15
     398  xInitGOP( iPOCLast, iNumPicRcvd, rcListPic, rcListPicYuvRecOut, false );
     399#else
    397400  xInitGOP( iPOCLast, iNumPicRcvd, rcListPic, rcListPicYuvRecOut );
     401#endif
    398402  m_iNumPicCoded = 0;
    399403}
     
    12281232    UInt uiRealEndAddress = uiExternalAddress*pcPic->getNumPartInCU()+uiInternalAddress;
    12291233
    1230     UInt uiCummulativeTileWidth;
    1231     UInt uiCummulativeTileHeight;
    12321234    Int  p, j;
    12331235    UInt uiEncCUAddr;
    12341236
    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());
    12941238
    12951239    // Allocate some coders, now we know how many tiles there are.
     
    18141758
    18151759#if SETTING_NO_OUT_PIC_PRIOR
     1760          pcSlice->setNoRaslOutputFlag(false);
    18161761          if (pcSlice->isIRAP())
    18171762          {
     
    18211766            }
    18221767            //the inference for NoOutputPriorPicsFlag
     1768            // KJS: This cannot happen at the encoder
    18231769            if (!m_bFirst && pcSlice->isIRAP() && pcSlice->getNoRaslOutputFlag())
    18241770            {
     
    24922438  assert (m_iGopSize > 0);
    24932439 
    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 frame
    2501   if ( iPOCLast == 0 )
    2502   {
    2503     m_iGopSize    = 1;
    2504   }
    2505   else
    2506     m_iGopSize    = m_pcCfg->getGOPSize();
    2507  
    2508   assert (m_iGopSize > 0);
    2509 
    25102440  return;
    25112441}
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncGOP.h

    r1074 r1081  
    200200
    201201  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 );
    203202  Void  xGetBuffer        ( TComList<TComPic*>& rcListPic, TComList<TComPicYuv*>& rcListPicYuvRecOut, Int iNumPicRcvd, Int iTimeOffset, TComPic*& rpcPic, TComPicYuv*& rpcPicYuvRecOut, Int pocCurr, bool isField );
    204203 
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncSearch.cpp

    r1074 r1081  
    63296329    if( bCodeChroma )
    63306330    {
     6331      m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] );
     6332      m_pcEntropyCoder->resetBits();
    63316333        m_pcEntropyCoder->encodeQtCbf   ( pcCU, uiAbsPartIdx, TEXT_CHROMA_U, uiTrMode );
    63326334      m_pcEntropyCoder->encodeCoeffNxN( pcCU, pcCoeffCurrU, uiAbsPartIdx, trWidthC, trHeightC, uiDepth, TEXT_CHROMA_U );
    6333       uiSingleBitsU = m_pcEntropyCoder->getNumberOfWrittenBits() - uiSingleBitsY;
     6335      uiSingleBitsU = m_pcEntropyCoder->getNumberOfWrittenBits();
    63346336     
     6337      m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] );
     6338      m_pcEntropyCoder->resetBits();
    63356339        m_pcEntropyCoder->encodeQtCbf   ( pcCU, uiAbsPartIdx, TEXT_CHROMA_V, uiTrMode );
    63366340      m_pcEntropyCoder->encodeCoeffNxN( pcCU, pcCoeffCurrV, uiAbsPartIdx, trWidthC, trHeightC, uiDepth, TEXT_CHROMA_V );
    6337       uiSingleBitsV = m_pcEntropyCoder->getNumberOfWrittenBits() - ( uiSingleBitsY + uiSingleBitsU );
     6341      uiSingleBitsV = m_pcEntropyCoder->getNumberOfWrittenBits();
    63386342    }
    63396343   
     
    64166420        const Double singleCostY = m_pcRdCost->calcRdCost( uiSingleBitsY, uiNonzeroDistY );
    64176421#endif
     6422        m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] );
     6423
    64186424        m_pcEntropyCoder->resetBits();
    64196425        m_pcEntropyCoder->encodeQtCbfZero( pcCU, TEXT_LUMA,     uiTrMode );
     
    64496455    else if( checkTransformSkipY )
    64506456    {
     6457      m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] );
    64516458      m_pcEntropyCoder->resetBits();
    64526459      m_pcEntropyCoder->encodeQtCbfZero( pcCU, TEXT_LUMA, uiTrMode );
     
    65056512        {
    65066513          const Double dSingleCostU = m_pcRdCost->calcRdCost( uiSingleBitsU, uiNonzeroDistU );
     6514          m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] );
    65076515          m_pcEntropyCoder->resetBits();
    65086516          m_pcEntropyCoder->encodeQtCbfZero( pcCU, TEXT_CHROMA_U,     uiTrMode );
     
    65306538      else if( checkTransformSkipUV )
    65316539      {
     6540        m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] );
    65326541        m_pcEntropyCoder->resetBits();
    65336542        m_pcEntropyCoder->encodeQtCbfZero( pcCU, TEXT_CHROMA_U, uiTrMode );
     
    65746583        {
    65756584          const Double dSingleCostV = m_pcRdCost->calcRdCost( uiSingleBitsV, uiNonzeroDistV );
     6585          m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] );
    65766586          m_pcEntropyCoder->resetBits();
    65776587          m_pcEntropyCoder->encodeQtCbfZero( pcCU, TEXT_CHROMA_V,     uiTrMode );
     
    65996609      else if( checkTransformSkipUV )
    66006610      {
     6611        m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] );
    66016612        m_pcEntropyCoder->resetBits();
    66026613        m_pcEntropyCoder->encodeQtCbfZero( pcCU, TEXT_CHROMA_V, uiTrMode );
     
    67956806      pcCU->setCbfSubParts( uiAbsSumTransformSkipV ? uiSetCbf : 0, TEXT_CHROMA_V, uiAbsPartIdx, pcCU->getDepth(0)+uiTrModeC );
    67966807
    6797       m_pcEntropyCoder->resetBits();
    67986808      uiSingleBitsU = 0;
    67996809      uiSingleBitsV = 0;
     
    68016811      if( uiAbsSumTransformSkipU )
    68026812      {
     6813        m_pcEntropyCoder->resetBits();
    68036814        m_pcEntropyCoder->encodeQtCbf   ( pcCU, uiAbsPartIdx, TEXT_CHROMA_U, uiTrMode );
    68046815        m_pcEntropyCoder->encodeCoeffNxN( pcCU, pcCoeffCurrU, uiAbsPartIdx, trWidthC, trHeightC, uiDepth, TEXT_CHROMA_U );
     
    68436854      if( uiAbsSumTransformSkipV )
    68446855      {
     6856        m_pcRDGoOnSbacCoder->load( m_pppcRDSbacCoder[ uiDepth ][ CI_QT_TRAFO_ROOT ] );
     6857        m_pcEntropyCoder->resetBits();
    68456858        m_pcEntropyCoder->encodeQtCbf   ( pcCU, uiAbsPartIdx, TEXT_CHROMA_V, uiTrMode );
    68466859        m_pcEntropyCoder->encodeCoeffNxN( pcCU, pcCoeffCurrV, uiAbsPartIdx, trWidthC, trHeightC, uiDepth, TEXT_CHROMA_V );
    6847         uiSingleBitsV = m_pcEntropyCoder->getNumberOfWrittenBits() - uiSingleBitsU;
     6860        uiSingleBitsV = m_pcEntropyCoder->getNumberOfWrittenBits();
    68486861
    68496862        curChromaQpOffset = pcCU->getSlice()->getPPS()->getChromaCrQpOffset() + pcCU->getSlice()->getSliceQpDeltaCr();
  • branches/HTM-12.1-dev0/source/Lib/TLibEncoder/TEncTop.cpp

    r1076 r1081  
    854854  {
    855855    TComVUI* pcVUI = m_cSPS.getVuiParameters();
    856     pcVUI->setAspectRatioInfoPresentFlag(getAspectRatioIdc() != -1);
     856    pcVUI->setAspectRatioInfoPresentFlag(getAspectRatioInfoPresentFlag());
    857857    pcVUI->setAspectRatioIdc(getAspectRatioIdc());
    858858    pcVUI->setSarWidth(getSarWidth());
     
    12881288Void  TEncTop::xInitPPSforTiles()
    12891289{
    1290   m_cPPS.setUniformSpacingFlag( m_iUniformSpacingIdr );
    1291   m_cPPS.setNumColumnsMinus1( m_iNumColumnsMinus1 );
    1292   m_cPPS.setNumRowsMinus1( m_iNumRowsMinus1 );
    1293   if( m_iUniformSpacingIdr == 0 )
    1294   {
    1295     m_cPPS.setColumnWidth( m_puiColumnWidth );
    1296     m_cPPS.setRowHeight( 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 );
    12971297  }
    12981298  m_cPPS.setLoopFilterAcrossTilesEnabledFlag( m_loopFilterAcrossTilesEnabledFlag );
    12991299
    13001300  // # substreams is "per tile" when tiles are independent.
    1301   if (m_iWaveFrontSynchro
    1302     )
     1301  if (m_iWaveFrontSynchro )
    13031302  {
    13041303    m_cPPS.setNumSubstreams(m_iWaveFrontSubstreams * (m_iNumColumnsMinus1+1));
     
    13261325  }
    13271326
    1328   if( m_iNumColumnsMinus1 && m_iUniformSpacingIdr==0 )
     1327  if( m_iNumColumnsMinus1 && !m_tileUniformSpacingFlag )
    13291328  {
    13301329    for(Int i=0; i<m_iNumColumnsMinus1; i++)
    13311330    {
    1332       uiCummulativeColumnWidth += m_puiColumnWidth[i];
     1331      uiCummulativeColumnWidth += m_tileColumnWidth[i];
    13331332    }
    13341333
     
    13531352  }
    13541353
    1355   if( m_iNumRowsMinus1 && m_iUniformSpacingIdr==0 )
     1354  if( m_iNumRowsMinus1 && !m_tileUniformSpacingFlag )
    13561355  {
    13571356    for(Int i=0; i<m_iNumRowsMinus1; i++)
    1358       uiCummulativeRowHeight += m_puiRowHeight[i];
     1357      uiCummulativeRowHeight += m_tileRowHeight[i];
    13591358
    13601359    if( uiCummulativeRowHeight >= iHeightInCU )
Note: See TracChangeset for help on using the changeset viewer.