Changeset 46 in 3DVCSoftware for branches/0.3-poznan-univ/source


Ignore:
Timestamp:
29 Mar 2012, 09:41:45 (13 years ago)
Author:
poznan-univ
Message:

Added Ericsson Extraction Tool

Location:
branches/0.3-poznan-univ/source/Lib
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • branches/0.3-poznan-univ/source/Lib/TLibCommon/TComBitStream.cpp

    r5 r46  
    6161  m_auiSliceByteLocation = NULL;
    6262  m_uiSliceCount         = 0;
     63#if BITSTREAM_EXTRACTION
     64  m_apulPacketPayloadBuffer = new UInt[uiSize];
     65  m_uiPacketPayloadSize = 0;
     66#endif 
    6367}
    6468
     
    6670{
    6771  delete [] m_apulStreamPacketBegin;     m_apulStreamPacketBegin = NULL;
     72#if BITSTREAM_EXTRACTION
     73  delete [] m_apulPacketPayloadBuffer;   m_apulPacketPayloadBuffer = NULL;
     74#endif
    6875}
    6976
     
    148155  xReadNextWord();
    149156}
     157
     158#if BITSTREAM_EXTRACTION
     159UInt TComBitstream::reinitParsing()
     160{
     161  rewindStreamPacket();
     162  memcpy( m_apulStreamPacketBegin, m_apulPacketPayloadBuffer, m_uiPacketPayloadSize );
     163  initParsing( m_uiPacketPayloadSize );
     164  return m_uiPacketPayloadSize;
     165}
     166#endif
    150167
    151168#if LCEC_INTRA_MODE || QC_LCEC_INTER_MODE
     
    319336  UChar* pucWrite      = reinterpret_cast<UChar*> (getBuffer());
    320337 
     338#if BITSTREAM_EXTRACTION
     339  memcpy( m_apulPacketPayloadBuffer, m_apulStreamPacketBegin, uiBytesRead );
     340  m_uiPacketPayloadSize = uiBytesRead;
     341#endif
     342
    321343  for( ; uiReadOffset < uiBytesRead; uiReadOffset++ )
    322344  {
  • branches/0.3-poznan-univ/source/Lib/TLibCommon/TComBitStream.h

    r5 r46  
    8585  UInt        m_uiSliceProcessed;
    8686
     87#if BITSTREAM_EXTRACTION
     88  UInt*       m_apulPacketPayloadBuffer;
     89  UInt        m_uiPacketPayloadSize;
     90#endif 
     91
    8792  UInt xSwap ( UInt ui )
    8893  {
     
    164169
    165170  void insertAt(const TComBitstream& src, unsigned pos);
     171
     172#if BITSTREAM_EXTRACTION
     173  UInt        reinitParsing();
     174#endif 
    166175};
    167176
  • branches/0.3-poznan-univ/source/Lib/TLibCommon/TComSlice.cpp

    r41 r46  
    6666  m_iViewIdx = 0 ;
    6767
     68#if BITSTREAM_EXTRACTION
     69  m_uiLayerId = 0;
     70#endif
     71
    6872#if SONY_COLPIC_AVAILABILITY
    6973  m_iViewOrderIdx = 0;
     
    669673#endif
    670674 
     675#if BITSTREAM_EXTRACTION
     676  m_uiLayerId             = 0;
     677#endif
    671678  m_uiViewId              = 0;
    672679  m_iViewOrderIdx         = 0;
     
    716723TComPPS::TComPPS()
    717724{
     725#if BITSTREAM_EXTRACTION
     726  m_uiLayerId             = 0;
     727#endif
    718728#if CONSTRAINED_INTRA_PRED
    719729  m_bConstrainedIntraPred = false;
  • branches/0.3-poznan-univ/source/Lib/TLibCommon/TComSlice.h

    r41 r46  
    8181  UInt        m_uiMaxTrDepth;
    8282
     83#if BITSTREAM_EXTRACTION
     84  UInt        m_uiLayerId;
     85#endif
    8386  UInt        m_uiViewId;
    8487  Int         m_iViewOrderIdx;
     
    370373  Bool getUseTexDqpAccordingToDepth    ()           {return m_bUseTexDqpAccordingToDepth;}
    371374#endif
     375#if BITSTREAM_EXTRACTION
     376  Void      setLayerId              ( UInt u ) { m_uiLayerId = u; }
     377  UInt      getLayerId              ()         { return m_uiLayerId; }
     378#endif
    372379};
    373380
     
    385392  UInt        m_uiPPSId;
    386393  UInt        m_uiSPSId;
     394#if BITSTREAM_EXTRACTION
     395  UInt        m_uiLayerId;
     396#endif
    387397
    388398public:
     
    405415  Void setUseWP                     ( Bool b )  { m_bUseWeightPred = b;       }
    406416  Void setWPBiPredIdc               ( UInt u )  { m_uiBiPredIdc = u;          }
     417#endif
     418
     419#if BITSTREAM_EXTRACTION
     420  Void      setLayerId              ( UInt u ) { m_uiLayerId = u; }
     421  UInt      getLayerId              ()         { return m_uiLayerId; }
    407422#endif
    408423};
     
    435450  UInt        m_uiPPSId;
    436451  Int         m_iPOC;
     452#if BITSTREAM_EXTRACTION
     453  UInt        m_uiLayerId;
     454#endif
    437455#if SONY_COLPIC_AVAILABILITY
    438456  Int         m_iViewOrderIdx;
     
    608626  Void      setLambda( Double d ) { m_dLambda = d; }
    609627  Double    getLambda() { return m_dLambda;        }
     628
     629#if BITSTREAM_EXTRACTION
     630  Void      setLayerId( UInt u )                        { m_uiLayerId = u; }
     631  UInt      getLayerId()                                { return m_uiLayerId; }
     632#endif
    610633
    611634  Void      setViewIdx(Int i)                           { m_iViewIdx = i; }
  • branches/0.3-poznan-univ/source/Lib/TLibCommon/TypeDef.h

    r41 r46  
    4040
    4141
     42#define BITSTREAM_EXTRACTION            1
     43
    4244#define FLEX_CODING_ORDER               1
    4345
  • branches/0.3-poznan-univ/source/Lib/TLibDecoder/TDecCAVLC.cpp

    r41 r46  
    8282// ====================================================================================================================
    8383
     84#if BITSTREAM_EXTRACTION
     85Void  TDecCavlc::parseNalUnitHeader ( NalUnitType& eNalUnitType, UInt& TemporalId, UInt& uiLayerId )
     86{
     87  UInt  uiCode;
     88
     89  xReadCode ( 1, uiCode ); assert( 0 == uiCode); // forbidden_zero_bit
     90  xReadCode ( 1, uiCode );                       // nal_ref_flag
     91  xReadCode ( 6, uiCode );                       // nal_unit_type
     92  eNalUnitType = (NalUnitType) uiCode;
     93
     94  xReadCode(3, uiCode); // temporal_id
     95  TemporalId = uiCode;
     96  xReadCode(5, uiCode); // layer_id_plus1
     97  assert( 1 <= uiCode );
     98  uiLayerId = uiCode - 1;
     99}
     100#else
    84101Void  TDecCavlc::parseNalUnitHeader ( NalUnitType& eNalUnitType, UInt& TemporalId, Bool& bOutputFlag )
    85102{
     
    105122  }
    106123}
     124#endif
    107125
    108126/**
  • branches/0.3-poznan-univ/source/Lib/TLibDecoder/TDecCAVLC.h

    r28 r46  
    182182#endif
    183183 
     184#if BITSTREAM_EXTRACTION
     185  Void  parseNalUnitHeader  ( NalUnitType& eNalUnitType, UInt& TemporalId, UInt& uiLayerId );
     186#else
    184187  Void  parseNalUnitHeader  ( NalUnitType& eNalUnitType, UInt& TemporalId, Bool& bOutputFlag );
     188#endif
     189
    185190 
    186191  Void  parseSPS            ( TComSPS* pcSPS );
  • branches/0.3-poznan-univ/source/Lib/TLibDecoder/TDecEntropy.h

    r5 r46  
    6767  virtual Void  setBitstream          ( TComBitstream* p )  = 0;
    6868
     69#if BITSTREAM_EXTRACTION
     70  virtual Void  parseNalUnitHeader    ( NalUnitType& eNalUnitType, UInt& TemporalId, UInt& uiLayerId )  = 0;
     71#else
    6972  virtual Void  parseNalUnitHeader    ( NalUnitType& eNalUnitType, UInt& TemporalId, Bool& bOutputFlag )  = 0;
     73#endif
    7074
    7175  virtual Void  parseSPS                  ( TComSPS* pcSPS )                                      = 0;
     
    147151  Void    resetEntropy                ( TComSlice* p)           { m_pcEntropyDecoderIf->resetEntropy(p);                    }
    148152
     153#if BITSTREAM_EXTRACTION
     154  Void    decodeNalUnitHeader         ( NalUnitType& eNalUnitType, UInt& TemporalId, UInt& uiLayerId )
     155                                                                { m_pcEntropyDecoderIf->parseNalUnitHeader( eNalUnitType, TemporalId, uiLayerId ); }
     156#else
    149157  Void    decodeNalUnitHeader         ( NalUnitType& eNalUnitType, UInt& TemporalId, Bool& bOutputFlag )
    150158                                                                { m_pcEntropyDecoderIf->parseNalUnitHeader(eNalUnitType, TemporalId, bOutputFlag ); }
    151 
     159#endif
    152160
    153161  Void    decodeSPS                   ( TComSPS* pcSPS     )    { m_pcEntropyDecoderIf->parseSPS(pcSPS);                    }
  • branches/0.3-poznan-univ/source/Lib/TLibDecoder/TDecSbac.h

    r28 r46  
    7575  Void  setMaxAlfCtrlDepth        ( UInt uiMaxAlfCtrlDepth ) { m_uiMaxAlfCtrlDepth = uiMaxAlfCtrlDepth; }
    7676 
     77#if BITSTREAM_EXTRACTION
     78  Void  parseNalUnitHeader    ( NalUnitType& eNalUnitType, UInt& TemporalId, UInt& uiLayerId ) {}
     79#else
    7780  Void  parseNalUnitHeader    ( NalUnitType& eNalUnitType, UInt& TemporalId, Bool& bOutputFlag ) {}
     81#endif
    7882 
    7983  Void  parseSPS                  ( TComSPS* pcSPS         ) {}
  • branches/0.3-poznan-univ/source/Lib/TLibDecoder/TDecTop.cpp

    r41 r46  
    709709  NalUnitType eNalUnitType;
    710710  UInt        TemporalId;
     711
     712#if BITSTREAM_EXTRACTION
     713  UInt        uiLayerId;
     714
     715  m_cEntropyDecoder.decodeNalUnitHeader(eNalUnitType, TemporalId, uiLayerId);
     716#else
    711717  Bool        OutputFlag;
    712718
    713719  m_cEntropyDecoder.decodeNalUnitHeader(eNalUnitType, TemporalId, OutputFlag);
     720#endif
     721
    714722  reNalUnitType = eNalUnitType;
    715723
Note: See TracChangeset for help on using the changeset viewer.