Changeset 210 in 3DVCSoftware for trunk/source/App/TAppEncoder/TAppEncCfg.cpp
- Timestamp:
- 11 Dec 2012, 18:52:43 (12 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/App/TAppEncoder/TAppEncCfg.cpp
r189 r210 111 111 if (m_pchBitstreamFile != NULL) 112 112 free (m_pchBitstreamFile) ; 113 #if FLEX_CODING_ORDER_M23723 114 if (m_pchMVCJointCodingOrder != NULL) 115 { 116 free(m_pchMVCJointCodingOrder) ; 117 } 118 #endif 113 119 #if HHI_VSO 114 120 if ( m_pchVSOConfig != NULL) … … 203 209 string cfg_RowHeight; 204 210 string cfg_ScalingListFile; 211 212 #if FLEX_CODING_ORDER_M23723 213 string cfg_JointCodingOrdering; 214 #endif 215 205 216 po::Options opts; 206 217 opts.addOptions() … … 246 257 247 258 ("NumberOfViews", m_iNumberOfViews, 0, "Number of views") 259 #if FLEX_CODING_ORDER_M23723 260 ("FCO", m_b3DVFlexOrder, false, "flexible coding order flag" ) 261 ("FCOCodingOrder", cfg_JointCodingOrdering, string(""), "The coding order for joint texture-depth coding") 262 #endif 248 263 /* Unit definition parameters */ 249 264 ("MaxCUWidth", m_uiMaxCUWidth, 64u) … … 276 291 ("FastSearch", m_iFastSearch, 1, "0:Full search 1:Diamond 2:PMVFAST") 277 292 ("SearchRange,-sr",m_iSearchRange, 96, "motion search range") 293 #if DV_V_RESTRICTION_B0037 294 ("DisparitySearchRangeRestriction",m_bUseDisparitySearchRangeRestriction, false, "restrict disparity search range") 295 ("VerticalDisparitySearchRange",m_iVerticalDisparitySearchRange, 56, "vertical disparity search range") 296 #endif 278 297 ("BipredSearchRange", m_bipredSearchRange, 4, "motion search range for bipred refinement") 279 298 ("HadamardME", m_bUseHADME, true, "hadamard ME for fractional-pel") … … 329 348 /* Camera Paremetes */ 330 349 ("CameraParameterFile,cpf", m_pchCameraParameterFile, (Char *) 0, "Camera Parameter File Name") 350 #if QC_MVHEVC_B0046 351 ("BaseViewCameraNumbers" , m_aiVId, std::vector<Int>(1, MAX_VIEW_NUM), "Numbers of base views") 352 #endif 331 353 ("BaseViewCameraNumbers" , m_pchBaseViewCameraNumbers, (Char *) 0, "Numbers of base views") 332 354 … … 526 548 m_pchBitstreamFile = cfg_BitstreamFile.empty() ? NULL : strdup(cfg_BitstreamFile.c_str()); 527 549 m_pchdQPFile = cfg_dQPFile.empty() ? NULL : strdup(cfg_dQPFile.c_str()); 528 550 #if FLEX_CODING_ORDER_M23723 551 m_pchMVCJointCodingOrder= cfg_JointCodingOrdering.empty()?NULL:strdup(cfg_JointCodingOrdering.c_str()); 552 // If flexible order is enabled and if depth comes before the texture for a view, disable VSO 553 #if HHI_VSO && DISABLE_FCO_FOR_VSO 554 Bool depthComesFirst = false; 555 int iter = 0; 556 if ( m_b3DVFlexOrder ) 557 { 558 for(Int iViewIdx=0; iViewIdx<m_iNumberOfViews; iViewIdx++) 559 { 560 iter = 0; 561 for ( Int ii=1; ii<12; ii+=2 ) 562 { 563 Int iViewIdxCfg = (Int)(m_pchMVCJointCodingOrder[ii]-'0'); 564 if ( iViewIdxCfg == iViewIdx ) 565 { 566 iter ++; 567 if ( m_pchMVCJointCodingOrder[ii-1]=='D' ) // depth comes first for this view 568 { 569 if(iter == 1) 570 { 571 depthComesFirst = true; 572 break; 573 } 574 } 575 else 576 { 577 assert(m_pchMVCJointCodingOrder[ii-1]=='T'); 578 } 579 } 580 } 581 } 582 } 583 if (depthComesFirst) 584 { 585 m_bUseVSO = false; 586 } 587 #endif 588 #endif 529 589 m_pchColumnWidth = cfg_ColumnWidth.empty() ? NULL: strdup(cfg_ColumnWidth.c_str()); 530 590 m_pchRowHeight = cfg_RowHeight.empty() ? NULL : strdup(cfg_RowHeight.c_str()); … … 786 846 } 787 847 #else 848 #if !QC_MVHEVC_B0046 788 849 m_cCameraData .init ( (UInt)m_iNumberOfViews, 789 850 m_uiInputBitDepth, … … 797 858 LOG2_DISP_PREC_LUT ); 798 859 #endif 860 #endif 799 861 800 862 801 863 // check validity of input parameters 802 864 xCheckParameter(); 865 #if !QC_MVHEVC_B0046 803 866 m_cCameraData.check( false, true ); 804 867 #endif 805 868 // print-out parameters 806 869 xPrintParameter(); … … 850 913 xConfirmPara( m_iFastSearch < 0 || m_iFastSearch > 2, "Fast Search Mode is not supported value (0:Full search 1:Diamond 2:PMVFAST)" ); 851 914 xConfirmPara( m_iSearchRange < 0 , "Search Range must be more than 0" ); 915 #if DV_V_RESTRICTION_B0037 916 xConfirmPara( m_iVerticalDisparitySearchRange <= 0 , "Vertical Disparity Search Range must be more than 0" ); 917 #endif 852 918 xConfirmPara( m_bipredSearchRange < 0 , "Search Range must be more than 0" ); 853 919 xConfirmPara( m_iMaxDeltaQP > 7, "Absolute Delta QP exceeds supported range (0 to 7)" ); … … 1595 1661 printf("Min PCM size : %d\n", 1 << m_uiPCMLog2MinSize); 1596 1662 printf("Motion search range : %d\n", m_iSearchRange ); 1663 #if DV_V_RESTRICTION_B0037 1664 printf("Disp search range restriction: %d\n", m_bUseDisparitySearchRangeRestriction ); 1665 printf("Vertical disp search range : %d\n", m_iVerticalDisparitySearchRange ); 1666 #endif 1597 1667 printf("Intra period : %d\n", m_iIntraPeriod ); 1598 1668 printf("Decoding refresh type : %d\n", m_iDecodingRefreshType ); … … 1745 1815 #if TMVP_DEPTH_SWITCH 1746 1816 printf("TMVP:%d ", (m_enableTMVP[1] ? 1 : 0) ); 1817 #endif 1818 #if FLEX_CODING_ORDER_M23723 1819 printf("FCO:%d ", (m_b3DVFlexOrder ? 1: 0)); 1820 1821 if(m_b3DVFlexOrder) 1822 { 1823 printf("CodingOrder: %s ", m_pchMVCJointCodingOrder); 1824 } 1747 1825 #endif 1748 1826 #if HHI_VSO
Note: See TracChangeset for help on using the changeset viewer.