Changeset 713 in SHVCSoftware for trunk/source/Lib/TLibDecoder/TDecTop.h


Ignore:
Timestamp:
21 Apr 2014, 04:44:16 (11 years ago)
Author:
seregin
Message:

merge with SHM-6-dev

Location:
trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk

  • trunk/source

  • trunk/source/Lib/TLibDecoder/TDecTop.h

    r644 r713  
    4545#include "TLibCommon/TComTrQuant.h"
    4646#include "TLibCommon/SEI.h"
     47#if Q0048_CGS_3D_ASYMLUT
     48#include "TLibCommon/TCom3DAsymLUT.h"
     49#endif
    4750
    4851#include "TDecGop.h"
     
    6164// ====================================================================================================================
    6265
     66#if Q0074_SEI_COLOR_MAPPING
     67class TDecColorMapping
     68{
     69  Int   m_colorMapId;
     70  Bool  m_colorMapCancelFlag;
     71  Bool  m_colorMapPersistenceFlag;
     72  Bool  m_colorMap_video_signal_type_present_flag;
     73  Bool  m_colorMap_video_full_range_flag;
     74  Int   m_colorMap_primaries;
     75  Int   m_colorMap_transfer_characteristics;
     76  Int   m_colorMap_matrix_coeffs;
     77  Int   m_colorMapModelId;
     78
     79  Int   m_colour_map_coded_data_bit_depth;
     80  Int   m_colour_map_target_bit_depth;
     81
     82  Int   m_num_input_pivots[3];
     83  Int*  m_coded_input_pivot_value[3];
     84  Int*  m_target_input_pivot_value[3];
     85 
     86  Bool  m_matrix_flag;
     87  Int   m_log2_matrix_denom;
     88  Int   m_matrix_coef[3][3];
     89
     90  Int   m_num_output_pivots[3];
     91  Int*  m_coded_output_pivot_value[3];
     92  Int*  m_target_output_pivot_value[3];
     93
     94  Bool  m_lut1d_computed[3];
     95  Int*  m_lut1d_input[3];
     96  Int*  m_lut1d_output[3];
     97  TComPicYuv* m_pcColorMappingPic[2];
     98
     99public:
     100  TDecColorMapping();
     101  ~TDecColorMapping();
     102
     103  Bool        getColorMappingFlag()                     { return(!m_colorMapCancelFlag);};
     104
     105  Void        setColorMapping( SEIMessages m_SEIs );
     106  Void        setColorMapping( Int bitDepthY, Int bitDepthC );
     107  TComPicYuv* getColorMapping( TComPicYuv* pPicYuvRec, Int iTop=0, Int curlayerId=0 );
     108};// END CLASS DEFINITION TDecColorMapping
     109#endif
     110
    63111/// decoder class
    64112class TDecTop
     
    79127  // functional classes
    80128  TComPrediction          m_cPrediction;
     129#if Q0048_CGS_3D_ASYMLUT
     130  TCom3DAsymLUT           m_c3DAsymLUTPPS;
     131  TComPicYuv*             m_pColorMappedPic;
     132#endif
    81133  TComTrQuant             m_cTrQuant;
    82134  TDecGop                 m_cGopDecoder;
     
    104156  Bool                    m_prevSliceSkipped;
    105157  Int                     m_skippedPOC;
     158#if SETTING_NO_OUT_PIC_PRIOR 
     159  Bool                    m_bFirstSliceInBitstream;
     160  Int                     m_lastPOCNoOutputPriorPics;
     161  Bool                    m_isNoOutputPriorPics;
     162  Bool                    m_craNoRaslOutputFlag;    //value of variable NoRaslOutputFlag of the last CRA pic
     163#endif
    106164
    107165#if SVC_EXTENSION
     
    114172#if AVC_BASE
    115173  fstream*                m_pBLReconFile;
     174#if !REPN_FORMAT_IN_VPS
    116175  Int                     m_iBLSourceWidth;
    117   Int                     m_iBLSourceHeight; 
     176  Int                     m_iBLSourceHeight;
     177#endif
    118178#endif
    119179#if VPS_EXTN_DIRECT_REF_LAYERS
     
    136196#endif
    137197
    138 #if NO_CLRAS_OUTPUT_FLAG
     198#if NO_CLRAS_OUTPUT_FLAG 
    139199  Bool                    m_noClrasOutputFlag;
    140200  Bool                    m_layerInitializedFlag;
    141201  Bool                    m_firstPicInLayerDecodedFlag;
    142   Bool                    m_noOutputOfPriorPicsFlags;
    143 
    144   Bool                   m_bRefreshPending;
    145202#endif
    146203#if RESOLUTION_BASED_DPB
    147   Int                    m_subDpbIdx;     // Index to the sub-DPB that the layer belongs to.
    148                                           // When new VPS is activated, this should be re-initialized to -1
     204  Int                     m_subDpbIdx;     // Index to the sub-DPB that the layer belongs to.
     205                                           // When new VPS is activated, this should be re-initialized to -1
    149206#endif
    150207public:
     208#if Q0074_SEI_COLOR_MAPPING
     209  TDecColorMapping* m_ColorMapping;
     210#endif
     211
    151212  TDecTop();
    152213  virtual ~TDecTop();
     
    166227  Void  deletePicBuffer();
    167228
     229 
     230  TComSPS* getActiveSPS() { return m_parameterSetManagerDecoder.getActiveSPS(); }
     231
     232
    168233  Void executeLoopFilters(Int& poc, TComList<TComPic*>*& rpcListPic);
     234#if SETTING_NO_OUT_PIC_PRIOR 
     235  Void  checkNoOutputPriorPics (TComList<TComPic*>*& rpcListPic);
     236  Bool  getNoOutputPriorPicsFlag ()         { return m_isNoOutputPriorPics; }
     237  Void  setNoOutputPriorPicsFlag (Bool val) { m_isNoOutputPriorPics = val; }
     238#endif
     239
    169240#if SVC_EXTENSION
    170241#if EARLY_REF_PIC_MARKING
     
    212283  Void      setBLReconFile( fstream* pFile ) { m_pBLReconFile = pFile; }
    213284  fstream*  getBLReconFile() { return m_pBLReconFile; }
     285#if !REPN_FORMAT_IN_VPS
    214286  Void      setBLsize( Int iWidth, Int iHeight ) { m_iBLSourceWidth = iWidth; m_iBLSourceHeight = iHeight; }
    215287  Int       getBLWidth() { return  m_iBLSourceWidth; }
    216288  Int       getBLHeight() { return  m_iBLSourceHeight; }
     289#endif
    217290#endif
    218291#if REPN_FORMAT_IN_VPS
     
    238311  Void      setBLSyntaxFile( fstream* pFile ) { m_pBLSyntaxFile = pFile; }
    239312  fstream* getBLSyntaxFile() { return m_pBLSyntaxFile; }
    240 #endif
    241 #if NO_OUTPUT_OF_PRIOR_PICS
    242 #if NO_CLRAS_OUTPUT_FLAG
    243   Bool getNoOutputOfPriorPicsFlags()         { return m_noOutputOfPriorPicsFlags;}
    244   Void setNoOutputOfPriorPicsFlags(Bool x)   { m_noOutputOfPriorPicsFlags = x;   }
    245 #endif
    246313#endif
    247314protected:
     
    261328  Void      xDecodeVPS();
    262329  Void      xDecodeSPS();
    263   Void      xDecodePPS();
     330  Void      xDecodePPS(
     331#if Q0048_CGS_3D_ASYMLUT
     332    TCom3DAsymLUT * pc3DAsymLUT
     333#endif
     334    );
    264335  Void      xDecodeSEI( TComInputBitstream* bs, const NalUnitType nalUnitType );
    265336
     
    271342  Int  getFirstPicInLayerDecodedFlag()       { return m_firstPicInLayerDecodedFlag;}
    272343  Void setFirstPicInLayerDecodedFlag(Bool x) { m_firstPicInLayerDecodedFlag = x;   }
    273 #if !NO_OUTPUT_OF_PRIOR_PICS
    274   Int  getNoOutputOfPriorPicsFlags()         { return m_noOutputOfPriorPicsFlags;}
    275   Void setNoOutputOfPriorPicsFlags(Bool x)   { m_noOutputOfPriorPicsFlags = x;   }
    276 #endif
     344#endif
     345#if Q0048_CGS_3D_ASYMLUT
     346  Void initAsymLut(TComSlice *pcSlice);
    277347#endif
    278348};// END CLASS DEFINITION TDecTop
Note: See TracChangeset for help on using the changeset viewer.