Changeset 616 in SHVCSoftware for branches/SHM-5.1-dev/source/Lib/TLibDecoder


Ignore:
Timestamp:
18 Feb 2014, 14:07:05 (12 years ago)
Author:
nokia
Message:

JCTVC-P0138: Implementation of use_alt_cpb_params_flag

Location:
branches/SHM-5.1-dev/source/Lib/TLibDecoder
Files:
2 edited

Legend:

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

    r595 r616  
    380380}
    381381
     382#if P0138_USE_ALT_CPB_PARAMS_FLAG
     383/**
     384 * Check if SEI message contains payload extension
     385 */
     386Bool SEIReader::xPayloadExtensionPresent()
     387{
     388  Int payloadBitsRemaining = getBitstream()->getNumBitsLeft();
     389  Bool payloadExtensionPresent = false;
     390
     391  if (payloadBitsRemaining > 8)
     392  {
     393    payloadExtensionPresent = true;
     394  }
     395  else
     396  {
     397    Int finalBits = getBitstream()->peekBits(payloadBitsRemaining);
     398    while (payloadBitsRemaining && (finalBits & 1) == 0)
     399    {
     400      payloadBitsRemaining--;
     401      finalBits >>= 1;
     402    }
     403    payloadBitsRemaining--;
     404    if (payloadBitsRemaining > 0)
     405    {
     406      payloadExtensionPresent = true;
     407    }
     408  }
     409
     410  return payloadExtensionPresent;
     411}
     412#endif
     413
    382414/**
    383415 * parse bitstream bs and unpack a user_data_unregistered SEI message
     
    536568    }
    537569  }
     570
     571#if P0138_USE_ALT_CPB_PARAMS_FLAG
     572  sei.m_useAltCpbParamsFlag = false;
     573  sei.m_useAltCpbParamsFlagPresent = false;
     574  if (xPayloadExtensionPresent())
     575  {
     576    READ_FLAG (code, "use_alt_cpb_params_flag");
     577    sei.m_useAltCpbParamsFlag = code;
     578    sei.m_useAltCpbParamsFlagPresent = true;
     579  }
     580#endif
     581
    538582  xParseByteAlign();
    539583}
  • branches/SHM-5.1-dev/source/Lib/TLibDecoder/SEIread.h

    r595 r616  
    6767  Void xReadSEImessage                (SEIMessages& seis, const NalUnitType nalUnitType, TComSPS *sps);
    6868#endif
     69#if P0138_USE_ALT_CPB_PARAMS_FLAG
     70  Bool xPayloadExtensionPresent       ();
     71#endif
    6972  Void xParseSEIuserDataUnregistered  (SEIuserDataUnregistered &sei, UInt payloadSize);
    7073  Void xParseSEIActiveParameterSets   (SEIActiveParameterSets  &sei, UInt payloadSize);
Note: See TracChangeset for help on using the changeset viewer.