Changeset 576 in SHVCSoftware for branches/SHM-5.0-dev/source/Lib/TLibEncoder


Ignore:
Timestamp:
29 Jan 2014, 01:17:30 (11 years ago)
Author:
qualcomm
Message:

JCTVC-P0306: On ue(v) coding of syntax elements in VPS extn (MACRO: VPS_EXTN_UEV_CODING)

Some syntax elements in the VPS extn. are ue(v)-coded instead of u(v)-coded, and some syntax elements are not signaled or coded with u(v).

From: Adarsh K. Ramasubramonian <aramasub@…>

File:
1 edited

Legend:

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

    r570 r576  
    932932#if VPS_EXTN_PROFILE_INFO
    933933  // Profile-tier-level signalling
     934#if !VPS_EXTN_UEV_CODING
    934935  WRITE_CODE( vps->getNumLayerSets() - 1   , 10, "vps_number_layer_sets_minus1" );     
    935936  WRITE_CODE( vps->getNumProfileTierLevel() - 1,  6, "vps_num_profile_tier_level_minus1");
     937#else
     938  WRITE_UVLC( vps->getNumProfileTierLevel() - 1, "vps_num_profile_tier_level_minus1");
     939#endif
    936940  for(Int idx = 1; idx <= vps->getNumProfileTierLevel() - 1; idx++)
    937941  {
     
    947951#endif
    948952
     953#if !VPS_EXTN_UEV_CODING
    949954  Int numOutputLayerSets = vps->getNumOutputLayerSets() ;
    950955  WRITE_FLAG(  (numOutputLayerSets > vps->getNumLayerSets()), "more_output_layer_sets_than_default_flag" );
     
    953958    WRITE_CODE( numOutputLayerSets - vps->getNumLayerSets(), 10, "num_add_output_layer_sets" );
    954959  }
     960#else
     961  Int numOutputLayerSets = vps->getNumOutputLayerSets() ;
     962  assert( numOutputLayerSets - vps->getNumLayerSets() >= 0 );
     963  WRITE_UVLC( numOutputLayerSets - vps->getNumLayerSets(), "num_add_output_layer_sets" );
     964#endif
    955965  if( numOutputLayerSets > 1 )
    956966  {
     
    9991009  {
    10001010#if O0096_REP_FORMAT_INDEX
     1011#if !VPS_EXTN_UEV_CODING
    10011012    WRITE_CODE( vps->getVpsNumRepFormats() - 1, 8, "vps_num_rep_formats_minus1" );
     1013#else
     1014    WRITE_UVLC( vps->getVpsNumRepFormats() - 1, "vps_num_rep_formats_minus1" );
     1015#endif
    10021016#else
    10031017    WRITE_CODE( vps->getVpsNumRepFormats() - 1, 4, "vps_num_rep_formats_minus1" );
     
    10171031      {
    10181032#if O0096_REP_FORMAT_INDEX
     1033#if !VPS_EXTN_UEV_CODING
    10191034        WRITE_CODE( vps->getVpsRepFormatIdx(i), 8, "vps_rep_format_idx[i]" );
     1035#else
     1036        Int numBits = 1;
     1037        while ((1 << numBits) < (vps->getVpsNumRepFormats()))
     1038        {
     1039          numBits++;
     1040        }
     1041        WRITE_CODE( vps->getVpsRepFormatIdx(i), numBits, "vps_rep_format_idx[i]" );
     1042#endif
    10201043#else
    10211044        WRITE_CODE( vps->getVpsRepFormatIdx(i), 4, "vps_rep_format_idx[i]" );
Note: See TracChangeset for help on using the changeset viewer.