Changeset 766 in 3DVCSoftware for branches/HTM-9.2-dev0/source/Lib/TLibCommon
- Timestamp:
- 12 Jan 2014, 03:29:17 (11 years ago)
- Location:
- branches/HTM-9.2-dev0/source/Lib/TLibCommon
- Files:
-
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComRom.cpp
r764 r766 573 573 #if H_MV_ENC_DEC_TRAC 574 574 #if ENC_DEC_TRACE 575 #if H_MV_FIX_TRACE_FILE576 575 Void writeToTraceFile( const Char* symbolName, Int val, Bool doIt ) 577 #else578 Void writeToTraceFile( Char* symbolName, Int val, Bool doIt )579 #endif580 576 { 581 577 if ( ( ( g_nSymbolCounter >= COUNTER_START && g_nSymbolCounter <= COUNTER_END )|| g_bJustDoIt ) && doIt ) … … 592 588 } 593 589 594 #if H_MV_FIX_TRACE_FILE595 590 Void writeToTraceFile( const Char* symbolName, Bool doIt ) 596 #else597 Void writeToTraceFile( Char* symbolName, Bool doIt )598 #endif599 591 { 600 592 if ( ( ( g_nSymbolCounter >= COUNTER_START && g_nSymbolCounter <= COUNTER_END )|| g_bJustDoIt ) && doIt ) -
branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComRom.h
r764 r766 233 233 234 234 235 #if H_MV_FIX_TRACE_FILE236 235 Void writeToTraceFile( const Char* symbolName, Int val, Bool doIt ); 237 236 Void writeToTraceFile( const Char* symbolName, Bool doIt ); 238 #else239 Void writeToTraceFile( Char* symbolName, Int val, Bool doIt );240 Void writeToTraceFile( Char* symbolName, Bool doIt );241 #endif242 237 #endif 243 238 #else -
branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComSlice.cpp
r765 r766 110 110 #endif 111 111 , m_pocResetFlag (false) 112 #if H_MV_6_RALS_O0149_11113 112 , m_crossLayerBlaFlag (false) 114 #endif115 113 , m_discardableFlag (false) 116 114 , m_interLayerPredEnabledFlag (false) … … 1705 1703 , m_hrdOpSetIdx (NULL) 1706 1704 , m_cprmsPresentFlag (NULL) 1707 #if H_MV_6_HRD_O0217_131708 1705 , m_dpbSize (NULL) 1709 #endif1710 1706 #if H_MV 1711 1707 , m_vpsVUI ( NULL ) … … 1723 1719 for( Int layerId = 0; layerId < MAX_VPS_NUH_LAYER_ID_PLUS1; layerId++ ) 1724 1720 { 1725 #if H_MV_6_HRD_O0217_131726 1721 m_layerIdIncludedFlag[lsIdx][layerId] = (( lsIdx == 0 ) && ( layerId == 0 )) ; 1727 #else1728 m_layerIdIncludedFlag[lsIdx][layerId] = false;1729 #endif1730 1722 } 1731 1723 } … … 1741 1733 m_moreOutputLayerSetsThanDefaultFlag = false; 1742 1734 m_numAddOutputLayerSetsMinus1 = -1; 1743 #if H_MV_6_PS_0109_251744 1735 m_defaultOneTargetOutputLayerIdc = 0; 1745 #else1746 m_defaultOneTargetOutputLayerFlag = false;1747 #endif1748 1736 1749 1737 for ( Int i = 0; i < MAX_VPS_OUTPUTLAYER_SETS; i++) … … 1756 1744 } 1757 1745 } 1758 #if H_MV_6_GEN_0153_281759 1746 m_altOutputLayerFlag = false; 1760 #endif1761 1747 m_maxOneActiveRefLayerFlag = false; 1762 1748 m_directDepTypeLenMinus2 = 0; … … 1795 1781 m_layerIdInNuh [i] = ( i == 0 ) ? 0 : -1; 1796 1782 m_numDirectRefLayers[i] = 0; 1797 #if !H_MV_6_ILDDS_O0225_301798 m_maxTidIlRefPicPlus1[i] = 7;1799 #endif1800 1783 m_vpsRepFormatIdx [i] = 0; 1801 #if H_MV_6_MISC_O0062_311802 1784 m_pocLsbNotPresentFlag[i] = 0; 1803 #endif1804 1785 m_repFormat [i] = NULL; 1805 1786 m_viewIdVal [i] = 0; … … 1837 1818 m_directDependencyType[i][j] = -1; 1838 1819 m_refLayerId[i][j] = -1; 1839 #if H_MV_6_ILDDS_O0225_301840 1820 m_maxTidIlRefPicsPlus1[i][j] = 7; 1841 #endif1842 1821 } 1843 1822 … … 1852 1831 } 1853 1832 m_vpsVUI = new TComVPSVUI; 1854 #if H_MV_6_HRD_O0217_131855 1833 m_dpbSize = new TComDpbSize; 1856 #endif1857 1834 # 1858 1835 #if H_3D … … 1889 1866 #if H_MV 1890 1867 if ( m_vpsVUI != NULL ) delete m_vpsVUI; 1891 #if H_MV_6_HRD_O0217_131892 1868 if ( m_dpbSize != NULL ) delete m_dpbSize; 1893 #endif1894 1869 1895 1870 for( Int i = 0; i < MAX_NUM_LAYERS; i++ ) … … 2193 2168 assert( lsIdx >= 0 ); 2194 2169 assert( lsIdx <= getVpsNumLayerSetsMinus1() ); 2195 #if H_MV_6_HRD_O0217_132196 2170 return (Int) m_layerSetLayerIdList[ lsIdx ].size(); 2197 #else 2198 Int numLayersInIdList = 0; 2199 for (Int layerId = 0; layerId < getVpsMaxLayerId(); layerId++ ) 2200 { 2201 numLayersInIdList += ( getLayerIdIncludedFlag( lsIdx, layerId ) ); 2202 } 2203 return numLayersInIdList; 2204 #endif 2205 } 2206 2207 #if H_MV_6_HRD_O0217_13 2171 } 2172 2208 2173 Int TComVPS::getNumOutputLayerSets() 2209 2174 { … … 2215 2180 return numOutputLayerSets; 2216 2181 } 2217 #endif2218 2182 2219 2183 Int TComVPS::getNumViews() … … 2247 2211 } 2248 2212 2249 #if H_MV_6_HRD_O0217_132250 2213 Void TComVPS::deriveLayerSetLayerIdList() 2251 2214 { … … 2283 2246 } 2284 2247 } 2285 #endif2286 2248 #endif // H_MV 2287 2249 … … 2338 2300 , m_spsScalingListRefLayerId ( 0 ) 2339 2301 2340 #if !H_MV_6_PS_REP_FORM_18_19_202341 , m_updateRepFormatFlag ( true )2342 #else2343 2302 , m_updateRepFormatFlag ( false ) 2344 2303 , m_spsRepFormatIdx ( 0 ) 2345 #endif2346 2304 , m_interViewMvVertConstraintFlag (false) 2347 2305 #endif … … 2359 2317 ::memset(m_ltRefPicPocLsbSps, 0, sizeof(m_ltRefPicPocLsbSps)); 2360 2318 ::memset(m_usedByCurrPicLtSPSFlag, 0, sizeof(m_usedByCurrPicLtSPSFlag)); 2361 #if H_MV_6_PSEM_O0142_32362 2319 m_spsExtensionFlag = false; 2363 2320 for( Int i = 0; i < PS_EX_T_MAX_NUM; i++ ) … … 2365 2322 m_spsExtensionTypeFlag[ i ] = false; 2366 2323 } 2367 #endif2368 #if H_MV_6_SHVC_O0098_362369 2324 m_numScaledRefLayerOffsets = 0; 2370 2325 … … 2381 2336 m_scaledRefLayerBottomOffset [i] = 0; 2382 2337 } 2383 #endif2384 2338 } 2385 2339 … … 2742 2696 if ( layerIdCurr > 0 ) 2743 2697 { 2744 #if H_MV_6_PS_REP_FORM_18_19_202745 2698 Int repFormatIdx = getUpdateRepFormatFlag() ? getSpsRepFormatIdx() : vps->getVpsRepFormatIdx( vps->getLayerIdInVps( layerIdCurr ) ) ; 2746 2699 TComRepFormat* repFormat = vps->getRepFormat( repFormatIdx ); 2747 #else2748 TComRepFormat* repFormat = vps->getRepFormat( vps->getVpsRepFormatIdx( vps->getLayerIdInVps( layerIdCurr ) ) );2749 if ( !getUpdateRepFormatFlag() )2750 {2751 #endif2752 2700 setChromaFormatIdc( repFormat->getChromaFormatVpsIdc() ); 2753 2701 //// ToDo: add when supported: … … 2762 2710 setBitDepthC ( repFormat->getBitDepthVpsChromaMinus8() + 8 ); 2763 2711 setQpBDOffsetC ( (Int) (6* ( getBitDepthC() -8 ) ) ); 2764 #if !H_MV_6_PS_REP_FORM_18_19_202765 }2766 else2767 #else2768 2712 if ( getLayerId() > 0 && getUpdateRepFormatFlag() ) 2769 #endif2770 2713 { 2771 2714 assert( getChromaFormatIdc() <= repFormat->getChromaFormatVpsIdc() ); … … 3139 3082 { 3140 3083 TComPic* pcPic = ivPicLists->getPic( targetDecLayerIdSet[ i ], curPoc ); 3141 #if H_MV_LAYER_WISE_STARTUP3142 3084 if ( pcPic ) 3143 3085 { 3144 #endif3145 3086 if( pcPic->getSlice(0)->isReferenced() && pcPic->getSlice(0)->getTemporalLayerNonReferenceFlag() ) 3146 3087 { … … 3165 3106 } 3166 3107 } 3167 #if H_MV_LAYER_WISE_STARTUP 3168 } 3169 #endif 3108 } 3170 3109 } 3171 3110 } … … 3225 3164 3226 3165 3227 #if H_MV_6_ILDDS_ILREFPICS_27_343228 3166 Int TComSlice::getRefLayerPicFlag( Int i ) 3229 3167 { … … 3268 3206 return numRefLayerPics; 3269 3207 } 3270 #endif3271 3208 3272 3209 … … 3282 3219 else if (getVPS()->getAllRefLayersActiveFlag() ) 3283 3220 { 3284 #if H_MV_6_ILDDS_ILREFPICS_27_343285 3221 numActiveRefLayerPics = getNumRefLayerPics(); 3286 #else3287 numActiveRefLayerPics = getVPS()->getNumDirectRefLayers( getLayerId() );3288 #endif3289 3222 } 3290 3223 else if ( !getInterLayerPredEnabledFlag() ) … … 3294 3227 else if( getVPS()->getMaxOneActiveRefLayerFlag() || getVPS()->getNumDirectRefLayers( getLayerId() ) == 1 ) 3295 3228 { 3296 #if H_MV_6_ILDDS_ILREFPICS_27_343297 3229 numActiveRefLayerPics = getRefLayerPicFlag( 0 ) ? 1 : 0; 3298 #else3299 numActiveRefLayerPics = 1;3300 #endif3301 3230 } 3302 3231 else … … 3876 3805 TComVPSVUI::TComVPSVUI() 3877 3806 { 3878 #if H_MV_6_PS_O0223_293879 3807 m_crossLayerIrapAlignedFlag = true; 3880 #endif3881 3808 m_bitRatePresentVpsFlag = false; 3882 3809 m_picRatePresentVpsFlag = false; … … 3906 3833 } 3907 3834 } 3908 #if H_MV_6_PS_O0118_333909 3835 for ( Int i = 0; i < MAX_NUM_VIDEO_SIGNAL_INFO; i++ ) 3910 3836 { 3911 3837 m_videoSignalInfo [i] = NULL; 3912 3838 } 3913 #endif 3914 3915 #if H_MV_6_HRD_O0164_15 3839 3916 3840 m_vpsVuiBspHrdPresentFlag = false; 3917 3841 m_vpsVuiBspHrdParameters = new TComVpsVuiBspHrdParameters(); 3918 #endif 3919 } 3920 3921 #if H_MV_6_PS_O0118_33 3842 } 3843 3922 3844 TComVPSVUI::~TComVPSVUI() 3923 3845 { … … 3928 3850 } 3929 3851 3930 #if H_MV_6_HRD_O0164_153931 3852 if ( m_vpsVuiBspHrdParameters ) delete m_vpsVuiBspHrdParameters; 3932 3853 m_vpsVuiBspHrdParameters = NULL; 3933 #endif 3934 } 3935 #endif 3936 3937 #if H_MV_6_PS_REP_FORM_18_19_20 3854 } 3855 3938 3856 Void TComRepFormat::inferChromaAndBitDepth( TComRepFormat* prevRepFormat, Bool encoderFlag ) 3939 3857 { … … 3953 3871 } 3954 3872 } 3955 #endif 3956 3957 #if H_MV_6_HRD_O0164_15 3873 3958 3874 Void TComVpsVuiBspHrdParameters::checkLayerInBspFlag( TComVPS* vps, Int h ) 3959 3875 { … … 3983 3899 } 3984 3900 #endif 3985 #endif -
branches/HTM-9.2-dev0/source/Lib/TLibCommon/TComSlice.h
r765 r766 62 62 // ==================================================================================================================== 63 63 64 #if H_MV_6_HRD_O0164_1565 64 class TComVPS; 66 #endif67 65 /// Reference Picture Set class 68 66 class TComReferencePictureSet … … 407 405 #if H_MV 408 406 409 #if H_MV_6_PS_O0118_33410 407 class TComVideoSignalInfo 411 408 { … … 432 429 Int getMatrixCoeffsVps( ) { return m_matrixCoeffsVps; } 433 430 }; 434 #endif435 #if H_MV_6_HRD_O0164_15436 431 class TComVpsVuiBspHrdParameters 437 432 { … … 473 468 }; 474 469 475 #endif476 470 class TComVPSVUI 477 471 { 478 472 private: 479 #if H_MV_6_PS_O0223_29480 473 Bool m_crossLayerPicTypeAlignedFlag; 481 474 Bool m_crossLayerIrapAlignedFlag; 482 #endif483 475 Bool m_bitRatePresentVpsFlag; 484 476 Bool m_picRatePresentVpsFlag; … … 489 481 Int m_constantPicRateIdc [MAX_VPS_OP_SETS_PLUS1][MAX_TLAYER]; 490 482 Int m_avgPicRate [MAX_VPS_OP_SETS_PLUS1][MAX_TLAYER]; 491 #if H_MV_6_O0226_37492 483 Bool m_tilesNotInUseFlag; 493 484 Bool m_tilesInUseFlag [MAX_NUM_LAYERS]; 494 485 Bool m_loopFilterNotAcrossTilesFlag[MAX_NUM_LAYERS]; 495 #endif496 486 Bool m_tileBoundariesAlignedFlag [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 497 #if H_MV_6_O0226_37498 487 Bool m_wppNotInUseFlag; 499 488 Bool m_wppInUseFlag [MAX_NUM_LAYERS]; 500 #endif501 489 Bool m_ilpRestrictedRefLayersFlag; 502 490 Int m_minSpatialSegmentOffsetPlus1[MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 503 491 Bool m_ctuBasedOffsetEnabledFlag [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 504 492 Int m_minHorizontalCtuOffsetPlus1 [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 505 #if H_MV_6_PS_O0118_33506 493 Bool m_videoSignalInfoIdxPresentFlag; 507 494 Int m_vpsNumVideoSignalInfoMinus1; 508 495 TComVideoSignalInfo* m_videoSignalInfo[MAX_NUM_VIDEO_SIGNAL_INFO]; 509 496 Int m_vpsVideoSignalInfoIdx [MAX_NUM_VIDEO_SIGNAL_INFO]; 510 #endif511 #if H_MV_6_HRD_O0164_15512 497 Bool m_vpsVuiBspHrdPresentFlag; 513 498 TComVpsVuiBspHrdParameters* m_vpsVuiBspHrdParameters; 514 #endif515 499 516 500 public: 517 501 TComVPSVUI(); 518 502 ~TComVPSVUI(); 519 #if H_MV_6_PS_O0223_29520 503 Void setCrossLayerPicTypeAlignedFlag( Bool flag ) { m_crossLayerPicTypeAlignedFlag = flag; } 521 504 Bool getCrossLayerPicTypeAlignedFlag( ) { return m_crossLayerPicTypeAlignedFlag; } … … 523 506 Void setCrossLayerIrapAlignedFlag( Bool flag ) { m_crossLayerIrapAlignedFlag = flag; } 524 507 Bool getCrossLayerIrapAlignedFlag( ) { return m_crossLayerIrapAlignedFlag; } 525 #endif526 508 527 509 Void setBitRatePresentVpsFlag( Bool flag ) { m_bitRatePresentVpsFlag = flag; } … … 549 531 Int getAvgPicRate( Int i, Int j ) { return m_avgPicRate[i][j]; } 550 532 551 #if H_MV_6_O0226_37552 533 Void setTilesNotInUseFlag( Bool flag ) { m_tilesNotInUseFlag = flag; } 553 534 Bool getTilesNotInUseFlag( ) { return m_tilesNotInUseFlag; } … … 558 539 Void setLoopFilterNotAcrossTilesFlag( Int i, Int val ) { m_loopFilterNotAcrossTilesFlag[i] = val; } 559 540 Bool getLoopFilterNotAcrossTilesFlag( Int i ) { return m_loopFilterNotAcrossTilesFlag[i]; } 560 #endif561 541 562 542 Void setTileBoundariesAlignedFlag( Int i, Int j, Bool flag ) { m_tileBoundariesAlignedFlag[i][j] = flag; } 563 543 Bool getTileBoundariesAlignedFlag( Int i, Int j ) { return m_tileBoundariesAlignedFlag[i][j]; } 564 544 565 #if H_MV_6_O0226_37566 545 Void setWppNotInUseFlag( Bool flag ) { m_wppNotInUseFlag = flag; } 567 546 Bool getWppNotInUseFlag( ) { return m_wppNotInUseFlag; } … … 569 548 Void setWppInUseFlag( Int i, Bool flag ) { m_wppInUseFlag[i] = flag; } 570 549 Bool getWppInUseFlag( Int i ) { return m_wppInUseFlag[i]; } 571 #endif572 550 573 551 Void setIlpRestrictedRefLayersFlag( Bool flag ) { m_ilpRestrictedRefLayersFlag = flag; } … … 583 561 Int getMinHorizontalCtuOffsetPlus1( Int i, Int j ) { return m_minHorizontalCtuOffsetPlus1[i][j]; } 584 562 585 #if H_MV_6_PS_O0118_33586 563 Void setVideoSignalInfoIdxPresentFlag( Bool flag ) { m_videoSignalInfoIdxPresentFlag = flag; } 587 564 Bool getVideoSignalInfoIdxPresentFlag( ) { return m_videoSignalInfoIdxPresentFlag; } … … 595 572 Void setVpsVideoSignalInfoIdx( Int i, Int val ) { m_vpsVideoSignalInfoIdx[i] = val; } 596 573 Int getVpsVideoSignalInfoIdx( Int i ) { return m_vpsVideoSignalInfoIdx[i]; } 597 #endif 598 599 #if H_MV_6_HRD_O0164_15 574 600 575 Void setVpsVuiBspHrdPresentFlag( Bool flag ) { m_vpsVuiBspHrdPresentFlag = flag; } 601 576 Bool getVpsVuiBspHrdPresentFlag( ) { return m_vpsVuiBspHrdPresentFlag; } … … 603 578 Void setVpsVuiBspHrdParameters( TComVpsVuiBspHrdParameters* val) { m_vpsVuiBspHrdParameters = val; } 604 579 TComVpsVuiBspHrdParameters* getVpsVuiBspHrdParameters( ) { return m_vpsVuiBspHrdParameters; } 605 #endif606 580 }; 607 581 … … 609 583 { 610 584 private: 611 #if H_MV_6_PS_REP_FORM_18_19_20612 585 Bool m_chromaAndBitDepthVpsPresentFlag; 613 #endif614 586 Int m_chromaFormatVpsIdc; 615 587 Bool m_separateColourPlaneVpsFlag; … … 622 594 TComRepFormat() { }; 623 595 624 #if H_MV_6_PS_REP_FORM_18_19_20625 596 Void setChromaAndBitDepthVpsPresentFlag( Bool flag ) { m_chromaAndBitDepthVpsPresentFlag = flag; } 626 597 Bool getChromaAndBitDepthVpsPresentFlag( ) { return m_chromaAndBitDepthVpsPresentFlag; } 627 598 Void checkChromaAndBitDepthVpsPresentFlag( Int i ) { assert( i != 0 || m_chromaAndBitDepthVpsPresentFlag ); } // The value of chroma_and_bit_depth_vps_present_flag of the first rep_format( ) syntax structure in the VPS shall be equal to 1. 628 599 Void inferChromaAndBitDepth( TComRepFormat* prevRepFormat, Bool encoderFlag ); 629 #endif630 600 631 601 Void setChromaFormatVpsIdc( Int val ) { m_chromaFormatVpsIdc = val; } … … 649 619 #endif 650 620 651 #if H_MV_6_HRD_O0217_13652 621 class TComDpbSize 653 622 { … … 695 664 Int getMaxVpsLatencyIncreasePlus1( Int i, Int j ) { return m_maxVpsLatencyIncreasePlus1[i][j]; } 696 665 }; 697 #endif698 666 699 667 class TComVPS … … 748 716 Int m_dimensionId [MAX_NUM_LAYER_IDS][MAX_NUM_SCALABILITY_TYPES]; 749 717 750 #if H_MV_6_PS_O0109_22751 718 Int m_viewIdLen; 752 #else753 Int m_viewIdLenMinus1;754 #endif755 719 Int m_viewIdVal [MAX_NUM_LAYERS]; 756 720 Bool m_directDependencyFlag [MAX_NUM_LAYER_IDS][MAX_NUM_LAYER_IDS]; 757 #if H_MV_6_ILDSD_O0120_26758 721 Bool m_vpsSubLayersMaxMinus1PresentFlag; 759 722 Int m_subLayersVpsMaxMinus1 [MAX_NUM_LAYERS]; 760 #endif761 723 Bool m_maxTidRefPresentFlag; 762 #if H_MV_6_ILDDS_O0225_30763 724 Int m_maxTidIlRefPicsPlus1 [MAX_NUM_LAYERS][MAX_NUM_LAYERS]; 764 #else765 Int m_maxTidIlRefPicPlus1 [MAX_NUM_LAYERS];766 #endif767 725 Bool m_allRefLayersActiveFlag; 768 726 Int m_vpsNumberLayerSetsMinus1; … … 772 730 Bool m_moreOutputLayerSetsThanDefaultFlag; 773 731 Int m_numAddOutputLayerSetsMinus1; 774 #if H_MV_6_PS_0109_25775 732 Int m_defaultOneTargetOutputLayerIdc; 776 #else777 Bool m_defaultOneTargetOutputLayerFlag;778 #endif779 733 Int m_outputLayerSetIdxMinus1 [MAX_VPS_OUTPUTLAYER_SETS]; 780 734 Bool m_outputLayerFlag [MAX_VPS_OUTPUTLAYER_SETS][MAX_VPS_NUH_LAYER_ID_PLUS1]; 781 735 Int m_profileLevelTierIdx [MAX_VPS_OUTPUTLAYER_SETS ]; 782 #if H_MV_6_GEN_0153_28783 736 Bool m_altOutputLayerFlag; 784 #endif785 737 Bool m_repFormatIdxPresentFlag; 786 738 Int m_vpsNumRepFormatsMinus1; … … 788 740 TComRepFormat* m_repFormat [MAX_NUM_LAYERS]; 789 741 Bool m_maxOneActiveRefLayerFlag; 790 #if H_MV_6_MISC_O0062_31791 742 Bool m_pocLsbNotPresentFlag [MAX_NUM_LAYERS]; 792 #endif 793 794 #if H_MV_6_HRD_O0217_13 743 795 744 TComDpbSize* m_dpbSize; 796 #endif797 #if !H_MV_6_PS_O0223_29798 Bool m_crossLayerIrapAlignedFlag;799 #endif800 745 Int m_directDepTypeLenMinus2; 801 #if H_MV_6_PS_O0096_21802 746 Bool m_defaultDirectDependencyFlag; 803 747 Int m_defaultDirectDependencyType; 804 #endif805 748 Bool m_vpsVuiPresentFlag; 806 749 TComVPSVUI* m_vpsVUI; … … 822 765 Int m_viewIndex [MAX_NUM_LAYERS ]; 823 766 824 #if H_MV_6_HRD_O0217_13825 767 std::vector< std::vector< Int> > m_targetDecLayerIdLists; //[TargetOptLayerSetIdx][i] 826 768 std::vector< std::vector< Int> > m_targetOptLayerIdLists; 827 769 std::vector< std::vector< Int> > m_layerSetLayerIdList; 828 #endif829 770 830 771 … … 901 842 UInt getMaxTLayers () { return m_uiMaxTLayers; } 902 843 Void setMaxTLayers (UInt t) { m_uiMaxTLayers = t; } 903 #if H_MV_6_HRD_O0164_15904 844 UInt getMaxSubLayersMinus1() { return m_uiMaxTLayers - 1; } // For consistency with draft spec 905 #endif906 845 #if H_MV 907 846 UInt getMaxLayersMinus1() { return m_uiMaxLayersMinus1; }; … … 978 917 Int getDimensionId( Int layerIdInVps, Int scalIdx ) { return m_dimensionId[layerIdInVps][scalIdx]; } 979 918 980 #if H_MV_6_PS_O0109_22981 919 Void setViewIdLen( Int val ) { m_viewIdLen = val; } 982 920 Int getViewIdLen( ) { return m_viewIdLen; } 983 #else984 Void setViewIdLenMinus1( Int val ) { m_viewIdLenMinus1 = val; }985 Int getViewIdLenMinus1( ) { return m_viewIdLenMinus1; }986 #endif987 921 988 922 Void setViewIdVal( Int viewOrderIndex, Int val ) { m_viewIdVal[viewOrderIndex] = val; } … … 990 924 Void setDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps, Bool val ) { m_directDependencyFlag[depLayeridInVps][refLayeridInVps] = val; } 991 925 Bool getDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps ) { return m_directDependencyFlag[depLayeridInVps][refLayeridInVps]; } 992 #if H_MV_6_ILDSD_O0120_26993 926 Void setVpsSubLayersMaxMinus1PresentFlag( Bool flag ) { m_vpsSubLayersMaxMinus1PresentFlag = flag; } 994 927 Bool getVpsSubLayersMaxMinus1PresentFlag( ) { return m_vpsSubLayersMaxMinus1PresentFlag; } … … 996 929 Int getSubLayersVpsMaxMinus1( Int i ) { return m_subLayersVpsMaxMinus1[i]; } 997 930 Void checkSubLayersVpsMaxMinus1( Int i ) { assert( m_subLayersVpsMaxMinus1[i] >= 0 && m_subLayersVpsMaxMinus1[i] <= m_uiMaxTLayers - 1 ); } 998 #endif999 931 Void setMaxTidRefPresentFlag( Bool flag ) { m_maxTidRefPresentFlag = flag; } 1000 932 Bool getMaxTidRefPresentFlag( ) { return m_maxTidRefPresentFlag; } 1001 #if H_MV_6_ILDDS_O0225_301002 933 Void setMaxTidIlRefPicsPlus1( Int i, Int j, Int val ) { m_maxTidIlRefPicsPlus1[i][j] = val; } 1003 934 Int getMaxTidIlRefPicsPlus1( Int i, Int j ) { return m_maxTidIlRefPicsPlus1[i][j]; } 1004 #else1005 Void setMaxTidIlRefPicPlus1( Int layerIdInVps, Int val ) { m_maxTidIlRefPicPlus1[ layerIdInVps ] = val; }1006 Int getMaxTidIlRefPicPlus1( Int layerIdInVps ) { return m_maxTidIlRefPicPlus1[ layerIdInVps ]; }1007 #endif1008 935 Void setAllRefLayersActiveFlag( Bool flag ) { m_allRefLayersActiveFlag = flag; } 1009 936 Bool getAllRefLayersActiveFlag( ) { return m_allRefLayersActiveFlag; } … … 1019 946 Void setProfileRefMinus1( Int profileTierLevelIdx, Int val ) { m_profileRefMinus1[ profileTierLevelIdx ] = val; } 1020 947 Int getProfileRefMinus1( Int profileTierLevelIdx ) { return m_profileRefMinus1[ profileTierLevelIdx ]; } 1021 #if H_MV_6_PS_O0109_231022 948 Void checkProfileRefMinus1( Int i ) { assert( getProfileRefMinus1( i ) + 1 <= i ); }; // The value of profile_ref_minus1[ i ] + 1 shall be less than or equal to i. 1023 #endif1024 949 Void setMoreOutputLayerSetsThanDefaultFlag( Bool flag ) { m_moreOutputLayerSetsThanDefaultFlag = flag; } 1025 950 Bool getMoreOutputLayerSetsThanDefaultFlag() { return m_moreOutputLayerSetsThanDefaultFlag; } … … 1028 953 Int getNumAddOutputLayerSetsMinus1( ) { return m_numAddOutputLayerSetsMinus1; } 1029 954 1030 #if H_MV_6_PS_0109_251031 955 Void setDefaultOneTargetOutputLayerIdc( Int val ) { m_defaultOneTargetOutputLayerIdc = val; } 1032 956 Int getDefaultOneTargetOutputLayerIdc( ) { return m_defaultOneTargetOutputLayerIdc; } 1033 957 Void checkDefaultOneTargetOutputLayerIdc( ) { assert( m_defaultOneTargetOutputLayerIdc >= 0 && m_defaultOneTargetOutputLayerIdc <= 1 ); } 1034 #else1035 Void setDefaultOneTargetOutputLayerFlag( Bool flag ) { m_defaultOneTargetOutputLayerFlag = flag; }1036 Bool getDefaultOneTargetOutputLayerFlag( ) { return m_defaultOneTargetOutputLayerFlag; }1037 #endif1038 958 1039 959 Void setOutputLayerSetIdxMinus1( Int outLayerSetIdx, Int val ) { m_outputLayerSetIdxMinus1[ outLayerSetIdx ] = val; } … … 1042 962 Void setOutputLayerFlag( Int outLayerSetIdx, Int i, Bool flag ) { m_outputLayerFlag[ outLayerSetIdx ][ i ] = flag; } 1043 963 Bool getOutputLayerFlag( Int outLayerSetIdx, Int i ) { return m_outputLayerFlag[ outLayerSetIdx ][ i ]; } 1044 #if H_MV_6_HRD_O0217_131045 964 Bool inferOutputLayerFlag( Int layerSetIdx, Int i ) { return ( getDefaultOneTargetOutputLayerIdc( ) == 0 || ( ( getDefaultOneTargetOutputLayerIdc( ) == 1 ) && ( i == m_layerSetLayerIdList[layerSetIdx].size() - 1 ) )); } 1046 #endif1047 965 1048 966 Void setProfileLevelTierIdx( Int outLayerSetIdx, Int val ) { m_profileLevelTierIdx[ outLayerSetIdx = val ]; } 1049 967 Int getProfileLevelTierIdx( Int outLayerSetIdx ) { return m_profileLevelTierIdx[ outLayerSetIdx ]; } 1050 #if H_MV_6_GEN_0153_281051 968 Void setAltOutputLayerFlag( Bool flag ) { m_altOutputLayerFlag = flag; } 1052 969 Bool getAltOutputLayerFlag( ) { return m_altOutputLayerFlag; } 1053 #endif1054 970 1055 971 Void setRepFormatIdxPresentFlag( Bool flag ) { m_repFormatIdxPresentFlag = flag; } … … 1067 983 Bool getMaxOneActiveRefLayerFlag( ) { return m_maxOneActiveRefLayerFlag; } 1068 984 1069 #if H_MV_6_HRD_O0217_131070 985 Void setDpbSize( TComDpbSize* val ) { assert( m_dpbSize != 0 ); m_dpbSize = val; } 1071 986 TComDpbSize* getDpbSize( ) { return m_dpbSize;} 1072 #endif 1073 1074 #if H_MV_6_MISC_O0062_31 987 1075 988 Void setPocLsbNotPresentFlag( Int i, Bool flag ) { m_pocLsbNotPresentFlag[i] = flag; } 1076 989 Bool getPocLsbNotPresentFlag( Int i ) { return m_pocLsbNotPresentFlag[i]; } 1077 #endif1078 #if !H_MV_6_PS_O0223_291079 Void setCrossLayerIrapAlignedFlag( Bool flag ) { m_crossLayerIrapAlignedFlag = flag; }1080 Bool getCrossLayerIrapAlignedFlag( ) { return m_crossLayerIrapAlignedFlag; }1081 #endif1082 990 Void setDirectDepTypeLenMinus2( Int val) { m_directDepTypeLenMinus2 = val; } 1083 991 Int getDirectDepTypeLenMinus2( ) { return m_directDepTypeLenMinus2; } 1084 992 1085 #if H_MV_6_PS_O0096_211086 993 Void setDefaultDirectDependencyFlag( Bool flag ) { m_defaultDirectDependencyFlag = flag; } 1087 994 Bool getDefaultDirectDependencyFlag( ) { return m_defaultDirectDependencyFlag; } … … 1089 996 Void setDefaultDirectDependencyType( Int val ) { m_defaultDirectDependencyType = val; } 1090 997 Int getDefaultDirectDependencyType( ) { return m_defaultDirectDependencyType; } 1091 #endif1092 998 Void setDirectDependencyType( Int depLayeridInVps, Int refLayeridInVps, Int val) { m_directDependencyType[ depLayeridInVps ][ refLayeridInVps ] = val; } 1093 999 Int getDirectDependencyType( Int depLayeridInVps, Int refLayeridInVps) { return m_directDependencyType[ depLayeridInVps ][ refLayeridInVps ]; } … … 1101 1007 1102 1008 Int getScalabilityId ( Int layerIdInVps, ScalabilityType scalType ); 1103 #if H_MV_6_FIX_GET_VIEW_ID1104 1009 Int getViewId ( Int layerIdInNuh ) { return m_viewIdVal[ getViewIndex( layerIdInNuh )]; } 1105 #else1106 Int getViewId ( Int layerIdInNuh ) { return m_viewIdVal[ getViewIndex( getLayerIdInVps( layerIdInNuh) )]; }1107 #endif1108 1010 Void setRefLayers(); 1109 1011 … … 1120 1022 Int getNumLayersInIdList ( Int lsIdx ); 1121 1023 1122 #if H_MV_6_HRD_O0217_131123 1024 Int getNumOutputLayerSets() ; 1124 1025 Int getNumSubDpbs( Int i ) { return getNumLayersInIdList( i ); }; 1125 1026 Bool isOutputLayer( Int outLayerSetIdx, Int layerIdInNuh ); 1126 #if H_MV_6_HRD_O0217_131127 1027 Void deriveLayerSetLayerIdList(); 1128 1028 Void deriveTargetLayerIdLists(); 1129 1029 std::vector<Int> getTargetDecLayerIdList( Int targetOptLayerSetIdx ) { return m_targetDecLayerIdLists[targetOptLayerSetIdx]; }; 1130 1030 std::vector<Int> getTargetOptLayerIdList( Int targetOptLayerSetIdx ) { return m_targetDecLayerIdLists[targetOptLayerSetIdx]; }; 1131 #endif1132 #endif1133 1031 1134 1032 … … 1482 1380 TimingInfo* getTimingInfo() { return &m_timingInfo; } 1483 1381 1484 #if H_MV_6_PS_O0118_331485 1382 Void inferVideoSignalInfo( TComVPS* vps, Int layerIdCurr ) 1486 1383 { … … 1502 1399 setMatrixCoefficients ( videoSignalInfo->getMatrixCoeffsVps () ); 1503 1400 } 1504 #endif1505 1401 }; 1506 1402 … … 1588 1484 TComVPS* m_pcVPS; 1589 1485 // SPS 1590 #if H_MV_6_PSEM_O0142_31591 1486 Bool m_spsExtensionFlag; 1592 1487 Bool m_spsExtensionTypeFlag[PS_EX_T_MAX_NUM]; 1593 #endif1594 1488 Bool m_spsInferScalingListFlag; 1595 1489 Int m_spsScalingListRefLayerId; 1596 1490 Bool m_updateRepFormatFlag; 1597 #if H_MV_6_PS_REP_FORM_18_19_201598 1491 Int m_spsRepFormatIdx; 1599 #endif1600 1492 // SPS Extension 1601 1493 Bool m_interViewMvVertConstraintFlag; 1602 #if H_MV_6_SHVC_O0098_361603 1494 Int m_numScaledRefLayerOffsets; 1604 1495 Int m_scaledRefLayerId [MAX_NUM_SCALED_REF_LAYERS]; … … 1607 1498 Int m_scaledRefLayerRightOffset [MAX_NUM_LAYERS]; 1608 1499 Int m_scaledRefLayerBottomOffset[MAX_NUM_LAYERS]; 1609 #endif1610 1500 #endif 1611 1501 #if H_3D … … 1744 1634 TComPTL* getPTL() { return &m_pcPTL; } 1745 1635 #if H_MV 1746 #if H_MV_6_PSEM_O0142_31747 1636 Void setSpsExtensionFlag( Bool flag ) { m_spsExtensionFlag = flag; } 1748 1637 Bool getSpsExtensionFlag( ) { return m_spsExtensionFlag; } … … 1750 1639 Void setSpsExtensionTypeFlag( Int i, Bool flag ) { m_spsExtensionTypeFlag[i] = flag; } 1751 1640 Bool getSpsExtensionTypeFlag( Int i ) { return m_spsExtensionTypeFlag[i]; } 1752 #endif1753 1641 Void setVPS ( TComVPS* pcVPS ) { m_pcVPS = pcVPS; } 1754 1642 TComVPS* getVPS () { return m_pcVPS; } … … 1762 1650 Void setUpdateRepFormatFlag( Bool flag ) { m_updateRepFormatFlag = flag; } 1763 1651 Bool getUpdateRepFormatFlag( ) { return m_updateRepFormatFlag; } 1764 #if H_MV_6_PS_REP_FORM_18_19_201765 1652 Void setSpsRepFormatIdx( Int val ) { m_spsRepFormatIdx = val; } 1766 1653 Int getSpsRepFormatIdx( ) { return m_spsRepFormatIdx; } 1767 #endif1768 1654 // SPS Extension 1769 1655 Void setInterViewMvVertConstraintFlag(Bool val) { m_interViewMvVertConstraintFlag = val; } 1770 1656 Bool getInterViewMvVertConstraintFlag() { return m_interViewMvVertConstraintFlag;} 1771 1657 1772 #if H_MV_6_SHVC_O0098_361773 1658 Void setNumScaledRefLayerOffsets( Int val ) { m_numScaledRefLayerOffsets = val; } 1774 1659 Int getNumScaledRefLayerOffsets( ) { return m_numScaledRefLayerOffsets; } … … 1788 1673 Void setScaledRefLayerBottomOffset( Int j, Int val ) { m_scaledRefLayerBottomOffset[j] = val; } 1789 1674 Int getScaledRefLayerBottomOffset( Int j ) { return m_scaledRefLayerBottomOffset[j]; } 1790 #endif1791 1675 // Inference 1792 1676 Void inferRepFormat( TComVPS* vps, Int layerIdCurr ); … … 2199 2083 // Additional slice header syntax elements 2200 2084 Bool m_pocResetFlag; 2201 #if H_MV_6_RALS_O0149_112202 2085 Bool m_crossLayerBlaFlag; 2203 #endif2204 2086 Bool m_discardableFlag; 2205 2087 Bool m_interLayerPredEnabledFlag; … … 2529 2411 // Additional slice header syntax elements 2530 2412 2531 #if H_MV_6_RALS_O0149_112532 2413 Void setCrossLayerBlaFlag( Bool flag ) { m_crossLayerBlaFlag = flag; } 2533 2414 Bool getCrossLayerBlaFlag( ) { return m_crossLayerBlaFlag; } … … 2540 2421 } 2541 2422 } 2542 #endif2543 2423 2544 2424 Void setPocResetFlag( Bool flag ) { m_pocResetFlag = flag; } … … 2561 2441 Int getInterLayerPredLayerIdcLen ( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); } 2562 2442 2563 #if H_MV_6_ILDDS_ILREFPICS_27_342564 2443 Int getRefLayerPicFlag( Int i ); 2565 2444 Int getRefLayerPicIdc ( Int j ); 2566 2445 Int getNumRefLayerPics( ); 2567 #endif2568 2446 2569 2447 Int getNumActiveRefLayerPics( ); -
branches/HTM-9.2-dev0/source/Lib/TLibCommon/TypeDef.h
r765 r766 293 293 // !!! PLEASE PUT MACROS RELATED TO HTM-10.0 INTEGRATIONS HERE !!! 294 294 295 /////////////////////////////////////////////////////////////////////////////////////////296 /////////////////////////////////// HTM-9.1 Integrations //////////////////////////////297 /////////////////////////////////////////////////////////////////////////////////////////298 299 #define H_MV_FIX_TRACE_FILE 1 // Fix linux compilation error related const char conversion300 301 #define H_MV_LAYER_WISE_STARTUP 1 // Basic version of layer wise startup.302 #define H_MV_FIX_SKIP_PICTURES 1 // Fix related to skipping pictures.303 #define H_MV_6_HRD_O0164_15 1 // (HRD/O0164/Multilayer HRD) #15 Decision: Adopt, modified as follows: It was suggested to constrain the stalling based on the relative cpb removal times, which must be in decoding order. The "du_based_bpb_sync_flag" is not needed, in view of this. SEI in the highest layer of the layer set or (inclusive "or") VPS VUI is used to carry the parameters (at encoder discretion). SEI in higher layer and SEI in VUI do not need to repeat information available in some lower layer. Shall be after APS SEI and buffering period SEI and before all other SEI of all layers except other HRD related SEI.304 #define H_MV_6_HRD_O0217_13 1 // (HRD/O0217/Sub-DPB based DPB operations) #13 Decision: Adopt ?Specify a separate DPB capacity for each layer ?no sharing of capacity across layers ?each layer has its own parameters (max pictures, max latency, max reordering). This proposal would specify distinct parameters for each "output layer set" and to change the definition of an operation point to be specific to an output layer set instead of a 'layer set". Decision: Adopted this aspect as well.305 #define H_MV_6_SHVC_O0098_36 1 // (SHVC/O0098/Scaled ref layer offset) #36 Modify signalling of scaled reference layer offsets to allow signalling of any lower layer, rather than just a direct reference layer, in order to enable alignment of auxiliary pictures. In further JCT-VC and JCT-3V discussion, it was also agreed to use the same offset signalling for MV-HEVC as well as SHVC306 #define H_MV_6_GEN_0153_28 1 //(Gen/O0153/output highest layer) #28 Add a flag in the VPS to indicate if startup process should output the highest available layer if the target output layer is not available.307 #define H_MV_6_PS_0109_25 1 //XXX(PS/O0109/default_one_target_output_layer_idc) #25 To change default_one_target_output_layer_flag to a two-bit default_one_target_output_layer_idc, and reserve the values 2 and 3308 #define H_MV_6_O0226_37 1 //(VUI/O0226/Mod tile WPP) #37 Modifications to the VUI indicators of tile and WPP alignment related syntax elements, from the r1.309 #define H_MV_6_RALS_O0149_11 1 //XXX (RALS/O0149/Prop2): #11 Proposal: A new slice_reserved_flag is taken into use to indicate if a base-layer IDR picture initiates the layer-wise start-up process. Decision: Adopt (the bit should not be required to be present; if present should be the bit after the discardable_flag, and discardable_flag should be the first one of the three, and the poc reset flag is not required to be present).310 #define H_MV_6_PSEM_O0142_3 1 // (PSEM/O0142/Conditional extension syntax) #3 Adopt JCTVC-O0142 (as a structure to be used to switch whatever extensions we define in SPS, not necessarily committing to having these extensions be separate for each extension, but the current plan unless decided otherwise is to use one flag for range extensions syntax presence and one flag for SHVC+MV-HEVC extension syntax presence)311 #define H_MV_6_FIX_GET_VIEW_ID 1 // Fix get view id312 #define H_MV_6_LAYER_ID_32 1 // (Gen/O0137,O0200,O0223,Layer id) #32 Add (editorial equivalent of) "The value of nuh_layer_id shall be in the range of 0 to 62. The value of 63 for nuh_layer_id is reserved for future use by ITU-T | ISO/IEC. Decoders shall ignore all data that follow the value 63 for nuh_layer_id in a NAL unit." and specify that vps_max_layers_minus1 shall not be equal to 63, but decoders shall allow that value to appear in the bitstream. Specify that the value 63 is interpreted the same as the value 62 (e.g., MaxLayersMinus1 = Min( 62, vps_max_layers_minus1) and subsequently refer to MaxLayersMinus1 instead of vps_max_layers_minus1)313 #define H_MV_6_PS_O0118_33 1 // (PS/O0118/visual signal info in vui per layer) #33 Add visual signal information (video_format, video_full_range_flag, colour_primaries, transfer_characteristics, matrix_coeffs) per layer to the VPS VUI, from v2 version of JCTVC-O0118.314 #define H_MV_6_POC_31_35_38 1 //XXX Various related to POC315 // (Misc/O0062/POC LSB present) (SH changes)316 // (POC/O0117/Modify PicOrderCntVal of prevTid0Pic) #35 Modification of the PicOrderCntVal of prevTid0Pic and modification to the decoding process for reference picture set, to address problems found for cross-layer POC alignment.317 // (POC/O0211/Fix ambiguity) #38 Modify POC derivation to correct an ambiguity in the spec.318 #define H_MV_6_MISC_O0062_31 1 // (Misc/O0062/POC LSB present) (without SH changes ) #31 The proposal's "option 3" is to add a flag in the VPS for each EL to control whether these LSBs are present or not (for IDR pictures), and when not present, the LSBs are inferred to be equal to 0. Decision: Adopted (as described herein).319 #define H_MV_6_ILDDS_ILREFPICS_27_34 1 // Various inter layer reference picture derivation320 // (ILDSD/O0225/max_tid_il_ref_pics RPL const.) #27 Change derivation of NumActiveRefLayerPics to consider max_tid_il_ref_pics.321 // (ILDSD/O0120/sub_layers_vps_max_minus1 RPL const) #34 Modify inter-layer reference picture list default construction to incorporate max temporal sub-layers per layer syntax elements in VPS extension, from r2 version of JCTVC-O0120322 #define H_MV_6_ILDDS_O0225_30 1 // (ILDSD/O0225/signal max_tid_il_ref_pics per layer ) #30 2nd proposal of JCTVC-O0225 regarding signalling of max_tid_il_ref_pics per layer, based upon relation to SCE2 on single loop decoding. Decision: Adopted.323 #define H_MV_6_ILDSD_O0120_26 1 // (ILDSD/O0120/sub_layers_vps_max_minus1) #26 Add syntax elements to signal max temporal sub-layers for each layer in the VPS, with a gating flag, from JCTVC- option 2.324 #define H_MV_6_PS_O0223_29 1 // (PS/O0223/Cross layer alignment type) #29 Add a flag in VPS VUI to indicate cross layer pic type alignment. Move cross_layer_irap_aligned_flag to VPS VUI and make presence condition on added flag325 #define H_MV_6_PS_0092_17 1 // (PS/O0092/Sharing SPS PPS) #17 Restrict sharing of SPS and PPS across layers to avoid creating problems during sub-bitstream extraction, based on modification of proposals in JCTVC-O0059 and JCTVC-O0092, reflected in the v2 version of O0092.326 #define H_MV_6_PS_REP_FORM_18_19_20 1 // Various Rep format327 // (PS/O0096/rep format syntax element length ) #20 Modification of length to 8 bit as decided later in trac.328 // (PS/O0179/Rep. Format) #18 Add flag in rep_format( ) syntax structure to control sending of chroma and bit depth related parameters, as proposed in the v2 version of JCTVC-O0179.329 // (PS/O0096/rep format) #20 Modify the SPS syntax for layers with nuh_layer_id > 0 to signal a reference to a rep_format index in the VPS, rather than signalling explicit representation format data in the SPS, from the v2 version of JCTVC-O0096.330 // (PS/FIX/N0092/Rep. Format) #19 Inferences.331 #define H_MV_6_PS_O0096_21 1 // (PS/O0096/direct_dependency_type gating flag) #21 Add a gating flag in VPS extension to condition the presence of direct dependency type, with a default type signalled, from JCTVC-O0096332 #define H_MV_6_PS_O0109_22 1 // (PS/O0109/view_id_len) #22 Modify the VPS extension syntax and semantics to replace view_id_len_minus1 with view_id_len, always signal that syntax element, add a constraint that (1<<view_id_len) >= NumViews, and modify view_id_val semantics to infer value of 0 when not present, from discussion of JCTVC-O0109333 #define H_MV_6_PS_O0109_23 1 // (PS/O0109/profile_ref_minus1 constraint) #23 Modify the semantics of profile_ref_minus1[ i ] to replace shall be less than i?with shall be less than or equal to i? from discussion of JCTVC-O0109334 #define H_MV_6_PS_O0109_24 1 // (PS/O0109/vps_vui_present_flag move) #24 Move the vps_vui_present_flag to precede vps_vui_offset, and make vps_vui_offset conditional on that flag, from JCTVC-O0109335 336 295 337 296 ///////////////////////////////////////////////////////////////////////////////////////// … … 349 308 #define MAX_VPS_OP_SETS_PLUS1 1024 350 309 #if H_MV 351 #if H_MV_6_LAYER_ID_32352 310 #define MAX_VPS_NUH_LAYER_ID_PLUS1 63 353 #else354 #define MAX_VPS_NUH_LAYER_ID_PLUS1 64355 #endif356 311 #define MAX_NUM_SCALABILITY_TYPES 16 357 312 #define ENC_CFG_CONSOUT_SPACE 29 … … 377 332 #define MAX_CPB_CNT 32 ///< Upper bound of (cpb_cnt_minus1 + 1) 378 333 #if H_MV 379 #if H_MV_6_LAYER_ID_32380 334 #define MAX_NUM_LAYER_IDS 63 381 335 #define MAX_NUM_LAYERS 63 382 #else383 #define MAX_NUM_LAYER_IDS 64384 #define MAX_NUM_LAYERS 64385 #endif386 336 #define MAX_VPS_PROFILE_TIER_LEVEL 64 387 337 #define MAX_VPS_ADD_OUTPUT_LAYER_SETS 1024 388 338 #define MAX_VPS_OUTPUTLAYER_SETS ( MAX_VPS_ADD_OUTPUT_LAYER_SETS + MAX_VPS_OP_SETS_PLUS1 ) 389 #if H_MV_6_PS_O0118_33390 339 #define MAX_NUM_VIDEO_SIGNAL_INFO 16 391 #endif392 #if H_MV_6_SHVC_O0098_36393 340 #define MAX_NUM_SCALED_REF_LAYERS MAX_NUM_LAYERS-1 394 #endif395 #if H_MV_6_HRD_O0164_15396 341 #define MAX_NUM_BSP_HRD_PARAMETERS 100 ///< Maximum value is actually not specified 397 342 #define MAX_NUM_BITSTREAM_PARTITIONS 100 ///< Maximum value is actually not specified 398 343 #define MAX_NUM_BSP_SCHED_COMBINATION 100 ///< Maximum value is actually not specified 399 #endif400 344 #endif 401 345 … … 875 819 #if H_MV 876 820 877 #if H_MV_6_PSEM_O0142_3878 821 enum PsExtensionTypes 879 822 { … … 885 828 PS_EX_T_MAX_NUM = 8 886 829 }; 887 #endif888 830 889 831 /// scalability types
Note: See TracChangeset for help on using the changeset viewer.