Ignore:
Timestamp:
25 Jun 2013, 22:11:57 (11 years ago)
Author:
tech
Message:

Fixed several bugs and mismatches.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-DEV-0.3-dev0/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r492 r495  
    560560  UInt  uiCode;
    561561  READ_CODE( 4,  uiCode, "sps_video_parameter_set_id");          pcSPS->setVPSId        ( uiCode );
     562#if H_MV
     563  if ( pcSPS->getLayerId() == 0 )
     564  {
     565#endif
    562566  READ_CODE( 3,  uiCode, "sps_max_sub_layers_minus1" );          pcSPS->setMaxTLayers   ( uiCode+1 );
    563567  READ_FLAG( uiCode, "sps_temporal_id_nesting_flag" );               pcSPS->setTemporalIdNestingFlag ( uiCode > 0 ? true : false );
     
    566570    // sps_temporal_id_nesting_flag must be 1 when sps_max_sub_layers_minus1 is 0
    567571    assert( uiCode == 1 );
    568   }
    569  
     572  } 
    570573  parsePTL(pcSPS->getPTL(), 1, pcSPS->getMaxTLayers() - 1);
     574#if H_MV
     575  }
     576#endif
    571577  READ_UVLC(     uiCode, "sps_seq_parameter_set_id" );           pcSPS->setSPSId( uiCode );
    572578  READ_UVLC(     uiCode, "chroma_format_idc" );                  pcSPS->setChromaFormatIdc( uiCode );
     
    726732#else
    727733    READ_FLAG( uiCode, "inter_view_mv_vert_constraint_flag" );    pcSPS->setInterViewMvVertConstraintFlag(uiCode == 1 ? true : false);
    728     READ_FLAG( uiCode, "sps_extension2_flag");
    729734    ////   sps_extension_vui_parameters( )
    730735    if( pcSPS->getVuiParameters()->getBitstreamRestrictionFlag() )
     
    747752    ////   sps_extension_vui_parameters( ) END
    748753    READ_UVLC( uiCode, "sps_shvc_reserved_zero_idc" );
    749 
     754    READ_FLAG( uiCode, "sps_extension2_flag");
    750755    if ( uiCode )
    751756    {
     
    756761      }
    757762#else
     763     
    758764      UInt uiCamParPrecision = 0;
    759765      Bool bCamParSlice      = false;
     
    839845#if H_MV
    840846  assert( pcVPS->getVpsMaxLayerId() < MAX_VPS_NUH_LAYER_ID_PLUS1 );
    841   READ_CODE( 6, uiCode, "vps_max_nuh_layer_id" );   pcVPS->setVpsMaxLayerId( uiCode );
     847  READ_CODE( 6, uiCode, "vps_max_layer_id" );   pcVPS->setVpsMaxLayerId( uiCode );
    842848
    843849  READ_UVLC(    uiCode, "vps_max_num_layer_sets_minus1" );               pcVPS->setVpsNumLayerSetsMinus1( uiCode );
     
    950956    READ_CODE( 6,  uiCode, "vps_num_profile_tier_level_minus1" );  pcVPS->setVpsNumProfileTierLevelMinus1( uiCode );
    951957
    952     for( Int i = 1; i <= pcVPS->getVpsNumberLayerSetsMinus1(); i++ )
     958    for( Int i = 1; i <= pcVPS->getVpsNumProfileTierLevelMinus1(); i++ )
    953959    {
    954960      READ_FLAG(  uiCode, "vps_profile_present_flag[i]" );    pcVPS->setVpsProfilePresentFlag( i, uiCode == 1 );
     
    986992      {       
    987993        READ_UVLC( uiCode,      "output_layer_set_idx_minus1[i]" ); pcVPS->setOutputLayerSetIdxMinus1( i, uiCode );
    988         for( Int j = 0; j <= pcVPS->getNumLayersInIdList( j ); j++ )
     994        for( Int j = 0; j < pcVPS->getNumLayersInIdList( j ) - 1; j++ )
    989995        {
    990996          READ_FLAG( uiCode, "output_layer_flag" ); pcVPS->setOutputLayerFlag( i, j, uiCode == 1 );
    991         }
     997        }       
     998      }
     999      if ( pcVPS->getProfileLevelTierIdxLen()  > 0 )
     1000      {     
    9921001        READ_CODE( pcVPS->getProfileLevelTierIdxLen(), uiCode,"profile_level_tier_idx[ i ]" );   pcVPS->setProfileLevelTierIdx( i , uiCode );
    9931002      }
     
    10011010      for( Int j = 0; j < i; j++ )
    10021011      {
    1003         READ_CODE( pcVPS->getDirectDepTypeLenMinus2( ) + 2,  uiCode, "direct_dependency_type[i][j]" ); pcVPS->setDirectDependencyType( i, j , uiCode);
     1012        if (pcVPS->getDirectDependencyFlag( i, j) )
     1013        {       
     1014          READ_CODE( pcVPS->getDirectDepTypeLenMinus2( ) + 2,  uiCode, "direct_dependency_type[i][j]" ); pcVPS->setDirectDependencyType( i, j , uiCode);
     1015        }
    10041016      }
    10051017    }
     
    11561168      rps->setNumberOfPictures(0);
    11571169      rpcSlice->setRPS(rps);
     1170#if H_MV
     1171      rpcSlice->setEnableTMVPFlag(false);
     1172#endif
    11581173    }
    11591174    else
Note: See TracChangeset for help on using the changeset viewer.