Ignore:
Timestamp:
26 Feb 2015, 00:21:54 (10 years ago)
Author:
seregin
Message:

merge with SHM-upgrade branch

Location:
branches/SHM-dev
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • branches/SHM-dev

  • branches/SHM-dev/source

  • branches/SHM-dev/source/Lib/TLibDecoder/TDecCu.h

    r595 r1029  
    22 * License, included below. This software may be subject to other third party
    33 * and contributor rights, including patent rights, and no such rights are
    4  * granted under this license. 
     4 * granted under this license.
    55 *
    66 * Copyright (c) 2010-2014, ITU/ISO/IEC
     
    6565  TComYuv**           m_ppcYuvReco;       ///< array of prediction & reconstruction buffer
    6666  TComDataCU**        m_ppcCU;            ///< CU data array
    67  
     67
    6868  // access channel
    6969  TComTrQuant*        m_pcTrQuant;
     
    7272
    7373  Bool                m_bDecodeDQP;
     74  Bool                m_IsChromaQpAdjCoded;
     75
    7476#if SVC_EXTENSION
    7577  TDecTop**           m_ppcTDecTop;
     
    8082  TDecCu();
    8183  virtual ~TDecCu();
    82  
     84
    8385  /// initialize access channels
    8486#if SVC_EXTENSION
     
    8991 
    9092  /// create internal buffers
    91   Void  create                  ( UInt uiMaxDepth, UInt uiMaxWidth, UInt uiMaxHeight );
    92  
     93  Void  create                  ( UInt uiMaxDepth, UInt uiMaxWidth, UInt uiMaxHeight, ChromaFormat chromaFormatIDC );
     94
    9395  /// destroy internal buffers
    9496  Void  destroy                 ();
    95  
    96   /// decode CU information
    97   Void  decodeCU                ( TComDataCU* pcCU, UInt& ruiIsLast );
    98  
    99   /// reconstruct CU information
    100   Void  decompressCU            ( TComDataCU* pcCU );
    101   
     97
     98  /// decode Ctu information
     99  Void  decodeCtu               ( TComDataCU* pCtu, Bool &isLastCtuOfSliceSegment );
     100
     101  /// reconstruct Ctu information
     102  Void  decompressCtu           ( TComDataCU* pCtu );
     103 
    102104#if SVC_EXTENSION
    103105  TDecTop*   getLayerDec        ( UInt LayerId )  { return m_ppcTDecTop[LayerId]; }
    104106#endif
    105107protected:
    106  
    107   Void xDecodeCU                ( TComDataCU* pcCU,                       UInt uiAbsPartIdx, UInt uiDepth, UInt &ruiIsLast);
    108   Void xFinishDecodeCU          ( TComDataCU* pcCU,                       UInt uiAbsPartIdx, UInt uiDepth, UInt &ruiIsLast);
    109   Bool xDecodeSliceEnd          ( TComDataCU* pcCU,                       UInt uiAbsPartIdx, UInt uiDepth);
    110   Void xDecompressCU            ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    111  
     108
     109  Void xDecodeCU                ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, Bool &isLastCtuOfSliceSegment);
     110  Void xFinishDecodeCU          ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, Bool &isLastCtuOfSliceSegment);
     111  Bool xDecodeSliceEnd          ( TComDataCU* pcCU, UInt uiAbsPartIdx );
     112  Void xDecompressCU            ( TComDataCU* pCtu, UInt uiAbsPartIdx, UInt uiDepth );
     113
    112114  Void xReconInter              ( TComDataCU* pcCU, UInt uiDepth );
    113  
    114   Void  xReconIntraQT           ( TComDataCU* pcCU, UInt uiDepth );
    115   Void  xIntraRecLumaBlk        ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv );
    116   Void  xIntraRecChromaBlk      ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv, UInt uiChromaId );
    117  
    118   Void  xReconPCM               ( TComDataCU* pcCU, UInt uiDepth );
    119115
    120   Void xDecodeInterTexture      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    121   Void xDecodePCMTexture        ( TComDataCU* pcCU, UInt uiPartIdx, Pel *piPCM, Pel* piReco, UInt uiStride, UInt uiWidth, UInt uiHeight, TextType ttText);
    122  
     116  Void xReconIntraQT            ( TComDataCU* pcCU, UInt uiDepth );
     117  Void xIntraRecBlk             ( TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv, const ComponentID component, TComTU &rTu );
     118  Void xIntraRecQT              ( TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv, const ChannelType chType, TComTU &rTu );
     119
     120  Void xReconPCM                ( TComDataCU* pcCU, UInt uiDepth );
     121
     122  Void xDecodeInterTexture      ( TComDataCU* pcCU, UInt uiDepth );
     123  Void xDecodePCMTexture        ( TComDataCU* pcCU, const UInt uiPartIdx, const Pel *piPCM, Pel* piReco, const UInt uiStride, const UInt uiWidth, const UInt uiHeight, const ComponentID compID);
     124
    123125  Void xCopyToPic               ( TComDataCU* pcCU, TComPic* pcPic, UInt uiZorderIdx, UInt uiDepth );
    124 
    125   Void  xIntraLumaRecQT         ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv );
    126   Void  xIntraChromaRecQT       ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv );
    127126
    128127  Bool getdQPFlag               ()                        { return m_bDecodeDQP;        }
    129128  Void setdQPFlag               ( Bool b )                { m_bDecodeDQP = b;           }
     129  Bool getIsChromaQpAdjCoded    ()                        { return m_IsChromaQpAdjCoded;        }
     130  Void setIsChromaQpAdjCoded    ( Bool b )                { m_IsChromaQpAdjCoded = b;           }
     131
    130132  Void xFillPCMBuffer           (TComDataCU* pCU, UInt depth);
    131133};
Note: See TracChangeset for help on using the changeset viewer.