Changeset 862 in 3DVCSoftware for branches/HTM-10.0-dev0/source/App


Ignore:
Timestamp:
5 Mar 2014, 03:54:16 (11 years ago)
Author:
qualcomm
Message:

JCTVC-P0204: Sub-bitstream property SEI message (Macro: H_MV_HLS_7_SEI_P0204_26)

Includes signaling, and option to input parameters of the SEI message in the configuration file.

From: Adarsh K. Ramasubramonian <aramasub@…>

Location:
branches/HTM-10.0-dev0/source/App/TAppEncoder
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/HTM-10.0-dev0/source/App/TAppEncoder/TAppEncCfg.cpp

    r854 r862  
    737737  ("SEISOPDescription",              m_SOPDescriptionSEIEnabled,              0, "Control generation of SOP description SEI messages")
    738738  ("SEIScalableNesting",             m_scalableNestingSEIEnabled,              0, "Control generation of scalable nesting SEI messages")
     739#if H_MV_HLS_7_SEI_P0204_26
     740  ("SubBitstreamPropSEIEnabled",              m_subBistreamPropSEIEnabled,    false                     ,"Enable signaling of sub-bitstream property SEI message")
     741  ("SEISubBitstreamNumAdditionalSubStreams",  m_sbPropNumAdditionalSubStreams,0, "Number of substreams for which additional information is signalled")
     742  ("SEISubBitstreamSubBitstreamMode",         m_sbPropSubBitstreamMode,       std::vector< Int  >(1,0)  ,"Specifies mode of generation of the i-th sub-bitstream (0 or 1)")
     743  ("SEISubBitstreamOutputLayerSetIdxToVps",   m_sbPropOutputLayerSetIdxToVps, std::vector< Int  >(1,0)  ,"Specifies output layer set index of the i-th sub-bitstream ")
     744  ("SEISubBitstreamHighestSublayerId",        m_sbPropHighestSublayerId,      std::vector< Int  >(1,0)  ,"Specifies highest TemporalId of the i-th sub-bitstream")
     745  ("SEISubBitstreamAvgBitRate",               m_sbPropAvgBitRate,             std::vector< Int  >(1,0)  ,"Specifies average bit rate of the i-th sub-bitstream")
     746  ("SEISubBitstreamMaxBitRate",               m_sbPropMaxBitRate,             std::vector< Int  >(1,0)  ,"Specifies maximum bit rate of the i-th sub-bitstream")
     747#endif
    739748#if H_3D
    740749  ("CameraParameterFile,cpf", m_pchCameraParameterFile,    (Char *) 0, "Camera Parameter File Name")
     
    22442253  }
    22452254#endif
     2255#if H_MV_HLS_7_SEI_P0204_26
     2256  // Check input parameters for Sub-bitstream property SEI message
     2257  if( m_subBistreamPropSEIEnabled )
     2258  {
     2259    xConfirmPara(
     2260      (this->m_sbPropNumAdditionalSubStreams != m_sbPropAvgBitRate.size() )
     2261      || (this->m_sbPropNumAdditionalSubStreams != m_sbPropHighestSublayerId.size() )
     2262      || (this->m_sbPropNumAdditionalSubStreams != m_sbPropMaxBitRate.size() )
     2263      || (this->m_sbPropNumAdditionalSubStreams != m_sbPropOutputLayerSetIdxToVps.size() )
     2264      || (this->m_sbPropNumAdditionalSubStreams != m_sbPropSubBitstreamMode.size()), "Some parameters of some sub-bitstream not defined");
     2265
     2266    for( Int i = 0; i < m_sbPropNumAdditionalSubStreams; i++ )
     2267    {
     2268      xConfirmPara( m_sbPropSubBitstreamMode[i] < 0 || m_sbPropSubBitstreamMode[i] > 1, "Mode value should be 0 or 1" );
     2269      xConfirmPara( m_sbPropHighestSublayerId[i] < 0 || m_sbPropHighestSublayerId[i] > MAX_TLAYER-1, "Maximum sub-layer ID out of range" );
     2270      xConfirmPara( m_sbPropOutputLayerSetIdxToVps[i] < 0 || m_sbPropOutputLayerSetIdxToVps[i] >= MAX_VPS_OUTPUTLAYER_SETS, "OutputLayerSetIdxToVps should be within allowed range" );
     2271    }
     2272  }
     2273#endif
    22462274#undef xConfirmPara
    22472275  if (check_failed)
  • branches/HTM-10.0-dev0/source/App/TAppEncoder/TAppEncCfg.h

    r854 r862  
    440440  Int       m_log2MaxMvLengthHorizontal;                      ///< Indicate the maximum absolute value of a decoded horizontal MV component in quarter-pel luma units
    441441  Int       m_log2MaxMvLengthVertical;                        ///< Indicate the maximum absolute value of a decoded vertical MV component in quarter-pel luma units
    442 
     442#if H_MV_HLS_7_SEI_P0204_26
     443  Bool              m_subBistreamPropSEIEnabled;
     444  Int               m_sbPropNumAdditionalSubStreams;
     445  std::vector<Int>  m_sbPropSubBitstreamMode;
     446  std::vector<Int>  m_sbPropOutputLayerSetIdxToVps;
     447  std::vector<Int>  m_sbPropHighestSublayerId;
     448  std::vector<Int>  m_sbPropAvgBitRate;
     449  std::vector<Int>  m_sbPropMaxBitRate;
     450#endif
    443451#if H_3D
    444452  // Camera parameters
  • branches/HTM-10.0-dev0/source/App/TAppEncoder/TAppEncTop.cpp

    r854 r862  
    429429  m_cTEncTop.setSOPDescriptionSEIEnabled( m_SOPDescriptionSEIEnabled );
    430430  m_cTEncTop.setScalableNestingSEIEnabled( m_scalableNestingSEIEnabled );
     431#if H_MV_HLS_7_SEI_P0204_26
     432  m_cTEncTop.setSubBitstreamPropSEIEnabled( m_subBistreamPropSEIEnabled );
     433  if( m_subBistreamPropSEIEnabled )
     434  {
     435    m_cTEncTop.setNumAdditionalSubStreams ( m_sbPropNumAdditionalSubStreams );
     436    m_cTEncTop.setSubBitstreamMode        ( m_sbPropSubBitstreamMode );
     437    m_cTEncTop.setOutputLayerSetIdxToVps  ( m_sbPropOutputLayerSetIdxToVps );
     438    m_cTEncTop.setHighestSublayerId       ( m_sbPropHighestSublayerId );
     439    m_cTEncTop.setAvgBitRate              ( m_sbPropAvgBitRate );
     440    m_cTEncTop.setMaxBitRate              ( m_sbPropMaxBitRate );
     441  }
     442#endif
    431443  m_cTEncTop.setUniformSpacingIdr          ( m_iUniformSpacingIdr );
    432444  m_cTEncTop.setNumColumnsMinus1           ( m_iNumColumnsMinus1 );
Note: See TracChangeset for help on using the changeset viewer.