Ignore:
Timestamp:
30 Dec 2014, 18:47:09 (10 years ago)
Author:
seregin
Message:

support profile, tier and level for each layer, patch was provided by Hendry <fhendry@…>

File:
1 edited

Legend:

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

    r937 r941  
    13751375  {
    13761376    vps->setProfilePresentFlag(1, false);
     1377#if !MULTIPLE_PTL_SUPPORT
    13771378    vps->getPTLForExtnPtr()->empty();
    13781379    vps->getPTLForExtnPtr()->resize(2);
    13791380    vps->getPTLForExtn(1)->copyProfileInfo( vps->getPTL() );
    13801381    parsePTL( vps->getPTLForExtn(1), vps->getProfilePresentFlag(1), vps->getMaxTLayers() - 1 );
     1382#else
     1383    parsePTL( vps->getPTL(1), vps->getProfilePresentFlag(1), vps->getMaxTLayers() - 1 );
     1384#endif
    13811385  }
    13821386#endif
     
    16001604  READ_CODE(  6, uiCode, "vps_num_profile_tier_level_minus1"); vps->setNumProfileTierLevel( uiCode + 1 );
    16011605#else
    1602   READ_UVLC(  uiCode, "vps_num_profile_tier_level_minus1"); vps->setNumProfileTierLevel( uiCode + 1 );
     1606  READ_UVLC(  uiCode, "vps_num_profile_tier_level_minus1");
     1607  vps->setNumProfileTierLevel( uiCode + 1 );
     1608  //vps->setNumProfileTierLevel( 3 );
     1609  int aa = vps->getNumProfileTierLevel();
    16031610#endif
    16041611#if PER_LAYER_PTL
    16051612  Int const numBitsForPtlIdx = vps->calculateLenOfSyntaxElement( vps->getNumProfileTierLevel() );
    16061613#endif
     1614#if !MULTIPLE_PTL_SUPPORT
    16071615  vps->getPTLForExtnPtr()->resize(vps->getNumProfileTierLevel());
     1616#endif
    16081617#if LIST_OF_PTL
    16091618  for(Int idx = vps->getBaseLayerInternalFlag() ? 2 : 1; idx <= vps->getNumProfileTierLevel() - 1; idx++)
     
    16121621#endif
    16131622  {
    1614     READ_FLAG( uiCode, "vps_profile_present_flag[i]" ); vps->setProfilePresentFlag(idx, uiCode ? true : false);
     1623    READ_FLAG( uiCode, "vps_profile_present_flag[i]" );
     1624    vps->setProfilePresentFlag(idx, uiCode ? true : false);
    16151625    if( !vps->getProfilePresentFlag(idx) )
    16161626    {
    16171627#if P0048_REMOVE_PROFILE_REF
    16181628      // Copy profile information from previous one
     1629#if !MULTIPLE_PTL_SUPPORT
    16191630      vps->getPTLForExtn(idx)->copyProfileInfo( (idx==1) ? vps->getPTL() : vps->getPTLForExtn( idx - 1 ) );
     1631#else
     1632      vps->getPTL(idx)->copyProfileInfo( vps->getPTL( idx - 1 ) );
     1633#endif
    16201634#else
    16211635      READ_CODE( 6, uiCode, "profile_ref_minus1[i]" ); vps->setProfileLayerSetRef(idx, uiCode + 1);
     
    16291643#endif
    16301644    }
     1645#if !MULTIPLE_PTL_SUPPORT
    16311646    parsePTL( vps->getPTLForExtn(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 );
     1647#else
     1648    parsePTL( vps->getPTL(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 );
     1649#endif
    16321650  }
    16331651#endif
     
    16731691  if( vps->getNumLayerSets() > 1 )
    16741692  {
    1675     READ_UVLC( uiCode, "num_add_olss" );            vps->setNumAddOutputLayerSets( uiCode );
     1693    READ_UVLC( uiCode, "num_add_olss" );           
     1694    vps->setNumAddOutputLayerSets( uiCode );
    16761695    READ_CODE( 2, uiCode, "default_output_layer_idc" );   vps->setDefaultTargetOutputLayerIdc( uiCode );
    16771696  }
Note: See TracChangeset for help on using the changeset viewer.