Changeset 1415 in SHVCSoftware


Ignore:
Timestamp:
4 Aug 2015, 05:03:29 (9 years ago)
Author:
seregin
Message:

port rev 4575

Location:
branches/SHM-dev/source
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.cpp

    r1407 r1415  
    11881188  ("ConfWinTop",                                      m_confWinTop,                                         0, "Top offset for window conformance mode 3")
    11891189  ("ConfWinBottom",                                   m_confWinBottom,                                      0, "Bottom offset for window conformance mode 3")
     1190  ("AccessUnitDelimiter",                             m_AccessUnitDelimiter,                            false, "Enable Access Unit Delimiter NALUs")
    11901191  ("FrameRate,-fr",                                   m_iFrameRate,                                         0, "Frame rate")
    11911192#if Q0074_COLOUR_REMAPPING_SEI
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncCfg.h

    r1406 r1415  
    119119#if !SVC_EXTENSION
    120120  Int       m_aiPad[2];                                       ///< number of padded pixels for width and height
    121 #endif 
     121#endif
     122  Bool      m_AccessUnitDelimiter;                            ///< add Access Unit Delimiter NAL units
    122123  InputColourSpaceConversion m_inputColourSpaceConvert;       ///< colour space conversion to apply to input video
    123124  Bool      m_snrInternalColourSpace;                       ///< if true, then no colour space conversion is applied for snr calculation, otherwise inverse of input is applied.
  • branches/SHM-dev/source/App/TAppEncoder/TAppEncTop.cpp

    r1406 r1415  
    543543
    544544  m_cTEncTop.setPad                                               ( m_aiPad );
     545
     546  m_cTEncTop.setAccessUnitDelimiter                               ( m_AccessUnitDelimiter );
    545547
    546548#if SVC_EXTENSION
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.cpp

    r1356 r1415  
    6767#endif
    6868
    69 
     69Void AUDWriter::codeAUD(TComBitIf& bs, const Int pictureType)
     70{
     71#if ENC_DEC_TRACE
     72  xTraceAccessUnitDelimiter();
     73#endif
     74
     75  assert (pictureType < 3);
     76  setBitstream(&bs);
     77  WRITE_CODE(pictureType, 3, "pic_type");
     78  xWriteRbspTrailingBits();
     79}
    7080
    7181// ====================================================================================================================
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCavlc.h

    r1307 r1415  
    6464// Class definition
    6565// ====================================================================================================================
     66
     67class AUDWriter : public SyntaxElementWriter
     68{
     69public:
     70  AUDWriter() {};
     71  virtual ~AUDWriter() {};
     72
     73  Void  codeAUD(TComBitIf& bs, const Int pictureType);
     74};
    6675
    6776/// CAVLC encoder class
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncCfg.h

    r1406 r1415  
    143143  Int       m_aiPad[2];
    144144
     145  Bool      m_AccessUnitDelimiter;               ///< add Access Unit Delimiter NAL units
    145146
    146147  Int       m_iMaxRefPicNum;                     ///< this is used to mimic the sliding mechanism used by the decoder
     
    622623
    623624  Int       getPad                          ( Int i )      { assert (i < 2 );                      return  m_aiPad[i]; }
     625
     626  Bool      getAccessUnitDelimiter() const  { return m_AccessUnitDelimiter; }
     627  Void      setAccessUnitDelimiter(Bool val){ m_AccessUnitDelimiter = val; }
    624628
    625629  //======== Transform =============
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.cpp

    r1400 r1415  
    4949#include <time.h>
    5050#include <math.h>
     51
    5152#include <deque>
     53using namespace std;
    5254
    5355#if SVC_EXTENSION
     
    5658#endif
    5759
    58 using namespace std;
    5960
    6061//! \ingroup TLibEncoder
     
    293294
    294295  return actualTotalBits;
     296}
     297
     298Void TEncGOP::xWriteAccessUnitDelimiter (AccessUnit &accessUnit, TComSlice *slice)
     299{
     300  AUDWriter audWriter;
     301  OutputNALUnit nalu(NAL_UNIT_ACCESS_UNIT_DELIMITER);
     302
     303  Int picType = slice->isIntra() ? 0 : (slice->isInterP() ? 1 : 2);
     304
     305  audWriter.codeAUD(nalu.m_Bitstream, picType);
     306  accessUnit.push_front(new NALUnitEBSP(nalu));
    295307}
    296308
     
    25762588#endif
    25772589
     2590    if (m_pcCfg->getAccessUnitDelimiter())
     2591    {
     2592      xWriteAccessUnitDelimiter(accessUnit, pcSlice);
     2593    }
     2594
    25782595    // reset presence of BP SEI indication
    25792596    m_bufferingPeriodSEIPresentInAU = false;
  • branches/SHM-dev/source/Lib/TLibEncoder/TEncGOP.h

    r1336 r1415  
    5555#include "SEIwrite.h"
    5656#include "SEIEncoder.h"
    57 #if CGS_3D_ASYMLUT
    58 #include "TEnc3DAsymLUT.h"
    59 #endif
    6057
    6158#include "TEncAnalyze.h"
    6259#include "TEncRateCtrl.h"
    6360#include <vector>
     61
     62#if CGS_3D_ASYMLUT
     63#include "TEnc3DAsymLUT.h"
     64#endif
    6465
    6566//! \ingroup TLibEncoder
     
    235236  Double xCalculateRVM();
    236237
     238  Void xWriteAccessUnitDelimiter (AccessUnit &accessUnit, TComSlice *slice);
     239
    237240  Void xCreateIRAPLeadingSEIMessages (SEIMessages& seiMessages, const TComSPS *sps, const TComPPS *pps);
    238241  Void xCreatePerPictureSEIMessages (Int picInGOP, SEIMessages& seiMessages, SEIMessages& nestedSeiMessages, TComSlice *slice);
Note: See TracChangeset for help on using the changeset viewer.