Changeset 1084 in 3DVCSoftware for trunk/source/App/TAppEncoder


Ignore:
Timestamp:
24 Oct 2014, 11:44:58 (10 years ago)
Author:
tech
Message:

Merged branches/HTM-12.1-dev0@1083.

Location:
trunk/source/App/TAppEncoder
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/App/TAppEncoder/TAppEncCfg.cpp

    r1066 r1084  
    7272#endif
    7373, m_pchdQPFile()
    74 , m_pColumnWidth()
    75 , m_pRowHeight()
    7674, m_scalingListFile()
    7775{
     
    139137#endif
    140138  free(m_pchdQPFile);
    141   free(m_pColumnWidth);
    142   free(m_pRowHeight);
    143139  free(m_scalingListFile);
    144140#if H_MV
     
    241237  {"main-still-picture", Profile::MAINSTILLPICTURE},
    242238#if H_MV
    243 #if H_MV_HLS10_PTL
    244239  {"multiview-main", Profile::MULTIVIEWMAIN},
    245240#if H_3D
     
    247242#endif
    248243
    249 #else
    250   {"main-stereo",    Profile::MAINSTEREO},
    251   {"main-multiview", Profile::MAINMULTIVIEW},
    252 #if H_3D
    253   {"main-3d"    , Profile::MAIN3D},
    254 #endif
    255 #endif
    256244#endif
    257245};
     
    341329#if H_MV
    342330  vector<Int>   cfg_dimensionLength;
    343 #if H_MV_HLS10_PTL
    344331  string        cfg_profiles;
    345332  string        cfg_levels;
    346333  string        cfg_tiers;
    347 #endif
    348334#if H_3D
    349335  cfg_dimensionLength.push_back( 2  );  // depth
     
    354340#endif
    355341  string cfg_dQPFile;
    356   string cfg_ColumnWidth;
    357   string cfg_RowHeight;
     342  string cfgColumnWidth;
     343  string cfgRowHeight;
    358344  string cfg_ScalingListFile;
    359345  string cfg_startOfCodedInterval;
     
    380366  ("NumberOfLayers",        m_numberOfLayers     , 1,                     "Number of layers")
    381367#if !H_3D
    382 #if H_MV_HLS10_AUX
    383368  ("ScalabilityMask",       m_scalabilityMask    , 2                    , "Scalability Mask: 2: Multiview, 8: Auxiliary, 10: Multiview + Auxiliary")   
    384 #else
    385   ("ScalabilityMask",       m_scalabilityMask    , 2                    , "Scalability Mask")   
    386 #endif
    387369#else
    388370  ("ScalabilityMask",       m_scalabilityMask    , 3                    , "Scalability Mask, 1: Texture 3: Texture + Depth ")   
     
    391373  ("ViewOrderIndex",        m_viewOrderIndex     , std::vector<Int>(1,0), "View Order Index per layer")
    392374  ("ViewId",                m_viewId             , std::vector<Int>(1,0), "View Id per View Order Index")
    393 #if H_MV_HLS10_AUX
    394375  ("AuxId",                 m_auxId              , std::vector<Int>(1,0), "AuxId per layer")
    395 #endif
    396376#if H_3D
    397377  ("DepthFlag",             m_depthFlag          , std::vector<Int>(1,0), "Depth Flag")
    398378#if H_3D_DIM
    399379  ("DMM",                   m_useDMM,           true,  "Depth intra model modes")
    400 #if SEPARATE_FLAG_I0085
    401380  ("IVP",                   m_useIVP,           true,  "intra-view prediction")
    402 #endif
    403381  ("SDC",                   m_useSDC,           true,  "Simplified depth coding")
    404382  ("DLT",                   m_useDLT,           true,  "Depth lookup table")
    405383#endif
    406 #if MTK_SINGLE_DEPTH_MODE_I0095
     384#if H_3D
    407385  ("SingleDepthMode",    m_useSingleDepthMode, true, "Single depth mode")                         
    408386#endif
    409387#endif
    410 #if H_MV_HLS10_GEN_FIX
    411388  ("TargetEncLayerIdList",  m_targetEncLayerIdList, std::vector<Int>(0,0), "LayerIds in Nuh to be encoded") 
    412 #endif
    413389  ("LayerIdInNuh",          m_layerIdInNuh       , std::vector<Int>(1,0), "LayerId in Nuh") 
    414390  ("SplittingFlag",         m_splittingFlag      , false                , "Splitting Flag")   
     
    417393  ("VpsNumLayerSets",       m_vpsNumLayerSets    , 1                    , "Number of layer sets")   
    418394  ("LayerIdsInSet_%d",      m_layerIdsInSets     , std::vector<Int>(1,0), MAX_VPS_OP_SETS_PLUS1 ,"LayerIds of Layer set") 
    419 #if H_MV_HLS10_ADD_LAYERSETS
    420395  ("NumAddLayerSets"     , m_numAddLayerSets     , 0                                              , "NumAddLayerSets     ")
    421396  ("HighestLayerIdxPlus1_%d", m_highestLayerIdxPlus1, std::vector< Int  >(0,0)  ,MAX_VPS_NUM_ADD_LAYER_SETS, "HighestLayerIdxPlus1")
    422 #endif
    423397  ("DefaultTargetOutputLayerIdc"     , m_defaultOutputLayerIdc     , 0, "Specifies output layers of layer sets, 0: output all layers, 1: output highest layer, 2: specified by LayerIdsInDefOutputLayerSet")
    424398  ("OutputLayerSetIdx",     m_outputLayerSetIdx  , std::vector<Int>(0,0), "Indices of layer sets used as additional output layer sets") 
     
    428402  ("AltOutputLayerFlag",    m_altOutputLayerFlag , std::vector<Bool>(1,0), "Alt output layer flag")
    429403 
    430 #if H_MV_HLS10_PTL
    431404  ("ProfileTierLevelIdx_%d",  m_profileTierLevelIdx, std::vector<Int>(0), MAX_NUM_LAYERS, "Indices to profile level tier for ols")
    432 #else
    433   ("ProfileLevelTierIdx",   m_profileLevelTierIdx, std::vector<Int>(1,0), "Indices to profile level tier")
    434 #endif
    435405  // Layer dependencies
    436406  ("DirectRefLayers_%d",    m_directRefLayers    , std::vector<Int>(0,0), MAX_NUM_LAYERS, "LayerIds of direct reference layers")
     
    446416  ("OutputBitDepthC",       m_outputBitDepthC,   0, "As per OutputBitDepth but for chroma component. (default:InternalBitDepthC)")
    447417  ("InternalBitDepthC",     m_internalBitDepthC, 0, "As per InternalBitDepth but for chroma component. (default:IntrenalBitDepth)")
    448   ("ConformanceMode",       m_conformanceMode,     0, "Window conformance mode (0: no window, 1:automatic padding, 2:padding, 3:conformance")
     418  ("ConformanceMode",       m_conformanceWindowMode,  0, "Deprecated alias of ConformanceWindowMode")
     419  ("ConformanceWindowMode", m_conformanceWindowMode,  0, "Window conformance mode (0: no window, 1:automatic padding, 2:padding, 3:conformance")
    449420  ("HorizontalPadding,-pdx",m_aiPad[0],            0, "Horizontal source padding for conformance window mode 2")
    450421  ("VerticalPadding,-pdy",  m_aiPad[1],            0, "Vertical source padding for conformance window mode 2")
    451   ("ConfLeft",              m_confLeft,            0, "Left offset for window conformance mode 3")
    452   ("ConfRight",             m_confRight,           0, "Right offset for window conformance mode 3")
    453   ("ConfTop",               m_confTop,             0, "Top offset for window conformance mode 3")
    454   ("ConfBottom",            m_confBottom,          0, "Bottom offset for window conformance mode 3")
     422  ("ConfLeft",              m_confWinLeft,            0, "Deprecated alias of ConfWinLeft")
     423  ("ConfRight",             m_confWinRight,           0, "Deprecated alias of ConfWinRight")
     424  ("ConfTop",               m_confWinTop,             0, "Deprecated alias of ConfWinTop")
     425  ("ConfBottom",            m_confWinBottom,          0, "Deprecated alias of ConfWinBottom")
     426  ("ConfWinLeft",           m_confWinLeft,            0, "Left offset for window conformance mode 3")
     427  ("ConfWinRight",          m_confWinRight,           0, "Right offset for window conformance mode 3")
     428  ("ConfWinTop",            m_confWinTop,             0, "Top offset for window conformance mode 3")
     429  ("ConfWinBottom",         m_confWinBottom,          0, "Bottom offset for window conformance mode 3")
    455430  ("FrameRate,-fr",         m_iFrameRate,          0, "Frame rate")
    456431  ("FrameSkip,-fs",         m_FrameSkip,          0u, "Number of frames to skip at start of input YUV")
     
    462437 
    463438  // Profile and level
    464 #if H_MV_HLS10_PTL
     439#if H_MV
    465440  ("Profile", cfg_profiles,   string(""),           "Profile in VpsProfileTierLevel (Indication only)")
    466441  ("Level",   cfg_levels ,    string(""),           "Level indication in VpsProfileTierLevel (Indication only)")
     
    609584  ("WeightedPredB,-wpB",          m_useWeightedBiPred,             false,      "Use weighted (bidirectional) prediction in B slices")
    610585  ("Log2ParallelMergeLevel",      m_log2ParallelMergeLevel,     2u,          "Parallel merge estimation region")
    611   ("UniformSpacingIdc",           m_iUniformSpacingIdr,            0,          "Indicates if the column and row boundaries are distributed uniformly")
    612   ("NumTileColumnsMinus1",        m_iNumColumnsMinus1,             0,          "Number of columns in a picture minus 1")
    613   ("ColumnWidthArray",            cfg_ColumnWidth,                 string(""), "Array containing ColumnWidth values in units of LCU")
    614   ("NumTileRowsMinus1",           m_iNumRowsMinus1,                0,          "Number of rows in a picture minus 1")
    615   ("RowHeightArray",              cfg_RowHeight,                   string(""), "Array containing RowHeight values in units of LCU")
     586
     587  //deprecated copies of renamed tile parameters
     588  ("UniformSpacingIdc",           m_tileUniformSpacingFlag,        false,      "deprecated alias of TileUniformSpacing")
     589  ("ColumnWidthArray",            cfgColumnWidth,                  string(""), "deprecated alias of TileColumnWidthArray")
     590  ("RowHeightArray",              cfgRowHeight,                    string(""), "deprecated alias of TileRowHeightArray")
     591
     592  ("TileUniformSpacing",          m_tileUniformSpacingFlag,        false,      "Indicates that tile columns and rows are distributed uniformly")
     593  ("NumTileColumnsMinus1",        m_numTileColumnsMinus1,          0,          "Number of tile columns in a picture minus 1")
     594  ("NumTileRowsMinus1",           m_numTileRowsMinus1,             0,          "Number of rows in a picture minus 1")
     595  ("TileColumnWidthArray",        cfgColumnWidth,                  string(""), "Array containing tile column width values in units of LCU")
     596  ("TileRowHeightArray",          cfgRowHeight,                    string(""), "Array containing tile row height values in units of LCU")
    616597  ("LFCrossTileBoundaryFlag",      m_bLFCrossTileBoundaryFlag,             true,          "1: cross-tile-boundary loop filtering. 0:non-cross-tile-boundary loop filtering")
    617598  ("WaveFrontSynchro",            m_iWaveFrontSynchro,             0,          "0: no synchro; 1 synchro with TR; 2 TRR etc")
     
    650631#endif
    651632#if H_MV
    652 #if H_MV_HLS10_GEN_FIX
    653633// A lot of this stuff could should actually be derived by the encoder.
    654 #endif // H_MV_HLS10_GEN
    655634  // VPS VUI
    656635  ("VpsVuiPresentFlag"           , m_vpsVuiPresentFlag           , false                                           , "VpsVuiPresentFlag           ")
     
    676655  ("CtuBasedOffsetEnabledFlag"   , m_ctuBasedOffsetEnabledFlag   , std::vector< Bool >(1,0)  ,MAX_NUM_LAYERS       , "CtuBasedOffsetEnabledFlag    per direct reference for the N-th layer")
    677656  ("MinHorizontalCtuOffsetPlus1" , m_minHorizontalCtuOffsetPlus1 , std::vector< Int  >(1,0)  ,MAX_NUM_LAYERS       , "MinHorizontalCtuOffsetPlus1  per direct reference for the N-th layer")
    678 #if H_MV_HLS10_VPS_VUI
    679657  ("SingleLayerForNonIrapFlag", m_singleLayerForNonIrapFlag, false                                          , "SingleLayerForNonIrapFlag")
    680658  ("HigherLayerIrapSkipFlag"  , m_higherLayerIrapSkipFlag  , false                                          , "HigherLayerIrapSkipFlag  ")
    681 #endif
    682659#endif
    683660
     
    699676  ("ColourDescriptionPresent",       m_colourDescriptionPresentFlag,       false, "Signals whether colour_primaries, transfer_characteristics and matrix_coefficients are present")
    700677  ("ColourPrimaries",                m_colourPrimaries,                        2, "Indicates chromaticity coordinates of the source primaries")
    701   ("TransferCharateristics",         m_transferCharacteristics,                2, "Indicates the opto-electronic transfer characteristics of the source")
     678  ("TransferCharacteristics",        m_transferCharacteristics,                2, "Indicates the opto-electronic transfer characteristics of the source")
    702679  ("MatrixCoefficients",             m_matrixCoefficients,                     2, "Describes the matrix coefficients used in deriving luma and chroma from RGB primaries")
    703680  ("ChromaLocInfoPresent",           m_chromaLocInfoPresentFlag,           false, "Signals whether chroma_sample_loc_type_top_field and chroma_sample_loc_type_bottom_field are present")
     
    786763  ("SEISubBitstreamMaxBitRate",               m_sbPropMaxBitRate,             std::vector< Int  >(1,0)  ,"Specifies maximum bit rate of the i-th sub-bitstream")
    787764
    788 #if H_MV_HLS10_GEN_FIX
    789765  ("OutputVpsInfo",                           m_outputVpsInfo,                false                     ,"Output information about the layer dependencies and layer sets")
    790 #endif
    791766#endif
    792767#if H_3D
     
    814789
    815790#endif //HHI_VSO
    816 #if MTK_I0099_VPS_EX2
     791#if H_3D_QTLPC
    817792  ("LimQtPredFlag",                   m_bLimQtPredFlag          , true          , "Use Predictive Coding with QTL" )
    818 #endif
    819 #if !MTK_I0099_VPS_EX2 || MTK_I0099_FIX
    820 #if H_3D_QTLPC
    821793  ("QTL",                             m_bUseQTL                 , true          , "Use depth Quadtree Limitation" )
    822 #if !MTK_I0099_VPS_EX2
    823   ("PC",                              m_bUsePC                  , true          , "Use Predictive Coding with QTL" )
    824 #endif
    825 #endif
    826794#endif
    827795#if H_3D_IV_MERGE
     
    928896  m_pchdQPFile = cfg_dQPFile.empty() ? NULL : strdup(cfg_dQPFile.c_str());
    929897 
    930   Char* pColumnWidth = cfg_ColumnWidth.empty() ? NULL: strdup(cfg_ColumnWidth.c_str());
    931   Char* pRowHeight = cfg_RowHeight.empty() ? NULL : strdup(cfg_RowHeight.c_str());
    932   if( m_iUniformSpacingIdr == 0 && m_iNumColumnsMinus1 > 0 )
    933   {
    934     char *columnWidth;
     898  Char* pColumnWidth = cfgColumnWidth.empty() ? NULL: strdup(cfgColumnWidth.c_str());
     899  Char* pRowHeight = cfgRowHeight.empty() ? NULL : strdup(cfgRowHeight.c_str());
     900
     901  if( !m_tileUniformSpacingFlag && m_numTileColumnsMinus1 > 0 )
     902  {
     903    char *str;
    935904    int  i=0;
    936     m_pColumnWidth = new UInt[m_iNumColumnsMinus1];
    937     columnWidth = strtok(pColumnWidth, " ,-");
    938     while(columnWidth!=NULL)
    939     {
    940       if( i>=m_iNumColumnsMinus1 )
     905    m_tileColumnWidth.resize( m_numTileColumnsMinus1 );
     906    str = strtok(pColumnWidth, " ,-");
     907    while(str!=NULL)
     908    {
     909      if( i >= m_numTileColumnsMinus1 )
    941910      {
    942911        printf( "The number of columns whose width are defined is larger than the allowed number of columns.\n" );
    943912        exit( EXIT_FAILURE );
    944913      }
    945       *( m_pColumnWidth + i ) = atoi( columnWidth );
    946       columnWidth = strtok(NULL, " ,-");
     914      m_tileColumnWidth[i] = atoi( str );
     915      str = strtok(NULL, " ,-");
    947916      i++;
    948917    }
    949     if( i<m_iNumColumnsMinus1 )
     918    if( i < m_numTileColumnsMinus1 )
    950919    {
    951920      printf( "The width of some columns is not defined.\n" );
     
    955924  else
    956925  {
    957     m_pColumnWidth = NULL;
    958   }
    959 
    960   if( m_iUniformSpacingIdr == 0 && m_iNumRowsMinus1 > 0 )
    961   {
    962     char *rowHeight;
     926    m_tileColumnWidth.clear();
     927  }
     928
     929  if( !m_tileUniformSpacingFlag && m_numTileRowsMinus1 > 0 )
     930  {
     931    char *str;
    963932    int  i=0;
    964     m_pRowHeight = new UInt[m_iNumRowsMinus1];
    965     rowHeight = strtok(pRowHeight, " ,-");
    966     while(rowHeight!=NULL)
    967     {
    968       if( i>=m_iNumRowsMinus1 )
     933    m_tileRowHeight.resize(m_numTileRowsMinus1);
     934    str = strtok(pRowHeight, " ,-");
     935    while(str!=NULL)
     936    {
     937      if( i>=m_numTileRowsMinus1 )
    969938      {
    970939        printf( "The number of rows whose height are defined is larger than the allowed number of rows.\n" );
    971940        exit( EXIT_FAILURE );
    972941      }
    973       *( m_pRowHeight + i ) = atoi( rowHeight );
    974       rowHeight = strtok(NULL, " ,-");
     942      m_tileRowHeight[i] = atoi( str );
     943      str = strtok(NULL, " ,-");
    975944      i++;
    976945    }
    977     if( i<m_iNumRowsMinus1 )
     946    if( i < m_numTileRowsMinus1 )
    978947    {
    979948      printf( "The height of some rows is not defined.\n" );
     
    983952  else
    984953  {
    985     m_pRowHeight = NULL;
     954    m_tileRowHeight.clear();
    986955  }
    987956#if H_MV
     
    999968
    1000969  // TODO:ChromaFmt assumes 4:2:0 below
    1001   switch (m_conformanceMode)
     970  switch (m_conformanceWindowMode)
    1002971  {
    1003972  case 0:
    1004973    {
    1005974      // no conformance or padding
    1006       m_confLeft = m_confRight = m_confTop = m_confBottom = 0;
     975      m_confWinLeft = m_confWinRight = m_confWinTop = m_confWinBottom = 0;
    1007976      m_aiPad[1] = m_aiPad[0] = 0;
    1008977      break;
     
    1014983      if (m_iSourceWidth % minCuSize)
    1015984      {
    1016         m_aiPad[0] = m_confRight  = ((m_iSourceWidth / minCuSize) + 1) * minCuSize - m_iSourceWidth;
    1017         m_iSourceWidth  += m_confRight;
     985        m_aiPad[0] = m_confWinRight  = ((m_iSourceWidth / minCuSize) + 1) * minCuSize - m_iSourceWidth;
     986        m_iSourceWidth  += m_confWinRight;
    1018987      }
    1019988      if (m_iSourceHeight % minCuSize)
    1020989      {
    1021         m_aiPad[1] = m_confBottom = ((m_iSourceHeight / minCuSize) + 1) * minCuSize - m_iSourceHeight;
    1022         m_iSourceHeight += m_confBottom;
     990        m_aiPad[1] = m_confWinBottom = ((m_iSourceHeight / minCuSize) + 1) * minCuSize - m_iSourceHeight;
     991        m_iSourceHeight += m_confWinBottom;
    1023992        if ( m_isField )
    1024993        {
    1025           m_iSourceHeightOrg += m_confBottom << 1;
    1026           m_aiPad[1] = m_confBottom << 1;
     994          m_iSourceHeightOrg += m_confWinBottom << 1;
     995          m_aiPad[1] = m_confWinBottom << 1;
    1027996        }
    1028997      }
     
    10441013      m_iSourceWidth  += m_aiPad[0];
    10451014      m_iSourceHeight += m_aiPad[1];
    1046       m_confRight  = m_aiPad[0];
    1047       m_confBottom = m_aiPad[1];
     1015      m_confWinRight  = m_aiPad[0];
     1016      m_confWinBottom = m_aiPad[1];
    10481017      break;
    10491018    }
     
    10511020    {
    10521021      // conformance
    1053       if ((m_confLeft == 0) && (m_confRight == 0) && (m_confTop == 0) && (m_confBottom == 0))
     1022      if ((m_confWinLeft == 0) && (m_confWinRight == 0) && (m_confWinTop == 0) && (m_confWinBottom == 0))
    10541023      {
    10551024        fprintf(stderr, "Warning: Conformance window enabled, but all conformance window parameters set to zero\n");
     
    10821051  }
    10831052  m_iNumberOfViews = (Int) uniqueViewOrderIndices.size();
    1084 #if H_MV_HLS10_AUX
    10851053  xResizeVector( m_auxId );
    1086 #endif
    10871054
    10881055#if H_3D
     
    11181085  xResizeVector( m_wppInUseFlag );
    11191086
    1120 #if H_MV_HLS10_ADD_LAYERSETS
    11211087  for (Int olsIdx = 0; olsIdx < m_vpsNumLayerSets + m_numAddLayerSets + (Int) m_outputLayerSetIdx.size(); olsIdx++)
    1122 #else
    1123   for (Int olsIdx = 0; olsIdx < m_vpsNumLayerSets + (Int) m_outputLayerSetIdx.size(); olsIdx++)
    1124 #endif
    11251088  {   
    11261089    m_altOutputLayerFlag.push_back( false );     
     
    12341197
    12351198#if H_MV
    1236 #if H_MV_HLS10_PTL
    12371199  // parse PTL
    12381200  Bool anyEmpty = false;
     
    12811243  xReadStrToEnum( cfg_levels,   m_level     );
    12821244  xReadStrToEnum( cfg_tiers ,   m_levelTier );
    1283 #endif
    12841245#endif
    12851246#if H_3D
     
    13991360
    14001361
    1401 #if !H_MV_HLS10_PTL
     1362#if !H_MV
    14021363  if( m_profile==Profile::NONE )
    14031364  {
     
    14311392  xConfirmPara( m_scalabilityMask != 2 && m_scalabilityMask != 3, "Scalability Mask must be equal to 2 or 3. ");
    14321393#else
    1433 #if H_MV_HLS10_AUX
    14341394  xConfirmPara( m_scalabilityMask != 2 && m_scalabilityMask != 8 && m_scalabilityMask != 10, "Scalability Mask must be equal to 2, 8 or 10");
    1435 #else
    1436   xConfirmPara( m_scalabilityMask != 2 , "Scalability Mask must be equal to 2. ");
    1437 #endif
    14381395#endif
    14391396
     
    14461403
    14471404  m_dimIds.push_back( m_viewOrderIndex );   
    1448 #if H_MV_HLS10_AUX
    14491405  for (Int i = 0; i < m_auxId.size(); i++)
    14501406  {
     
    14551411    m_dimIds.push_back ( m_auxId );
    14561412  }
    1457 #endif 
    14581413  xConfirmPara(  m_dimensionIdLen.size() < m_dimIds.size(), "DimensionIdLen must be given for all dimensions. "   );
    14591414  Int dimBitOffset[MAX_NUM_SCALABILITY_TYPES+1];
     
    15401495    for ( Int i = 0; i < m_layerIdsInSets[lsIdx].size(); i++ )
    15411496    {
    1542 #if FIX_TICKET_61
    15431497      xConfirmPara( m_layerIdsInSets[lsIdx][i] < 0 || m_layerIdsInSets[lsIdx][i] >= MAX_NUM_LAYER_IDS, "LayerIdsInSet must be greater than 0 and less than MAX_NUM_LAYER_IDS" );
    1544 #else
    1545       xConfirmPara( m_layerIdsInSets[lsIdx][i] < 0 || m_layerIdsInSets[lsIdx].size() >= MAX_NUM_LAYER_IDS, "LayerIdsInSet must be greater than and less than MAX_NUM_LAYER_IDS" );
    1546 #endif
    15471498    }
    15481499  }
     
    15531504  {   
    15541505    Int refLayerSetIdx = m_outputLayerSetIdx[ lsIdx ];
    1555 #if H_MV_HLS10_ADD_LAYERSETS
    15561506    xConfirmPara(  refLayerSetIdx < 0 || refLayerSetIdx >= m_vpsNumLayerSets + m_numAddLayerSets, "Output layer set idx must be greater or equal to 0 and less than the VpsNumLayerSets plus NumAddLayerSets." );
    1557 #else
    1558     xConfirmPara(  refLayerSetIdx < 0 || refLayerSetIdx >= m_vpsNumLayerSets, "Output layer set idx must be greater or equal to 0 and less than the VpsNumLayerSets." );
    1559 #endif
    1560 #if !H_MV_HLS10_ADD_LAYERSETS
    1561     for (Int i = 0; i < m_layerIdsInAddOutputLayerSet[ lsIdx ].size(); i++)
    1562     {
    1563       Bool isAlsoInLayerSet = false;
    1564       for (Int j = 0; j < m_layerIdsInSets[ refLayerSetIdx ].size(); j++ )
    1565       {
    1566         if ( m_layerIdsInSets[ refLayerSetIdx ][ j ] == m_layerIdsInAddOutputLayerSet[ lsIdx ][ i ] )
    1567         {
    1568           isAlsoInLayerSet = true;
    1569           break;
    1570         }       
    1571       }
    1572       xConfirmPara( !isAlsoInLayerSet, "All output layers of a output layer set be included in corresponding layer set.");
    1573     }
    1574 #endif
    15751507  }
    15761508
     
    15841516      anyDefaultOutputFlag = anyDefaultOutputFlag || ( m_layerIdsInDefOutputLayerSet[lsIdx].size() != 0 );
    15851517    }   
    1586 #if H_MV_HLS10_ADD_LAYERSETS
    15871518    if ( anyDefaultOutputFlag )
    15881519    {   
    15891520      printf( "\nWarning: Ignoring LayerIdsInDefOutputLayerSet parameters, since defaultTargetOuputLayerIdc is not equal 2.\n" );   
    15901521    }
    1591 #else
    1592     printf( "\nWarning: Ignoring LayerIdsInDefOutputLayerSet parameters, since defaultTargetOuputLayerIdc is not equal 2.\n" );   
    1593 #endif
    15941522  }
    15951523  else 
     
    16131541  }
    16141542
    1615 #if H_MV_HLS10_ADD_LAYERSETS
    16161543  xConfirmPara( m_altOutputLayerFlag.size() < m_vpsNumLayerSets + m_numAddLayerSets + m_outputLayerSetIdx.size(), "The number of alt output layer flags must be equal to the number of layer set additional output layer sets plus the number of output layer set indices" );
    1617 #else
    1618   xConfirmPara( m_altOutputLayerFlag.size() < m_vpsNumLayerSets + m_outputLayerSetIdx.size(), "The number of Profile Level Tier indices must be equal to the number of layer set plus the number of output layer set indices" );
    1619 #endif
    16201544
    16211545  // PTL
    1622 #if H_MV_HLS10_PTL
    16231546    xConfirmPara( ( m_profile.size() != m_inblFlag.size() || m_profile.size() != m_level.size()  ||  m_profile.size() != m_levelTier.size() ), "The number of Profiles, Levels, Tiers and InblFlags must be equal." );
    16241547
     
    16331556      }
    16341557    }
    1635 #else
    1636     xConfirmPara( m_profileLevelTierIdx.size() < m_vpsNumLayerSets + m_outputLayerSetIdx.size(), "The number of Profile Level Tier indices must be equal to the number of layer set plus the number of output layer set indices" );
    1637 #endif
    16381558
    16391559    // Layer Dependencies 
     
    17681688  }
    17691689 
    1770   Bool tileFlag = (m_iNumColumnsMinus1 > 0 || m_iNumRowsMinus1 > 0 );
     1690  Bool tileFlag = (m_numTileColumnsMinus1 > 0 || m_numTileRowsMinus1 > 0 );
    17711691  xConfirmPara( tileFlag && m_iWaveFrontSynchro,            "Tile and Wavefront can not be applied together");
    17721692
     
    17781698  xConfirmPara( m_aiPad[1] % TComSPS::getWinUnitY(CHROMA_420) != 0, "Vertical padding must be an integer multiple of the specified chroma subsampling");
    17791699
    1780   xConfirmPara( m_confLeft   % TComSPS::getWinUnitX(CHROMA_420) != 0, "Left conformance window offset must be an integer multiple of the specified chroma subsampling");
    1781   xConfirmPara( m_confRight  % TComSPS::getWinUnitX(CHROMA_420) != 0, "Right conformance window offset must be an integer multiple of the specified chroma subsampling");
    1782   xConfirmPara( m_confTop    % TComSPS::getWinUnitY(CHROMA_420) != 0, "Top conformance window offset must be an integer multiple of the specified chroma subsampling");
    1783   xConfirmPara( m_confBottom % TComSPS::getWinUnitY(CHROMA_420) != 0, "Bottom conformance window offset must be an integer multiple of the specified chroma subsampling");
     1700  xConfirmPara( m_confWinLeft   % TComSPS::getWinUnitX(CHROMA_420) != 0, "Left conformance window offset must be an integer multiple of the specified chroma subsampling");
     1701  xConfirmPara( m_confWinRight  % TComSPS::getWinUnitX(CHROMA_420) != 0, "Right conformance window offset must be an integer multiple of the specified chroma subsampling");
     1702  xConfirmPara( m_confWinTop    % TComSPS::getWinUnitY(CHROMA_420) != 0, "Top conformance window offset must be an integer multiple of the specified chroma subsampling");
     1703  xConfirmPara( m_confWinBottom % TComSPS::getWinUnitY(CHROMA_420) != 0, "Bottom conformance window offset must be an integer multiple of the specified chroma subsampling");
     1704
     1705  xConfirmPara( m_defaultDisplayWindowFlag && !m_vuiParametersPresentFlag, "VUI needs to be enabled for default display window");
     1706
     1707  if (m_defaultDisplayWindowFlag)
     1708  {
     1709    xConfirmPara( m_defDispWinLeftOffset   % TComSPS::getWinUnitX(CHROMA_420) != 0, "Left default display window offset must be an integer multiple of the specified chroma subsampling");
     1710    xConfirmPara( m_defDispWinRightOffset  % TComSPS::getWinUnitX(CHROMA_420) != 0, "Right default display window offset must be an integer multiple of the specified chroma subsampling");
     1711    xConfirmPara( m_defDispWinTopOffset    % TComSPS::getWinUnitY(CHROMA_420) != 0, "Top default display window offset must be an integer multiple of the specified chroma subsampling");
     1712    xConfirmPara( m_defDispWinBottomOffset % TComSPS::getWinUnitY(CHROMA_420) != 0, "Bottom default display window offset must be an integer multiple of the specified chroma subsampling");
     1713  }
    17841714
    17851715#if H_3D
     
    23012231      Int widthInCU = (m_iSourceWidth % m_uiMaxCUWidth) ? m_iSourceWidth/m_uiMaxCUWidth + 1: m_iSourceWidth/m_uiMaxCUWidth;
    23022232      Int heightInCU = (m_iSourceHeight % m_uiMaxCUHeight) ? m_iSourceHeight/m_uiMaxCUHeight + 1: m_iSourceHeight/m_uiMaxCUHeight;
    2303       if(m_iUniformSpacingIdr)
    2304       {
    2305         maxTileWidth = m_uiMaxCUWidth*((widthInCU+m_iNumColumnsMinus1)/(m_iNumColumnsMinus1+1));
    2306         maxTileHeight = m_uiMaxCUHeight*((heightInCU+m_iNumRowsMinus1)/(m_iNumRowsMinus1+1));
     2233      if(m_tileUniformSpacingFlag)
     2234      {
     2235        maxTileWidth = m_uiMaxCUWidth*((widthInCU+m_numTileColumnsMinus1)/(m_numTileColumnsMinus1+1));
     2236        maxTileHeight = m_uiMaxCUHeight*((heightInCU+m_numTileRowsMinus1)/(m_numTileRowsMinus1+1));
    23072237        // if only the last tile-row is one treeblock higher than the others
    23082238        // the maxTileHeight becomes smaller if the last row of treeblocks has lower height than the others
    2309         if(!((heightInCU-1)%(m_iNumRowsMinus1+1)))
     2239        if(!((heightInCU-1)%(m_numTileRowsMinus1+1)))
    23102240        {
    23112241          maxTileHeight = maxTileHeight - m_uiMaxCUHeight + (m_iSourceHeight % m_uiMaxCUHeight);
     
    23132243        // if only the last tile-column is one treeblock wider than the others
    23142244        // the maxTileWidth becomes smaller if the last column of treeblocks has lower width than the others   
    2315         if(!((widthInCU-1)%(m_iNumColumnsMinus1+1)))
     2245        if(!((widthInCU-1)%(m_numTileColumnsMinus1+1)))
    23162246        {
    23172247          maxTileWidth = maxTileWidth - m_uiMaxCUWidth + (m_iSourceWidth % m_uiMaxCUWidth);
     
    23202250      else // not uniform spacing
    23212251      {
    2322         if(m_iNumColumnsMinus1<1)
     2252        if(m_numTileColumnsMinus1<1)
    23232253        {
    23242254          maxTileWidth = m_iSourceWidth;
     
    23272257        {
    23282258          Int accColumnWidth = 0;
    2329           for(Int col=0; col<(m_iNumColumnsMinus1); col++)
     2259          for(Int col=0; col<(m_numTileColumnsMinus1); col++)
    23302260          {
    2331             maxTileWidth = m_pColumnWidth[col]>maxTileWidth ? m_pColumnWidth[col]:maxTileWidth;
    2332             accColumnWidth += m_pColumnWidth[col];
     2261            maxTileWidth = m_tileColumnWidth[col]>maxTileWidth ? m_tileColumnWidth[col]:maxTileWidth;
     2262            accColumnWidth += m_tileColumnWidth[col];
    23332263          }
    23342264          maxTileWidth = (widthInCU-accColumnWidth)>maxTileWidth ? m_uiMaxCUWidth*(widthInCU-accColumnWidth):m_uiMaxCUWidth*maxTileWidth;
    23352265        }
    2336         if(m_iNumRowsMinus1<1)
     2266        if(m_numTileRowsMinus1<1)
    23372267        {
    23382268          maxTileHeight = m_iSourceHeight;
     
    23412271        {
    23422272          Int accRowHeight = 0;
    2343           for(Int row=0; row<(m_iNumRowsMinus1); row++)
     2273          for(Int row=0; row<(m_numTileRowsMinus1); row++)
    23442274          {
    2345             maxTileHeight = m_pRowHeight[row]>maxTileHeight ? m_pRowHeight[row]:maxTileHeight;
    2346             accRowHeight += m_pRowHeight[row];
     2275            maxTileHeight = m_tileRowHeight[row]>maxTileHeight ? m_tileRowHeight[row]:maxTileHeight;
     2276            accRowHeight += m_tileRowHeight[row];
    23472277          }
    23482278          maxTileHeight = (heightInCU-accRowHeight)>maxTileHeight ? m_uiMaxCUHeight*(heightInCU-accRowHeight):m_uiMaxCUHeight*maxTileHeight;
     
    24992429#endif
    25002430#if H_MV
    2501 #if H_MV_HLS10_GEN_FIX
    25022431  xPrintParaVector( "NuhLayerId"     , m_layerIdInNuh );
    25032432  if ( m_targetEncLayerIdList.size() > 0)
     
    25052434    xPrintParaVector( "TargetEncLayerIdList"     , m_targetEncLayerIdList );
    25062435  }
    2507 #endif
    25082436  xPrintParaVector( "ViewIdVal"     , m_viewId );
    25092437  xPrintParaVector( "ViewOrderIndex", m_viewOrderIndex );
    2510 #if H_MV_HLS10_AUX
    25112438  xPrintParaVector( "AuxId", m_auxId );
    2512 #endif
    25132439#endif
    25142440#if H_3D
     
    25212447  xPrintParaVector( "SAO"              , m_bUseSAO            );
    25222448#endif
    2523   printf("Real     Format              : %dx%d %dHz\n", m_iSourceWidth - m_confLeft - m_confRight, m_iSourceHeight - m_confTop - m_confBottom, m_iFrameRate );
     2449  printf("Real     Format              : %dx%d %dHz\n", m_iSourceWidth - m_confWinLeft - m_confWinRight, m_iSourceHeight - m_confWinTop - m_confWinBottom, m_iFrameRate );
    25242450  printf("Internal Format              : %dx%d %dHz\n", m_iSourceWidth, m_iSourceHeight, m_iFrameRate );
    25252451  if (m_isField)
     
    26762602  printf("WVSO:%d ", m_bUseWVSO ); 
    26772603#endif
    2678 #if MTK_I0099_VPS_EX2
     2604#if H_3D_QTLPC
    26792605  printf("LimQtPredFlag:%d ", m_bLimQtPredFlag ? 1 : 0);
    2680 #endif
    2681 #if !MTK_I0099_VPS_EX2 || MTK_I0099_FIX
    2682 #if H_3D_QTLPC
    26832606  printf("QTL:%d ", m_bUseQTL);
    2684 #if !MTK_I0099_VPS_EX2
    2685   printf("PC:%d " , m_bUsePC );
    2686 #endif
    2687 #endif
    26882607#endif
    26892608#if H_3D_IV_MERGE
     
    27122631#if H_3D_DIM
    27132632  printf("DMM:%d ", m_useDMM );
    2714 #if SEPARATE_FLAG_I0085
    27152633  printf("IVP:%d ", m_useIVP );
    2716 #endif
    27172634  printf("SDC:%d ", m_useSDC );
    27182635  printf("DLT:%d ", m_useDLT );
    27192636#endif
    2720 #if MTK_SINGLE_DEPTH_MODE_I0095
     2637#if H_3D
    27212638  printf("SingleDepthMode:%d ",    m_useSingleDepthMode);
    27222639#endif
  • trunk/source/App/TAppEncoder/TAppEncCfg.h

    r1066 r1084  
    4343#include "TLibEncoder/TEncCfg.h"
    4444#include <sstream>
     45#include <vector>
    4546#if H_3D
    4647#include "TAppCommon/TAppComCamPara.h"
     
    7879  std::vector<Int>       m_viewId;                            ///< view id
    7980  std::vector<Int>       m_viewOrderIndex;                    ///< view order index 
    80 #if H_MV_HLS10_AUX
    8181  std::vector<Int>       m_auxId;                             ///< auxiliary id
    82 #endif
    8382#if H_3D
    8483  std::vector<Int>       m_depthFlag;                         ///< depth flag
    8584#endif
    86 #if H_MV_HLS10_GEN_FIX
    8785  std::vector<Int>       m_targetEncLayerIdList;              ///< layer Ids in Nuh to be encoded
    88 #endif
    8986  std::vector<Int>       m_layerIdInNuh;                      ///< layer Id in Nuh for each layer
    9087  Bool                   m_splittingFlag;                     ///< Splitting Flag
     
    9592  Int                    m_vpsNumLayerSets;                   ///< Number of layer sets
    9693  std::vector< std::vector<Int> > m_layerIdsInSets;           ///< LayerIds in vps of layer set
    97 #if H_MV_HLS10_ADD_LAYERSETS
    9894  Int                    m_numAddLayerSets;                    ///< Number of additional layer sets
    9995  std::vector< std::vector<Int> > m_highestLayerIdxPlus1;      ///< HighestLayerIdxPlus1 for each additional layer set and each independent layer (value with index 0 will be ignored)
    100 #endif
    10196  Int                    m_defaultOutputLayerIdc;             ///< Specifies output layers of layer sets, 0: output all layers, 1: output highest layers, 2: specified by LayerIdsInDefOuputLayerSet
    10297  std::vector<Int>       m_outputLayerSetIdx;                 ///< Indices of layer sets used as additional output layer sets 
    10398  std::vector< std::vector<Int> > m_layerIdsInAddOutputLayerSet; ///< LayerIds in vps of additional output layers
    10499  std::vector< std::vector<Int> > m_layerIdsInDefOutputLayerSet; ///< Indices in vps of output layers in layer sets
    105 #if H_MV_HLS10_ADD_LAYERSETS
    106100  std::vector< std::vector< Int > > m_profileTierLevelIdx;      ///< Indices of of profile, per layer in layer set
    107 #else
    108   std::vector<Int>       m_profileLevelTierIdx;               ///< Indices of of profile level tier
    109 #endif
    110101  std::vector<Bool>      m_altOutputLayerFlag;                ///< Alt output layer flag
    111102
     
    138129  std::vector< std::vector<Bool > > m_ctuBasedOffsetEnabledFlag;
    139130  std::vector< std::vector<Int  > > m_minHorizontalCtuOffsetPlus1;
    140 #if H_MV_HLS10_VPS_VUI
    141131  Bool m_singleLayerForNonIrapFlag;
    142132  Bool m_higherLayerIrapSkipFlag;
    143 #endif // H_MV_HLS10_VPS_VUI
    144133
    145134
     
    151140#endif
    152141#endif
    153 #if MTK_I0099_VPS_EX2
     142#if H_3D_QTLPC
    154143  Bool                   m_bLimQtPredFlag;
    155144#endif
     
    184173  bool      m_isTopFieldFirst;
    185174 
    186   Int       m_conformanceMode;
    187   Int       m_confLeft;
    188   Int       m_confRight;
    189   Int       m_confTop;
    190   Int       m_confBottom;
     175  Int       m_conformanceWindowMode;
     176  Int       m_confWinLeft;
     177  Int       m_confWinRight;
     178  Int       m_confWinTop;
     179  Int       m_confWinBottom;
    191180  Int       m_framesToBeEncoded;                              ///< number of encoded frames
    192181  Int       m_aiPad[2];                                       ///< number of padded pixels for width and height
    193182 
    194183  // profile/level
    195 #if H_MV_HLS10_PTL
    196184#if H_MV
    197185  std::vector< Profile::Name > m_profile;
     
    203191  Level::Tier   m_levelTier;
    204192  Level::Name   m_level;
    205 #endif
    206193#endif
    207194
     
    338325  Bool      m_bLFCrossSliceBoundaryFlag;  ///< 1: filter across slice boundaries 0: do not filter across slice boundaries
    339326  Bool      m_bLFCrossTileBoundaryFlag;   ///< 1: filter across tile boundaries  0: do not filter across tile boundaries
    340   Int       m_iUniformSpacingIdr;
    341   Int       m_iNumColumnsMinus1;
    342   Char*     m_pchColumnWidth;
    343   Int       m_iNumRowsMinus1;
    344   Char*     m_pchRowHeight;
    345   UInt*     m_pColumnWidth;
    346   UInt*     m_pRowHeight;
     327  Bool      m_tileUniformSpacingFlag;
     328  Int       m_numTileColumnsMinus1;
     329  Int       m_numTileRowsMinus1;
     330  std::vector<Int> m_tileColumnWidth;
     331  std::vector<Int> m_tileRowHeight;
    347332  Int       m_iWaveFrontSynchro; //< 0: no WPP. >= 1: WPP is enabled, the "Top right" from which inheritance occurs is this LCU offset in the line above the current.
    348333  Int       m_iWaveFrontSubstreams; //< If iWaveFrontSynchro, this is the number of substreams per frame (dependent tiles) or per tile (independent tiles).
     
    468453  std::vector<Int>  m_sbPropAvgBitRate;
    469454  std::vector<Int>  m_sbPropMaxBitRate;
    470 #if H_MV_HLS10_GEN_FIX
    471455  Bool              m_outputVpsInfo;
    472 #endif
    473456#endif
    474457#if H_3D
     
    504487#if H_3D_DIM
    505488  Bool      m_useDMM;                                        ///< flag for using DMM
    506 #if SEPARATE_FLAG_I0085
    507489  Bool      m_useIVP;
    508 #endif
    509490  Bool      m_useSDC;                                        ///< flag for using SDC
    510491  Bool      m_useDLT;                                        ///< flag for using DLT
    511492#endif
    512 #if MTK_SINGLE_DEPTH_MODE_I0095
     493#if H_3D_SINGLE_DEPTH
    513494  Bool     m_useSingleDepthMode;                          ///< flag for using single depth mode
    514495#endif
    515 #if !MTK_I0099_VPS_EX2 || MTK_I0099_FIX
    516496#if H_3D_QTLPC
    517497  Bool      m_bUseQTL;                                        ///< flag for using depth QuadTree Limitation
    518 #if !MTK_I0099_VPS_EX2
    519   Bool      m_bUsePC;                                         ///< flag for using Predictive Coding with QTL
    520 #endif
    521 #endif
    522498#endif
    523499#if H_3D_INTER_SDC
     
    538514#if H_MV
    539515
    540 #if H_MV_HLS10_PTL
    541516  template<typename T>
    542517  Void xReadStrToEnum(string in, std::vector<T> &val)
     
    559534    delete[] cString;
    560535  }
    561 #endif
    562536
    563537
  • trunk/source/App/TAppEncoder/TAppEncTop.cpp

    r1066 r1084  
    144144  xDeriveDltArray          ( vps, dlt );
    145145#endif
    146 #if H_MV_HLS10_GEN_FIX
    147146  if ( m_targetEncLayerIdList.size() == 0 )
    148147  {
     
    166165    }
    167166  }
    168 #endif
    169 
    170 #if H_MV_HLS10_ADD_LAYERSETS
     167
    171168  if ( m_outputVpsInfo )
    172169  { 
    173 #if H_MV_HLS10_AUX
    174170    vps.printScalabilityId();
    175 #endif
    176171    vps.printLayerDependencies();
    177172    vps.printLayerSets();
    178173    vps.printPTL();
    179174  }
    180 #endif
    181175
    182176  for(Int layerIdInVps = 0; layerIdInVps < m_numberOfLayers; layerIdInVps++)
     
    233227#if H_3D_DIM
    234228    m_cTEncTop.setUseDMM                       ( isDepth ? m_useDMM               : false );
    235 #if SEPARATE_FLAG_I0085
    236 #if LGE_FCO_I0116
     229#if H_3D_FCO
    237230    m_cTEncTop.setUseIVP                       ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_useIVP               : false );
    238231#else
    239232    m_cTEncTop.setUseIVP                       ( isDepth ? m_useIVP               : false );
    240 #endif
    241233#endif
    242234    m_cTEncTop.setUseSDC                       ( isDepth ? m_useSDC               : false );
    243235    m_cTEncTop.setUseDLT                       ( isDepth ? m_useDLT               : false );
    244236#endif
    245 #if MTK_SINGLE_DEPTH_MODE_I0095
     237#if H_3D_SINGLE_DEPTH
    246238    m_cTEncTop.setUseSingleDepthMode           ( isDepth ? m_useSingleDepthMode   : false );
    247239#endif
    248 #if !MTK_I0099_VPS_EX2 || MTK_I0099_FIX
    249240#if H_3D_QTLPC
    250 #if LGE_FCO_I0116
    251     m_cTEncTop.setUseQTL                       ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_bUseQTL               : false );
    252 #else
    253241    m_cTEncTop.setUseQTL                       ( isDepth ? m_bUseQTL               : false );
    254 #endif
    255 #if !MTK_I0099_VPS_EX2   
    256     m_cTEncTop.setUsePC                        ( isDepth ? m_bUsePC                : false );
    257 #endif
    258 #endif
    259242#endif
    260243    //====== Depth Inter SDC =========
     
    266249#endif
    267250#if H_3D_IV_MERGE
    268 #if LGE_FCO_I0116
     251#if H_3D_FCO
    269252    m_cTEncTop.setUseMPI                       ( vps.getViewIndex( layerId ) == 0 && isDepth ? m_bMPIFlag    : false );
    270253#else
     
    298281  m_cTEncTop.setSourceWidth                  ( m_iSourceWidth );
    299282  m_cTEncTop.setSourceHeight                 ( m_iSourceHeight );
    300   m_cTEncTop.setConformanceWindow            ( m_confLeft, m_confRight, m_confTop, m_confBottom );
     283  m_cTEncTop.setConformanceWindow            ( m_confWinLeft, m_confWinRight, m_confWinTop, m_confWinBottom );
    301284  m_cTEncTop.setFramesToBeEncoded            ( m_framesToBeEncoded );
    302285 
     
    506489  }
    507490#endif
    508   m_cTEncTop.setUniformSpacingIdr          ( m_iUniformSpacingIdr );
    509   m_cTEncTop.setNumColumnsMinus1           ( m_iNumColumnsMinus1 );
    510   m_cTEncTop.setNumRowsMinus1              ( m_iNumRowsMinus1 );
    511   if(m_iUniformSpacingIdr==0)
    512   {
    513     m_cTEncTop.setColumnWidth              ( m_pColumnWidth );
    514     m_cTEncTop.setRowHeight                ( m_pRowHeight );
     491  m_cTEncTop.setTileUniformSpacingFlag     ( m_tileUniformSpacingFlag );
     492  m_cTEncTop.setNumColumnsMinus1           ( m_numTileColumnsMinus1 );
     493  m_cTEncTop.setNumRowsMinus1              ( m_numTileRowsMinus1 );
     494  if(!m_tileUniformSpacingFlag)
     495  {
     496    m_cTEncTop.setColumnWidth              ( m_tileColumnWidth );
     497    m_cTEncTop.setRowHeight                ( m_tileRowHeight );
    515498  }
    516499  m_cTEncTop.xCheckGSParameters();
    517   Int uiTilesCount          = (m_iNumRowsMinus1+1) * (m_iNumColumnsMinus1+1);
     500  Int uiTilesCount          = (m_numTileRowsMinus1+1) * (m_numTileColumnsMinus1+1);
    518501  if(uiTilesCount == 1)
    519502  {
     
    620603  m_cTEncTop.setActiveParameterSetsSEIEnabled ( m_activeParameterSetsSEIEnabled );
    621604  m_cTEncTop.setVuiParametersPresentFlag( m_vuiParametersPresentFlag );
     605  m_cTEncTop.setAspectRatioInfoPresentFlag( m_aspectRatioInfoPresentFlag);
    622606  m_cTEncTop.setAspectRatioIdc( m_aspectRatioIdc );
    623607  m_cTEncTop.setSarWidth( m_sarWidth );
     
    840824 
    841825#if H_MV
    842 #if H_MV_HLS10_GEN_FIX
    843826  while ( (m_targetEncLayerIdList.size() != 0 ) && !allEos )
    844 #else
    845   while ( !allEos )
    846 #endif
    847827  {
    848828    for(Int layer=0; layer < m_numberOfLayers; layer++ )
    849829    {
    850 #if H_MV_HLS10_GEN_FIX
    851830      if (!xLayerIdInTargetEncLayerIdList( m_vps->getLayerIdInNuh( layer ) ))
    852831      {
    853832        continue;
    854833      }
    855 #endif
    856834
    857835      Int frmCnt = 0;
     
    894872      for(Int layer=0; layer < m_numberOfLayers; layer++ )
    895873      {
    896 #if H_MV_HLS10_GEN_FIX
    897874        if (!xLayerIdInTargetEncLayerIdList( m_vps->getLayerIdInNuh( layer ) ))
    898875        {
    899876          continue;
    900877        }
    901 #endif
    902878
    903879#if H_3D_VSO       
     
    927903  for(Int layer=0; layer < m_numberOfLayers; layer++ )
    928904  {
    929 #if H_MV_HLS10_GEN_FIX
    930905    if (!xLayerIdInTargetEncLayerIdList( m_vps->getLayerIdInNuh( layer ) ))
    931906    {
    932907      continue;
    933908    }
    934 #endif
    935909    m_acTEncTopList[layer]->printSummary( m_acTEncTopList[layer]->getNumAllPicCoded(), m_isField );
    936910  }
     
    11141088      if (m_pchReconFileList[layerId])
    11151089      {
     1090#if H_MV_ALIGN_HM_15
     1091        m_acTVideoIOYuvReconFileList[layerId]->write( pcPicYuvRecTop, pcPicYuvRecBottom, m_confWinLeft, m_confWinRight, m_confWinTop, m_confWinBottom, m_isTopFieldFirst );
     1092#else
    11161093        m_acTVideoIOYuvReconFileList[layerId]->write( pcPicYuvRecTop, pcPicYuvRecBottom, m_confLeft, m_confRight, m_confTop, m_confBottom, m_isTopFieldFirst );
     1094#endif
    11171095      }
    11181096    }
     
    11311109      if (m_pchReconFile)
    11321110      {
    1133         m_cTVideoIOYuvReconFile.write( pcPicYuvRecTop, pcPicYuvRecBottom, m_confLeft, m_confRight, m_confTop, m_confBottom, m_isTopFieldFirst );
     1111        m_cTVideoIOYuvReconFile.write( pcPicYuvRecTop, pcPicYuvRecBottom, m_confWinLeft, m_confWinRight, m_confWinTop, m_confWinBottom, m_isTopFieldFirst );
    11341112      }
    11351113
     
    11671145      if (m_pchReconFileList[layerId])
    11681146      {
     1147#if H_MV_ALIGN_HM_15
     1148        m_acTVideoIOYuvReconFileList[layerId]->write( pcPicYuvRec, m_confWinLeft, m_confWinRight, m_confWinTop, m_confWinBottom );
     1149#else
    11691150        m_acTVideoIOYuvReconFileList[layerId]->write( pcPicYuvRec, m_confLeft, m_confRight, m_confTop, m_confBottom );
     1151#endif
    11701152      }   
    11711153    }
     
    11831165      if (m_pchReconFile)
    11841166      {
    1185         m_cTVideoIOYuvReconFile.write( pcPicYuvRec, m_confLeft, m_confRight, m_confTop, m_confBottom );
     1167        m_cTVideoIOYuvReconFile.write( pcPicYuvRec, m_confWinLeft, m_confWinRight, m_confWinTop, m_confWinBottom );
    11861168      }
    11871169
     
    13961378  // Max sub layers, + presence flag
    13971379  Bool subLayersMaxMinus1PresentFlag = false;
    1398 #if !H_MV_FIX_SUB_LAYERS_MAX_MINUS1
    1399   Int  subLayersMaxMinus1 = -1;
    1400 #endif
    14011380  for (Int curLayerIdInVps = 0; curLayerIdInVps < m_numberOfLayers; curLayerIdInVps++ )
    14021381  {   
     
    14091388
    14101389    vps.setSubLayersVpsMaxMinus1( curLayerIdInVps, curSubLayersMaxMinus1 );
    1411 #if !H_MV_FIX_SUB_LAYERS_MAX_MINUS1
    1412     if ( subLayersMaxMinus1 == -1 )
    1413     {
    1414       subLayersMaxMinus1 = curSubLayersMaxMinus1;
    1415     }
    1416     else
    1417     {
    1418       subLayersMaxMinus1PresentFlag = subLayersMaxMinus1PresentFlag || ( curSubLayersMaxMinus1 != subLayersMaxMinus1 );
    1419     }
    1420 #else
    14211390    subLayersMaxMinus1PresentFlag = subLayersMaxMinus1PresentFlag || ( curSubLayersMaxMinus1 != vps.getMaxSubLayersMinus1() );
    1422 #endif
    14231391  }
    14241392
     
    14331401    {
    14341402      Int maxTid = -1;
    1435 #if H_MV_FIX_LOOP_GOPSIZE
    14361403      for( Int i = 0; i < ( getGOPSize() + 1); i++ )
    14371404      {       
    14381405        GOPEntry geCur =  m_GOPListMvc[curLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
    14391406        GOPEntry geRef =  m_GOPListMvc[refLayerIdInVps][( i < getGOPSize()  ? i : MAX_GOP )];
    1440 #else
    1441       for( Int i = 0; i < getGOPSize(); i++ )
    1442       {       
    1443         GOPEntry geCur =  m_GOPListMvc[curLayerIdInVps][i];
    1444         GOPEntry geRef =  m_GOPListMvc[refLayerIdInVps][i];     
    1445 #endif
    14461407        for (Int j = 0; j < geCur.m_numActiveRefLayerPics; j++)
    14471408        {       
    14481409          if ( m_directRefLayers[ curLayerIdInVps ][ geCur.m_interLayerPredLayerIdc[ j ]] == refLayerIdInVps )
    14491410          {
    1450 #if H_MV_FIX_LOOP_GOPSIZE
    14511411            Bool refAlwaysIntra = ( i == getGOPSize() ) && ( m_iIntraPeriod[ curLayerIdInVps ] % m_iIntraPeriod[ refLayerIdInVps ] == 0 );
    14521412            Bool refLayerZero   = ( i == getGOPSize() ) && ( refLayerIdInVps == 0 );
    14531413            maxTid = std::max( maxTid, ( refAlwaysIntra || refLayerZero ) ? 0 : geRef.m_temporalId );
    1454 #else
    1455             maxTid = std::max( maxTid, geRef.m_temporalId );
    1456 #endif
    14571414          }
    14581415        }
     
    15801537Void TAppEncTop::xSetProfileTierLevel( TComVPS& vps )
    15811538{
    1582 #if H_MV_HLS10_PTL
    15831539
    15841540  // SET PTL
     
    15981554      m_nonPackedConstraintFlag, m_frameOnlyConstraintFlag,  m_inblFlag[ptlIdx] );     
    15991555  } 
    1600 #else
    1601   const Int vpsNumProfileTierLevelMinus1 = 0; //TBD
    1602   vps.setVpsNumProfileTierLevelMinus1( vpsNumProfileTierLevelMinus1 );
    1603  
    1604   for (Int i = 0; i <= vps.getVpsNumProfileTierLevelMinus1(); i++ )
    1605   {
    1606     vps.setVpsProfilePresentFlag( i, true );
    1607   }
    1608 #endif
    1609 }
    1610 
    1611 #if H_MV_HLS10_PTL
     1556}
     1557
    16121558Void TAppEncTop::xSetProfileTierLevel(TComVPS& vps, Int profileTierLevelIdx, Int subLayer, Profile::Name profile, Level::Name level, Level::Tier tier, Bool progressiveSourceFlag, Bool interlacedSourceFlag, Bool nonPackedConstraintFlag, Bool frameOnlyConstraintFlag, Bool inbldFlag)
    16131559{
     
    16311577  ptl->setLevelIdc  ( level   );
    16321578  ptl->setProfileCompatibilityFlag( profile, true );
    1633 #if H_MV_HLS10_PTL_INBL_FIX
    16341579  ptl->setInbldFlag( inbldFlag );
    1635 #endif
    16361580
    16371581  switch ( profile )
     
    16591603  }
    16601604}
    1661 #endif
    16621605
    16631606Void TAppEncTop::xSetRepFormat( TComVPS& vps )
     
    16771620  //repFormat->setSeparateColourPlaneVpsFlag( );
    16781621
    1679 #if H_MV_HLS10_GEN_VSP_CONF_WIN
    16801622  repFormat->setConformanceWindowVpsFlag( true );
     1623#if H_MV_ALIGN_HM_15
     1624  repFormat->setConfWinVpsLeftOffset    ( m_confWinLeft   / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) );
     1625  repFormat->setConfWinVpsRightOffset   ( m_confWinRight  / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() )  );
     1626  repFormat->setConfWinVpsTopOffset     ( m_confWinTop    / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() )  );
     1627  repFormat->setConfWinVpsBottomOffset  ( m_confWinBottom / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) );
     1628#else
    16811629  repFormat->setConfWinVpsLeftOffset    ( m_confLeft   / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() ) );
    16821630  repFormat->setConfWinVpsRightOffset   ( m_confRight  / TComSPS::getWinUnitX( repFormat->getChromaFormatVpsIdc() )  );
     
    16841632  repFormat->setConfWinVpsBottomOffset  ( m_confBottom / TComSPS::getWinUnitY( repFormat->getChromaFormatVpsIdc() ) );
    16851633#endif
    1686 
    16871634  assert( vps.getRepFormat( 0 ) == NULL );
    16881635  vps.setRepFormat( 0 , repFormat );
     
    17001647  { 
    17011648    Int currLsIdx = vps.olsIdxToLsIdx( i );
    1702 #if !H_MV_HLS10_ADD_LAYERSETS
    1703     std::vector<Int> targetDecLayerIdList = vps.getTargetDecLayerIdList( i );
    1704 #endif
    17051649    Bool subLayerFlagInfoPresentFlag = false;
    17061650
     
    17081652    {   
    17091653      Bool subLayerDpbInfoPresentFlag = false;
    1710 #if !H_MV_HLS10_ADD_LAYERSETS
    1711       assert( vps.getNumLayersInIdList( currLsIdx ) == targetDecLayerIdList.size() );
    1712 #endif
    17131654      for( Int k = 0; k < vps.getNumLayersInIdList( currLsIdx ); k++ )   
    17141655      {
    1715 #if H_MV_HLS10_DBP_SIZE
    17161656        Int layerIdInVps = vps.getLayerIdInVps( vps.getLayerSetLayerIdList( currLsIdx, k ) );
    17171657        if ( vps.getNecessaryLayerFlag( i,k ) && ( vps.getVpsBaseLayerInternalFlag() || vps.getLayerSetLayerIdList( currLsIdx, k ) != 0 ) )
     
    17301670          }
    17311671        }
    1732 #else
    1733         Int layerIdInVps = vps.getLayerIdInVps( targetDecLayerIdList[k] );           
    1734         dpbSize->setMaxVpsDecPicBufferingMinus1( i, k, j, m_maxDecPicBufferingMvc[ layerIdInVps ][ j ] - 1 );
    1735 
    1736         if ( j > 0 )
    1737         {
    1738           subLayerDpbInfoPresentFlag = subLayerDpbInfoPresentFlag || ( dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j ) != dpbSize->getMaxVpsDecPicBufferingMinus1( i, k, j - 1 ) );
    1739         }
    1740 #endif
    17411672      }       
    17421673
    17431674      Int maxNumReorderPics = MIN_INT;
    1744 #if H_MV_HLS10_DBP_SIZE
    17451675      for ( Int idx = 0; idx < vps.getNumLayersInIdList( currLsIdx ); idx++ )
    17461676      {
     
    17511681        }
    17521682      }
    1753 #else
    1754       for ( Int idx = 0; idx < targetDecLayerIdList.size(); idx++ )
    1755       {
    1756         Int layerIdInVps = vps.getLayerIdInVps( targetDecLayerIdList[ idx ] );
    1757         maxNumReorderPics = std::max( maxNumReorderPics, m_numReorderPicsMvc[ layerIdInVps ][ j ] );
    1758       }
    1759 #endif
    17601683      assert( maxNumReorderPics != MIN_INT );
    17611684
     
    18041727  // Additional output layer sets + profileLevelTierIdx
    18051728  vps.setDefaultOutputLayerIdc      ( m_defaultOutputLayerIdc );   
    1806 #if H_MV_HLS10_ADD_LAYERSETS
    18071729  if( vps.getNumIndependentLayers() == 0 && m_numAddLayerSets > 0  )
    18081730  {
     
    18381760    }       
    18391761  } 
    1840 #else
    1841   vps.setNumAddLayerSets            ( 0                             ); 
    1842 #endif
    18431762  vps.setNumAddOlss                 ( numAddOuputLayerSets          );
    18441763  vps.initTargetLayerIdLists();
    18451764
    1846 #if H_MV_HLS10_ADD_LAYERSETS
    18471765  for (Int olsIdx = 0; olsIdx < vps.getNumLayerSets() + numAddOuputLayerSets; olsIdx++)
    18481766  {
    18491767    Int addOutLsIdx = olsIdx - vps.getNumLayerSets();     
    1850 #else
    1851   for (Int olsIdx = 0; olsIdx < m_vpsNumLayerSets + numAddOuputLayerSets; olsIdx++)
    1852   {
    1853     Int addOutLsIdx = olsIdx - m_vpsNumLayerSets;     
    1854 #endif   
    18551768    vps.setLayerSetIdxForOlsMinus1( olsIdx, ( ( addOutLsIdx < 0 ) ?  olsIdx  : m_outputLayerSetIdx[ addOutLsIdx ] ) - 1 );
    18561769
    1857 #if H_MV_HLS10_ADD_LAYERSETS
    18581770    Int lsIdx = vps.olsIdxToLsIdx( olsIdx );
    1859 #else
    1860     std::vector<Int>& layerIdList    = m_layerIdsInSets[ vps.olsIdxToLsIdx( olsIdx ) ];
    1861 #endif
    18621771    if (vps.getDefaultOutputLayerIdc() == 2 || addOutLsIdx >= 0 )
    18631772    {
    1864 #if H_MV_HLS10_ADD_LAYERSETS
    18651773      for ( Int i = 0; i < vps.getNumLayersInIdList( lsIdx ); i++)
    1866 #else
    1867       for ( Int i = 0; i < layerIdList.size(); i++)
    1868 #endif
    18691774      {
    18701775        vps.setOutputLayerFlag( olsIdx, i, ( olsIdx == 0 && i == 0 ) ? vps.inferOutputLayerFlag(olsIdx, i ) : false ); // This is a software only fix for a bug in the spec. In spec outputLayerFlag neither present nor inferred for this case !
     
    18761781      for (Int j = 0; j < outLayerIdList.size(); j++)
    18771782      {   
    1878 #if H_MV_HLS10_ADD_LAYERSETS
    18791783        for ( Int i = 0; i < vps.getNumLayersInIdList( lsIdx ); i++)
    18801784        {
    18811785          if ( vps.getLayerSetLayerIdList( lsIdx, i ) == outLayerIdList[ j ] )
    1882 #else
    1883         for (Int i = 0; i < layerIdList.size(); i++ )
    1884         {
    1885           if ( layerIdList[ i ] == outLayerIdList[ j ] )
    1886 #endif
    18871786          {
    18881787            vps.setOutputLayerFlag( olsIdx, i, true );       
     
    18911790          }
    18921791        }
    1893 #if H_MV_HLS10_ADD_LAYERSETS
    18941792        if ( !outputLayerInLayerSetFlag )
    18951793        {
     
    18971795          exit(EXIT_FAILURE);
    18981796        }
    1899 #else
    1900         assert( outputLayerInLayerSetFlag ); // The output layer is not in the layer set.
    1901 #endif
    19021797      }
    19031798    }
    19041799    else
    19051800    {
    1906 #if H_MV_HLS10_ADD_LAYERSETS
    19071801      for ( Int i = 0; i < vps.getNumLayersInIdList( lsIdx ); i++)
    1908 #else
    1909       for ( Int i = 0; i < layerIdList.size(); i++)
    1910 #endif
    19111802      {
    19121803        vps.setOutputLayerFlag( olsIdx, i, vps.inferOutputLayerFlag( olsIdx, i ) );       
     
    19141805    }
    19151806
    1916 #if H_MV_HLS10_NESSECARY_LAYER
    19171807    vps.deriveNecessaryLayerFlags( olsIdx );
    1918 #endif
    19191808    vps.deriveTargetLayerIdList(  olsIdx );
    19201809
    1921 #if H_MV_HLS10_PTL
    19221810    // SET profile_tier_level_index.
    19231811    if ( olsIdx == 0 )
     
    19361824        {
    19371825          vps.setProfileTierLevelIdx(olsIdx, j, m_profileTierLevelIdx[olsIdx][j] );
    1938 #if H_MV_HLS10_PTL_FIX
    19391826          if( !vps.getNecessaryLayerFlag(olsIdx,j) && m_profileTierLevelIdx[ olsIdx ][ j ] != -1 )
    19401827          {
     
    19431830        }
    19441831        else if ( vps.getNecessaryLayerFlag(olsIdx,j) )
    1945 #else
    1946         }
    1947         else
    1948 #endif
    19491832        {
    19501833          // setting default values
     
    19621845      }
    19631846    }
    1964 #else
    1965     if ( olsIdx > 0 )
    1966     {
    1967       vps.setProfileLevelTierIdx( olsIdx, m_profileLevelTierIdx[ olsIdx ] );
    1968     }
    1969 #endif
    19701847   
    19711848    if ( vps.getNumOutputLayersInOutputLayerSet( olsIdx ) == 1 &&
     
    20051882    if( pcVPSVUI->getBitRatePresentVpsFlag( )  ||  pcVPSVUI->getPicRatePresentVpsFlag( ) )
    20061883    {
    2007 #if H_MV_HLS10_VPS_VUI
    20081884      for( Int i = 0; i  <  vps.getNumLayerSets(); i++ )
    2009 #else
    2010       for( Int i = 0; i  <=  vps.getVpsNumLayerSetsMinus1(); i++ )
    2011 #endif
    20121885      {
    20131886        for( Int j = 0; j  <=  vps.getMaxTLayers(); j++ )
     
    20581931        for( Int j = 0; j < vps.getNumDirectRefLayers( vps.getLayerIdInNuh( i ) ) ; j++ )
    20591932        { 
    2060 #if H_MV_HLS10_REF_PRED_LAYERS
    20611933          Int layerIdx = vps.getLayerIdInVps( vps.getIdDirectRefLayer(vps.getLayerIdInNuh( i ) , j  )); 
    2062 #else
    2063           Int layerIdx = vps.getLayerIdInVps( vps.getRefLayerId(vps.getLayerIdInNuh( i ) , j  )); 
    2064 #endif
    20651934          if( pcVPSVUI->getTilesInUseFlag( i )  &&  pcVPSVUI->getTilesInUseFlag( layerIdx ) ) 
    20661935          {
     
    20811950    }
    20821951
    2083 #if H_MV_HLS10_VPS_VUI
    20841952  pcVPSVUI->setSingleLayerForNonIrapFlag( m_singleLayerForNonIrapFlag );
    20851953  pcVPSVUI->setHigherLayerIrapSkipFlag( m_higherLayerIrapSkipFlag );
    2086 #endif
    20871954
    20881955    pcVPSVUI->setIlpRestrictedRefLayersFlag( m_ilpRestrictedRefLayersFlag );
     
    21412008  }
    21422009}
    2143 #if H_MV_HLS10_GEN_FIX
    21442010Bool TAppEncTop::xLayerIdInTargetEncLayerIdList(Int nuhLayerId)
    21452011{
    21462012  return  ( std::find(m_targetEncLayerIdList.begin(), m_targetEncLayerIdList.end(), nuhLayerId) != m_targetEncLayerIdList.end()) ;
    21472013}
    2148 #endif
    21492014
    21502015
     
    21592024    Bool isDepth      = ( vps.getDepthId( layer ) == 1 ) ;
    21602025    Bool isLayerZero  = ( layer == 0 );
    2161 #if LGE_FCO_I0116
     2026#if H_3D_FCO
    21622027    Bool isDepthFirst = (layer > 1 ? true : false);
    21632028#endif
     
    21712036    {
    21722037      vps.setSubPULog2Size         ( layer, (layer != 1) ? 6: 0 );
    2173 #if MTK_I0099_VPS_EX2
    21742038      vps.setSubPUMPILog2Size      ( layer, (!isLayerZero) ? m_iSubPUMPILog2Size: 0 );
    2175 #endif
    21762039    }
    21772040    else
     
    21832046#if H_3D_DIM
    21842047    vps.setVpsDepthModesFlag( layer, isDepth && !isLayerZero && (m_useDMM || m_useSDC || m_useDLT ) );
    2185 #if SEPARATE_FLAG_I0085
    2186 #if LGE_FCO_I0116
     2048#if H_3D_FCO
    21872049    vps.setIVPFlag          ( layer, isDepth && !isLayerZero && m_useIVP && !isDepthFirst );
    21882050#else
    21892051    vps.setIVPFlag          ( layer, isDepth && !isLayerZero && m_useIVP );
    2190 #endif
    21912052#endif
    21922053#endif
     
    21962057    {
    21972058      vps.setIvMvPredFlag    (layer, false);
    2198 #if SEC_HLS_CLEANUP_I0100
    21992059      vps.setIvMvScalingFlag (layer, false);
    2200 #endif
    22012060    }
    22022061    else
     
    22102069        vps.setIvMvPredFlag         ( layer, !isLayerZero && m_ivMvPredFlag[0] );
    22112070      }
    2212 #if SEC_HLS_CLEANUP_I0100
    22132071      vps.setIvMvScalingFlag (layer, m_ivMvScalingFlag);
    2214 #endif
    2215     }
    2216 #endif
    2217 #if MTK_I0099_VPS_EX2
    2218 #if LGE_FCO_I0116
     2072    }
     2073#endif
     2074#if H_3D_QTLPC
     2075#if H_3D_FCO
    22192076    vps.setLimQtPredFlag         ( layer, isDepth && m_bLimQtPredFlag && !isDepthFirst );
    22202077#else
     
    22352092#endif
    22362093#if H_3D_IV_MERGE
    2237 #if LGE_FCO_I0116
     2094#if H_3D_FCO
    22382095    vps.setMPIFlag( layer, !isLayerZero && isDepth && m_bMPIFlag && !isDepthFirst );
    22392096#else
     
    22422099#endif
    22432100  } 
    2244 #if !MTK_I0099_VPS_EX2
    2245 #if H_3D_SPIVMP
    2246   vps.setSubPUMPILog2Size( m_iSubPUMPILog2Size );
    2247 #endif
    2248 #endif
    2249 #if H_3D
    2250 #if !SEC_HLS_CLEANUP_I0100
    2251   vps.setIvMvScalingFlag( m_ivMvScalingFlag );   
    2252 #endif
    2253 #endif
    22542101}
    22552102
     
    22732120      xAnalyzeInputBaseDepth(layer, max(m_iIntraPeriod[layer], 24), &vps, &dlt);
    22742121      bDltPresentFlag = bDltPresentFlag || dlt.getUseDLTFlag(layer);
    2275 #if H_3D_DELTA_DLT
    22762122      dlt.setInterViewDltPredEnableFlag(layer, (dlt.getUseDLTFlag(layer) && (layer>1)));
    2277 #endif
    22782123    }
    22792124  }
  • trunk/source/App/TAppEncoder/TAppEncTop.h

    r1066 r1084  
    133133  Void xSetProfileTierLevel       ( TComVPS& vps );
    134134
    135 #if H_MV_HLS10_PTL
    136135  Void xSetProfileTierLevel( TComVPS& vps, Int profileTierLevelIdx, Int subLayer,                             
    137136                             Profile::Name profile, Level::Name level, Level::Tier tier,
     
    139138                             Bool nonPackedConstraintFlag, Bool frameOnlyConstraintFlag,
    140139                             Bool inbldFlag );
    141 #endif
    142140  Void xSetRepFormat              ( TComVPS& vps );
    143141  Void xSetDpbSize                ( TComVPS& vps );
     
    145143  GOPEntry* xGetGopEntry( Int layerIdInVps, Int poc );
    146144  Int  xGetMax( std::vector<Int>& vec);
    147 #if H_MV_HLS10_GEN_FIX
    148145  Bool xLayerIdInTargetEncLayerIdList( Int nuhLayerId );
    149 #endif
    150146#endif
    151147#if H_3D
Note: See TracChangeset for help on using the changeset viewer.