Changeset 385 in SHVCSoftware for branches/SHM-3.1-dev/source/Lib/TLibDecoder


Ignore:
Timestamp:
6 Sep 2013, 03:13:05 (11 years ago)
Author:
qualcomm
Message:

Signal bit rate and picture rate information in VPS VUI. (MACRO: VPS_VUI_BITRATE_PICRATE)

From: Adarsh K. Ramasubramonian <aramasub@…>

File:
1 edited

Legend:

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

    r384 r385  
    11691169  UInt i,j;
    11701170  UInt uiCode;
     1171#if VPS_VUI_BITRATE_PICRATE
     1172  READ_FLAG( uiCode,        "bit_rate_present_vps_flag" );  vps->setBitRatePresentVpsFlag( uiCode ? true : false );
     1173  READ_FLAG( uiCode,        "pic_rate_present_vps_flag" );  vps->setPicRatePresentVpsFlag( uiCode ? true : false );
     1174
     1175  Bool parseFlag = vps->getBitRatePresentVpsFlag() || vps->getPicRatePresentVpsFlag();
     1176  {
     1177    for( i = 0; i < vps->getNumLayerSets(); i++ )
     1178    {
     1179      for( j = 0; j < vps->getMaxTLayers(); j++ )
     1180      {
     1181        if( parseFlag && vps->getBitRatePresentVpsFlag() )
     1182        {
     1183          READ_FLAG( uiCode,        "bit_rate_present_vps_flag[i][j]" );  vps->setBitRatePresentFlag( i, j, uiCode ? true : false );
     1184        }
     1185        else
     1186        {
     1187          vps->setBitRatePresentFlag( i, j, false );
     1188        }
     1189        if( parseFlag && vps->getPicRatePresentVpsFlag() )
     1190        {
     1191          READ_FLAG( uiCode,        "pic_rate_present_vps_flag[i][j]" );  vps->setPicRatePresentFlag( i, j, uiCode ? true : false );
     1192        }
     1193        else
     1194        {
     1195          vps->setPicRatePresentFlag( i, j, false );
     1196        }
     1197        if( parseFlag && vps->getBitRatePresentFlag(i, j) )
     1198        {
     1199          READ_CODE( 16, uiCode,    "avg_bit_rate[i][j]" ); vps->setAvgBitRate( i, j, uiCode );
     1200          READ_CODE( 16, uiCode,    "max_bit_rate[i][j]" ); vps->setMaxBitRate( i, j, uiCode );
     1201        }
     1202        else
     1203        {
     1204          vps->setAvgBitRate( i, j, 0 );
     1205          vps->setMaxBitRate( i, j, 0 );
     1206        }
     1207        if( parseFlag && vps->getPicRatePresentFlag(i, j) )
     1208        {
     1209          READ_CODE( 2 , uiCode,    "constant_pic_rate_idc[i][j]" ); vps->setConstPicRateIdc( i, j, uiCode );
     1210          READ_CODE( 16, uiCode,    "avg_pic_rate[i][j]"          ); vps->setAvgPicRate( i, j, uiCode );
     1211        }
     1212        else
     1213        {
     1214          vps->setConstPicRateIdc( i, j, 0 );
     1215          vps->setAvgPicRate     ( i, j, 0 );
     1216        }
     1217      }
     1218    }
     1219  }
     1220#endif
    11711221#if N0160_TILE_BOUNDARY_ALIGNED_FLAG
    11721222  for(i = 1; i < vps->getMaxLayers(); i++)
Note: See TracChangeset for help on using the changeset viewer.