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


Ignore:
Timestamp:
18 Sep 2014, 01:38:36 (11 years ago)
Author:
qualcomm
Message:

Fix for signalling of bitrate and picture rate info in VPS VUI to be more aligned to JCTVC-R1008

MACRO: SIGNALLING_BITRATE_PICRATE_FIX

submitted by Hendry (fhendry@…)

File:
1 edited

Legend:

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

    r888 r889  
    23052305  READ_FLAG( uiCode,        "pic_rate_present_vps_flag" );  vps->setPicRatePresentVpsFlag( uiCode ? true : false );
    23062306
     2307#if SIGNALLING_BITRATE_PICRATE_FIX
     2308  if ( vps->getBitRatePresentVpsFlag() || vps->getPicRatePresentVpsFlag() )
     2309  {
     2310    for( i = vps->getBaseLayerInternalFlag() ? 0 : 1; i < vps->getNumLayerSets(); i++ )
     2311    {
     2312      for( Int j = 0; j  <=  vps->getMaxSLayersInLayerSetMinus1( i ); j++ )
     2313      {
     2314        if( vps->getBitRatePresentVpsFlag() )
     2315        {
     2316          READ_FLAG( uiCode, "bit_rate_present_flag[i][j]" ); vps->setBitRatePresentFlag( i, j, uiCode ? true : false );           
     2317        }
     2318        if( vps->getPicRatePresentVpsFlag( )  )
     2319        {
     2320          READ_FLAG( uiCode, "pic_rate_present_flag[i][j]" ); vps->setPicRatePresentFlag( i, j, uiCode ? true : false );
     2321        }
     2322        if( vps->getBitRatePresentFlag( i, j ) )
     2323        {
     2324          READ_CODE( 16, uiCode, "avg_bit_rate" ); vps->setAvgBitRate( i, j, uiCode );
     2325          READ_CODE( 16, uiCode, "max_bit_rate" ); vps->setMaxBitRate( i, j, uiCode );
     2326        }
     2327        else
     2328        {
     2329          vps->setAvgBitRate( i, j, 0 );
     2330          vps->setMaxBitRate( i, j, 0 );
     2331        }
     2332        if( vps->getPicRatePresentFlag( i, j ) )
     2333        {
     2334          READ_CODE( 2,  uiCode, "constant_pic_rate_idc" ); vps->setConstPicRateIdc( i, j, uiCode );
     2335          READ_CODE( 16, uiCode, "avg_pic_rate" );          vps->setAvgPicRate( i, j, uiCode );
     2336        }
     2337        else
     2338        {
     2339          vps->setConstPicRateIdc( i, j, 0 );
     2340          vps->setAvgPicRate( i, j, 0 );
     2341        }
     2342      }
     2343    }
     2344  }
     2345#else
    23072346  Bool parseFlag = vps->getBitRatePresentVpsFlag() || vps->getPicRatePresentVpsFlag();
    23082347
     
    23612400    }
    23622401  }
     2402#endif
    23632403#if VPS_VUI_VIDEO_SIGNAL_MOVE
    23642404  READ_FLAG( uiCode, "video_signal_info_idx_present_flag" ); vps->setVideoSigPresentVpsFlag( uiCode == 1 );
Note: See TracChangeset for help on using the changeset viewer.