Changeset 583 in SHVCSoftware for branches/SHM-5.0-dev/source/Lib/TLibEncoder


Ignore:
Timestamp:
1 Feb 2014, 00:19:46 (11 years ago)
Author:
qualcomm
Message:

JCTVC-P0204: Support for sub-bitstream property SEI message (MACRO: SUB_BITSTREAM_PROPERTY_SEI)

From: Adarsh K. Ramasubramonian <aramasub@…>

Location:
branches/SHM-5.0-dev/source/Lib/TLibEncoder
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-5.0-dev/source/Lib/TLibEncoder/SEIwrite.cpp

    r567 r583  
    100100    break;
    101101#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;
     106#endif
    102107  case SEI::SCALABLE_NESTING:
    103108    fprintf( g_hTrace, "=========== Scalable Nesting SEI message ===========\n");
     
    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:
     
    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{
  • branches/SHM-5.0-dev/source/Lib/TLibEncoder/SEIwrite.h

    r567 r583  
    7171  Void xWriteSEIInterLayerConstrainedTileSets(const SEIInterLayerConstrainedTileSets& sei);
    7272#endif
     73#if SUB_BITSTREAM_PROPERTY_SEI
     74  Void xWriteSEISubBitstreamProperty(const SEISubBitstreamProperty &sei);
     75#endif
    7376  Void xWriteSEIScalableNesting(TComBitIf& bs, const SEIScalableNesting& sei, TComSPS *sps);
    7477  Void xWriteByteAlign();
Note: See TracChangeset for help on using the changeset viewer.