Ignore:
Timestamp:
5 Apr 2013, 17:33:21 (12 years ago)
Author:
vidyo
Message:

Adding missing syntax elements for VPS extension; by default this code is disabled. Turn on VPS_EXTN_MASK_AND_DIM_INFO to enable this code.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HM-10.0-dev-SHM/source/Lib/TLibEncoder/TEncCavlc.cpp

    r114 r115  
    673673{
    674674  // ... More syntax elements to be written here
     675#if VPS_EXTN_MASK_AND_DIM_INFO
     676  UInt i = 0, j = 0;
     677
     678  WRITE_FLAG( vps->getAvcBaseLayerFlag(),              "avc_base_layer_flag" );
     679  WRITE_FLAG( vps->getSplittingFlag(),                 "splitting_flag" );
     680
     681  for(i = 0; i < MAX_VPS_NUM_SCALABILITY_TYPES; i++)
     682  {
     683    WRITE_FLAG( vps->getScalabilityMask(i),            "scalability_mask[i]" );
     684  }
     685
     686  for(j = 0; j < vps->getNumScalabilityTypes(); j++)
     687  {
     688    WRITE_CODE( vps->getDimensionIdLen(j) - 1, 3,      "dimension_id_len_minus1[j]" );
     689  }
     690
     691  WRITE_FLAG( vps->getNuhLayerIdPresentFlag(),         "vps_nuh_layer_id_present_flag" );
     692  for(i = 1; i <= vps->getMaxLayerId(); i++) // TODO: we should use vps->getMaxLayers(), but currently it is always set to 1
     693  {
     694    if( vps->getNuhLayerIdPresentFlag() )
     695    {
     696      WRITE_CODE( vps->getLayerIdInNuh(i),     6,      "layer_id_in_nuh[i]" );
     697    }
     698    for(j = 0; j < vps->getNumScalabilityTypes(); j++)
     699    {
     700      UInt bits = vps->getDimensionIdLen(j);
     701      WRITE_CODE( vps->getDimensionId(i, j),   bits,   "dimension_id[i][j]" );
     702    }
     703  }
     704#endif
    675705#if VPS_EXTN_PROFILE_INFO
    676706  // Profile-tier-level signalling
Note: See TracChangeset for help on using the changeset viewer.