Changeset 768 in 3DVCSoftware


Ignore:
Timestamp:
13 Jan 2014, 00:44:19 (10 years ago)
Author:
tech
Message:

Further fixes.

Location:
branches/HTM-9.2-dev0/source
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-9.2-dev0/source/App/TAppDecoder/TAppDecCfg.cpp

    r766 r768  
    124124  if ( !cfg_TargetDecLayerIdSetFile.empty() )
    125125  {
     126#if H_MV
    126127    m_targetDecLayerIdSetFileEmpty = false;     
     128#endif
    127129    FILE* targetDecLayerIdSetFile = fopen ( cfg_TargetDecLayerIdSetFile.c_str(), "r" );
    128130    if ( targetDecLayerIdSetFile )
  • branches/HTM-9.2-dev0/source/App/TAppDecoder/TAppDecCfg.h

    r766 r768  
    7575
    7676  std::vector<Int> m_targetDecLayerIdSet;             ///< set of LayerIds to be included in the sub-bitstream extraction process.
     77#if H_MV
    7778  Bool          m_targetDecLayerIdSetFileEmpty;      ///< indication if target layers are given by file
     79#endif
    7880  Int           m_respectDefDispWindow;               ///< Only output content inside the default display window
    7981
     
    8486  TAppDecCfg()
    8587  : m_pchBitstreamFile(NULL)
    86 #if H_MV
    87 #endif
    8888  , m_pchReconFile(NULL)
    8989  , m_iSkipFrame(0)
     
    9292  , m_iMaxTemporalLayer(-1)
    9393  , m_decodedPictureHashSEIEnabled(0)
     94#if H_MV
    9495  , m_targetDecLayerIdSetFileEmpty(true)
     96#endif
    9597  , m_respectDefDispWindow(0)
    9698  {}
  • branches/HTM-9.2-dev0/source/App/TAppEncoder/TAppEncCfg.cpp

    r766 r768  
    444444  ("QuadtreeTUMaxDepthIntra", m_uiQuadtreeTUMaxDepthIntra, 1u, "Depth of TU tree for intra CUs")
    445445  ("QuadtreeTUMaxDepthInter", m_uiQuadtreeTUMaxDepthInter, 2u, "Depth of TU tree for inter CUs")
    446  
    447446  // Coding structure parameters
     447#if H_MV 
    448448  ("IntraPeriod,-ip",         m_iIntraPeriod,std::vector<Int>(1,-1), "Intra period in frames, (-1: only first frame), per layer")
     449#else
     450("IntraPeriod,-ip",         m_iIntraPeriod,              -1, "Intra period in frames, (-1: only first frame)")
     451#endif
    449452  ("DecodingRefreshType,-dr", m_iDecodingRefreshType,       0, "Intra refresh type (0:none 1:CRA 2:IDR)")
    450453  ("GOPSize,g",               m_iGOPSize,                   1, "GOP size of temporal structure")
     
    14401443  xConfirmPara( m_iGOPSize < 1 ,                                                            "GOP Size must be greater or equal to 1" );
    14411444  xConfirmPara( m_iGOPSize > 1 &&  m_iGOPSize % 2,                                          "GOP Size must be a multiple of 2, if GOP Size is greater than 1" );
     1445#if H_MV
    14421446  for( Int layer = 0; layer < m_numberOfLayers; layer++ )
    14431447  {
    14441448    xConfirmPara( (m_iIntraPeriod[layer] > 0 && m_iIntraPeriod[layer] < m_iGOPSize) || m_iIntraPeriod[layer] == 0, "Intra period must be more than GOP size, or -1 , not 0" );
    14451449  }
     1450#else
     1451  xConfirmPara( (m_iIntraPeriod > 0 && m_iIntraPeriod < m_iGOPSize) || m_iIntraPeriod == 0, "Intra period must be more than GOP size, or -1 , not 0" );
     1452#endif
    14461453  xConfirmPara( m_iDecodingRefreshType < 0 || m_iDecodingRefreshType > 2,                   "Decoding Refresh Type must be equal to 0, 1 or 2" );
    14471454#if H_MV
     
    14691476  if (m_iDecodingRefreshType == 2)
    14701477  {
     1478#if H_MV
    14711479    for (Int i = 0; i < m_numberOfLayers; i++ )
    14721480    {
    14731481      xConfirmPara( m_iIntraPeriod[i] > 0 && m_iIntraPeriod[i] <= m_iGOPSize ,                      "Intra period must be larger than GOP size for periodic IDR pictures");
    14741482    }
     1483#else
     1484    xConfirmPara( m_iIntraPeriod > 0 && m_iIntraPeriod <= m_iGOPSize ,                      "Intra period must be larger than GOP size for periodic IDR pictures");
     1485#endif
    14751486  }
    14761487  xConfirmPara( (m_uiMaxCUWidth  >> m_uiMaxCUDepth) < 4,                                    "Minimum partition width size should be larger than or equal to 8");
     
    17311742  /* if this is an intra-only sequence, ie IntraPeriod=1, don't verify the GOP structure
    17321743   * This permits the ability to omit a GOP structure specification */
    1733   if (m_iIntraPeriod[layer] == 1 && m_GOPList[0].m_POC == -1) {
     1744#if H_MV
     1745  if (m_iIntraPeriod[layer] == 1 && m_GOPList[0].m_POC == -1)
     1746  {
     1747#else
     1748  if (m_iIntraPeriod == 1 && m_GOPList[0].m_POC == -1) {
     1749#endif
    17341750    m_GOPList[0] = GOPEntry();
    17351751    m_GOPList[0].m_QPFactor = 1;
     
    17561772  }
    17571773  Int numOK=0;
     1774#if H_MV
     1775xConfirmPara( m_iIntraPeriod >=0&&(m_iIntraPeriod%m_iGOPSize!=0), "Intra period must be a multiple of GOPSize, or -1" );
     1776#else
    17581777  xConfirmPara( m_iIntraPeriod[layer] >=0&&(m_iIntraPeriod[layer]%m_iGOPSize!=0), "Intra period must be a multiple of GOPSize, or -1" );
     1778#endif
    17591779
    17601780  for(Int i=0; i<m_iGOPSize; i++)
     
    22922312  printf("Min PCM size                 : %d\n", 1 << m_uiPCMLog2MinSize);
    22932313  printf("Motion search range          : %d\n", m_iSearchRange );
     2314#if H_MV
    22942315  xPrintParaVector( "Intra period", m_iIntraPeriod );
     2316#else
     2317  printf("Intra period                 : %d\n", m_iIntraPeriod );
     2318#endif
    22952319  printf("Decoding refresh type        : %d\n", m_iDecodingRefreshType );
    22962320#if !H_MV
  • branches/HTM-9.2-dev0/source/App/TAppEncoder/TAppEncCfg.h

    r766 r768  
    178178 
    179179  // coding structure
     180#if H_MV
    180181  std::vector<Int> m_iIntraPeriod;                            ///< period of I-slice (random access period)
     182#else
     183  Int       m_iIntraPeriod;                                   ///< period of I-slice (random access period)
     184#endif
    181185  Int       m_iDecodingRefreshType;                           ///< random access type
    182186  Int       m_iGOPSize;                                       ///< GOP size of hierarchical structure
  • branches/HTM-9.2-dev0/source/App/TAppEncoder/TAppEncTop.cpp

    r767 r768  
    230230 
    231231  //====== Coding Structure ========
     232#if H_MV
    232233  m_cTEncTop.setIntraPeriod                  ( m_iIntraPeriod[ layerIdInVps ] );
     234#else
     235  m_cTEncTop.setIntraPeriod                  ( m_iIntraPeriod );
     236#endif
    233237  m_cTEncTop.setDecodingRefreshType          ( m_iDecodingRefreshType );
    234238  m_cTEncTop.setGOPSize                      ( m_iGOPSize );
  • branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComSlice.cpp

    r767 r768  
    37533753  }
    37543754}
    3755 #endif
     3755
     3756Void TComVUI::inferVideoSignalInfo( TComVPS* vps, Int layerIdCurr )
     3757{
     3758  if ( layerIdCurr == 0 || !vps->getVpsVuiPresentFlag() )
     3759  {
     3760    return;
     3761  }
     3762
     3763  TComVPSVUI* vpsVUI = vps->getVPSVUI();
     3764  assert( vpsVUI != NULL ); 
     3765
     3766  TComVideoSignalInfo* videoSignalInfo = vpsVUI->getVideoSignalInfo( vpsVUI->getVpsVideoSignalInfoIdx( vps->getLayerIdInVps( layerIdCurr ) ) );
     3767  assert( videoSignalInfo != NULL );
     3768
     3769  setVideoFormat            ( videoSignalInfo->getVideoVpsFormat            () );
     3770  setVideoFullRangeFlag     ( videoSignalInfo->getVideoFullRangeVpsFlag     () );
     3771  setColourPrimaries        ( videoSignalInfo->getColourPrimariesVps        () );
     3772  setTransferCharacteristics( videoSignalInfo->getTransferCharacteristicsVps() );
     3773  setMatrixCoefficients     ( videoSignalInfo->getMatrixCoeffsVps           () );
     3774}
     3775#endif
     3776
  • branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComSlice.h

    r767 r768  
    617617  Int  getBitDepthVpsChromaMinus8(  ) { return m_bitDepthVpsChromaMinus8; }
    618618};
    619 #endif
     619
    620620
    621621class TComDpbSize
     
    664664  Int  getMaxVpsLatencyIncreasePlus1( Int i, Int j ) { return m_maxVpsLatencyIncreasePlus1[i][j]; }
    665665};
    666 
     666#endif
    667667class TComVPS
    668668{
     
    13521352  TComHRD* getHrdParameters                 ()             { return &m_hrdParameters; }
    13531353  TimingInfo* getTimingInfo() { return &m_timingInfo; }
    1354 
    1355   Void inferVideoSignalInfo( TComVPS* vps, Int layerIdCurr )
    1356   {
    1357     if ( layerIdCurr == 0 || !vps->getVpsVuiPresentFlag() )
    1358     {
    1359       return;
    1360     }
    1361 
    1362     TComVPSVUI* vpsVUI = vps->getVPSVUI();
    1363     assert( vpsVUI != NULL ); 
    1364 
    1365     TComVideoSignalInfo* videoSignalInfo = vpsVUI->getVideoSignalInfo( vpsVUI->getVpsVideoSignalInfoIdx( vps->getLayerIdInVps( layerIdCurr ) ) );
    1366     assert( videoSignalInfo != NULL );
    1367 
    1368     setVideoFormat            ( videoSignalInfo->getVideoVpsFormat            () );
    1369     setVideoFullRangeFlag     ( videoSignalInfo->getVideoFullRangeVpsFlag     () );
    1370     setColourPrimaries        ( videoSignalInfo->getColourPrimariesVps        () );
    1371     setTransferCharacteristics( videoSignalInfo->getTransferCharacteristicsVps() );
    1372     setMatrixCoefficients     ( videoSignalInfo->getMatrixCoeffsVps           () );     
    1373   }
     1354#if H_MV
     1355  Void inferVideoSignalInfo( TComVPS* vps, Int layerIdCurr );
     1356#endif
    13741357};
    13751358
  • branches/HTM-9.2-dev0/source/Lib/TLibCommon/TypeDef.h

    r767 r768  
    5555
    5656#ifndef HEVC_EXT
    57 #define HEVC_EXT                    2
     57#define HEVC_EXT                    0
    5858#endif
    5959
  • branches/HTM-9.2-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r767 r768  
    557557
    558558  READ_FLAG(     uiCode, "video_signal_type_present_flag");           pcVUI->setVideoSignalTypePresentFlag(uiCode);
     559#if H_MV
    559560  assert( pcSPS->getLayerId() == 0 || !pcVUI->getVideoSignalTypePresentFlag() );
    560 
     561#endif
    561562  if (pcVUI->getVideoSignalTypePresentFlag())
    562563  {
  • branches/HTM-9.2-dev0/source/Lib/TLibEncoder/TEncCavlc.cpp

    r767 r768  
    495495  }
    496496  WRITE_FLAG(pcVUI->getVideoSignalTypePresentFlag(),            "video_signal_type_present_flag");
     497#if H_MV
    497498  assert( pcSPS->getLayerId() == 0 || !pcVUI->getVideoSignalTypePresentFlag() );
     499#endif
    498500  if (pcVUI->getVideoSignalTypePresentFlag())
    499501  {
     
    16571659    // if( separate_colour_plane_flag  ==  1 )
    16581660    //   colour_plane_id                                      u(2)
    1659 
     1661#if H_MV
    16601662    if ( (pcSlice->getLayerId() > 0 && !vps->getPocLsbNotPresentFlag( pcSlice->getLayerIdInVps())) || !pcSlice->getIdrPicFlag() )
    16611663    {
     
    16631665      WRITE_CODE( picOrderCntLSB, pcSlice->getSPS()->getBitsForPOC(), "slice_pic_order_cnt_lsb");
    16641666    }
     1667#endif
    16651668    if( !pcSlice->getIdrPicFlag() )
    16661669    {
Note: See TracChangeset for help on using the changeset viewer.