Changeset 48 in 3DVCSoftware for branches/0.3-poznan-univ/source/Lib/TLibDecoder
- Timestamp:
- 30 Mar 2012, 18:57:41 (13 years ago)
- Location:
- branches/0.3-poznan-univ/source/Lib/TLibDecoder
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/0.3-poznan-univ/source/Lib/TLibDecoder/TDecCAVLC.cpp
r46 r48 255 255 xReadFlag( uiCode ); pcSPS->setUseSAO ( uiCode ? true : false ); 256 256 #endif 257 #if POZNAN_DBMP258 xReadFlag( uiCode ); pcSPS->setDBMP ( uiCode );259 #endif260 #if POZNAN_ENCODE_ONLY_DISOCCLUDED_CU261 xReadFlag( uiCode ); pcSPS->setUseCUSkip ( uiCode );262 #endif263 257 xReadFlag( uiCode ); // SPS base view flag 264 258 if( uiCode ) … … 271 265 pcSPS->setMultiviewResPredMode ( 0 ); 272 266 #endif 267 #if POZNAN_DBMP 268 pcSPS->setDBMP ( false ); 269 #endif 270 #if POZNAN_ENCODE_ONLY_DISOCCLUDED_CU 271 pcSPS->setUseCUSkip ( false ); 272 #endif 273 273 } 274 274 else 275 275 { 276 #if POZNAN_DBMP 277 xReadFlag( uiCode ); pcSPS->setDBMP ( uiCode ); 278 #endif 279 #if POZNAN_ENCODE_ONLY_DISOCCLUDED_CU 280 xReadFlag( uiCode ); pcSPS->setUseCUSkip ( uiCode ); 281 #endif 276 282 xReadFlag ( uiCode ); // depth flag 277 283 if( uiCode ) 278 284 { 279 xReadUvlc( uiCode ); // view id 285 UInt uiViewId; 286 #if FLEXCO_CAMPARAM_IN_DEPTH 287 UInt uiCamParPrecision; 288 Int iVOI; 289 Bool bCamParSlice; 290 xReadUvlc( uiViewId ); 291 xReadSvlc( iVOI ); 292 if (uiViewId == 0) 293 { 294 pcSPS->initMultiviewSPSDepth ( uiViewId, iVOI ); 295 } 296 else 297 { 298 xReadUvlc( uiCamParPrecision ); 299 xReadFlag( uiCode ); bCamParSlice = ( uiCode == 1 ); 300 if( !bCamParSlice ) 301 { 302 //uiViewId++; 303 for( UInt uiBaseId = 0; uiBaseId < uiViewId; uiBaseId++ ) 304 { 305 xReadSvlc( iCode ); m_aaiTempScale [ uiBaseId ][ uiViewId ] = iCode; 306 xReadSvlc( iCode ); m_aaiTempOffset[ uiBaseId ][ uiViewId ] = iCode; 307 xReadSvlc( iCode ); m_aaiTempScale [ uiViewId ][ uiBaseId ] = iCode - m_aaiTempScale [ uiBaseId ][ uiViewId ]; 308 xReadSvlc( iCode ); m_aaiTempOffset[ uiViewId ][ uiBaseId ] = iCode - m_aaiTempOffset[ uiBaseId ][ uiViewId ]; 309 } 310 } 311 pcSPS->initMultiviewSPS( uiViewId, iVOI, uiCamParPrecision, bCamParSlice, m_aaiTempScale, m_aaiTempOffset, true); 312 } 313 #else 314 xReadUvlc( uiViewId ); // view id 280 315 xReadSvlc( iCode ); // view order index 281 pcSPS->initMultiviewSPSDepth ( uiCode, iCode ); 316 pcSPS->initMultiviewSPSDepth ( uiViewId, iCode ); 317 #endif 282 318 #if DEPTH_MAP_GENERATION 283 pcSPS->setPredDepthMapGeneration( ui Code, true );319 pcSPS->setPredDepthMapGeneration( uiViewId, true ); 284 320 #endif 285 321 #if HHI_INTER_VIEW_RESIDUAL_PRED … … 2729 2765 #endif 2730 2766 #if POZNAN_DBMP 2731 if(bDBMPAvailable) 2732 { 2733 if(uiIdx==POZNAN_DBMP_MERGE_POS) uiModIdx = POZNAN_DBMP_MRG_CAND; 2734 else if(uiIdx>POZNAN_DBMP_MERGE_POS) uiModIdx = uiIdx--; 2735 else uiModIdx = uiIdx; 2736 } 2737 else uiModIdx = uiIdx; 2738 if( pcCU->getNeighbourCandIdx( uiModIdx, uiAbsPartIdx ) != uiModIdx + 1 ) 2739 { 2740 ruiMergeIndex++; 2741 } 2767 { 2768 if(bDBMPAvailable) 2769 { 2770 if(uiIdx==POZNAN_DBMP_MERGE_POS) uiModIdx = POZNAN_DBMP_MRG_CAND; 2771 else if(uiIdx>POZNAN_DBMP_MERGE_POS) uiModIdx = uiIdx--; 2772 else uiModIdx = uiIdx; 2773 } 2774 else uiModIdx = uiIdx; 2775 2776 if( pcCU->getNeighbourCandIdx( uiModIdx, uiAbsPartIdx ) != uiModIdx + 1 ) 2777 { 2778 ruiMergeIndex++; 2779 } 2780 } 2742 2781 #else 2743 2782 if( pcCU->getNeighbourCandIdx( uiIdx, uiAbsPartIdx ) != uiIdx + 1 ) -
branches/0.3-poznan-univ/source/Lib/TLibDecoder/TDecTop.cpp
r46 r48 169 169 Int64 iTempScale = (Int64)uiDepthValue * iScale; 170 170 #endif 171 Int64 iTestScale = ( iTempScale + iOffset ); // for checking accuracy of camera parameters172 171 Int64 iShiftLuma = ( iTempScale + iOffsetLuma ) >> iLog2DivLuma; 173 172 Int64 iShiftChroma = ( iTempScale + iOffsetChroma ) >> iLog2DivChroma; … … 232 231 233 232 AOF( pcSlice->getSPS()->getViewId() < MAX_NUMBER_VIEWS ); 233 234 234 if ( pcSlice->getSPS()->isDepth () ) 235 235 { … … 238 238 m_cNonlinearDepthModel = pcSlice->getSPS()->getNonlinearDepthModel(); 239 239 #endif 240 #if !FLEX_CODING_ORDER //Owieczka 240 241 return; 241 } 242 #endif 243 } 244 #if !FLEX_CODING_ORDER //Owieczka 242 245 else 246 #endif 243 247 { 244 248 #if POZNAN_NONLINEAR_DEPTH … … 251 255 Bool bFirstSliceInView = ( pcSlice->getSPS()->getViewId() != UInt( m_iLastViewId ) || bFirstSliceInAU ); 252 256 AOT( bFirstSliceInAU && pcSlice->getSPS()->getViewId() != 0 ); 257 #if !FLEX_CODING_ORDER //Owieczka 253 258 AOT( !bFirstSliceInAU && pcSlice->getSPS()->getViewId() < UInt( m_iLastViewId ) ); 254 259 AOT( !bFirstSliceInAU && pcSlice->getSPS()->getViewId() > UInt( m_iLastViewId + 1 ) ); 260 #endif 255 261 AOT( !bFirstAU && pcSlice->getSPS()->getViewId() > m_uiMaxViewId ); 256 262 if ( !bFirstSliceInView )
Note: See TracChangeset for help on using the changeset viewer.