Changeset 1313 in 3DVCSoftware for trunk/source/App/TAppRenderer
- Timestamp:
- 13 Aug 2015, 17:38:13 (9 years ago)
- Location:
- trunk/source/App/TAppRenderer
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/App/TAppRenderer/RendererMain.cpp
r1179 r1313 34 34 35 35 #include <time.h> 36 #include "../../Lib/TLibCommon/ TypeDef.h"37 #if H_3D36 #include "../../Lib/TLibCommon/CommonDef.h" 37 #if NH_3D 38 38 #include "TAppRendererTop.h" 39 39 // ==================================================================================================================== … … 89 89 } 90 90 91 #endif // H_3D91 #endif // NH_3D 92 92 -
trunk/source/App/TAppRenderer/TAppRendererCfg.cpp
r1179 r1313 44 44 #include "../../Lib/TAppCommon/program_options_lite.h" 45 45 46 #if H_3D46 #if NH_3D 47 47 48 48 using namespace std; … … 131 131 ("SynthOutputFile_%d,s_%d", m_pchSynthOutputFileList, (Char *) 0, MAX_OUTPUT_VIEW_NUM, "Synthesized Yuv output file name %d") 132 132 133 ("InputBitDepth", m_inputBitDepth Y, 8, "Bit-depth of input file")134 ("OutputBitDepth", m_outputBitDepth Y, 0, "Bit-depth of output file (default:InternalBitDepth)")135 ("InternalBitDepth", m_internalBitDepth Y, 0, "Bit-depth the renderer operates at. (default:InputBitDepth)" "If different to InputBitDepth, source data will be converted")136 137 ("InputBitDepthC", m_inputBitDepth C, 0, "As per InputBitDepth but for chroma component. (default:InputBitDepth)")138 ("OutputBitDepthC", m_outputBitDepth C, 0, "As per OutputBitDepth but for chroma component. (default:InternalBitDepthC)")139 ("InternalBitDepthC", m_internalBitDepth C, 0, "As per InternalBitDepth but for chroma component. (default:IntrenalBitDepth)")133 ("InputBitDepth", m_inputBitDepth[0], 8, "Bit-depth of input file") 134 ("OutputBitDepth", m_outputBitDepth[0], 0, "Bit-depth of output file (default:InternalBitDepth)") 135 ("InternalBitDepth", m_internalBitDepth[0], 0, "Bit-depth the renderer operates at. (default:InputBitDepth)" "If different to InputBitDepth, source data will be converted") 136 137 ("InputBitDepthC", m_inputBitDepth[1], 0, "As per InputBitDepth but for chroma component. (default:InputBitDepth)") 138 ("OutputBitDepthC", m_outputBitDepth[1], 0, "As per OutputBitDepth but for chroma component. (default:InternalBitDepthC)") 139 ("InternalBitDepthC", m_internalBitDepth[1], 0, "As per InternalBitDepth but for chroma component. (default:IntrenalBitDepth)") 140 140 141 141 /* Source Specification */ … … 186 186 187 187 /* rules for input, output and internal bitdepths as per help text */ 188 if (!m_internalBitDepthY) { m_internalBitDepthY = m_inputBitDepthY; } 189 if (!m_internalBitDepthC) { m_internalBitDepthC = m_internalBitDepthY; } 190 if (!m_inputBitDepthC) { m_inputBitDepthC = m_inputBitDepthY; } 191 if (!m_outputBitDepthY) { m_outputBitDepthY = m_internalBitDepthY; } 192 if (!m_outputBitDepthC) { m_outputBitDepthC = m_internalBitDepthC; } 193 194 xSetGlobal(); 188 if (!m_internalBitDepth[0]) { m_internalBitDepth[0] = m_inputBitDepth[0]; } 189 if (!m_internalBitDepth[1]) { m_internalBitDepth[1] = m_internalBitDepth[0]; } 190 if (!m_inputBitDepth[1]) { m_inputBitDepth[1] = m_inputBitDepth[0]; } 191 if (!m_outputBitDepth[0]) { m_outputBitDepth[0] = m_internalBitDepth[0]; } 192 if (!m_outputBitDepth[1]) { m_outputBitDepth[1] = m_internalBitDepth[1]; } 195 193 196 194 UInt uiInputBitDepth = 8; … … 275 273 276 274 // bit depth 277 xConfirmPara( m_internalBitDepth C != m_internalBitDepthY, "InternalBitDepth for luma and chroma must be equal. ");278 xConfirmPara( m_inputBitDepth Y< 8, "InputBitDepth must be at least 8" );279 xConfirmPara( m_inputBitDepth C< 8, "InputBitDepthC must be at least 8" );275 xConfirmPara( m_internalBitDepth[0] != m_internalBitDepth[1], "InternalBitDepth for luma and chroma must be equal. "); 276 xConfirmPara( m_inputBitDepth[0] < 8, "InputBitDepth must be at least 8" ); 277 xConfirmPara( m_inputBitDepth[1] < 8, "InputBitDepthC must be at least 8" ); 280 278 281 279 // camera specification … … 308 306 309 307 Int iNumNonNULL; 310 for (iNumNonNULL = 0; (iNumNonNULL < m_iNumberOfInputViews) && m_pchDepthInputFileList[iNumNonNULL]; iNumNonNULL++) ; xConfirmPara( iNumNonNULL < m_iNumberOfInputViews, "Number of DepthInputFiles must be greater than or equal to number of BaseViewNumbers" );311 for (iNumNonNULL = 0; (iNumNonNULL < m_iNumberOfInputViews) && m_pchVideoInputFileList[iNumNonNULL]; iNumNonNULL++) ; xConfirmPara( iNumNonNULL < m_iNumberOfInputViews, "Number of DepthInputFiles must be greater than or equal to number of BaseViewNumbers" );308 for (iNumNonNULL = 0; (iNumNonNULL < m_iNumberOfInputViews) && m_pchDepthInputFileList[iNumNonNULL]; iNumNonNULL++) {}; xConfirmPara( iNumNonNULL < m_iNumberOfInputViews, "Number of DepthInputFiles must be greater than or equal to number of BaseViewNumbers" ); 309 for (iNumNonNULL = 0; (iNumNonNULL < m_iNumberOfInputViews) && m_pchVideoInputFileList[iNumNonNULL]; iNumNonNULL++) {}; xConfirmPara( iNumNonNULL < m_iNumberOfInputViews, "Number of DepthInputFiles must be greater than or equal to number of BaseViewNumbers" ); 312 310 313 311 314 312 if ( !m_bSweep ) 315 313 { 316 for (iNumNonNULL = 0; (iNumNonNULL < m_iNumberOfOutputViews) && m_pchSynthOutputFileList[iNumNonNULL]; iNumNonNULL++); xConfirmPara( iNumNonNULL < m_iNumberOfOutputViews, "Number of SynthOutputFiles must be greater than or equal to number of SynthViewNumbers" );314 for (iNumNonNULL = 0; (iNumNonNULL < m_iNumberOfOutputViews) && m_pchSynthOutputFileList[iNumNonNULL]; iNumNonNULL++) {}; xConfirmPara( iNumNonNULL < m_iNumberOfOutputViews, "Number of SynthOutputFiles must be greater than or equal to number of SynthViewNumbers" ); 317 315 } 318 316 else … … 504 502 } 505 503 506 Void TAppRendererCfg::xGetMaxPrecision( std::vector< Int >aiIn, Int& iPrecBefore, Int& iPrecAfter )504 Void TAppRendererCfg::xGetMaxPrecision( IntAry1d aiIn, Int& iPrecBefore, Int& iPrecAfter ) 507 505 { 508 506 iPrecBefore = 0; … … 525 523 } 526 524 527 Void TAppRendererCfg::xSetGlobal()528 {529 // set max CU width & height530 g_uiMaxCUWidth = 0;531 g_uiMaxCUHeight = 0;532 }533 534 525 #endif -
trunk/source/App/TAppRenderer/TAppRendererCfg.h
r1179 r1313 47 47 #include <vector> 48 48 49 #if H_3D49 #if NH_3D 50 50 51 51 // ==================================================================================================================== … … 66 66 67 67 68 // bit-depth ( Currently interal luma and chroma bit-depth are required to be equal. ) 69 Int m_inputBitDepthY; ///< bit-depth of input file (luma component) 70 Int m_inputBitDepthC; ///< bit-depth of input file (chroma component) 71 Int m_outputBitDepthY; ///< bit-depth of output file (luma component) 72 Int m_outputBitDepthC; ///< bit-depth of output file (chroma component) 73 Int m_internalBitDepthY; ///< bit-depth renderer operates at in luma (input/output files will be converted) 74 Int m_internalBitDepthC; ///< bit-depth renderer operates at in chroma (input/output files will be converted) 68 // bit-depth ( Currently internal, output and input luma and chroma bit-depth are required to be equal to 8 ) 69 Int m_inputBitDepth[2]; ///< bit-depth of input file (luma/chroma component) 70 Int m_outputBitDepth[2]; ///< bit-depth of output file (luma/chroma component) 71 Int m_internalBitDepth[2]; ///< bit-depth renderer operates at in luma/chroma (input/output files will be converted) 75 72 76 73 … … 123 120 Void xPrintParameter (); ///< print configuration values 124 121 Void xPrintUsage (); ///< print usage 125 Void xSetGlobal();126 122 127 123 Void xCreateFileNames(); 128 Void xGetMaxPrecision( std::vector< Int >adIn, Int& iPrecBefore, Int& iPrecAfter );124 Void xGetMaxPrecision( IntAry1d adIn, Int& iPrecBefore, Int& iPrecAfter ); 129 125 Void xAddNumberToFileName( Char* pchSourceFileName, Char*& rpchTargetFileName, Int iNumberToAdd, UInt uiPrecBefore, UInt uiPrecAfter ); 130 126 public: … … 142 138 143 139 #endif // __TAppRENDERERCFG__ 144 #endif // H_3D140 #endif // NH_3D -
trunk/source/App/TAppRenderer/TAppRendererTop.cpp
r1179 r1313 41 41 #include "TAppRendererTop.h" 42 42 43 #if H_3D43 #if NH_3D 44 44 45 45 // ==================================================================================================================== … … 67 67 TVideoIOYuv* pcDepthInput = new TVideoIOYuv; 68 68 69 pcVideoInput->open( m_pchVideoInputFileList[iViewIdx], false, m_inputBitDepthY, m_inputBitDepthC, m_internalBitDepthY, m_internalBitDepthC); // read mode 70 pcDepthInput->open( m_pchDepthInputFileList[iViewIdx], false, m_inputBitDepthY, m_inputBitDepthC, m_internalBitDepthY, m_internalBitDepthC ); // read mode 71 pcVideoInput->skipFrames(m_iFrameSkip, m_iSourceWidth, m_iSourceHeight ); 72 pcDepthInput->skipFrames(m_iFrameSkip, m_iSourceWidth, m_iSourceHeight ); 69 // ( Char* pchFile, Bool bWriteMode, const Int fileBitDepth[MAX_NUM_CHANNEL_TYPE], const Int MSBExtendedBitDepth[MAX_NUM_CHANNEL_TYPE], const Int internalBitDepth[MAX_NUM_CHANNEL_TYPE] ) 70 71 pcVideoInput->open( m_pchVideoInputFileList[iViewIdx], false, m_inputBitDepth, m_internalBitDepth, m_internalBitDepth ); // read mode 72 pcDepthInput->open( m_pchDepthInputFileList[iViewIdx], false, m_inputBitDepth, m_internalBitDepth, m_internalBitDepth ); // read mode 73 pcVideoInput->skipFrames(m_iFrameSkip, m_iSourceWidth, m_iSourceHeight, CHROMA_420 ); 74 pcDepthInput->skipFrames(m_iFrameSkip, m_iSourceWidth, m_iSourceHeight, CHROMA_420 ); 73 75 74 76 m_apcTVideoIOYuvVideoInput.push_back( pcVideoInput ); … … 79 81 { 80 82 TVideoIOYuv* pcSynthOutput = new TVideoIOYuv; 81 pcSynthOutput->open( m_pchSynthOutputFileList[iViewIdx], true, m_outputBitDepth Y, m_outputBitDepthC, m_internalBitDepthY, m_internalBitDepthC); // write mode83 pcSynthOutput->open( m_pchSynthOutputFileList[iViewIdx], true, m_outputBitDepth, m_internalBitDepth, m_internalBitDepth ); // write mode 82 84 m_apcTVideoIOYuvSynthOutput.push_back( pcSynthOutput ); 83 85 } … … 148 150 Int aiPad[2] = { 0, 0 }; 149 151 152 TComPicYuv* pcNewOrg = new TComPicYuv; 153 pcNewOrg->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 154 150 155 for ( UInt uiBaseView = 0; uiBaseView < m_iNumberOfInputViews; uiBaseView++ ) 151 156 { … … 153 158 TComPicYuv* pcNewDepthPic = new TComPicYuv; 154 159 155 pcNewVideoPic->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);160 pcNewVideoPic->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 156 161 apcPicYuvBaseVideo.push_back(pcNewVideoPic); 157 162 158 pcNewDepthPic->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);163 pcNewDepthPic->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true); 159 164 apcPicYuvBaseDepth.push_back(pcNewDepthPic); 160 165 … … 165 170 pcNewDepthPic = new TComPicYuv; 166 171 167 pcNewVideoPic->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);172 pcNewVideoPic->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 168 173 apcPicYuvLastBaseVideo.push_back(pcNewVideoPic); 169 174 170 pcNewDepthPic->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);175 pcNewDepthPic->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 171 176 apcPicYuvLastBaseDepth.push_back(pcNewDepthPic); 172 177 } … … 175 180 // Create Buffer for synthesized View 176 181 TComPicYuv* pcPicYuvSynthOut = new TComPicYuv; 177 pcPicYuvSynthOut->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);182 pcPicYuvSynthOut->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 178 183 179 184 Bool bAnyEOS = false; … … 189 194 for(Int iBaseViewIdx=0; iBaseViewIdx < m_iNumberOfInputViews; iBaseViewIdx++ ) 190 195 { 191 m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], aiPad) ;196 m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx],pcNewOrg, IPCOLOURSPACE_UNCHANGED, aiPad, CHROMA_420 ) ; 192 197 193 198 apcPicYuvBaseVideo[iBaseViewIdx]->extendPicBorder(); … … 195 200 bAnyEOS |= m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->isEof(); 196 201 197 m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], aiPad) ;202 m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx],pcNewOrg, IPCOLOURSPACE_UNCHANGED, aiPad, CHROMA_420 ) ; 198 203 apcPicYuvBaseDepth[iBaseViewIdx]->extendPicBorder(); 199 204 bAnyEOS |= m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->isEof(); … … 428 433 // Write Output 429 434 430 m_apcTVideoIOYuvSynthOutput[m_bSweep ? 0 : iSynthViewIdx]->write( pcPicYuvSynthOut, 0, 0, 0,0 );435 m_apcTVideoIOYuvSynthOutput[m_bSweep ? 0 : iSynthViewIdx]->write( pcPicYuvSynthOut, IPCOLOURSPACE_UNCHANGED, 0, 0, 0, 0, CHROMA_420 ); 431 436 } 432 437 iFrame++; … … 435 440 436 441 // Delete Buffers 442 pcNewOrg->destroy(); 443 delete pcNewOrg; 444 437 445 for ( UInt uiBaseView = 0; uiBaseView < m_iNumberOfInputViews; uiBaseView++ ) 438 446 { … … 468 476 render(); 469 477 break; 470 #if H_3D_VSO478 #if NH_3D_VSO 471 479 case 1: 472 480 renderModel(); … … 490 498 } 491 499 492 #if H_3D_VSO500 #if NH_3D_VSO 493 501 Void TAppRendererTop::renderModel() 494 502 { … … 520 528 TComPicYuv* pcNewDepthPic = new TComPicYuv; 521 529 522 pcNewVideoPic->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);530 pcNewVideoPic->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 523 531 apcPicYuvBaseVideo.push_back(pcNewVideoPic); 524 532 525 pcNewDepthPic->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);533 pcNewDepthPic->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 526 534 apcPicYuvBaseDepth.push_back(pcNewDepthPic); 527 535 } 528 536 529 537 Int aiPad[2] = { 0, 0 }; 538 TComPicYuv* pcNewOrg = new TComPicYuv; 539 pcNewOrg->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 530 540 531 541 // Init Model … … 550 560 m_cRenModStrParser.getSingleModelData ( iViewIdx, 1, iCurModel, iModelNum, iBlendMode, iLeftViewNum, iRightViewNum, iOrgRefNum, iDump ) ; 551 561 cCurModel .createSingleModel ( iViewIdx, 1, iModelNum, iLeftViewNum, iRightViewNum, false, iBlendMode ); 552 553 562 } 554 563 } … … 556 565 // Create Buffer for synthesized View 557 566 TComPicYuv* pcPicYuvSynthOut = new TComPicYuv; 558 pcPicYuvSynthOut->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);567 pcPicYuvSynthOut->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 559 568 560 569 Bool bAnyEOS = false; … … 571 580 for(Int iBaseViewIdx=0; iBaseViewIdx < m_iNumberOfInputViews; iBaseViewIdx++ ) 572 581 { 573 m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], aiPad) ;582 m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], pcNewOrg, IPCOLOURSPACE_UNCHANGED, aiPad, CHROMA_420 ) ; 574 583 bAnyEOS |= m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->isEof(); 575 584 576 m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], aiPad) ;585 m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], pcNewOrg, IPCOLOURSPACE_UNCHANGED, aiPad, CHROMA_420 ) ; 577 586 bAnyEOS |= m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->isEof(); 578 587 } … … 672 681 673 682 // Write Output 674 m_apcTVideoIOYuvSynthOutput[m_bSweep ? 0 : iModelNum]->write( pcPicYuvSynthOut, 0 ,0 ,0,0 );683 m_apcTVideoIOYuvSynthOutput[m_bSweep ? 0 : iModelNum]->write( pcPicYuvSynthOut, IPCOLOURSPACE_UNCHANGED, 0 ,0 ,0, 0, CHROMA_420 ); 675 684 } 676 685 } … … 706 715 707 716 Int aiPad[2] = { 0, 0 }; 717 TComPicYuv* pcNewOrg = new TComPicYuv; 718 pcNewOrg->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 719 708 720 709 721 // Init Model … … 711 723 712 724 AOT( m_iLog2SamplingFactor != 0 ); 713 cCurModel.setupPart( 0, m_iSourceHeight ); 725 714 726 #if H_3D_VSO_EARLY_SKIP 715 727 cCurModel.create( m_iNumberOfInputViews, m_iNumberOfOutputViews, m_iSourceWidth, m_iSourceHeight, m_iShiftPrecision, m_iBlendHoleMargin, false ); … … 717 729 cCurModel.create( m_iNumberOfInputViews, m_iNumberOfOutputViews, m_iSourceWidth, m_iSourceHeight, m_iShiftPrecision, m_iBlendHoleMargin ); 718 730 #endif 731 cCurModel.setupPart( 0, m_iSourceHeight ); 719 732 720 733 for ( UInt uiBaseView = 0; uiBaseView < m_iNumberOfInputViews; uiBaseView++ ) … … 723 736 TComPicYuv* pcNewDepthPic = new TComPicYuv; 724 737 725 pcNewVideoPic->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);738 pcNewVideoPic->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 726 739 apcPicYuvBaseVideo.push_back(pcNewVideoPic); 727 740 728 pcNewDepthPic->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);741 pcNewDepthPic->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 729 742 apcPicYuvBaseDepth.push_back(pcNewDepthPic); 730 743 } … … 768 781 // Create Buffer for synthesized View 769 782 TComPicYuv* pcPicYuvSynthOut = new TComPicYuv; 770 pcPicYuvSynthOut->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);783 pcPicYuvSynthOut->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 771 784 772 785 Bool bAnyEOS = false; … … 783 796 for(Int iBaseViewIdx=0; iBaseViewIdx < m_iNumberOfInputViews; iBaseViewIdx++ ) 784 797 { 785 m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], aiPad) ;798 m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], pcNewOrg, IPCOLOURSPACE_UNCHANGED, aiPad, CHROMA_420 ) ; 786 799 bAnyEOS |= m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->isEof(); 787 800 788 m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], aiPad) ;801 m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], pcNewOrg, IPCOLOURSPACE_UNCHANGED, aiPad, CHROMA_420 ) ; 789 802 bAnyEOS |= m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->isEof(); 790 803 … … 871 884 872 885 // Write Output 873 m_apcTVideoIOYuvSynthOutput[m_bSweep ? 0 : iSynthViewIdx]->write( pcPicYuvSynthOut, 0, 0, 0,0 );886 m_apcTVideoIOYuvSynthOutput[m_bSweep ? 0 : iSynthViewIdx]->write( pcPicYuvSynthOut, IPCOLOURSPACE_UNCHANGED, 0 ,0 ,0, 0, CHROMA_420 ); 874 887 } 875 888 iFrame++; … … 909 922 Int aiPad[2] = { 0, 0 }; 910 923 924 TComPicYuv* pcNewOrg = new TComPicYuv; 925 pcNewOrg->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 926 911 927 for ( UInt uiBaseView = 0; uiBaseView < m_iNumberOfInputViews; uiBaseView++ ) 912 928 { … … 914 930 TComPicYuv* pcNewDepthPic = new TComPicYuv; 915 931 916 pcNewVideoPic->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);932 pcNewVideoPic->create( m_iSourceWidth, m_iSourceHeight,CHROMA_420, 1, 1, 1, true ); 917 933 apcPicYuvBaseVideo.push_back(pcNewVideoPic); 918 934 919 pcNewDepthPic->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);935 pcNewDepthPic->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1, true ); 920 936 apcPicYuvBaseDepth.push_back(pcNewDepthPic); 937 921 938 922 939 //Temporal improvement Filter … … 926 943 pcNewDepthPic = new TComPicYuv; 927 944 928 pcNewVideoPic->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);945 pcNewVideoPic->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1, 1 , true); 929 946 apcPicYuvLastBaseVideo.push_back(pcNewVideoPic); 930 947 931 pcNewDepthPic->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);948 pcNewDepthPic->create( m_iSourceWidth, m_iSourceHeight,CHROMA_420, 1, 1, 1 , true); 932 949 apcPicYuvLastBaseDepth.push_back(pcNewDepthPic); 933 950 } … … 936 953 // Create Buffer for synthesized View 937 954 TComPicYuv* pcPicYuvSynthOut = new TComPicYuv; 938 pcPicYuvSynthOut->create( m_iSourceWidth, m_iSourceHeight, 1, 1, 1);955 pcPicYuvSynthOut->create( m_iSourceWidth, m_iSourceHeight, CHROMA_420, 1, 1 ,1, true); 939 956 940 957 Bool bAnyEOS = false; … … 950 967 for(Int iBaseViewIdx=0; iBaseViewIdx < m_iNumberOfInputViews; iBaseViewIdx++ ) 951 968 { 952 m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], aiPad) ;969 m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->read( apcPicYuvBaseVideo[iBaseViewIdx], pcNewOrg, IPCOLOURSPACE_UNCHANGED, aiPad, CHROMA_420 ) ; 953 970 apcPicYuvBaseVideo[iBaseViewIdx]->extendPicBorder(); 954 971 bAnyEOS |= m_apcTVideoIOYuvVideoInput[iBaseViewIdx]->isEof(); 955 972 956 m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], aiPad) ;973 m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->read( apcPicYuvBaseDepth[iBaseViewIdx], pcNewOrg, IPCOLOURSPACE_UNCHANGED, aiPad, CHROMA_420 ) ; 957 974 apcPicYuvBaseDepth[iBaseViewIdx]->extendPicBorder(); 958 975 bAnyEOS |= m_apcTVideoIOYuvDepthInput[iBaseViewIdx]->isEof(); … … 997 1014 998 1015 // Write Output 999 m_apcTVideoIOYuvSynthOutput[iViewIdx-1]->write( pcPicYuvSynthOut, 0, 0,0 );1016 m_apcTVideoIOYuvSynthOutput[iViewIdx-1]->write( pcPicYuvSynthOut, IPCOLOURSPACE_UNCHANGED, 0, 0, 0, 0, CHROMA_420 ); 1000 1017 1001 1018 } … … 1005 1022 1006 1023 // Delete Buffers 1024 1025 pcNewOrg->destroy(); 1026 delete pcNewOrg; 1027 1007 1028 for ( UInt uiBaseView = 0; uiBaseView < m_iNumberOfInputViews; uiBaseView++ ) 1008 1029 { -
trunk/source/App/TAppRenderer/TAppRendererTop.h
r1179 r1313 39 39 #ifndef __TAppRendererTOP__ 40 40 #define __TAppRendererTOP__ 41 #include "../../Lib/TLibCommon/ TypeDef.h"42 #if H_3D41 #include "../../Lib/TLibCommon/CommonDef.h" 42 #if NH_3D 43 43 #include "../../Lib/TLibRenderer/TRenTop.h" 44 44 #include "../../Lib/TLibVideoIO/TVideoIOYuv.h" … … 68 68 Void xInitLib (); ///< initialize renderer class 69 69 Void xDestroyLib (); ///< destroy renderer class and video io 70 #if H_3D_VSO70 #if NH_3D_VSO 71 71 Void xRenderModelFromString(); ///< render using model using setup string 72 72 Void xRenderModelFromNums(); ///< render using model using synth view numbers … … 78 78 79 79 Void render (); ///< main encoding function 80 #if H_3D_VSO80 #if NH_3D_VSO 81 81 Void renderModel (); 82 82 #endif … … 87 87 88 88 89 #endif // H_3D89 #endif // NH_3D 90 90 #endif // __TAppRendererTOP__
Note: See TracChangeset for help on using the changeset viewer.