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


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/TLibDecoder/TDecCAVLC.cpp

    r571 r576  
    11601160#if VPS_EXTN_PROFILE_INFO
    11611161  // Profile-tier-level signalling
     1162#if !VPS_EXTN_UEV_CODING
    11621163  READ_CODE( 10, uiCode, "vps_number_layer_sets_minus1" );     assert( uiCode == (vps->getNumLayerSets() - 1) );
    11631164  READ_CODE(  6, uiCode, "vps_num_profile_tier_level_minus1"); vps->setNumProfileTierLevel( uiCode + 1 );
     1165#else
     1166  READ_UVLC(  uiCode, "vps_num_profile_tier_level_minus1"); vps->setNumProfileTierLevel( uiCode + 1 );
     1167#endif
    11641168  vps->getPTLForExtnPtr()->resize(vps->getNumProfileTierLevel());
    11651169  for(Int idx = 1; idx <= vps->getNumProfileTierLevel() - 1; idx++)
     
    11861190#endif
    11871191
     1192#if !VPS_EXTN_UEV_CODING
    11881193  READ_FLAG( uiCode, "more_output_layer_sets_than_default_flag" ); vps->setMoreOutputLayerSetsThanDefaultFlag( uiCode ? true : false );
    11891194  Int numOutputLayerSets = 0;
     
    11971202    numOutputLayerSets = vps->getNumLayerSets() + vps->getNumAddOutputLayerSets();
    11981203  }
     1204#else
     1205  READ_UVLC( uiCode, "num_add_output_layer_sets" );          vps->setNumAddOutputLayerSets( uiCode );
     1206  Int numOutputLayerSets = vps->getNumLayerSets() + vps->getNumAddOutputLayerSets();
     1207#endif
    11991208  if( numOutputLayerSets > 1 )
    12001209  {
     
    12941303  {
    12951304#if O0096_REP_FORMAT_INDEX
     1305#if !VPS_EXTN_UEV_CODING
    12961306    READ_CODE( 8, uiCode, "vps_num_rep_formats_minus1" );
     1307#else
     1308    READ_UVLC( uiCode, "vps_num_rep_formats_minus1" );
     1309#endif
    12971310#else
    12981311    READ_CODE( 4, uiCode, "vps_num_rep_formats_minus1" );
     
    13211334      {
    13221335#if O0096_REP_FORMAT_INDEX
     1336#if !VPS_EXTN_UEV_CODING
    13231337        READ_CODE( 8, uiCode, "vps_rep_format_idx[i]" );
     1338#else
     1339        Int numBits = 1;
     1340        while ((1 << numBits) < (vps->getVpsNumRepFormats()))
     1341        {
     1342          numBits++;
     1343        }
     1344        READ_CODE( numBits, uiCode, "vps_rep_format_idx[i]" );
     1345#endif
    13241346#else
    13251347        READ_CODE( 4, uiCode, "vps_rep_format_idx[i]" );
Note: See TracChangeset for help on using the changeset viewer.