Changeset 479 in 3DVCSoftware for branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder
- Timestamp:
- 18 Jun 2013, 23:24:53 (12 years ago)
- Location:
- branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder/TAppEncCfg.cpp
r478 r479 718 718 #endif //HHI_VSO 719 719 #if H_3D_IV_MERGE 720 ("PredDepthMapGen", m_uiPredDepthMapGeneration, (UInt)0, "generation of prediction depth maps for motion data prediction" ) 721 ("MultiviewMvPred", m_uiMultiviewMvPredMode, (UInt)0, "usage of predicted depth maps" ) 720 ("IvMvPred", m_ivMvPredFlag, false , "inter view motion prediction " ) 722 721 #endif 723 722 #endif //H_3D … … 1443 1442 xConfirmPara( ((UInt) m_numberOfLayers >> 1 ) != m_cCameraData.getBaseViewNumbers().size(), "Number of Views in BaseViewCameraNumbers must be equal to NumberOfViews" ); 1444 1443 xConfirmPara ( m_iCodedCamParPrecision < 0 || m_iCodedCamParPrecision > 5, "CodedCamParsPrecision must be in range of 0..5" ); 1445 #if H_3D_IV_MERGE1446 xConfirmPara ( m_uiPredDepthMapGeneration > 2, "PredDepthMapGen must be less than or equal to 2" );1447 xConfirmPara ( m_uiMultiviewMvPredMode > 7, "MultiviewMvPred must be less than or equal to 7" );1448 xConfirmPara ( m_uiMultiviewMvPredMode > 0 && m_uiPredDepthMapGeneration == 0 , "MultiviewMvPred > 0 requires PredDepthMapGen > 0" );1449 #endif1450 1444 #if H_3D_VSO 1451 1445 if( m_bUseVSO ) … … 2288 2282 #endif 2289 2283 #if H_3D_IV_MERGE 2290 printf(" MultiviewMvPred:%d", m_uiMultiviewMvPredMode);2284 printf("IvMvPred:%d", m_ivMvPredFlag ); 2291 2285 #endif 2292 2286 printf("\n\n"); -
branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder/TAppEncCfg.h
r476 r479 85 85 Bool m_splittingFlag; ///< Splitting Flag 86 86 Int m_scalabilityMask; ///< Mask indicating scalabilities, 1: texture; 3: texture + depth 87 std::vector<Int> m_dimensionIdLen; ///< Length of scalability dimension s 87 std::vector<Int> m_dimensionIdLen; ///< Length of scalability dimension s 88 #if H_3D_IV_MERGE 89 Bool m_ivMvPredFlag; ///< Interview motion vector prediction 90 #endif 88 91 #endif 89 92 Double m_adLambdaModifier[ MAX_TLAYER ]; ///< Lambda modifier array for each temporal layer … … 381 384 TAppComCamPara m_cCameraData; 382 385 Int m_iCodedCamParPrecision; ///< precision for coding of camera parameters 383 #if H_3D_IV_MERGE384 UInt m_uiMultiviewMvPredMode;385 UInt m_uiPredDepthMapGeneration;386 #endif387 386 #if H_3D_VSO 388 387 Char* m_pchVSOConfig; -
branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder/TAppEncTop.cpp
r478 r479 121 121 #if H_3D 122 122 vps.initViewIndex(); 123 #if H_3D_GEN 124 xSetVPSExtension2 ( vps ); 125 #endif 123 126 m_ivPicLists.setVPS ( &vps ); 124 127 #endif … … 166 169 m_cTEncTop.setDWeight ( isDepth ? m_iDWeight : 0 ); 167 170 #endif // H_3D_VSO 168 #if H_3D_IV_MERGE169 m_cTEncTop.setMultiviewMvPredMode ( m_uiMultiviewMvPredMode );170 m_cTEncTop.setPredDepthMapGeneration ( m_uiPredDepthMapGeneration );171 #endif172 171 #endif // H_3D 173 172 … … 211 210 m_cTEncTop.setNumReorderPics ( m_numReorderPics[i], i ); 212 211 m_cTEncTop.setMaxDecPicBuffering ( m_maxDecPicBuffering[i], i ); 213 #if H_3D_IV_MERGE 214 m_acTEncDepthTopList[iViewIdx]->setNumReorderPics ( m_numReorderPics[iViewIdx][i], i ); 215 m_acTEncDepthTopList[iViewIdx]->setMaxDecPicBuffering ( m_maxDecPicBuffering[iViewIdx][i], i ); 216 #endif 217 } 218 #if H_3D_IV_MERGE 219 m_acTEncDepthTopList[iViewIdx]->setQP ( m_aiQP[1] ); 220 221 m_acTEncDepthTopList[iViewIdx]->setTemporalLayerQPOffset ( m_aiTLayerQPOffset ); 222 m_acTEncDepthTopList[iViewIdx]->setPad ( m_aiPad ); 223 224 m_acTEncDepthTopList[iViewIdx]->setMaxTempLayer ( m_maxTempLayer[iViewIdx] ); 225 226 m_acTEncDepthTopList[iViewIdx]->setDisInter4x4 ( m_bDisInter4x4); 227 228 m_acTEncDepthTopList[iViewIdx]->setUseNSQT( m_enableNSQT ); 229 m_acTEncDepthTopList[iViewIdx]->setUseAMP( m_enableAMP ); 230 #endif 212 } 231 213 #endif 232 214 for( UInt uiLoop = 0; uiLoop < MAX_TLAYER; ++uiLoop ) … … 625 607 for(Int layer=0; layer<m_numberOfLayers; layer++) 626 608 { 627 #if H_3D_IV_MERGE628 m_acTEncTopList[layer]->init(this );629 #else630 609 m_acTEncTopList[layer]->init( ); 631 #endif632 610 } 633 611 #else … … 1057 1035 } 1058 1036 #endif 1037 #if H_3D_GEN 1038 Void TAppEncTop::xSetVPSExtension2( TComVPS& vps ) 1039 { 1040 for ( Int layer = 0; layer < vps.getMaxLayers(); layer++ ) 1041 { 1042 if ( layer != 0 ) 1043 { 1044 if( ( vps.getDepthId( layer ) == 0 ) ) 1045 { 1059 1046 #if H_3D_IV_MERGE 1060 // GT: This function is not necessary anymore m_ivPicLists should be used instead 1061 TComPic* TAppEncTop::xGetPicFromView( Int viewIdx, Int poc, Bool isDepth ) 1062 { 1063 assert( ( viewIdx >= 0 ) && ( viewIdx < m_iNumberOfViews ) ); 1064 1065 TComList<TComPic*>* apcListPic = m_acTEncTopList[(isDepth ? 1 : 0) + viewIdx * 2]->getListPic() ; 1066 1067 1068 1069 TComPic* pcPic = NULL; 1070 for(TComList<TComPic*>::iterator it=apcListPic->begin(); it!=apcListPic->end(); it++) 1071 { 1072 if( (*it)->getPOC() == poc ) 1073 { 1074 pcPic = *it ; 1075 break ; 1076 } 1077 } 1078 1079 return pcPic; 1080 }; 1047 vps.setIvMvPredFlag( layer, m_ivMvPredFlag ); 1048 #endif 1049 } 1050 } 1051 } 1052 } 1081 1053 #endif 1082 1054 //! \} -
branches/HTM-DEV-0.3-dev2/source/App/TAppEncoder/TAppEncTop.h
r478 r479 48 48 #if H_3D 49 49 #include "../../Lib/TLibRenderer/TRenTop.h" 50 #if H_3D_IV_MERGE51 #include "TLibCommon/TComDepthMapGenerator.h"52 #endif53 50 #endif 54 51 … … 92 89 TRenModel m_cRendererModel; 93 90 #endif 94 #if H_3D_IV_MERGE95 TComVPSAccess m_cVPSAccess;96 TComSPSAccess m_cSPSAccess;97 TComAUPicAccess m_cAUPicAccess;98 #endif99 91 protected: 100 92 // initialization … … 122 114 void rateStatsAccum(const AccessUnit& au, const std::vector<UInt>& stats); 123 115 void printRateSummary(); 124 #if H_3D_IV_MERGE 125 TComPic* xGetPicFromView( Int viewIdx, Int iPoc, Bool isDepth ); 126 #endif 116 127 117 #if H_MV 128 118 Void xSetLayerIds ( TComVPS& vps ); … … 131 121 Int xGetMax( std::vector<Int>& vec); 132 122 #endif 123 #if H_3D_GEN 124 Void xSetVPSExtension2( TComVPS& vps ); 125 #endif 133 126 public: 134 127 TAppEncTop(); … … 136 129 137 130 Void encode (); ///< main encoding function 138 #if H_3D_IV_MERGE139 TComPic* getPicFromView ( Int viewIdx, Int poc, Bool isDepth ) { return xGetPicFromView( viewIdx, poc, isDepth ); }140 #endif141 131 #if H_MV 142 132 TEncTop* getTEncTop( UInt layer ) { return m_acTEncTopList[layer]; } ///< return pointer to encoder class for specific layer 143 133 #else 144 134 TEncTop& getTEncTop () { return m_cTEncTop; } ///< return encoder class pointer reference 145 #endif146 #if H_3D_IV_MERGE147 TComVPSAccess* getVPSAccess () { return &m_cVPSAccess; }148 TComSPSAccess* getSPSAccess () { return &m_cSPSAccess; }149 TComAUPicAccess* getAUPicAccess() { return &m_cAUPicAccess; }150 135 #endif 151 136 };// END CLASS DEFINITION TAppEncTop
Note: See TracChangeset for help on using the changeset viewer.