Changeset 1313 in 3DVCSoftware for trunk/source/Lib/TLibDecoder/TDecCu.h
- Timestamp:
- 13 Aug 2015, 17:38:13 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibDecoder/TDecCu.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 * … … 44 44 45 45 #include "TLibCommon/TComTrQuant.h" 46 #include "TLibCommon/TComPrediction.h"47 46 #include "TDecEntropy.h" 48 47 … … 62 61 TComYuv** m_ppcYuvReco; ///< array of prediction & reconstruction buffer 63 62 TComDataCU** m_ppcCU; ///< CU data array 64 65 #if H_3D_DBBP63 64 #if NH_3D_DBBP 66 65 TComYuv** m_ppcYuvRecoDBBP; 67 66 #endif … … 73 72 74 73 Bool m_bDecodeDQP; 75 74 Bool m_IsChromaQpAdjCoded; 75 76 76 public: 77 77 TDecCu(); 78 78 virtual ~TDecCu(); 79 79 80 80 /// initialize access channels 81 81 Void init ( TDecEntropy* pcEntropyDecoder, TComTrQuant* pcTrQuant, TComPrediction* pcPrediction ); 82 82 83 83 /// create internal buffers 84 Void create ( UInt uiMaxDepth, UInt uiMaxWidth, UInt uiMaxHeight );85 84 Void create ( UInt uiMaxDepth, UInt uiMaxWidth, UInt uiMaxHeight, ChromaFormat chromaFormatIDC ); 85 86 86 /// destroy internal buffers 87 87 Void destroy (); 88 89 /// decode C Uinformation90 Void decodeC U ( TComDataCU* pcCU, UInt& ruiIsLast );91 92 /// reconstruct C Uinformation93 Void decompressC U ( TComDataCU* pcCU);94 88 89 /// decode Ctu information 90 Void decodeCtu ( TComDataCU* pCtu, Bool &isLastCtuOfSliceSegment ); 91 92 /// reconstruct Ctu information 93 Void decompressCtu ( TComDataCU* pCtu ); 94 95 95 protected: 96 97 Void xDecodeCU ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt &ruiIsLast);98 Void xFinishDecodeCU ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, UInt &ruiIsLast);99 Bool xDecodeSliceEnd ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth);100 Void xDecompressCU ( TComDataCU* p cCU, UInt uiAbsPartIdx, UInt uiDepth );101 96 97 Void xDecodeCU ( TComDataCU* const pcCU, const UInt uiAbsPartIdx, const UInt uiDepth, Bool &isLastCtuOfSliceSegment); 98 Void xFinishDecodeCU ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth, Bool &isLastCtuOfSliceSegment); 99 Bool xDecodeSliceEnd ( TComDataCU* pcCU, UInt uiAbsPartIdx ); 100 Void xDecompressCU ( TComDataCU* pCtu, UInt uiAbsPartIdx, UInt uiDepth ); 101 102 102 Void xReconInter ( TComDataCU* pcCU, UInt uiDepth ); 103 104 #if H_3D_DBBP103 104 #if NH_3D_DBBP 105 105 Void xReconInterDBBP ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 106 106 #endif 107 107 108 Void xReconIntraQT ( TComDataCU* pcCU, UInt uiDepth ); 109 Void xIntraRecLumaBlk ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv ); 110 Void xIntraRecChromaBlk ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv, UInt uiChromaId ); 111 112 Void xReconPCM ( TComDataCU* pcCU, UInt uiDepth ); 108 Void xReconIntraQT ( TComDataCU* pcCU, UInt uiDepth ); 109 Void xIntraRecBlk ( TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv, const ComponentID component, TComTU &rTu ); 110 Void xIntraRecQT ( TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv, const ChannelType chType, TComTU &rTu ); 113 111 114 Void xDecodeInterTexture ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 115 Void xDecodePCMTexture ( TComDataCU* pcCU, UInt uiPartIdx, Pel *piPCM, Pel* piReco, UInt uiStride, UInt uiWidth, UInt uiHeight, TextType ttText); 116 112 Void xReconPCM ( TComDataCU* pcCU, UInt uiDepth ); 113 114 Void xDecodeInterTexture ( TComDataCU* pcCU, UInt uiDepth ); 115 Void xDecodePCMTexture ( TComDataCU* pcCU, const UInt uiPartIdx, const Pel *piPCM, Pel* piReco, const UInt uiStride, const UInt uiWidth, const UInt uiHeight, const ComponentID compID); 116 117 117 Void xCopyToPic ( TComDataCU* pcCU, TComPic* pcPic, UInt uiZorderIdx, UInt uiDepth ); 118 119 Void xIntraLumaRecQT ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv );120 Void xIntraChromaRecQT ( TComDataCU* pcCU, UInt uiTrDepth, UInt uiAbsPartIdx, TComYuv* pcRecoYuv, TComYuv* pcPredYuv, TComYuv* pcResiYuv );121 118 122 119 Bool getdQPFlag () { return m_bDecodeDQP; } 123 120 Void setdQPFlag ( Bool b ) { m_bDecodeDQP = b; } 121 Bool getIsChromaQpAdjCoded () { return m_IsChromaQpAdjCoded; } 122 Void setIsChromaQpAdjCoded ( Bool b ) { m_IsChromaQpAdjCoded = b; } 123 124 124 Void xFillPCMBuffer (TComDataCU* pCU, UInt depth); 125 #if H_3D 125 126 #if NH_3D_DIS 126 127 Void xReconDIS ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 127 128 #endif 128 #if H_3D_DIM_SDC129 #if NH_3D_SDC_INTRA 129 130 Void xReconIntraSDC ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 130 131 #endif 131 #if H_3D_INTER_SDC132 #if NH_3D_SDC_INTER 132 133 Void xReconInterSDC ( TComDataCU* pcCU, UInt uiAbsPartIdx, UInt uiDepth ); 133 134 #endif 135 134 136 }; 135 137
Note: See TracChangeset for help on using the changeset viewer.