Ignore:
Timestamp:
13 Feb 2014, 22:58:51 (10 years ago)
Author:
tech
Message:

Integrated following MV-HEVC HLS 7 items:

H_MV_HLS7_GEN Stub for further integrations (not tested)
H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
Output layer sets, various

(VPS/P0300/alt output layer flag) #27 Change alt output layer flag to be signalled within the loop of output layer sets, from JCTVC-P0300-v2. Decision: Adopt.
(VPS/P0156/Num of output_layer_flag) #10 Proposal 3: The output_layer_flag[ i ][ j ] is signalled for j equal to 0 to NumLayersInIdList[ lsIdx ] inclusive. It was remarked that we might be able to just assume that the top layer is always output; however, this was not entirely clear , so the safe thing to do may be to also send the flag for this layer.
(VPS/P0295/Default output layer sets) #5 Discussion from (P0110). Decision: Three-state approach (text in P0295, decoder shall allow 3 to be present and shall treat 3 the same as the value 2).

H_MV_HLS_7_HRD_P0156_7 (HRD/P0156/MaxSubLayersInLayerSetMinus1) #7 Proposal 1: signal, in the VPS extension, the DPB parameters for an output layer set for sub-DPBs only up to the maximum temporal sub-layers in the corresponding layer set
H_MV_HLS_7_VPS_P0048_14
(VPS/P0048/profile_ref_minus1 rem) #14 Remove profile_ref_minus1 from the VPS extension, from JCTVC-P0048
H_MV_HLS_7_VPS_P0076_15 (VPS/P0076/video signal info move) #15 Move video signal information syntax structure earlier in the VPS VUI.
H_MV_HLS_7_SPS_P0155_16_32
(SPS/P0155/sps_sub_layer_ordering_info) #16, #32 Not signal the sps_max_num_reorder_pics[], sps_max_latency_increase_plus1[], and sps_max_dec_pic_buffering_minus1[] syntax elements in the SPS when nuh_layer_id > 0.
H_MV_HLS_7_GEN_P0166_PPS_EXTENSION (GEN/P0166/pps_extension) #17 Add PPS extension type flags for conditional presence of syntax extensions per extension type, aligned with the SPS extension type flags, from JCTVC-P0166. Further align the SPS extension type flags syntax between RExt and MV-HEVC/SHVC
H_MV_HLS_7_FIX_SET_DPB_SIZE
Fix derivation dpb size parameters
H_MV_HLS_7_RESERVED_FLAGS Added flags

(SPS/P0312/SHVC reserved flag) The flag will be used for the syntax vert_phase_position_enable_flag in SHVC draft
(VPS/O0215/SHVC reserved flag): this flag will be used for the syntax cross_layer_phase_alignment_flag in SHVC draft.
(VPS VUI/O0199,P0312/SHVC reserved flags) the 3 reserved bits will be used for the syntaxes single_layer_for_non_irap_flag, higher_layer_irap_skip_flag and vert_phase_position_not_in_use_flag in SHVC draft.

H_MV_FIX_VPS_LAYER_ID_NOT_EQUAL_ZERO Discard VPS with nuh_layer_Id > 0
H_MV_HLS_7_MISC_P0130_EOS
(MISC/P0130/EOS NAL layer id) #19 Require that end of bitstream NAL unit shall have nuh_layer_id equal to 0, from JCTVC-P0130. Decoders shall allow an end of bitstream NAL unit with nuh_layer_id > 0 to be present, and shall ignore the NAL unit.
H_MV_HLS_7_MISC_P0182_13 (MISC/P0182/BL PS Compatibility flag) #13 Define the flag (in VPS VUI) with the proposed semantics, without specifying an associated extraction process. Editors to select the position in the VPS VUI.
H_MV_HLS_7_MISC_P0068_21
(MISC/P0068/all irap idr flag) #21 Add flag in VUI to indicate that all IRAP pictures are IDRs and that all layer pictures in an AU are IDR aligned, from JCTVC-P0068 proposal 1.
H_MV_HLS_7_FIX_INFER_CROSS_LAYER_IRAP_ALIGNED_FLAG Fix inference of cross_layer_irap_aligned_flag
H_MV_HLS_7_MISC_P0079_18
(MISC/P0079/NumActiveRefLayerPics) #18 Modification of derivation of variable NumActiveRefLayerPics.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-10.0-dev0/source/Lib/TLibCommon/TComSlice.cpp

    r852 r854  
    103103, m_isDepth                       (false)
    104104#endif
     105#if !H_MV_HLS7_GEN
    105106, m_pocResetFlag                  (false)
     107#endif
    106108#if H_MV
    107109, m_crossLayerBlaFlag             (false)
     
    10321034#if H_MV
    10331035  // Additional slice header syntax elements
     1036#if !H_MV_HLS7_GEN
    10341037  m_pocResetFlag               = pSrc->m_pocResetFlag;
     1038#endif
    10351039  m_discardableFlag            = pSrc->m_discardableFlag;
    10361040  m_interLayerPredEnabledFlag  = pSrc->m_interLayerPredEnabledFlag;
     
    17071711    }
    17081712  }
    1709 
     1713#if !H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    17101714  m_vpsNumberLayerSetsMinus1     = -1;
     1715#endif
    17111716  m_vpsNumProfileTierLevelMinus1 = -1;
    17121717   
     1718#if !H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    17131719  for ( Int i = 0; i < MAX_VPS_PROFILE_TIER_LEVEL; i++)
    17141720  {
     1721#if !H_MV_HLS_7_VPS_P0048_14
    17151722    m_profileRefMinus1[ i ] = -1;
     1723#endif
    17161724  }
    17171725   
     
    17191727  m_numAddOutputLayerSetsMinus1        = -1;   
    17201728  m_defaultOneTargetOutputLayerIdc     = 0;
     1729#else
     1730  m_numAddOutputLayerSets              = -1;   
     1731  m_defaultTargetOutputLayerIdc     = 0;
     1732#endif
    17211733 
    17221734  for ( Int i = 0; i < MAX_VPS_OUTPUTLAYER_SETS; i++)
     
    17281740      m_outputLayerFlag[i][j] = false;
    17291741    }
    1730   }
     1742#if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
     1743    m_altOutputLayerFlag[ i ]       = false;
     1744#endif
     1745  }
     1746#if !H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
    17311747  m_altOutputLayerFlag       = false;
     1748#endif
    17321749  m_maxOneActiveRefLayerFlag = false;
    17331750  m_directDepTypeLenMinus2   = 0;         
     
    17351752
    17361753  m_avcBaseLayerFlag = false;
     1754#if !H_MV_HLS7_GEN
    17371755  m_vpsVuiOffset     = 0;
     1756#endif
    17381757  m_splittingFlag    = false;
    17391758 
     
    17491768  {
    17501769    m_vpsProfilePresentFlag   [i] = false;
     1770#if !H_MV_HLS_7_VPS_P0048_14
    17511771    m_profileRefMinus1[i] = 0;
     1772#endif
    17521773    m_outputLayerSetIdxMinus1       [i] = 0;
    17531774    for( Int j = 0; j < MAX_VPS_NUH_LAYER_ID_PLUS1; j++ )
     
    20602081Int    TComVPS::getNumOutputLayerSets()
    20612082{
     2083#if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
     2084  return getNumAddOutputLayerSets() + getVpsNumLayerSetsMinus1() + 1;
     2085#else
    20622086  Int numOutputLayerSets = getVpsNumberLayerSetsMinus1( ) + 1;
    20632087  if ( getMoreOutputLayerSetsThanDefaultFlag( ) )
     
    20662090}
    20672091  return numOutputLayerSets;
     2092#endif
    20682093}
    20692094
     
    21132138}
    21142139
    2115 Void TComVPS::deriveTargetLayerIdLists()
     2140#if H_MV_HLS_7_OUTPUT_LAYERS_5_10_22_27
     2141Void TComVPS::initTargetLayerIdLists()
    21162142{
    21172143  m_targetDecLayerIdLists.resize( getNumOutputLayerSets() );
    21182144  m_targetOptLayerIdLists.resize( getNumOutputLayerSets() );
     2145}
     2146
     2147Void TComVPS::deriveTargetLayerIdList( Int i )
     2148
     2149  Int lsIdx = getLayerSetIdxForOutputLayerSet( i );     
     2150 
     2151  for( Int j = 0; j < getNumLayersInIdList( lsIdx ); j++ )
     2152  {
     2153    m_targetDecLayerIdLists[i].push_back( m_layerSetLayerIdList[ lsIdx ][ j ] );
     2154    if( getOutputLayerFlag( i, j  ))
     2155    {
     2156      m_targetOptLayerIdLists[i].push_back( m_layerSetLayerIdList[ lsIdx ][ j ] );
     2157    }
     2158  } 
     2159}
     2160#else
     2161Void TComVPS::deriveTargetLayerIdLists()
     2162{
     2163  m_targetDecLayerIdLists.resize( getNumOutputLayerSets() );
     2164  m_targetOptLayerIdLists.resize( getNumOutputLayerSets() );
    21192165
    21202166  for (Int targetOptLayerSetIdx = 0; targetOptLayerSetIdx < getNumOutputLayerSets(); targetOptLayerSetIdx++ )
     
    21332179  }
    21342180}
     2181#endif
     2182
    21352183#endif // H_MV
    21362184
     
    23852433{
    23862434  m_scalingList = new TComScalingList;
     2435
     2436#if H_MV_HLS_7_GEN_P0166_PPS_EXTENSION 
     2437  for( Int i = 0; i < PS_EX_T_MAX_NUM; i++ )
     2438  {
     2439    m_ppsExtensionTypeFlag[ i ] = false;
     2440  }
     2441#endif
     2442
    23872443}
    23882444
     
    29032959    // Consider to check here:
    29042960    // "If the current picture is a RADL picture, there shall be no entry in the RefPicSetInterLayer0 and RefPicSetInterLayer1 that is a RASL picture. "   
     2961#if H_MV_HLS7_GEN
     2962    // "There shall be no picture that has discardable_flag equal to 1 in RefPicSetInterLayer0 or RefPicSetInterLayer1".   
     2963#endif
    29052964  }
    29062965}
     
    30773136  Int numActiveRefLayerPics;
    30783137
     3138#if H_MV_HLS_7_MISC_P0079_18
     3139  if( getLayerId() == 0 || getNumRefLayerPics() ==  0 )
     3140#else
    30793141  if( getLayerId() == 0 || getVPS()->getNumDirectRefLayers( getLayerId() ) ==  0 )
     3142#endif
    30803143  {
    30813144    numActiveRefLayerPics = 0;
     
    30913154  else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumDirectRefLayers( getLayerId() ) == 1 )
    30923155  {
     3156#if H_MV_HLS_7_MISC_P0079_18
     3157    numActiveRefLayerPics = 1;
     3158#else
    30933159    numActiveRefLayerPics = getRefLayerPicFlag( 0 ) ? 1 : 0;
     3160#endif
    30943161  }
    30953162  else
     
    37493816{
    37503817  m_crossLayerIrapAlignedFlag = true;
     3818#if H_MV_HLS_7_MISC_P0068_21
     3819  m_allLayersIdrAlignedFlag   = false;
     3820#endif
    37513821  m_bitRatePresentVpsFlag = false;
    37523822  m_picRatePresentVpsFlag = false;
     
    37753845      m_minHorizontalCtuOffsetPlus1 [i][j] = -1;
    37763846    }
     3847#if H_MV_HLS_7_MISC_P0182_13
     3848    m_baseLayerParameterSetCompatibilityFlag[i] = false;
     3849#endif
    37773850  }
    37783851  for ( Int i = 0; i < MAX_NUM_VIDEO_SIGNAL_INFO; i++ )
Note: See TracChangeset for help on using the changeset viewer.