Changeset 1390 in 3DVCSoftware for branches/HTM-16.0-MV-draft-5/source/Lib/TLibRenderer/TRenModel.h
- Timestamp:
- 13 Nov 2015, 17:00:20 (9 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-16.0-MV-draft-5/source/Lib/TLibRenderer/TRenModel.h
r1313 r1390 42 42 #include "../TLibCommon/TypeDef.h" 43 43 44 #if NH_3D_VSO45 46 class TRenModel47 {48 public:49 50 TRenModel();51 ~TRenModel();52 53 // Creation54 #if H_3D_VSO_EARLY_SKIP55 Void create ( Int iNumOfBaseViews, Int iNumOfModels, Int iWidth, Int iHeight, Int iShiftPrec, Int iHoleMargin, Bool bEarlySkip );56 #else57 Void create ( Int iNumOfBaseViews, Int iNumOfModels, Int iWidth, Int iHeight, Int iShiftPrec, Int iHoleMargin );58 #endif59 Void createSingleModel( Int iBaseViewNum, Int iContent, Int iModelNum, Int iLeftViewNum, Int iRightViewNum, Bool bUseOrgRef, Int iBlendMode );60 61 // Set new Frame62 Void setBaseView ( Int iViewNum, TComPicYuv* pcPicYuvVideoData, TComPicYuv* pcPicYuvDepthData, TComPicYuv* pcPicYuvOrgVideoData, TComPicYuv* pcPicYuvOrgDepthData );63 Void setSingleModel ( Int iModelNum, Int** ppiShiftLutLeft, Int** ppiBaseShiftLutLeft, Int** ppiShiftLutRight, Int** ppiBaseShiftLutRight, Int iDistToLeft, TComPicYuv* pcPicYuvRefView );64 65 // Set horizontal offset66 Void setupPart ( UInt uiHorOff, Int iUsedHeight );67 68 // Set Mode69 Void setErrorMode ( Int iView, Int iContent, Int iPlane );70 71 // Get Distortion, set Data72 #if H_3D_VSO_EARLY_SKIP73 Int64 getDist ( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData, Pel * piOrgData, Int iOrgStride);74 #else75 Int64 getDist ( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, Pel* piNewData );76 #endif77 Void setData ( Int iStartPosX, Int iStartPosY, Int iWidth, Int iHeight, Int iStride, const Pel* piNewData );78 79 // Get Rendered View80 81 Void getSynthVideo ( Int iModelNum, Int iViewNum, TComPicYuv* pcPicYuvSynthVideo );82 Void getSynthDepth ( Int iModelNum, Int iViewNum, TComPicYuv* pcPicYuvSynthDepth );83 84 // Get Total Distortion85 Void getTotalSSE (Int64& riSSEY, Int64& riSSEU, Int64& riSSEV );86 87 private:88 // helpers89 Void xSetLRViewAndAddModel( Int iModelNum, Int iBaseViewNum, Int iContent, Int iViewPos, Bool bAdd );90 91 // Settings92 Int m_iShiftPrec;93 Int** m_aaaiSubPelShiftLut[2];94 Int m_iHoleMargin;95 #if H_3D_VSO_EARLY_SKIP96 Bool m_bEarlySkip;97 #endif98 99 /// Size of Video and Depth100 Int m_iWidth;101 Int m_iHeight;102 Int m_iSampledWidth;103 Int m_iPad;104 Int m_iUsedHeight; // height currently used in buffer, whereas m_iHeight is the total height of the buffer105 106 107 Int m_iNumOfBaseViews;108 109 // Horizontal Offset in input data110 UInt m_uiHorOff;111 112 /// Current Error Type ///113 Int m_iCurrentView;114 Int m_iCurrentContent;115 Int m_iCurrentPlane;116 117 /// Array of Models used to determine the Current Error ///118 Int m_iNumOfCurRenModels;119 TRenSingleModel** m_apcCurRenModels; // Array of pointers used for determination of current error120 Int* m_aiCurPosInModels; // Position of Current View in Model121 122 /// Array of Models ///123 Int m_iNumOfRenModels;124 TRenSingleModel** m_apcRenModels; // Array of pointers to all created models125 126 /// Mapping from View number and Content type to models ///127 Int* m_aiNumOfModelsForDepthView;128 TRenSingleModel*** m_aapcRenModelForDepthView; // Dim1: ViewNumber129 Int** m_aaePosInModelForDepthView; // Position in Model ( Left or Right)130 131 Int* m_aiNumOfModelsForVideoView;132 TRenSingleModel*** m_aapcRenModelForVideoView; // Dim1: ViewNumber133 Int** m_aaePosInModelForVideoView; // Position in Model ( Left or Right) (local model numbering)134 135 /// Position of Base Views in Models ( global model numbering )136 Int** m_aaeBaseViewPosInModel;137 138 /// Current Setup data ///139 Bool* m_abSetupVideoFromOrgForView; //: Dim1: ViewNumber, 0 ... use org; 1 ... use coded; 2; use org ref and coded in RDO140 Bool* m_abSetupDepthFromOrgForView;141 142 /// DATA //143 // Cur144 145 /// Number of Base Views146 Pel*** m_aapiCurVideoPel ; // Dim1: ViewNumber: Plane 0-> Y, 1->U, 2->V147 Int** m_aaiCurVideoStrides; // Dim1: ViewPosition 0->Left, 1->Right; Dim2: Plane 0-> Y, 1->U, 2->V148 149 Pel** m_apiCurDepthPel ; // Dim1: ViewPosition150 Int* m_aiCurDepthStrides ; // Dim1: ViewPosition151 152 Pel*** m_aapiOrgVideoPel ; // Dim1: ViewPosition Dim2: Plane 0-> Y, 1->U, 2->V153 Int** m_aaiOrgVideoStrides; // Dim1: ViewPosition Dim2: Plane 0-> Y, 1->U, 2->V154 155 Pel** m_apiOrgDepthPel ; // Dim1: ViewPosition156 Int* m_aiOrgDepthStrides ; // Dim1: ViewPosition157 };158 159 #endif // NH_3D160 44 #endif //__TRENMODEL__ 161 45
Note: See TracChangeset for help on using the changeset viewer.