Changeset 303 in 3DVCSoftware for branches/HTM-6.0-Mediatek/source/Lib/TLibDecoder
- Timestamp:
- 8 Mar 2013, 16:13:08 (12 years ago)
- Location:
- branches/HTM-6.0-Mediatek/source/Lib/TLibDecoder
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-6.0-Mediatek/source/Lib/TLibDecoder/TDecCAVLC.cpp
r296 r303 1501 1501 if( uiCode ) 1502 1502 { 1503 #if FCO_FIX_SPS_CHANGE 1504 UInt uiViewId, uiCamParPrecision; 1505 Int iVOI; 1506 Bool bCamParSlice; 1507 READ_UVLC( uiCode, "view_id" ); 1508 READ_SVLC( iCode, "view_order_idx" ); 1509 uiViewId = uiCode; 1510 iVOI = iCode; 1511 1512 if ( uiViewId == 0 ) 1513 { 1514 pcSPS->initMultiviewSPSDepth ( uiViewId, iVOI ); 1515 } 1516 else 1517 { 1518 READ_UVLC( uiCamParPrecision, "camera_parameter_precision" ); 1519 READ_FLAG( uiCode, "camera_parameter_in_slice_header" ); bCamParSlice = ( uiCode == 1 ); 1520 if( !bCamParSlice ) 1521 { 1522 for( UInt uiBaseId = 0; uiBaseId < uiViewId; uiBaseId++ ) 1523 { 1524 READ_SVLC( iCode, "coded_scale" ); m_aaiTempScale [ uiBaseId ][ uiViewId ] = iCode; 1525 READ_SVLC( iCode, "coded_offset" ); m_aaiTempOffset[ uiBaseId ][ uiViewId ] = iCode; 1526 READ_SVLC( iCode, "inverse_coded_scale_plus_coded_scale" ); m_aaiTempScale [ uiViewId ][ uiBaseId ] = iCode - m_aaiTempScale [ uiBaseId ][ uiViewId ]; 1527 READ_SVLC( iCode, "inverse_coded_offset_plus_coded_offset" ); m_aaiTempOffset[ uiViewId ][ uiBaseId ] = iCode - m_aaiTempOffset[ uiBaseId ][ uiViewId ]; 1528 } 1529 } 1530 pcSPS->initMultiviewSPSDepth( uiViewId, iVOI, uiCamParPrecision, bCamParSlice, m_aaiTempScale, m_aaiTempOffset ); 1531 1532 } 1533 #else 1503 1534 READ_UVLC( uiCode, "view_id" ); 1504 1535 READ_SVLC( iCode, "view_order_idx" ); 1505 1536 pcSPS->initMultiviewSPSDepth ( uiCode, iCode ); 1537 #endif 1506 1538 #if DEPTH_MAP_GENERATION 1539 #if FCO_FIX_SPS_CHANGE 1540 pcSPS->setPredDepthMapGeneration( uiViewId, true ); 1541 #else 1507 1542 pcSPS->setPredDepthMapGeneration( uiCode, true ); 1543 #endif 1508 1544 #endif 1509 1545 #if H3D_IVRP -
branches/HTM-6.0-Mediatek/source/Lib/TLibDecoder/TDecTop.cpp
r296 r303 193 193 194 194 AOF( pcSlice->getSPS()->getViewId() < MAX_VIEW_NUM ); 195 #if !FCO_FIX // Under flexible coding order, depth may need the camera parameters 195 196 if ( pcSlice->getSPS()->isDepth () ) 196 197 { 197 198 return; 198 199 } 200 #endif 199 201 Bool bFirstAU = ( pcSlice->getPOC() == 0 ); 200 202 Bool bFirstSliceInAU = ( pcSlice->getPOC() != Int ( m_iLastPOC ) ); 201 203 Bool bFirstSliceInView = ( pcSlice->getSPS()->getViewId() != UInt( m_iLastViewId ) || bFirstSliceInAU ); 202 204 AOT( bFirstSliceInAU && pcSlice->getSPS()->getViewId() != 0 ); 205 #if FCO_FIX 206 #else 203 207 AOT( !bFirstSliceInAU && pcSlice->getSPS()->getViewId() < UInt( m_iLastViewId ) ); 208 #endif 204 209 AOT( !bFirstSliceInAU && pcSlice->getSPS()->getViewId() > UInt( m_iLastViewId + 1 ) ); 205 210 AOT( !bFirstAU && pcSlice->getSPS()->getViewId() > m_uiMaxViewId ); … … 1171 1176 } 1172 1177 #endif 1178 1179 #if FCO_DVP_REFINE_C0132_C0170 1180 if(m_bFirstSliceInPicture) 1181 { 1182 pcPic->setDepthCoded(false); 1183 1184 if(m_viewId != 0) 1185 { 1186 if( m_isDepth == 0) 1187 { 1188 TComPic * recDepthMapBuffer; 1189 recDepthMapBuffer = m_tAppDecTop->getPicFromView( m_viewId, pcSlice->getPOC(), true ); 1190 pcPic->setRecDepthMap(recDepthMapBuffer); 1191 1192 if(recDepthMapBuffer != NULL) 1193 { 1194 pcPic->setDepthCoded(true); 1195 } 1196 } 1197 } 1198 } 1199 #endif 1200 1173 1201 1174 1202 #if MERL_VSP_C0152 // set BW LUT
Note: See TracChangeset for help on using the changeset viewer.