Changeset 730 in 3DVCSoftware for branches/HTM-9.0-dev0/source/App/TAppEncoder/TAppEncCfg.cpp
- Timestamp:
- 9 Dec 2013, 17:16:03 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-9.0-dev0/source/App/TAppEncoder/TAppEncCfg.cpp
r724 r730 391 391 ("VpsNumLayerSets", m_vpsNumLayerSets , 1 , "Number of layer sets") 392 392 ("LayerIdsInSet_%d", m_layerIdsInSets , std::vector<Int>(1,0), MAX_VPS_OP_SETS_PLUS1 ,"LayerIds of Layer set") 393 #if H_MV_6_PS_0109_25 394 ("DefaultOneTargetOutputLayerFlag" , m_defaultOneTargetOutputLayerIdc , 0, "Output highest layer of layer sets by default") 395 #else 393 396 ("DefaultOneTargetOutputLayerFlag", m_defaultOneTargetOutputLayerFlag, false , "Output highest layer of layer sets by default") 397 #endif 394 398 ("OutputLayerSetIdx", m_outputLayerSetIdx , std::vector<Int>(0,0), "Indices of layer sets used as additional output layer sets") 395 399 ("LayerIdsInAddOutputLayerSet_%d", m_layerIdsInAddOutputLayerSet , std::vector<Int>(1,0), MAX_VPS_ADD_OUTPUT_LAYER_SETS, "LayerIds of additional output layers") … … 448 452 ("QuadtreeTUMaxDepthInter", m_uiQuadtreeTUMaxDepthInter, 2u, "Depth of TU tree for inter CUs") 449 453 450 // Coding structure paramters 454 // Coding structure parameters 455 #if H_MV_LAYER_WISE_STARTUP 456 ("IntraPeriod,-ip", m_iIntraPeriod,std::vector<Int>(1,-1), "Intra period in frames, (-1: only first frame), per layer") 457 #else 451 458 ("IntraPeriod,-ip", m_iIntraPeriod, -1, "Intra period in frames, (-1: only first frame)") 459 #endif 452 460 ("DecodingRefreshType,-dr", m_iDecodingRefreshType, 0, "Intra refresh type (0:none 1:CRA 2:IDR)") 453 461 ("GOPSize,g", m_iGOPSize, 1, "GOP size of temporal structure") … … 624 632 625 633 #if H_MV 634 635 #if H_MV_6_HRD_O0217_13 636 // DBP Size 637 ("SubLayerFlagInfoPresentFlag", m_subLayerFlagInfoPresentFlag , false , "SubLayerFlagInfoPresentFlag") 638 #endif 626 639 // VPS VUI 627 640 ("VpsVuiPresentFlag" , m_vpsVuiPresentFlag , false , "VpsVuiPresentFlag ") 641 #if H_MV_6_PS_O0223_29 642 ("CrossLayerPicTypeAlignedFlag", m_crossLayerPicTypeAlignedFlag, false , "CrossLayerPicTypeAlignedFlag") // Could actually be derived by the encoder 643 ("CrossLayerIrapAlignedFlag" , m_crossLayerIrapAlignedFlag , false , "CrossLayerIrapAlignedFlag ") // Could actually be derived by the encoder 644 #endif 628 645 ("BitRatePresentVpsFlag" , m_bitRatePresentVpsFlag , false , "BitRatePresentVpsFlag ") 629 646 ("PicRatePresentVpsFlag" , m_picRatePresentVpsFlag , false , "PicRatePresentVpsFlag ") … … 634 651 ("ConstantPicRateIdc" , m_constantPicRateIdc , std::vector< Int >(1,0) ,MAX_VPS_OP_SETS_PLUS1, "ConstantPicRateIdc per sub layer for the N-th layer set") 635 652 ("AvgPicRate" , m_avgPicRate , std::vector< Int >(1,0) ,MAX_VPS_OP_SETS_PLUS1, "AvgPicRate per sub layer for the N-th layer set") 653 #if H_MV_6_O0226_37 654 ("TilesNotInUseFlag" , m_tilesNotInUseFlag , true , "TilesNotInUseFlag ") 655 ("TilesInUseFlag" , m_tilesInUseFlag , std::vector< Bool >(1,false) , "TilesInUseFlag ") 656 ("LoopFilterNotAcrossTilesFlag" , m_loopFilterNotAcrossTilesFlag , std::vector< Bool >(1,false) , "LoopFilterNotAcrossTilesFlag ") 657 ("WppNotInUseFlag" , m_wppNotInUseFlag , true , "WppNotInUseFlag ") 658 ("WppInUseFlag" , m_wppInUseFlag , std::vector< Bool >(1,0) , "WppInUseFlag ") 659 #endif 636 660 ("TileBoundariesAlignedFlag" , m_tileBoundariesAlignedFlag , std::vector< Bool >(1,0) ,MAX_NUM_LAYERS , "TileBoundariesAlignedFlag per direct reference for the N-th layer") 637 661 ("IlpRestrictedRefLayersFlag" , m_ilpRestrictedRefLayersFlag , false , "IlpRestrictedRefLayersFlag") … … 1050 1074 xResizeVector( m_bLoopFilterDisable ); 1051 1075 xResizeVector( m_bUseSAO ); 1052 1076 #if H_MV_LAYER_WISE_STARTUP 1077 xResizeVector( m_iIntraPeriod ); 1078 #endif 1079 #if H_MV_6_O0226_37 1080 xResizeVector( m_tilesInUseFlag ); 1081 xResizeVector( m_loopFilterNotAcrossTilesFlag ); 1082 xResizeVector( m_wppInUseFlag ); 1083 #endif 1053 1084 #else 1054 1085 m_aidQP = new Int[ m_framesToBeEncoded + m_iGOPSize + 1 ]; … … 1395 1426 for ( Int i = 0; i < m_layerIdsInSets[lsIdx].size(); i++ ) 1396 1427 { 1428 #if H_MV_6_LAYER_ID_32 1429 xConfirmPara( m_layerIdsInSets[lsIdx][i] < 0 || m_layerIdsInSets[lsIdx].size() >= MAX_NUM_LAYER_IDS, "LayerIdsInSet must be greater than and less than MAX_NUM_LAYER_IDS" ); 1430 #else 1397 1431 xConfirmPara( m_layerIdsInSets[lsIdx][i] < 0 || m_layerIdsInSets[lsIdx].size() >= MAX_NUM_LAYER_IDS, "LayerIdsInSet must be greater than and less than 64" ); 1432 #endif 1398 1433 } 1399 1434 } … … 1420 1455 } 1421 1456 } 1457 1458 #if H_MV_6_PS_0109_25 1459 xConfirmPara( m_defaultOneTargetOutputLayerIdc < 0 || m_defaultOneTargetOutputLayerIdc > 1, "Default one target output layer idc must be equal to 0 or equal to 1" ); 1460 #endif 1422 1461 xConfirmPara( m_profileLevelTierIdx.size() < m_vpsNumLayerSets + m_outputLayerSetIdx.size(), "The number of Profile Level Tier indices must be equal to the number of layer set plus the number of output layer set indices" ); 1423 1462 … … 1436 1475 xConfirmPara( m_iGOPSize < 1 , "GOP Size must be greater or equal to 1" ); 1437 1476 xConfirmPara( m_iGOPSize > 1 && m_iGOPSize % 2, "GOP Size must be a multiple of 2, if GOP Size is greater than 1" ); 1477 #if H_MV_LAYER_WISE_STARTUP 1478 for( Int layer = 0; layer < m_numberOfLayers; layer++ ) 1479 { 1480 xConfirmPara( (m_iIntraPeriod[layer] > 0 && m_iIntraPeriod[layer] < m_iGOPSize) || m_iIntraPeriod[layer] == 0, "Intra period must be more than GOP size, or -1 , not 0" ); 1481 } 1482 #else 1438 1483 xConfirmPara( (m_iIntraPeriod > 0 && m_iIntraPeriod < m_iGOPSize) || m_iIntraPeriod == 0, "Intra period must be more than GOP size, or -1 , not 0" ); 1484 #endif 1439 1485 xConfirmPara( m_iDecodingRefreshType < 0 || m_iDecodingRefreshType > 2, "Decoding Refresh Type must be equal to 0, 1 or 2" ); 1440 1486 #if H_MV … … 1462 1508 if (m_iDecodingRefreshType == 2) 1463 1509 { 1510 #if H_MV_LAYER_WISE_STARTUP 1511 for (Int i = 0; i < m_numberOfLayers; i++ ) 1512 { 1513 xConfirmPara( m_iIntraPeriod[i] > 0 && m_iIntraPeriod[i] <= m_iGOPSize , "Intra period must be larger than GOP size for periodic IDR pictures"); 1514 } 1515 #else 1464 1516 xConfirmPara( m_iIntraPeriod > 0 && m_iIntraPeriod <= m_iGOPSize , "Intra period must be larger than GOP size for periodic IDR pictures"); 1517 #endif 1465 1518 } 1466 1519 xConfirmPara( (m_uiMaxCUWidth >> m_uiMaxCUDepth) < 4, "Minimum partition width size should be larger than or equal to 8"); … … 1721 1774 /* if this is an intra-only sequence, ie IntraPeriod=1, don't verify the GOP structure 1722 1775 * This permits the ability to omit a GOP structure specification */ 1776 #if H_MV_LAYER_WISE_STARTUP 1777 if (m_iIntraPeriod[layer] == 1 && m_GOPList[0].m_POC == -1) { 1778 #else 1723 1779 if (m_iIntraPeriod == 1 && m_GOPList[0].m_POC == -1) { 1780 #endif 1724 1781 m_GOPList[0] = GOPEntry(); 1725 1782 m_GOPList[0].m_QPFactor = 1; … … 1746 1803 } 1747 1804 Int numOK=0; 1805 #if H_MV_LAYER_WISE_STARTUP 1806 xConfirmPara( m_iIntraPeriod[layer] >=0&&(m_iIntraPeriod[layer]%m_iGOPSize!=0), "Intra period must be a multiple of GOPSize, or -1" ); 1807 #else 1748 1808 xConfirmPara( m_iIntraPeriod >=0&&(m_iIntraPeriod%m_iGOPSize!=0), "Intra period must be a multiple of GOPSize, or -1" ); 1809 #endif 1749 1810 1750 1811 for(Int i=0; i<m_iGOPSize; i++) … … 1757 1818 1758 1819 #if H_MV 1820 #if H_MV_LAYER_WISE_STARTUP 1821 if ( (m_iIntraPeriod[layer] != 1) && !m_loopFilterOffsetInPPS && m_DeblockingFilterControlPresent && (!m_bLoopFilterDisable[layer]) ) 1822 #else 1759 1823 if ( (m_iIntraPeriod != 1) && !m_loopFilterOffsetInPPS && m_DeblockingFilterControlPresent && (!m_bLoopFilterDisable[layer]) ) 1824 #endif 1760 1825 #else 1761 1826 if ( (m_iIntraPeriod != 1) && !m_loopFilterOffsetInPPS && m_DeblockingFilterControlPresent && (!m_bLoopFilterDisable) ) … … 2282 2347 printf("Min PCM size : %d\n", 1 << m_uiPCMLog2MinSize); 2283 2348 printf("Motion search range : %d\n", m_iSearchRange ); 2349 #if H_MV_LAYER_WISE_STARTUP 2350 xPrintParaVector( "Intra period", m_iIntraPeriod ); 2351 #else 2284 2352 printf("Intra period : %d\n", m_iIntraPeriod ); 2353 #endif 2285 2354 printf("Decoding refresh type : %d\n", m_iDecodingRefreshType ); 2286 2355 #if !H_MV
Note: See TracChangeset for help on using the changeset viewer.