Changeset 516 in SHVCSoftware for branches/SHM-4.1-dev/source/Lib/TLibDecoder


Ignore:
Timestamp:
17 Dec 2013, 10:27:32 (11 years ago)
Author:
qualcomm
Message:

DPB-information for output layer sets in the VPS extension. (MACRO: VPS_DPB_SIZE_TABLE)

Includes DPB-table signaling for output layer sets in the VPS extension.

From: Adarsh K. Ramasubramonian <aramasub@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-4.1-dev/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r515 r516  
    12591259    else
    12601260    {
     1261#if VPS_DPB_SIZE_TABLE
     1262      vps->setOutputLayerSetIdx( i, i );
     1263#endif
    12611264      // i <= (vps->getNumLayerSets() - 1)
    12621265      // Assign OutputLayerFlag depending on default_one_target_output_layer_flag
     
    13721375#endif
    13731376
     1377#if VPS_DPB_SIZE_TABLE
     1378  vps->deriveNumberOfSubDpbs();
     1379  for(i = 1; i < vps->getNumOutputLayerSets(); i++)
     1380  {
     1381    READ_FLAG( uiCode, "sub_layer_flag_info_present_flag[i]");  vps->setSubLayerFlagInfoPresentFlag( i, uiCode ? true : false );
     1382    for(j = 0; j < vps->getMaxTLayers(); j++)
     1383    {
     1384      if( j > 0 && vps->getSubLayerFlagInfoPresentFlag(i) )
     1385      {
     1386        READ_FLAG( uiCode, "sub_layer_dpb_info_present_flag[i]");  vps->setSubLayerDpbInfoPresentFlag( i, j, uiCode ? true : false);
     1387      }
     1388      else
     1389      {
     1390        if( j == 0 )  // Always signal for the first sub-layer
     1391        {
     1392          vps->setSubLayerDpbInfoPresentFlag( i, j, true );
     1393        }
     1394        else // if (j != 0) && !vps->getSubLayerFlagInfoPresentFlag(i)
     1395        {
     1396          vps->setSubLayerDpbInfoPresentFlag( i, j, false );
     1397        }
     1398      }
     1399      if( vps->getSubLayerDpbInfoPresentFlag(i, j) )  // If sub-layer DPB information is present
     1400      {
     1401        for(Int k = 0; k < vps->getNumSubDpbs(i); k++)
     1402        {
     1403          READ_UVLC( uiCode, "max_vps_dec_pic_buffering_minus1[i][k][j]" ); vps->setMaxVpsDecPicBufferingMinus1( i, k, j, uiCode );
     1404        }
     1405        READ_UVLC( uiCode, "max_vps_num_reorder_pics[i][j]" );              vps->setMaxVpsNumReorderPics( i, j, uiCode);
     1406        READ_UVLC( uiCode, "max_vps_latency_increase_plus1[i][j]" );        vps->setMaxVpsLatencyIncreasePlus1( i, j, uiCode);
     1407      }
     1408    }
     1409  }
     1410#endif
    13741411#if VPS_EXTN_DIRECT_REF_LAYERS && M0457_PREDICTION_INDICATIONS
    13751412  READ_UVLC( uiCode,           "direct_dep_type_len_minus2"); vps->setDirectDepTypeLen(uiCode+2);
Note: See TracChangeset for help on using the changeset viewer.