Changeset 588 in SHVCSoftware for trunk/source/Lib/TLibEncoder


Ignore:
Timestamp:
1 Feb 2014, 23:50:54 (11 years ago)
Author:
seregin
Message:

merge with SHM-5.0-dev

Location:
trunk
Files:
14 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/source

  • trunk/source/Lib/TLibEncoder/NALwrite.cpp

    r313 r588  
    9191  vector<uint8_t>& rbsp   = nalu.m_Bitstream.getFIFO();
    9292
     93#if P0130_EOB
     94  if (rbsp.size() == 0) return;
     95#endif
     96
    9397  for (vector<uint8_t>::iterator it = rbsp.begin(); it != rbsp.end();)
    9498  {
  • trunk/source/Lib/TLibEncoder/SEIwrite.cpp

    r442 r588  
    8787    fprintf( g_hTrace, "=========== Tone Mapping Info SEI message ===========\n");
    8888    break;
    89 #if M0043_LAYERS_PRESENT_SEI
    90   case SEI::LAYERS_PRESENT:
     89#if LAYERS_NOT_PRESENT_SEI
     90  case SEI::LAYERS_NOT_PRESENT:
    9191    fprintf( g_hTrace, "=========== Layers Present SEI message ===========\n");
    9292    break;
     
    9999    fprintf( g_hTrace, "=========== Inter Layer Constrained Tile Sets SEI message ===========\n");
    100100    break;
     101#endif
     102#if SUB_BITSTREAM_PROPERTY_SEI
     103    case SEI::SUB_BITSTREAM_PROPERTY:
     104      fprintf( g_hTrace, "=========== Sub-bitstream property SEI message ===========\n");
     105      break;
    101106#endif
    102107  case SEI::SCALABLE_NESTING:
     
    150155    xWriteSEIToneMappingInfo(*static_cast<const SEIToneMappingInfo*>(&sei));
    151156    break;
    152 #if M0043_LAYERS_PRESENT_SEI
    153   case SEI::LAYERS_PRESENT:
    154     xWriteSEILayersPresent(*static_cast<const SEILayersPresent*>(&sei));
     157#if LAYERS_NOT_PRESENT_SEI
     158  case SEI::LAYERS_NOT_PRESENT:
     159    xWriteSEILayersNotPresent(*static_cast<const SEILayersNotPresent*>(&sei));
    155160    break;
    156161#endif
     
    162167    xWriteSEIInterLayerConstrainedTileSets(*static_cast<const SEIInterLayerConstrainedTileSets*>(&sei));
    163168    break;
     169#endif
     170#if SUB_BITSTREAM_PROPERTY_SEI
     171   case SEI::SUB_BITSTREAM_PROPERTY:
     172     xWriteSEISubBitstreamProperty(*static_cast<const SEISubBitstreamProperty*>(&sei));
     173     break;
    164174#endif
    165175  case SEI::SCALABLE_NESTING:
     
    536546}
    537547
    538 #if M0043_LAYERS_PRESENT_SEI
    539 Void SEIWriter::xWriteSEILayersPresent(const SEILayersPresent& sei)
     548#if LAYERS_NOT_PRESENT_SEI
     549Void SEIWriter::xWriteSEILayersNotPresent(const SEILayersNotPresent& sei)
    540550{
    541551  WRITE_UVLC( sei.m_activeVpsId,           "lp_sei_active_vps_id" );
    542552  for (UInt i = 0; i < sei.m_vpsMaxLayers; i++)
    543553  {
    544     WRITE_FLAG( sei.m_layerPresentFlag[i], "layer_present_flag"   );
     554    WRITE_FLAG( sei.m_layerNotPresentFlag[i], "layer_not_present_flag"   );
    545555  }
    546556  xWriteByteAlign();
     
    606616}
    607617#endif
    608 
     618#if SUB_BITSTREAM_PROPERTY_SEI
     619Void SEIWriter::xWriteSEISubBitstreamProperty(const SEISubBitstreamProperty &sei)
     620{
     621  WRITE_CODE( sei.m_activeVpsId, 4, "active_vps_id" );
     622  assert( sei.m_numAdditionalSubStreams >= 1 );
     623  WRITE_UVLC( sei.m_numAdditionalSubStreams - 1, "num_additional_sub_streams_minus1" );
     624
     625  for( Int i = 0; i < sei.m_numAdditionalSubStreams; i++ )
     626  {
     627    WRITE_CODE( sei.m_subBitstreamMode[i],       2, "sub_bitstream_mode[i]"           );
     628    WRITE_UVLC( sei.m_outputLayerSetIdxToVps[i],    "output_layer_set_idx_to_vps[i]"  );
     629    WRITE_CODE( sei.m_highestSublayerId[i],      3, "highest_sub_layer_id[i]"         );
     630    WRITE_CODE( sei.m_avgBitRate[i],            16, "avg_bit_rate[i]"                 );
     631    WRITE_CODE( sei.m_maxBitRate[i],            16, "max_bit_rate[i]"                 );
     632  }
     633  xWriteByteAlign();
     634}
     635#endif
    609636Void SEIWriter::xWriteSEIScalableNesting(TComBitIf& bs, const SEIScalableNesting& sei, TComSPS *sps)
    610637{
  • trunk/source/Lib/TLibEncoder/SEIwrite.h

    r442 r588  
    6464  Void xWriteSEIGradualDecodingRefreshInfo(const SEIGradualDecodingRefreshInfo &sei);
    6565  Void xWriteSEIToneMappingInfo(const SEIToneMappingInfo& sei);
    66 #if M0043_LAYERS_PRESENT_SEI
    67   Void xWriteSEILayersPresent(const SEILayersPresent& sei);
     66#if LAYERS_NOT_PRESENT_SEI
     67  Void xWriteSEILayersNotPresent(const SEILayersNotPresent& sei);
    6868#endif
    6969  Void xWriteSEISOPDescription(const SEISOPDescription& sei);
    7070#if N0383_IL_CONSTRAINED_TILE_SETS_SEI
    7171  Void xWriteSEIInterLayerConstrainedTileSets(const SEIInterLayerConstrainedTileSets& sei);
     72#endif
     73#if SUB_BITSTREAM_PROPERTY_SEI
     74  Void xWriteSEISubBitstreamProperty(const SEISubBitstreamProperty &sei);
    7275#endif
    7376  Void xWriteSEIScalableNesting(TComBitIf& bs, const SEIScalableNesting& sei, TComSPS *sps);
  • trunk/source/Lib/TLibEncoder/TEncCavlc.cpp

    r547 r588  
    579579  }
    580580  WRITE_FLAG( pcSPS->getTMVPFlagsPresent()  ? 1 : 0,           "sps_temporal_mvp_enable_flag" );
    581 #if REF_IDX_MFM
    582 #if !M0457_COL_PICTURE_SIGNALING
    583   if( pcSPS->getLayerId() > 0 )
    584   {
    585     WRITE_FLAG( pcSPS->getMFMEnabledFlag() ? 1 : 0,          "sps_enh_mfm_enable_flag" );
    586   }
    587 #endif
    588 #endif
    589581  WRITE_FLAG( pcSPS->getUseStrongIntraSmoothing(),             "sps_strong_intra_smoothing_enable_flag" );
    590582
     
    623615  // more syntax elements to be written here
    624616
    625 #if VERT_MV_CONSTRAINT
    626617  // Vertical MV component restriction is not used in SHVC CTC
    627618  WRITE_FLAG( 0, "inter_view_mv_vert_constraint_flag" );
    628 #endif
     619
    629620  if( pcSPS->getLayerId() > 0 )
    630621  {
     
    642633    }
    643634  }
    644 #if M0463_VUI_EXT_ILP_REF
    645   ////   sps_extension_vui_parameters( )
    646   if( pcSPS->getVuiParameters()->getBitstreamRestrictionFlag() )
    647   { 
    648     WRITE_UVLC( pcSPS->getNumIlpRestrictedRefLayers( ),           "num_ilp_restricted_ref_layers" );
    649     for( Int i = 0; i < pcSPS->getNumIlpRestrictedRefLayers( ); i++ )
    650     { 
    651       WRITE_UVLC( pcSPS->getMinSpatialSegmentOffsetPlus1( i ),    "min_spatial_segment_offset_plus1" );
    652       if( pcSPS->getMinSpatialSegmentOffsetPlus1( i ) > 0 )
    653       { 
    654         WRITE_FLAG( pcSPS->getCtuBasedOffsetEnabledFlag( i ),      "ctu_based_offset_enabled_flag[ i ]");
    655         if( pcSPS->getCtuBasedOffsetEnabledFlag( i ) ) 
    656         {
    657           WRITE_UVLC( pcSPS->getMinHorizontalCtuOffsetPlus1( i ), "min_horizontal_ctu_offset_plus1[ i ]");
    658         }
    659       } 
    660     } 
    661   } 
    662   ////   sps_extension_vui_parameters( ) END
    663 #endif
    664635}
    665636#endif
    666637Void TEncCavlc::codeVPS( TComVPS* pcVPS )
    667638{
     639#if !P0125_REVERT_VPS_EXTN_OFFSET_TO_RESERVED
    668640#if VPS_EXTN_OFFSET_CALC
    669641  UInt numBytesInVps = this->m_pcBitIf->getNumberOfWrittenBits();
    670642#endif
     643#endif
     644#if !P0307_REMOVE_VPS_VUI_OFFSET
    671645#if VPS_VUI_OFFSET
    672646   m_vpsVuiCounter = this->m_pcBitIf->getNumberOfWrittenBits();
     647#endif
    673648#endif
    674649  WRITE_CODE( pcVPS->getVPSId(),                    4,        "vps_video_parameter_set_id" );
     
    682657  WRITE_FLAG( pcVPS->getTemporalNestingFlag(),                "vps_temporal_id_nesting_flag" );
    683658  assert (pcVPS->getMaxTLayers()>1||pcVPS->getTemporalNestingFlag());
     659#if !P0125_REVERT_VPS_EXTN_OFFSET_TO_RESERVED
    684660#if VPS_EXTN_OFFSET
    685661  WRITE_CODE( pcVPS->getExtensionOffset(),         16,        "vps_extension_offset" );
     662#else
     663  WRITE_CODE( 0xffff,                              16,        "vps_reserved_ffff_16bits" );
     664#endif
    686665#else
    687666  WRITE_CODE( 0xffff,                              16,        "vps_reserved_ffff_16bits" );
     
    775754      WRITE_FLAG(1,                  "vps_extension_alignment_bit_equal_to_one");
    776755    }
     756#if !P0125_REVERT_VPS_EXTN_OFFSET_TO_RESERVED
    777757#if VPS_EXTN_OFFSET_CALC
    778758    Int vpsExntOffsetValueInBits = this->m_pcBitIf->getNumberOfWrittenBits() - numBytesInVps + 16; // 2 bytes for NUH
     
    780760    pcVPS->setExtensionOffset( vpsExntOffsetValueInBits >> 3 );
    781761#endif
     762#endif
    782763    codeVPSExtension(pcVPS);
    783764    WRITE_FLAG( 0,                     "vps_extension2_flag" );   // Flag value of 1 reserved
     
    798779
    799780  WRITE_FLAG( vps->getAvcBaseLayerFlag(),              "avc_base_layer_flag" );
     781#if !P0307_REMOVE_VPS_VUI_OFFSET
    800782#if O0109_MOVE_VPS_VUI_FLAG
    801783#if !VPS_VUI
     
    819801  WRITE_FLAG( vps->getSplittingFlag(),                 "splitting_flag" );
    820802#endif // O0109_MOVE_VPS_VUI_FLAG
     803#endif
     804  WRITE_FLAG( vps->getSplittingFlag(),                 "splitting_flag" );
    821805
    822806  for(i = 0; i < MAX_VPS_NUM_SCALABILITY_TYPES; i++)
     
    908892    }
    909893#endif
    910 #if JCTVC_M0203_INTERLAYER_PRED_IDC
    911894#if N0120_MAX_TID_REF_PRESENT_FLAG
    912895   WRITE_FLAG( vps->getMaxTidRefPresentFlag(), "max_tid_ref_present_flag");
     
    944927  }
    945928#endif
    946 #endif
    947929#if ILP_SSH_SIG
    948930    WRITE_FLAG( vps->getIlpSshSignalingEnabledFlag(), "all_ref_layers_active_flag" );
     
    950932#if VPS_EXTN_PROFILE_INFO
    951933  // Profile-tier-level signalling
     934#if !VPS_EXTN_UEV_CODING
    952935  WRITE_CODE( vps->getNumLayerSets() - 1   , 10, "vps_number_layer_sets_minus1" );     
    953936  WRITE_CODE( vps->getNumProfileTierLevel() - 1,  6, "vps_num_profile_tier_level_minus1");
     937#else
     938  WRITE_UVLC( vps->getNumProfileTierLevel() - 1, "vps_num_profile_tier_level_minus1");
     939#endif
    954940  for(Int idx = 1; idx <= vps->getNumProfileTierLevel() - 1; idx++)
    955941  {
    956942    WRITE_FLAG( vps->getProfilePresentFlag(idx),       "vps_profile_present_flag[i]" );
     943#if !P0048_REMOVE_PROFILE_REF
    957944    if( !vps->getProfilePresentFlag(idx) )
    958945    {
    959946      WRITE_CODE( vps->getProfileLayerSetRef(idx) - 1, 6, "profile_ref_minus1[i]" );
    960947    }
     948#endif
    961949    codePTL( vps->getPTLForExtn(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 );
    962950  }
    963951#endif
    964952
     953#if !VPS_EXTN_UEV_CODING
    965954  Int numOutputLayerSets = vps->getNumOutputLayerSets() ;
    966955  WRITE_FLAG(  (numOutputLayerSets > vps->getNumLayerSets()), "more_output_layer_sets_than_default_flag" );
     
    969958    WRITE_CODE( numOutputLayerSets - vps->getNumLayerSets(), 10, "num_add_output_layer_sets" );
    970959  }
     960#else
     961  Int numOutputLayerSets = vps->getNumOutputLayerSets() ;
     962  assert( numOutputLayerSets - (Int)vps->getNumLayerSets() >= 0 );
     963  WRITE_UVLC( numOutputLayerSets - vps->getNumLayerSets(), "num_add_output_layer_sets" );
     964#endif
    971965  if( numOutputLayerSets > 1 )
    972966  {
     967#if P0295_DEFAULT_OUT_LAYER_IDC
     968    WRITE_CODE( vps->getDefaultTargetOutputLayerIdc(), 2, "default_target_output_layer_idc" );   
     969#else
    973970#if O0109_DEFAULT_ONE_OUT_LAYER_IDC
    974971    WRITE_CODE( vps->getDefaultOneTargetOutputLayerIdc(), 2, "default_one_target_output_layer_idc" );   
     
    976973    WRITE_FLAG( vps->getDefaultOneTargetOutputLayerFlag(), "default_one_target_output_layer_flag" );   
    977974#endif
     975#endif
    978976  }
    979977
     
    987985        numBits++;
    988986      }
    989       WRITE_CODE( vps->getOutputLayerSetIdx(i) - 1, numBits, "output_layer_set_idx_minus1"); 
     987      WRITE_CODE( vps->getOutputLayerSetIdx(i) - 1, numBits, "output_layer_set_idx_minus1");
     988#if P0295_DEFAULT_OUT_LAYER_IDC
     989    }
     990    if ( i > (vps->getNumLayerSets() - 1) || vps->getDefaultTargetOutputLayerIdc() >= 2 ) //Instead of == 2, >= 2 is used to follow the agreement that value 3 should be interpreted as 2
     991    {
     992#endif
    990993      Int lsIdx = vps->getOutputLayerSetIdx(i);
    991994      for(j = 0; j < vps->getNumLayersInIdList(lsIdx) - 1; j++)
     
    10151018  {
    10161019#if O0096_REP_FORMAT_INDEX
     1020#if !VPS_EXTN_UEV_CODING
    10171021    WRITE_CODE( vps->getVpsNumRepFormats() - 1, 8, "vps_num_rep_formats_minus1" );
     1022#else
     1023    WRITE_UVLC( vps->getVpsNumRepFormats() - 1, "vps_num_rep_formats_minus1" );
     1024#endif
    10181025#else
    10191026    WRITE_CODE( vps->getVpsNumRepFormats() - 1, 4, "vps_num_rep_formats_minus1" );
     
    10331040      {
    10341041#if O0096_REP_FORMAT_INDEX
     1042#if !VPS_EXTN_UEV_CODING
    10351043        WRITE_CODE( vps->getVpsRepFormatIdx(i), 8, "vps_rep_format_idx[i]" );
    10361044#else
     1045        Int numBits = 1;
     1046        while ((1 << numBits) < (vps->getVpsNumRepFormats()))
     1047        {
     1048          numBits++;
     1049        }
     1050        WRITE_CODE( vps->getVpsRepFormatIdx(i), numBits, "vps_rep_format_idx[i]" );
     1051#endif
     1052#else
    10371053        WRITE_CODE( vps->getVpsRepFormatIdx(i), 4, "vps_rep_format_idx[i]" );
    10381054#endif
     
    10421058#endif
    10431059
    1044 #if JCTVC_M0458_INTERLAYER_RPS_SIG
    1045       WRITE_FLAG(vps->getMaxOneActiveRefLayerFlag(), "max_one_active_ref_layer_flag");
    1046 #endif
     1060  WRITE_FLAG(vps->getMaxOneActiveRefLayerFlag(), "max_one_active_ref_layer_flag");
    10471061#if O0062_POC_LSB_NOT_PRESENT_FLAG
    10481062  for(i = 1; i< vps->getMaxLayers(); i++)
     
    10611075#endif
    10621076#if VPS_DPB_SIZE_TABLE
    1063   for(i = 1; i < vps->getNumOutputLayerSets(); i++)
    1064   {
    1065     WRITE_FLAG( vps->getSubLayerFlagInfoPresentFlag( i ), "sub_layer_flag_info_present_flag[i]"); 
    1066     for(j = 0; j < vps->getMaxTLayers(); j++)
    1067     {
    1068       if( j > 0 && vps->getSubLayerFlagInfoPresentFlag(i) )
    1069       {
    1070         WRITE_FLAG( vps->getSubLayerDpbInfoPresentFlag( i, j), "sub_layer_dpb_info_present_flag[i]"); 
    1071       }
    1072       if( vps->getSubLayerDpbInfoPresentFlag(i, j) )
    1073       {
    1074         for(Int k = 0; k < vps->getNumSubDpbs(i); k++)
    1075         {
    1076           WRITE_UVLC( vps->getMaxVpsDecPicBufferingMinus1( i, k, j), "max_vps_dec_pic_buffering_minus1[i][k][j]" );
    1077         }
    1078         WRITE_UVLC( vps->getMaxVpsNumReorderPics( i, j), "max_vps_num_reorder_pics[i][j]" );             
    1079         WRITE_UVLC( vps->getMaxVpsLatencyIncreasePlus1( i, j), "max_vps_latency_increase_plus1[i][j]" );       
    1080       }
    1081     }
    1082   }
    1083 #endif
    1084 #if VPS_EXTN_DIRECT_REF_LAYERS && M0457_PREDICTION_INDICATIONS
     1077  codeVpsDpbSizeTable(vps);
     1078#endif
     1079#if VPS_EXTN_DIRECT_REF_LAYERS
    10851080  WRITE_UVLC( vps->getDirectDepTypeLen()-2,                           "direct_dep_type_len_minus2");
    10861081#if O0096_DEFAULT_DEPENDENCY_TYPE
     
    11261121#endif
    11271122
     1123#if P0307_VPS_NON_VUI_EXTENSION
     1124  WRITE_UVLC( vps->getVpsNonVuiExtLength(), "vps_non_vui_extension_length" );
     1125  if ( vps->getVpsNonVuiExtLength() > 0 )
     1126  {
     1127    printf("\n\nUp to the current spec, the value of vps_non_vui_extension_length is supposed to be 0\n");
     1128  }
     1129#endif
     1130
    11281131#if !O0109_MOVE_VPS_VUI_FLAG
    11291132#if !VPS_VUI
     
    11461149#endif
    11471150#else
     1151#if P0307_REMOVE_VPS_VUI_OFFSET
     1152  WRITE_FLAG( 1,                     "vps_vui_present_flag" );
     1153  vps->setVpsVuiPresentFlag(true);
     1154#endif
    11481155  if(vps->getVpsVuiPresentFlag())   // Should be conditioned on the value of vps_vui_present_flag
    11491156  {
     
    11521159      WRITE_FLAG(1,                  "vps_vui_alignment_bit_equal_to_one");
    11531160    }
     1161#if !P0307_REMOVE_VPS_VUI_OFFSET
    11541162#if VPS_VUI_OFFSET
    11551163    Int vpsVuiOffsetValeInBits = this->m_pcBitIf->getNumberOfWrittenBits() - m_vpsVuiCounter + 16; // 2 bytes for NUH
    11561164    assert( vpsVuiOffsetValeInBits % 8 == 0 );
    11571165    vps->setVpsVuiOffset( vpsVuiOffsetValeInBits >> 3 );
     1166#endif
    11581167#endif
    11591168    codeVPSVUI(vps); 
     
    12041213}
    12051214#endif
     1215#if VPS_DPB_SIZE_TABLE
     1216Void TEncCavlc::codeVpsDpbSizeTable(TComVPS *vps)
     1217{
     1218  for(Int i = 1; i < vps->getNumOutputLayerSets(); i++)
     1219  {
     1220#if CHANGE_NUMSUBDPB_IDX
     1221    Int layerSetIdxForOutputLayerSet = vps->getOutputLayerSetIdx( i );
     1222#endif
     1223    WRITE_FLAG( vps->getSubLayerFlagInfoPresentFlag( i ), "sub_layer_flag_info_present_flag[i]"); 
     1224    for(Int j = 0; j < vps->getMaxTLayers(); j++)
     1225    {
     1226      if( j > 0 && vps->getSubLayerFlagInfoPresentFlag(i) )
     1227      {
     1228        WRITE_FLAG( vps->getSubLayerDpbInfoPresentFlag( i, j), "sub_layer_dpb_info_present_flag[i]"); 
     1229      }
     1230      if( vps->getSubLayerDpbInfoPresentFlag(i, j) )
     1231      {
     1232#if CHANGE_NUMSUBDPB_IDX
     1233        for(Int k = 0; k < vps->getNumSubDpbs(layerSetIdxForOutputLayerSet); k++)
     1234#else
     1235        for(Int k = 0; k < vps->getNumSubDpbs(i); k++)
     1236#endif
     1237        {
     1238          WRITE_UVLC( vps->getMaxVpsDecPicBufferingMinus1( i, k, j), "max_vps_dec_pic_buffering_minus1[i][k][j]" );
     1239        }
     1240        WRITE_UVLC( vps->getMaxVpsNumReorderPics( i, j), "max_vps_num_reorder_pics[i][j]" );             
     1241#if RESOLUTION_BASED_DPB
     1242        if( vps->getNumSubDpbs(layerSetIdxForOutputLayerSet) != vps->getNumLayersInIdList( layerSetIdxForOutputLayerSet ) )  // NumSubDpbs
     1243        {
     1244          for(Int k = 0; k < vps->getNumLayersInIdList( layerSetIdxForOutputLayerSet ); k++)
     1245          {
     1246            WRITE_UVLC( vps->getMaxVpsLayerDecPicBuffMinus1( i, k, j), "max_vps_layer_dec_pic_buff_minus1[i][k][j]" );
     1247          }
     1248        }
     1249#endif
     1250        WRITE_UVLC( vps->getMaxVpsLatencyIncreasePlus1( i, j), "max_vps_latency_increase_plus1[i][j]" );       
     1251      }
     1252    }
     1253  }
     1254}
     1255#endif
    12061256#if VPS_VUI
    12071257Void TEncCavlc::codeVPSVUI (TComVPS *vps)
     
    12511301  }
    12521302#endif
     1303#if VPS_VUI_VIDEO_SIGNAL_MOVE
     1304  WRITE_FLAG( vps->getVideoSigPresentVpsFlag(), "video_signal_info_idx_present_flag" );
     1305  if (vps->getVideoSigPresentVpsFlag())
     1306  {
     1307    WRITE_CODE(vps->getNumVideoSignalInfo()-1, 4, "vps_num_video_signal_info_minus1" );
     1308  }
     1309
     1310  for(i = 0; i < vps->getNumVideoSignalInfo(); i++)
     1311  {
     1312    WRITE_CODE(vps->getVideoVPSFormat(i), 3, "video_vps_format" );
     1313    WRITE_FLAG(vps->getVideoFullRangeVpsFlag(i), "video_full_range_vps_flag" );
     1314    WRITE_CODE(vps->getColorPrimaries(i), 8, "color_primaries_vps" );
     1315    WRITE_CODE(vps->getTransCharacter(i), 8, "transfer_characteristics_vps" );
     1316    WRITE_CODE(vps->getMaxtrixCoeff(i), 8, "matrix_coeffs_vps" );
     1317  }
     1318
     1319  if (vps->getVideoSigPresentVpsFlag() && vps->getNumVideoSignalInfo() > 1 )
     1320  {
     1321    for (i=1; i < vps->getMaxLayers(); i++)
     1322      WRITE_CODE(vps->getVideoSignalInfoIdx(i), 4, "vps_video_signal_info_idx" );
     1323  }
     1324#endif
    12531325#if VPS_VUI_TILES_NOT_IN_USE__FLAG
    12541326  UInt layerIdx;
     
    13041376#endif
    13051377#if N0160_VUI_EXT_ILP_REF
    1306   WRITE_FLAG( vps->getNumIlpRestrictedRefLayers() ? 1 : 0 , "num_ilp_restricted_ref_layers" );   
    1307   if( vps->getNumIlpRestrictedRefLayers())
     1378  WRITE_FLAG( vps->getIlpRestrictedRefLayersFlag() ? 1 : 0 , "ilp_restricted_ref_layers_flag" );   
     1379  if( vps->getIlpRestrictedRefLayersFlag())
    13081380  {
    13091381    for(i = 1; i < vps->getMaxLayers(); i++)
     
    13271399#endif
    13281400#if VPS_VUI_VIDEO_SIGNAL
     1401#if VPS_VUI_VIDEO_SIGNAL_MOVE
     1402#else
    13291403    WRITE_FLAG( vps->getVideoSigPresentVpsFlag(), "video_signal_info_idx_present_flag" );
    13301404    if (vps->getVideoSigPresentVpsFlag())
     
    13471421            WRITE_CODE(vps->getVideoSignalInfoIdx(i), 4, "vps_video_signal_info_idx" );
    13481422    }
     1423#endif
    13491424#endif
    13501425}
     
    16111686    }
    16121687
    1613 #if JCTVC_M0458_INTERLAYER_RPS_SIG
     1688#if SVC_EXTENSION
    16141689#if ILP_SSH_SIG
    16151690#if ILP_SSH_SIG_FIX
     
    16501725      }
    16511726    }     
    1652 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG
    1653     if( pcSlice->getNumSamplePredRefLayers() > 0 && pcSlice->getActiveNumILRRefIdx() > 0 )
    1654     {
    1655       WRITE_FLAG( pcSlice->getInterLayerSamplePredOnlyFlag(), "inter_layer_sample_pred_only_flag" );
    1656     }
    1657 #endif
    1658 #endif
     1727#endif //SVC_EXTENSION
    16591728
    16601729    if(pcSlice->getSPS()->getUseSAO())
     
    17721841    if ( pcSlice->getEnableTMVPFlag() )
    17731842    {
    1774 #if SVC_EXTENSION && M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
    1775       if ( !pcSlice->getIdrPicFlag() && pcSlice->getLayerId() > 0 && pcSlice->getActiveNumILRRefIdx() > 0 && pcSlice->getNumMotionPredRefLayers() > 0 )
    1776       {
    1777         WRITE_FLAG( pcSlice->getAltColIndicationFlag() ? 1 : 0, "alt_collocated_indication_flag" );
    1778         if (pcSlice->getAltColIndicationFlag() && pcSlice->getNumMotionPredRefLayers() > 1)
    1779         {
    1780           WRITE_UVLC(0, "collocated_ref_layer_idx");
    1781         }
    1782       }
    1783       else
    1784       {
    1785 #endif
    17861843      if ( pcSlice->getSliceType() == B_SLICE )
    17871844      {
     
    17951852        WRITE_UVLC( pcSlice->getColRefIdx(), "collocated_ref_idx" );
    17961853      }
    1797 #if SVC_EXTENSION && M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
    1798       }
    1799 #endif
    18001854    }
    18011855    if ( (pcSlice->getPPS()->getUseWP() && pcSlice->getSliceType()==P_SLICE) || (pcSlice->getPPS()->getWPBiPred() && pcSlice->getSliceType()==B_SLICE) )
  • trunk/source/Lib/TLibEncoder/TEncCavlc.h

    r547 r588  
    6868  TComSlice*    m_pcSlice;
    6969  UInt          m_uiCoeffCost;
     70#if !P0307_REMOVE_VPS_VUI_OFFSET
    7071#if VPS_VUI_OFFSET
    7172  Int m_vpsVuiCounter;
     73#endif
    7274#endif
    7375  Void codeShortTermRefPicSet              ( TComSPS* pcSPS, TComReferencePictureSet* pcRPS, Bool calledFromSliceHeader, Int idx );
     
    9597#if REPN_FORMAT_IN_VPS
    9698  Void  codeRepFormat           ( RepFormat *repFormat );
     99#endif
     100#if VPS_DPB_SIZE_TABLE
     101  Void  codeVpsDpbSizeTable      (TComVPS *vps);
    97102#endif
    98103  Void  codeVUI                 ( TComVUI *pcVUI, TComSPS* pcSPS );
  • trunk/source/Lib/TLibEncoder/TEncCfg.h

    r540 r588  
    168168  Int       m_numActiveRefLayers;
    169169  Int       m_predLayerId[MAX_VPS_LAYER_ID_PLUS1];
    170 #if M0457_PREDICTION_INDICATIONS
    171170  Int       m_numSamplePredRefLayers;
    172171  Int       m_samplePredRefLayerId[MAX_VPS_LAYER_ID_PLUS1];
     
    175174  Bool      m_samplePredEnabledFlag[MAX_VPS_LAYER_ID_PLUS1];
    176175  Bool      m_motionPredEnabledFlag[MAX_VPS_LAYER_ID_PLUS1];
    177 #endif
    178176#endif
    179177#if N0120_MAX_TID_REF_CFG
     
    307305  Int       m_gradualDecodingRefreshInfoEnabled;
    308306  Int       m_decodingUnitInfoSEIEnabled;
    309 #if M0043_LAYERS_PRESENT_SEI
    310   Int       m_layersPresentSEIEnabled;
     307#if LAYERS_NOT_PRESENT_SEI
     308  Int       m_layersNotPresentSEIEnabled;
    311309#endif
    312310  Int       m_SOPDescriptionSEIEnabled;
     
    452450  Void      setPredLayerId                  (Int i, Int refLayerId)         { m_predLayerId[i] = refLayerId;    }
    453451
    454 #if M0457_PREDICTION_INDICATIONS
    455452  Int       getNumSamplePredRefLayers       ()                              { return m_numSamplePredRefLayers;  }
    456453  Void      setNumSamplePredRefLayers       (Int num)                       { m_numSamplePredRefLayers = num;   }
     
    470467  Bool      getMotionPredEnabledFlag        (Int i)                         { return m_motionPredEnabledFlag[i];  }
    471468  Void      setMotionPredEnabledFlag        (Int i,Bool flag)               { m_motionPredEnabledFlag[i] = flag;  }
    472 #endif
    473469#endif
    474470#if N0120_MAX_TID_REF_CFG
     
    752748  Void  setDecodingUnitInfoSEIEnabled(Int b)                { m_decodingUnitInfoSEIEnabled = b;    }
    753749  Int   getDecodingUnitInfoSEIEnabled()                     { return m_decodingUnitInfoSEIEnabled; }
    754 #if M0043_LAYERS_PRESENT_SEI
    755   Void  setLayersPresentSEIEnabled(Int b)                { m_layersPresentSEIEnabled = b; }
    756   Int   getLayersPresentSEIEnabled()                     { return m_layersPresentSEIEnabled; }
     750#if LAYERS_NOT_PRESENT_SEI
     751  Void  setLayersNotPresentSEIEnabled(Int b)             { m_layersNotPresentSEIEnabled = b; }
     752  Int   getLayersNotPresentSEIEnabled()                  { return m_layersNotPresentSEIEnabled; }
    757753#endif
    758754  Void  setSOPDescriptionSEIEnabled(Int b)                { m_SOPDescriptionSEIEnabled = b; }
  • trunk/source/Lib/TLibEncoder/TEncCu.cpp

    r540 r588  
    462462        testInter = false;
    463463      }
    464 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG
    465       if( pcSlice->getInterLayerSamplePredOnlyFlag() )
    466       {
    467         testInter = false;
    468       }
    469 #endif
    470464    }
    471465#endif
  • trunk/source/Lib/TLibEncoder/TEncGOP.cpp

    r547 r588  
    167167}
    168168
    169 #if M0043_LAYERS_PRESENT_SEI
    170 SEILayersPresent* TEncGOP::xCreateSEILayersPresent ()
     169#if LAYERS_NOT_PRESENT_SEI
     170SEILayersNotPresent* TEncGOP::xCreateSEILayersNotPresent ()
    171171{
    172172  UInt i = 0;
    173   SEILayersPresent *seiLayersPresent = new SEILayersPresent();
    174   seiLayersPresent->m_activeVpsId = m_pcCfg->getVPS()->getVPSId();
    175   seiLayersPresent->m_vpsMaxLayers = m_pcCfg->getVPS()->getMaxLayers();
    176   for ( ; i < seiLayersPresent->m_vpsMaxLayers; i++)
    177   {
    178     seiLayersPresent->m_layerPresentFlag[i] = true;
     173  SEILayersNotPresent *seiLayersNotPresent = new SEILayersNotPresent();
     174  seiLayersNotPresent->m_activeVpsId = m_pcCfg->getVPS()->getVPSId();
     175  seiLayersNotPresent->m_vpsMaxLayers = m_pcCfg->getVPS()->getMaxLayers();
     176  for ( ; i < seiLayersNotPresent->m_vpsMaxLayers; i++)
     177  {
     178    seiLayersNotPresent->m_layerNotPresentFlag[i] = true;
    179179  }
    180180  for ( ; i < MAX_LAYERS; i++)
    181181  {
    182     seiLayersPresent->m_layerPresentFlag[i] = false;
    183   }
    184   return seiLayersPresent;
     182    seiLayersNotPresent->m_layerNotPresentFlag[i] = false;
     183  }
     184  return seiLayersNotPresent;
    185185}
    186186#endif
     
    363363  }
    364364
    365 #if M0043_LAYERS_PRESENT_SEI
    366   if(m_pcCfg->getLayersPresentSEIEnabled())
    367   {
    368     SEILayersPresent *sei = xCreateSEILayersPresent ();
     365#if LAYERS_NOT_PRESENT_SEI
     366  if(m_pcCfg->getLayersNotPresentSEIEnabled())
     367  {
     368    SEILayersNotPresent *sei = xCreateSEILayersNotPresent ();
    369369    m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream);
    370370    m_seiWriter.writeSEImessage(nalu.m_Bitstream, *sei, sps);
     
    690690      pcSlice->setActiveNumILRRefIdx(0);
    691691      pcSlice->setInterLayerPredEnabledFlag(false);
    692 #if M0457_COL_PICTURE_SIGNALING
    693692      pcSlice->setMFMEnabledFlag(false);
    694 #if !REMOVE_COL_PICTURE_SIGNALING
    695       pcSlice->setAltColIndicationFlag(false);
    696 #endif
    697 #endif
    698     }
    699 #endif
    700 
    701 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG
    702     pcSlice->setNumSamplePredRefLayers( m_pcEncTop->getNumSamplePredRefLayers() );
    703     pcSlice->setInterLayerSamplePredOnlyFlag( 0 );
    704     if( pcSlice->getNumSamplePredRefLayers() > 0 && pcSlice->getActiveNumILRRefIdx() > 0 )
    705     {
    706       if( m_pcEncTop->getIlSampleOnlyPred() > 0 )
    707       {
    708         pcSlice->setInterLayerSamplePredOnlyFlag( true );
    709       }
    710693    }
    711694#endif
     
    11591142    if( m_layerId > 0 && pcSlice->getActiveNumILRRefIdx() )
    11601143    {
    1161 #if RESTR_CHK
    11621144#if POC_RESET_FLAG
    11631145      if ( pocCurr > 0          && pcSlice->isRADL() && pcPic->getSlice(0)->getBaseColPic(pcPic->getSlice(0)->getInterLayerPredLayerIdc(0))->getSlice(0)->isRASL())
     
    11661148#endif
    11671149      {
    1168 #if JCTVC_M0458_INTERLAYER_RPS_SIG
    11691150        pcSlice->setActiveNumILRRefIdx(0);
    11701151        pcSlice->setInterLayerPredEnabledFlag(0);
    1171 #else
    1172         pcSlice->setNumILRRefIdx(0);
    1173 #endif
    1174       }
    1175 #endif
    1176 #if JCTVC_M0458_INTERLAYER_RPS_SIG
     1152      }
    11771153      if( pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA )
    11781154      {
     
    11851161        pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumRefIdx(REF_PIC_LIST_1)+pcSlice->getActiveNumILRRefIdx());
    11861162      }
    1187 #else
    1188       if( pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA )
    1189       {
    1190         pcSlice->setNumRefIdx(REF_PIC_LIST_0, pcSlice->getNumILRRefIdx());
    1191         pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumILRRefIdx());
    1192       }
    1193       else
    1194       {
    1195         pcSlice->setNumRefIdx(REF_PIC_LIST_0, pcSlice->getNumRefIdx(REF_PIC_LIST_0)+pcSlice->getNumILRRefIdx());
    1196         pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumRefIdx(REF_PIC_LIST_1)+pcSlice->getNumILRRefIdx());
    1197       }
    1198 #endif
    11991163    }
    12001164#endif //SVC_EXTENSION
     
    12051169
    12061170#if SVC_EXTENSION
    1207 #if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
    1208     if ( pcSlice->getSliceType() == B_SLICE && !(pcSlice->getActiveNumILRRefIdx() > 0 && m_pcEncTop->getNumMotionPredRefLayers() > 0) )
    1209 #else
    12101171    if( pcSlice->getSliceType() == B_SLICE )
    1211 #endif
    12121172    {
    12131173      pcSlice->setColFromL0Flag(1-uiColDir);
     
    12241184      pcSlice->setILRPic( m_pcEncTop->getIlpList() );
    12251185#if REF_IDX_MFM
    1226 #if M0457_COL_PICTURE_SIGNALING
    12271186      if( pcSlice->getMFMEnabledFlag() )
    1228 #else
    1229       if( pcSlice->getSPS()->getMFMEnabledFlag() )
    1230 #endif
    12311187      {
    12321188        pcSlice->setRefPOCListILP(m_pcEncTop->getIlpList(), pcSlice->getBaseColPic());
    1233 #if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
    1234         pcSlice->setMotionPredIlp(getMotionPredIlp(pcSlice));
    1235 #endif
    12361189      }
    12371190#else
     
    12431196
    12441197#if REF_IDX_MFM
    1245 #if M0457_COL_PICTURE_SIGNALING
    1246 #if REMOVE_COL_PICTURE_SIGNALING
    12471198      if( pcSlice->getMFMEnabledFlag() )
    1248 #else
    1249       if( pcSlice->getMFMEnabledFlag() && !(pcSlice->getActiveNumILRRefIdx() > 0 && m_pcEncTop->getNumMotionPredRefLayers() > 0) )
    1250 #endif
    1251 #else
    1252       if( pcSlice->getSPS()->getMFMEnabledFlag() )
    1253 #endif
    12541199      {
    12551200        Bool found         = false;
     
    13081253    }
    13091254
    1310 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG
    1311     if (pcSlice->getSliceType() == B_SLICE && m_pcEncTop->getIlSampleOnlyPred() == 0)
    1312 #else
    13131255    if (pcSlice->getSliceType() == B_SLICE)
    1314 #endif
    13151256    {
    13161257#if !SVC_EXTENSION
     
    16171558#if O0194_WEIGHTED_PREDICTION_CGS
    16181559      // Calculate for the base layer to be used in EL as Inter layer reference
    1619       m_pcSliceEncoder->estimateILWpParam( pcSlice );
     1560      if( m_pcEncTop->getInterLayerWeightedPredFlag() )
     1561      {
     1562        m_pcSliceEncoder->estimateILWpParam( pcSlice );
     1563      }
    16201564#endif
    16211565#if AVC_SYNTAX
     
    17561700      // The following code also calculates the VPS VUI offset
    17571701#endif
     1702#if !P0125_REVERT_VPS_EXTN_OFFSET_TO_RESERVED
    17581703#if VPS_EXTN_OFFSET_CALC
    17591704      OutputNALUnit tempNalu(NAL_UNIT_VPS, 0, 0        ); // The value of nuh_layer_id of VPS NAL unit shall be equal to 0.
    17601705      m_pcEntropyCoder->setBitstream(&tempNalu.m_Bitstream);
    17611706      m_pcEntropyCoder->encodeVPS(m_pcEncTop->getVPS());  // Use to calculate the VPS extension offset
     1707#endif
    17621708#endif
    17631709      m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream);
     
    20682014            startCUAddrSliceSegmentIdx++;
    20692015          }
    2070 #if SVC_EXTENSION && M0457_COL_PICTURE_SIGNALING
     2016#if SVC_EXTENSION
    20712017          pcSlice->setNumMotionPredRefLayers(m_pcEncTop->getNumMotionPredRefLayers());
    20722018#endif
     
    31113057
    31123058#if SVC_EXTENSION
    3113 #if ADAPTIVE_QP_SELECTION
    3114   printf("POC %4d LId: %1d TId: %1d ( %c-SLICE, nQP %d QP %d ) %10d bits",
     3059#if ADAPTIVE_QP_SELECTION 
     3060  printf("POC %4d LId: %1d TId: %1d ( %c-SLICE %s, nQP %d QP %d ) %10d bits",
    31153061         pcSlice->getPOC(),
    31163062         pcSlice->getLayerId(),
    31173063         pcSlice->getTLayer(),
    31183064         c,
     3065         NaluToStr( pcSlice->getNalUnitType() ).data(),
    31193066         pcSlice->getSliceQpBase(),
    31203067         pcSlice->getSliceQp(),
    31213068         uibits );
    31223069#else
    3123   printf("POC %4d LId: %1d TId: %1d ( %c-SLICE, QP %d ) %10d bits",
     3070  printf("POC %4d LId: %1d TId: %1d ( %c-SLICE %s, QP %d ) %10d bits",
    31243071         pcSlice->getPOC()-pcSlice->getLastIDR(),
    31253072         pcSlice->getLayerId(),
    31263073         pcSlice->getTLayer(),
    31273074         c,
     3075         NaluToStr( pcSlice->getNalUnitType() ).data().
    31283076         pcSlice->getSliceQp(),
    31293077         uibits );
     
    37503698  free(rowSAD);
    37513699}
    3752 
    3753 #if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
    3754 TComPic* TEncGOP::getMotionPredIlp(TComSlice* pcSlice)
    3755 {
    3756   TComPic* ilpPic = NULL;
    3757   Int activeMotionPredReflayerIdx = 0;
    3758 
    3759   for( Int i = 0; i < pcSlice->getActiveNumILRRefIdx(); i++ )
    3760   {
    3761     UInt refLayerIdc = pcSlice->getInterLayerPredLayerIdc(i);
    3762     if( m_pcEncTop->getMotionPredEnabledFlag( pcSlice->getVPS()->getRefLayerId( m_layerId, refLayerIdc ) ) )
    3763     {
    3764       if (activeMotionPredReflayerIdx == pcSlice->getColRefLayerIdx())
    3765       {
    3766         ilpPic = m_pcEncTop->getIlpList()[refLayerIdc];
    3767         break;
    3768       }
    3769       else
    3770       {
    3771         activeMotionPredReflayerIdx++;
    3772       }
    3773     }
    3774   }
    3775 
    3776   assert(ilpPic != NULL);
    3777 
    3778   return ilpPic;
    3779 }
    3780 #endif
    3781 
    37823700//! \}
  • trunk/source/Lib/TLibEncoder/TEncGOP.h

    r442 r588  
    181181
    182182  SEIActiveParameterSets* xCreateSEIActiveParameterSets (TComSPS *sps);
    183 #if M0043_LAYERS_PRESENT_SEI
    184   SEILayersPresent*       xCreateSEILayersPresent ();
     183#if LAYERS_NOT_PRESENT_SEI
     184  SEILayersNotPresent*    xCreateSEILayersNotPresent ();
    185185#endif
    186186  SEIFramePacking*        xCreateSEIFramePacking();
     
    210210#endif
    211211  Void dblMetric( TComPic* pcPic, UInt uiNumSlices );
    212 #if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING
    213   TComPic* getMotionPredIlp(TComSlice* pcSlice);
    214 #endif
    215212};// END CLASS DEFINITION TEncGOP
    216213
  • trunk/source/Lib/TLibEncoder/TEncSlice.cpp

    r540 r588  
    523523  if( layerId > 0 )
    524524  {
    525 #if JCTVC_M0458_INTERLAYER_RPS_SIG
    526525    if( rpcSlice->getNumILRRefIdx() > 0 )
    527526    {
     
    533532      rpcSlice->setInterLayerPredEnabledFlag(1);
    534533    }
    535 #else
    536     rpcSlice->setNumILRRefIdx( rpcSlice->getVPS()->getNumDirectRefLayers( layerId ) );
    537 #endif
    538 #if M0457_COL_PICTURE_SIGNALING
    539534    rpcSlice->setMFMEnabledFlag(m_ppcTEncTop[layerId]->getMFMEnabledFlag());
    540 #if !REMOVE_COL_PICTURE_SIGNALING
    541     rpcSlice->setAltColIndicationFlag(rpcSlice->getMFMEnabledFlag());
    542 #endif
    543 #endif
    544535  }
    545536
     
    820811  }
    821812#if O0194_WEIGHTED_PREDICTION_CGS
    822   else
     813  else if( m_ppcTEncTop[pcSlice->getLayerId()]->getInterLayerWeightedPredFlag() )
    823814  {
    824815    // Calculate for the base layer to be used in EL as Inter layer reference
  • trunk/source/Lib/TLibEncoder/TEncTop.cpp

    r540 r588  
    934934#if SVC_EXTENSION
    935935  m_cSPS.setLayerId(m_layerId);
    936 #if REF_IDX_MFM
    937 #if !M0457_COL_PICTURE_SIGNALING
    938   m_cSPS.setMFMEnabledFlag(m_bMFMEnabledFlag);
    939 #endif
    940 #endif
    941936  m_cSPS.setNumScaledRefLayerOffsets(m_numScaledRefLayerOffsets);
    942937  for(Int i = 0; i < m_cSPS.getNumScaledRefLayerOffsets(); i++)
     
    16321627    if (m_cIlpPic[0] == NULL)
    16331628    {
    1634       for (Int j=0; j < MAX_LAYERS /*MAX_NUM_REF*/; j++) // consider to set to NumDirectRefLayers[LayerIdInVps[nuh_layer_id]]
     1629      for (Int j=0; j < m_numLayer; j++) // consider to set to NumDirectRefLayers[LayerIdInVps[nuh_layer_id]]
    16351630      {
    16361631        m_cIlpPic[j] = new  TComPic;
     
    16991694    if (m_cIlpPic[0] == NULL)
    17001695    {
    1701       for (Int j=0; j < MAX_LAYERS /*MAX_NUM_REF*/; j++) // consider to set to NumDirectRefLayers[LayerIdInVps[nuh_layer_id]]
     1696      for (Int j=0; j < m_numDirectRefLayers; j++)
    17021697      {
    17031698        m_cIlpPic[j] = new  TComPic;
  • trunk/source/Lib/TLibEncoder/TEncTop.h

    r540 r588  
    137137  Bool                    m_bMFMEnabledFlag;
    138138#endif
    139 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG
    140   Int                     m_ilSampleOnlyPred;
    141 #endif
    142139  UInt                    m_numScaledRefLayerOffsets;
    143140#if O0098_SCALED_REF_LAYER_ID
     
    153150  Bool                    m_firstPicInLayerDecodedFlag;
    154151  Bool                    m_noOutputOfPriorPicsFlags;
     152#endif
     153#if O0194_WEIGHTED_PREDICTION_CGS
     154  Bool                    m_interLayerWeightedPredFlag;
    155155#endif
    156156#endif //SVC_EXTENSION
     
    237237  Bool      getMFMEnabledFlag()                   {return m_bMFMEnabledFlag;}   
    238238#endif
    239 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG
    240   Void      setIlSampleOnlyPred( Int i )          { m_ilSampleOnlyPred = i;    }
    241   Int       getIlSampleOnlyPred()                 { return m_ilSampleOnlyPred; }
     239#if O0194_WEIGHTED_PREDICTION_CGS
     240  Void      setInterLayerWeightedPredFlag(Bool flag)   { m_interLayerWeightedPredFlag = flag; }
     241  Bool      getInterLayerWeightedPredFlag()            { return m_interLayerWeightedPredFlag; }
    242242#endif
    243243#if AVC_SYNTAX
Note: See TracChangeset for help on using the changeset viewer.