Changeset 1313 in 3DVCSoftware for trunk/source/Lib/TLibEncoder/TEncCavlc.h
- Timestamp:
- 13 Aug 2015, 17:38:13 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibEncoder/TEncCavlc.h
r1196 r1313 2 2 * License, included below. This software may be subject to other third party 3 3 * and contributor rights, including patent rights, and no such rights are 4 * granted under this license. 4 * granted under this license. 5 5 * 6 * Copyright (c) 2010-2015, ITU/ISO/IEC6 * Copyright (c) 2010-2015, ITU/ISO/IEC 7 7 * All rights reserved. 8 8 * … … 64 64 TEncCavlc(); 65 65 virtual ~TEncCavlc(); 66 66 67 67 protected: 68 TComSlice* m_pcSlice; 69 UInt m_uiCoeffCost; 70 #if H_3D 68 #if NH_3D 71 69 TEncTop* m_encTop; 72 70 #endif 73 Void codeShortTermRefPicSet ( TComSPS* pcSPS, TComReferencePictureSet* pcRPS, Bool calledFromSliceHeader, Int idx ); 71 72 Void codeShortTermRefPicSet ( const TComReferencePictureSet* pcRPS, Bool calledFromSliceHeader, Int idx ); 74 73 Bool findMatchingLTRP ( TComSlice* pcSlice, UInt *ltrpsIndex, Int ltrpPOC, Bool usedFlag ); 75 74 76 75 public: 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; }; 80 79 81 80 Void setBitstream ( TComBitIf* p ) { m_pcBitIf = p; } 82 Void setSlice ( TComSlice* p ) { m_pcSlice = p; }83 81 Void resetBits () { m_pcBitIf->resetBits(); } 84 Void resetCoeffCost () { m_uiCoeffCost = 0; }85 82 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 ); 91 87 92 Void codeDpbSize (TComVPS* vps );88 Void codeDpbSize ( const TComVPS* vps ); 93 89 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 ); 97 93 #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 ); 101 98 #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 ); 108 102 #endif 109 Void code PPS ( TComPPS* pcPPS );110 111 #if H_MV112 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 ); 113 107 #endif 114 115 #if H_3D 116 Void codePPSExtension ( TComPPS* pcPPS ); 108 #if NH_3D 109 Void codePps3dExtension ( const TComPPS* pcPPS ); 117 110 #endif 118 119 111 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 ); 123 115 Void codeTilesWPPEntryPoint( TComSlice* pSlice ); 124 116 Void codeTerminatingBit ( UInt uilsLast ); 125 117 Void codeSliceFinish (); 126 118 127 119 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);} 129 121 Void codeCUTransquantBypassFlag( TComDataCU* pcCU, UInt uiAbsPartIdx ); 130 122 Void codeSkipFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 131 #if H_3D123 #if NH_3D_DIS 132 124 Void codeDIS ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 133 125 #endif 134 126 Void codeMergeFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 135 127 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 138 132 Void codeARPW ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 139 133 #endif 140 #if H_3D_IC134 #if NH_3D_IC 141 135 Void codeICFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 142 136 #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 145 139 Void codeSDCFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 146 140 #endif 147 #if H_3D_DBBP141 #if NH_3D_DBBP 148 142 Void codeDBBPFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 149 143 #endif 150 144 Void codeAlfCtrlFlag ( ComponentID /*component*/, UInt /*code*/ ) {printf("Not supported\n"); assert(0);} 151 145 Void codeInterModeFlag( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt uiEncMode ); 152 146 Void codeSplitFlag ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 153 147 154 148 Void codePartSize ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 155 149 Void codePredMode ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 156 150 157 151 Void codeIPCMInfo ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 158 152 159 153 Void codeTransformSubdivFlag( UInt uiSymbol, UInt uiCtx ); 160 Void codeQtCbf ( TCom DataCU* pcCU, UInt uiAbsPartIdx, TextType eType, UInt uiTrDepth);154 Void codeQtCbf ( TComTU &rTu, const ComponentID compID, const Bool lowestLevel ); 161 155 Void codeQtRootCbf ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 162 Void codeQtCbfZero ( TCom DataCU* pcCU, TextType eType, UInt uiTrDepth);163 Void codeQtRootCbfZero ( TComDataCU* pcCU);156 Void codeQtCbfZero ( TComTU &rTu, const ChannelType chType ); 157 Void codeQtRootCbfZero ( ); 164 158 Void codeIntraDirLumaAng( TComDataCU* pcCU, UInt absPartIdx, Bool isMultiple); 165 159 Void codeIntraDirChroma( TComDataCU* pcCU, UInt uiAbsPartIdx ); … … 167 161 Void codeRefFrmIdx ( TComDataCU* pcCU, UInt uiAbsPartIdx, RefPicList eRefList ); 168 162 Void codeMvd ( TComDataCU* pcCU, UInt uiAbsPartIdx, RefPicList eRefList ); 169 163 164 Void codeCrossComponentPrediction( TComTU &rTu, ComponentID compID ); 165 170 166 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 ); 174 168 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 177 174 Void xCodePredWeightTable ( TComSlice* pcSlice ); 178 Void updateContextTables ( SliceType eSliceType, Int iQp, Bool bExecuteFinish=true ) { return; }179 Void updateContextTables ( SliceType eSliceType, Int iQp ) { return; }180 175 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 186 182 TEncTop* getEncTop() { return m_encTop; }; 187 183 Void setEncTop( TEncTop* et ) { m_encTop = et; }; 188 184 #endif 185 189 186 }; 190 187
Note: See TracChangeset for help on using the changeset viewer.