Changeset 11 in 3DVCSoftware for branches/0.2-poznan-univ/source/App/TAppDecoder/TAppDecTop.cpp
- Timestamp:
- 5 Feb 2012, 22:00:22 (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/0.2-poznan-univ/source/App/TAppDecoder/TAppDecTop.cpp
r5 r11 163 163 if( eNalUnitType == NAL_UNIT_SPS ) 164 164 { 165 #if POZNAN_SYNTH 166 if(cComSPS.getViewId()==0 && !cComSPS.isDepth()) // it should be called at first view at the begining of the stream 167 initRenderer(cComSPS); 168 #endif 165 169 if( cComSPS.isDepth() && (m_bUsingDepth==false) ) // expected not using depth, but bitstream are using depth 166 170 { // know from sps … … 539 543 return pcRefPic; 540 544 } 545 546 #if POZNAN_SYNTH 547 Void TAppDecTop::initRenderer(TComSPS &cComSPS) 548 { 549 m_cAvailabilityRenderer.init(cComSPS.getWidth(), cComSPS.getHeight(),true,0,LOG2_DISP_PREC_LUT,true, 0,0,0,0,0,6,4,1,0,6 ); //GT: simplest configuration 550 } 551 //* 552 Void TAppDecTop::storeSynthPicsInBuffer(Int iCoddedViewIdx,Int iCoddedViewOrderIdx, Int iCurPoc, Bool bDepth) 553 { 554 Int iLeftViewIdx = -1; 555 Int iRightViewIdx = -1; 556 Int iNearestViewIdx = -1; 557 Bool bIsBaseView; 558 Bool bRenderFromLeft; 559 560 Int iRelDistToLeft = 128; 561 if(iCoddedViewIdx==0) //First on View Coded List 562 { 563 TComPic* pcPic = getPicFromView( iCoddedViewIdx, iCurPoc, false ); 564 return; 565 } 566 iNearestViewIdx = 0; 567 bRenderFromLeft = iCoddedViewOrderIdx>0?true:false; 568 //m_cCamParsCollector.getNearestBaseView(iCoddedViewIdx, iNearestViewIdx, iRelDistToLeft, bRenderFromLeft); 569 570 m_cAvailabilityRenderer.setShiftLUTs( 571 m_cCamParsCollector.getBaseViewShiftLUTD()[iNearestViewIdx][iCoddedViewIdx], 572 m_cCamParsCollector.getBaseViewShiftLUTI()[iNearestViewIdx][iCoddedViewIdx], 573 m_cCamParsCollector.getBaseViewShiftLUTI()[iNearestViewIdx][iCoddedViewIdx], 574 m_cCamParsCollector.getBaseViewShiftLUTD()[iNearestViewIdx][iCoddedViewIdx],//right 575 m_cCamParsCollector.getBaseViewShiftLUTI()[iNearestViewIdx][iCoddedViewIdx], 576 m_cCamParsCollector.getBaseViewShiftLUTI()[iNearestViewIdx][iCoddedViewIdx], 577 iRelDistToLeft 578 ); 579 580 TComPic* pcPic = getPicFromView( iCoddedViewIdx, iCurPoc, bDepth ); 581 582 TComPicYuv* pcPicYuvSynthView = pcPic->getPicYuvSynth(); 583 TComPicYuv* pcPicYuvAvailView = pcPic->getPicYuvAvail(); 584 if(!pcPicYuvSynthView) 585 { 586 pcPic->addSynthesisBuffer(); 587 pcPicYuvSynthView = pcPic->getPicYuvSynth(); 588 } 589 if(!pcPicYuvAvailView) 590 { 591 pcPic->addAvailabilityBuffer(); 592 pcPicYuvAvailView = pcPic->getPicYuvAvail(); 593 } 594 595 //m_cAvailabilityRenderer.extrapolateAvailabilityView( xGetPicFromView( iNearestViewIdx, iCurPoc, false )->getPicYuvRec(), xGetPicFromView( iNearestViewIdx, iCurPoc, true )->getPicYuvRec(), pcPicYuvERView, pcPicYuvAvailView, bRenderFromLeft ); 596 m_cAvailabilityRenderer.extrapolateAvailabilityView( getPicFromView( iNearestViewIdx, iCurPoc, false )->getPicYuvRec(), getPicFromView( iNearestViewIdx, iCurPoc, true )->getPicYuvRec(), pcPicYuvSynthView, pcPicYuvAvailView, bRenderFromLeft ); 597 598 pcPicYuvAvailView->setBorderExtension( false );//Needed?? 599 pcPicYuvAvailView->extendPicBorder();//Needed?? 600 601 #if POZNAN_OUTPUT_AVAILABLE_MAP 602 { 603 Char acFilenameBase[1024]; 604 ::sprintf( acFilenameBase, "Available_%s_%s_V%d.yuv", (bDepth ? "Depth":"Tex"),( true ? "Dec" : "Enc" ), iCoddedViewIdx); 605 pcPicYuvAvailView->dump(acFilenameBase, iCurPoc!=0); 606 } 607 #endif 608 #if POZNAN_OUTPUT_SYNTH 609 { 610 Char acFilenameBase[1024]; 611 ::sprintf( acFilenameBase, "Synth_%s_%s_V%d.yuv", (bDepth ? "Depth":"Tex"),( true ? "Dec" : "Enc" ), iCoddedViewIdx ); 612 pcPicYuvSynthView->dump(acFilenameBase, iCurPoc!=0); 613 } 614 #endif 615 616 } 617 #endif
Note: See TracChangeset for help on using the changeset viewer.