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


Ignore:
Timestamp:
17 Nov 2014, 17:09:25 (10 years ago)
Author:
seregin
Message:

in order to generate the metadata related to conformance bitstreams, patch was provided by Ramasubramonian, Adarsh Krishnan <aramasub@…>

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

Legend:

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

    r890 r924  
    4646#include "TDecTop.h"
    4747#endif
    48 
     48#include <algorithm>
    4949#include <time.h>
    5050
    5151extern Bool g_md5_mismatch; ///< top level flag to signal when there is a decode problem
    5252
     53#if CONFORMANCE_BITSTREAM_MODE
     54Bool pocCompareFunction( TComPic &pic1, TComPic &pic2 )
     55{
     56  return (pic1.getPOC() < pic2.getPOC());
     57}
     58#endif
    5359//! \ingroup TLibDecoder
    5460//! \{
     
    256262    calcAndPrintHashStatus(*rpcPic->getPicYuvRec(), hash);
    257263  }
     264#if CONFORMANCE_BITSTREAM_MODE
     265  if( this->getLayerDec(rpcPic->getLayerId())->getConfModeFlag() )
     266  {
     267    // Add this reconstructed picture to the parallel buffer.
     268    std::vector<TComPic> *thisLayerBuffer = (this->getLayerDec(rpcPic->getLayerId()))->getConfListPic();
     269    thisLayerBuffer->push_back(*rpcPic);
     270    std::sort( thisLayerBuffer->begin(), thisLayerBuffer->end(), pocCompareFunction );
     271  }
     272#endif
    258273#if Q0074_COLOUR_REMAPPING_SEI
    259274  if (m_colourRemapSEIEnabled)
  • branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.cpp

    r903 r924  
    123123  m_pocResettingFlag        = false;
    124124  m_pocDecrementedInDPBFlag = false;
     125#endif
     126#if CONFORMANCE_BITSTREAM_MODE
     127  m_confModeFlag = false;
    125128#endif
    126129}
     
    29742977  {
    29752978    // Check if the target decoded layer is the highest layer in the list
     2979#if 0
    29762980    assert( params->getTargetOutputLayerSetIdx() < vps->getNumLayerSets() );
     2981#endif
    29772982    Int layerSetIdx = vps->getOutputLayerSetIdx( params->getTargetOutputLayerSetIdx() );  // Index to the layer set
     2983#if 0
    29782984    assert( params->getTargetLayerId() == vps->getNumLayersInIdList( layerSetIdx ) - 1);
     2985#endif
    29792986
    29802987    Bool layerSetMatchFlag = true;
  • branches/SHM-dev/source/Lib/TLibDecoder/TDecTop.h

    r903 r924  
    167167                                           // When new VPS is activated, this should be re-initialized to -1
    168168#endif
     169#if CONFORMANCE_BITSTREAM_MODE
     170  Bool m_confModeFlag;
     171  std::vector<TComPic>   m_confListPic;         //  Dynamic buffer for storing pictures for conformance purposes
     172#endif
    169173public:
    170174#if POC_RESET_RESTRICTIONS
     
    295299  Void assignSubDpbs(TComVPS *vps);
    296300#endif
     301#if CONFORMANCE_BITSTREAM_MODE
     302  std::vector<TComPic>* getConfListPic() {return &m_confListPic; }
     303  // std::string const getDecodedYuvLayerFileName(Int layerId) { return m_decodedYuvLayerFileName[layerId]; }
     304#endif
    297305#endif //SVC_EXTENSION
    298306
     
    334342  Void resetPocRestrictionCheckParameters();
    335343#endif
     344  public:
     345#if CONFORMANCE_BITSTREAM_MODE
     346  Bool const getConfModeFlag() { return m_confModeFlag; }
     347  Void setConfModeFlag(Bool x) { m_confModeFlag = x; }
     348#endif
    336349};// END CLASS DEFINITION TDecTop
    337350
Note: See TracChangeset for help on using the changeset viewer.