Changeset 1313 in 3DVCSoftware for trunk/source/Lib/TLibEncoder/TEncCavlc.h


Ignore:
Timestamp:
13 Aug 2015, 17:38:13 (9 years ago)
Author:
tech
Message:

Merged 14.1-update-dev1@1312.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/source/Lib/TLibEncoder/TEncCavlc.h

    r1196 r1313  
    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 *
    6 * Copyright (c) 2010-2015, ITU/ISO/IEC
     6 * Copyright (c) 2010-2015, ITU/ISO/IEC
    77 * All rights reserved.
    88 *
     
    6464  TEncCavlc();
    6565  virtual ~TEncCavlc();
    66  
     66
    6767protected:
    68   TComSlice*    m_pcSlice;
    69   UInt          m_uiCoeffCost;
    70 #if H_3D
     68#if NH_3D
    7169  TEncTop*      m_encTop;
    7270#endif
    73   Void codeShortTermRefPicSet              ( TComSPS* pcSPS, TComReferencePictureSet* pcRPS, Bool calledFromSliceHeader, Int idx );
     71
     72  Void codeShortTermRefPicSet              ( const TComReferencePictureSet* pcRPS, Bool calledFromSliceHeader, Int idx );
    7473  Bool findMatchingLTRP ( TComSlice* pcSlice, UInt *ltrpsIndex, Int ltrpPOC, Bool usedFlag );
    75  
     74
    7675public:
    77  
    78   Void  resetEntropy          ();
    79   Void  determineCabacInitIdx  () {};
     76
     77  Void  resetEntropy          (const TComSlice *pSlice);
     78  SliceType determineCabacInitIdx  (const TComSlice* /*pSlice*/) { assert(0); return I_SLICE; };
    8079
    8180  Void  setBitstream          ( TComBitIf* p )  { m_pcBitIf = p;  }
    82   Void  setSlice              ( TComSlice* p )  { m_pcSlice = p;  }
    8381  Void  resetBits             ()                { m_pcBitIf->resetBits(); }
    84   Void  resetCoeffCost        ()                { m_uiCoeffCost = 0;  }
    8582  UInt  getNumberOfWrittenBits()                { return  m_pcBitIf->getNumberOfWrittenBits();  }
    86   UInt  getCoeffCost          ()                { return  m_uiCoeffCost;  }
    87   Void  codeVPS                 ( TComVPS* pcVPS );
    88 #if H_MV
    89   Void  codeVPSExtension       ( TComVPS *pcVPS );
    90   Void  codeVideoSignalInfo     ( TComVideoSignalInfo* pcVideoSignalInfo );
     83  Void  codeVPS                 ( const TComVPS* pcVPS );
     84#if NH_MV
     85  Void  codeVPSExtension       ( const TComVPS *pcVPS );
     86  Void  codeVideoSignalInfo    ( const TComVideoSignalInfo* pcVideoSignalInfo );
    9187
    92   Void  codeDpbSize   ( TComVPS* vps );
     88  Void  codeDpbSize            ( const TComVPS* vps );
    9389
    94   Void  codeRepFormat           ( Int i, TComRepFormat* curRepFormat, TComRepFormat* prevRepFormat );
    95   Void  codeVPSVUI             ( TComVPS* pcVPS );
    96   Void  codeVpsVuiBspHrdParameters( TComVPS* pcVPS );
     90  Void  codeRepFormat           ( Int i, const TComRepFormat* curRepFormat, const TComRepFormat* prevRepFormat );
     91  Void  codeVPSVUI              ( const TComVPS* pcVPS );
     92  Void  codeVpsVuiBspHrdParameters( const TComVPS* pcVPS );
    9793#endif
    98   Void  codeVUI                 ( TComVUI *pcVUI, TComSPS* pcSPS );
    99 #if H_MV
    100   Void  codeSPSExtension        ( TComSPS* pcSPS );
     94
     95  Void  codeVUI                 ( const TComVUI *pcVUI, const TComSPS* pcSPS );
     96#if NH_MV
     97  Void  codeSPSExtension        ( const TComSPS* pcSPS );
    10198#endif
    102 #if H_3D
    103   Void  codeVPS3dExtension       ( TComVPS* pcVPS );
    104   Void  codeSPS3dExtension      ( TComSPS* pcSPS );
    105   Void  codeSPS                 ( TComSPS* pcSPS );
    106 #else
    107   Void  codeSPS                 ( TComSPS* pcSPS );
     99#if NH_3D
     100  Void  codeVPS3dExtension      ( const TComVPS* pcVPS );
     101  Void  codeSPS3dExtension      ( const TComSPS* pcSPS );
    108102#endif
    109   Void  codePPS                 ( TComPPS* pcPPS );
    110 
    111 #if H_MV
    112   Void codePPSMultilayerExtension( TComPPS* pcPPS );
     103  Void  codeSPS                 ( const TComSPS* pcSPS );
     104  Void  codePPS                 ( const TComPPS* pcPPS );
     105#if NH_MV
     106  Void  codePpsMultilayerExtension( const TComPPS* pcPPS );
    113107#endif
    114 
    115 #if H_3D
    116   Void  codePPSExtension        ( TComPPS* pcPPS );
     108#if NH_3D
     109  Void  codePps3dExtension       ( const TComPPS* pcPPS );
    117110#endif
    118 
    119111  Void  codeSliceHeader         ( TComSlice* pcSlice );
    120   Void  codePTL                 ( TComPTL* pcPTL, Bool profilePresentFlag, Int maxNumSubLayersMinus1);
    121   Void  codeProfileTier         ( ProfileTierLevel* ptl );
    122   Void  codeHrdParameters       ( TComHRD *hrd, Bool commonInfPresentFlag, UInt maxNumSubLayersMinus1 );
     112  Void  codePTL                 ( const TComPTL* pcPTL, Bool profilePresentFlag, Int maxNumSubLayersMinus1);
     113  Void  codeProfileTier         ( const ProfileTierLevel* ptl, const Bool bIsSubLayer );
     114  Void  codeHrdParameters       ( const TComHRD *hrd, Bool commonInfPresentFlag, UInt maxNumSubLayersMinus1 );
    123115  Void  codeTilesWPPEntryPoint( TComSlice* pSlice );
    124116  Void  codeTerminatingBit      ( UInt uilsLast );
    125117  Void  codeSliceFinish         ();
    126  
     118
    127119  Void codeMVPIdx ( TComDataCU* pcCU, UInt uiAbsPartIdx, RefPicList eRefList );
    128   Void codeSAOBlkParam(SAOBlkParam& saoBlkParam, Bool* sliceEnabled, Bool leftMergeAvail, Bool aboveMergeAvail, Bool onlyEstMergeInfo = false){printf("only supported in CABAC"); assert(0); exit(-1);}
     120  Void codeSAOBlkParam(SAOBlkParam& /*saoBlkParam*/, const BitDepths& /*bitDepths*/, Bool* /*sliceEnabled*/, Bool /*leftMergeAvail*/, Bool /*aboveMergeAvail*/, Bool /*onlyEstMergeInfo*/ = false){printf("only supported in CABAC"); assert(0); exit(-1);}
    129121  Void codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx );
    130122  Void codeSkipFlag      ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    131 #if H_3D
     123#if NH_3D_DIS
    132124  Void codeDIS           ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    133125#endif
    134126  Void codeMergeFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    135127  Void codeMergeIndex    ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    136  
    137 #if H_3D_ARP
     128#if NH_3D_DMM || NH_3D_SDC_INTRA || NH_3D_SDC_INTER
     129  Void  codeDeltaDC      ( TComDataCU* /*pcCU*/, UInt /*absPartIdx*/ ) { assert(0); };
     130#endif
     131#if NH_3D_ARP
    138132  Void codeARPW          ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    139133#endif
    140 #if H_3D_IC
     134#if NH_3D_IC
    141135  Void codeICFlag        ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    142136#endif
    143 #if H_3D_INTER_SDC
    144   Void codeDeltaDC       ( TComDataCU* pcCU, UInt uiAbsPartIdx );
     137
     138#if NH_3D_SDC_INTRA || NH_3D_SDC_INTER
    145139  Void codeSDCFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    146140#endif
    147 #if H_3D_DBBP
     141#if NH_3D_DBBP
    148142  Void codeDBBPFlag       ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    149143#endif
    150 
     144  Void codeAlfCtrlFlag   ( ComponentID /*component*/, UInt /*code*/ ) {printf("Not supported\n"); assert(0);}
    151145  Void codeInterModeFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiEncMode );
    152146  Void codeSplitFlag     ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    153  
     147
    154148  Void codePartSize      ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth );
    155149  Void codePredMode      ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    156  
     150
    157151  Void codeIPCMInfo      ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    158152
    159153  Void codeTransformSubdivFlag( UInt uiSymbol, UInt uiCtx );
    160   Void codeQtCbf         ( TComDataCU* pcCU, UInt uiAbsPartIdx, TextType eType, UInt uiTrDepth );
     154  Void codeQtCbf         ( TComTU &rTu, const ComponentID compID, const Bool lowestLevel );
    161155  Void codeQtRootCbf     ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    162   Void codeQtCbfZero     ( TComDataCU* pcCU, TextType eType, UInt uiTrDepth );
    163   Void codeQtRootCbfZero ( TComDataCU* pcCU );
     156  Void codeQtCbfZero     ( TComTU &rTu, const ChannelType chType );
     157  Void codeQtRootCbfZero ( );
    164158  Void codeIntraDirLumaAng( TComDataCU* pcCU, UInt absPartIdx, Bool isMultiple);
    165159  Void codeIntraDirChroma( TComDataCU* pcCU, UInt uiAbsPartIdx );
     
    167161  Void codeRefFrmIdx     ( TComDataCU* pcCU, UInt uiAbsPartIdx, RefPicList eRefList );
    168162  Void codeMvd           ( TComDataCU* pcCU, UInt uiAbsPartIdx, RefPicList eRefList );
    169  
     163
     164  Void codeCrossComponentPrediction( TComTU &rTu, ComponentID compID );
     165
    170166  Void codeDeltaQP       ( TComDataCU* pcCU, UInt uiAbsPartIdx );
    171  
    172   Void codeCoeffNxN      ( TComDataCU* pcCU, TCoeff* pcCoef, UInt uiAbsPartIdx, UInt uiWidth, UInt uiHeight, UInt uiDepth, TextType eTType );
    173   Void codeTransformSkipFlags ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt width, UInt height, TextType eTType );
     167  Void codeChromaQpAdjustment( TComDataCU* pcCU, UInt uiAbsPartIdx );
    174168
    175   Void estBit               (estBitsSbacStruct* pcEstBitsSbac, Int width, Int height, TextType eTType);
    176  
     169  Void codeCoeffNxN      ( TComTU &rTu, TCoeff* pcCoef, const ComponentID compID );
     170  Void codeTransformSkipFlags ( TComTU &rTu, ComponentID component );
     171
     172  Void estBit            ( estBitsSbacStruct* pcEstBitsSbac, Int width, Int height, ChannelType chType );
     173
    177174  Void xCodePredWeightTable          ( TComSlice* pcSlice );
    178   Void updateContextTables           ( SliceType eSliceType, Int iQp, Bool bExecuteFinish=true ) { return;   }
    179   Void updateContextTables           ( SliceType eSliceType, Int iQp  )                          { return;   }
    180175
    181   Void codeScalingList  ( TComScalingList* scalingList );
    182   Void xCodeScalingList ( TComScalingList* scalingList, UInt sizeId, UInt listId);
    183   Void codeDFFlag       ( UInt uiCode, const Char *pSymbolName );
    184   Void codeDFSvlc       ( Int   iCode, const Char *pSymbolName );
    185 #if H_3D
     176  Void codeScalingList  ( const TComScalingList &scalingList );
     177  Void xCodeScalingList ( const TComScalingList* scalingList, UInt sizeId, UInt listId);
     178
     179  Void codeExplicitRdpcmMode( TComTU &rTu, const ComponentID compID );
     180
     181#if NH_3D
    186182  TEncTop* getEncTop()               { return m_encTop; };
    187183  Void     setEncTop( TEncTop* et )  {  m_encTop = et; };
    188184#endif
     185
    189186};
    190187
Note: See TracChangeset for help on using the changeset viewer.