Changeset 773 in 3DVCSoftware for trunk/source/Lib/TLibCommon/TComSlice.h
- Timestamp:
- 16 Jan 2014, 09:56:13 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/source/Lib/TLibCommon/TComSlice.h
r758 r773 53 53 #if H_MV 54 54 class TComPicLists; 55 class TComVPS; 55 56 #endif 56 57 // ==================================================================================================================== … … 62 63 // ==================================================================================================================== 63 64 64 #if H_MV_6_HRD_O0164_1565 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; } … … 647 617 Int getBitDepthVpsChromaMinus8( ) { return m_bitDepthVpsChromaMinus8; } 648 618 }; 649 #endif 650 651 #if H_MV_6_HRD_O0217_13 619 620 652 621 class TComDpbSize 653 622 { … … 696 665 }; 697 666 #endif 698 699 667 class TComVPS 700 668 { … … 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 … … 838 779 #if H_3D_IV_MERGE 839 780 Bool m_ivMvPredFlag [ MAX_NUM_LAYERS ]; 840 #if MTK_SPIVMP_F0110781 #if H_3D_SPIVMP 841 782 Int m_iSubPULog2Size [MAX_NUM_LAYERS ]; 842 783 #endif … … 850 791 Bool m_vpsDepthModesFlag [MAX_NUM_LAYERS ]; 851 792 852 #if H_3D_DIM_DLT853 #if !DLT_DIFF_CODING_IN_PPS854 Bool m_bUseDLTFlag [MAX_NUM_LAYERS ];855 856 Int m_iBitsPerDepthValue [MAX_NUM_LAYERS ];857 Int m_iNumDepthmapValues [MAX_NUM_LAYERS ];858 Int* m_iDepthValue2Idx [MAX_NUM_LAYERS ];859 Int* m_iIdx2DepthValue [MAX_NUM_LAYERS ];860 #endif861 #endif862 863 793 #if H_3D 864 #if CAM_HLS_F0136_F0045_F0082865 794 UInt m_uiCamParPrecision; 866 795 Bool* m_bCamParInSliceHeader; … … 868 797 Int ***m_aaaiCodedScale ; 869 798 Int ***m_aaaiCodedOffset; 870 #endif871 799 Bool m_ivMvScalingFlag; 872 800 #endif … … 874 802 Bool m_bInterSDCFlag[MAX_NUM_LAYERS ]; 875 803 #endif 876 #if SEC_MPI_ENABLING_MERGE_F0150804 #if H_3D_IV_MERGE 877 805 Bool m_bMPIFlag[MAX_NUM_LAYERS ]; 878 806 #endif … … 901 829 UInt getMaxTLayers () { return m_uiMaxTLayers; } 902 830 Void setMaxTLayers (UInt t) { m_uiMaxTLayers = t; } 903 #if H_MV_6_HRD_O0164_15 831 832 #if H_MV 904 833 UInt getMaxSubLayersMinus1() { return m_uiMaxTLayers - 1; } // For consistency with draft spec 905 #endif906 #if H_MV907 834 UInt getMaxLayersMinus1() { return m_uiMaxLayersMinus1; }; 908 835 Void setMaxLayersMinus1(UInt l) { m_uiMaxLayersMinus1 = l; } … … 978 905 Int getDimensionId( Int layerIdInVps, Int scalIdx ) { return m_dimensionId[layerIdInVps][scalIdx]; } 979 906 980 #if H_MV_6_PS_O0109_22981 907 Void setViewIdLen( Int val ) { m_viewIdLen = val; } 982 908 Int getViewIdLen( ) { return m_viewIdLen; } 983 #else984 Void setViewIdLenMinus1( Int val ) { m_viewIdLenMinus1 = val; }985 Int getViewIdLenMinus1( ) { return m_viewIdLenMinus1; }986 #endif987 909 988 910 Void setViewIdVal( Int viewOrderIndex, Int val ) { m_viewIdVal[viewOrderIndex] = val; } … … 990 912 Void setDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps, Bool val ) { m_directDependencyFlag[depLayeridInVps][refLayeridInVps] = val; } 991 913 Bool getDirectDependencyFlag( Int depLayeridInVps, Int refLayeridInVps ) { return m_directDependencyFlag[depLayeridInVps][refLayeridInVps]; } 992 #if H_MV_6_ILDSD_O0120_26993 914 Void setVpsSubLayersMaxMinus1PresentFlag( Bool flag ) { m_vpsSubLayersMaxMinus1PresentFlag = flag; } 994 915 Bool getVpsSubLayersMaxMinus1PresentFlag( ) { return m_vpsSubLayersMaxMinus1PresentFlag; } … … 996 917 Int getSubLayersVpsMaxMinus1( Int i ) { return m_subLayersVpsMaxMinus1[i]; } 997 918 Void checkSubLayersVpsMaxMinus1( Int i ) { assert( m_subLayersVpsMaxMinus1[i] >= 0 && m_subLayersVpsMaxMinus1[i] <= m_uiMaxTLayers - 1 ); } 998 #endif999 919 Void setMaxTidRefPresentFlag( Bool flag ) { m_maxTidRefPresentFlag = flag; } 1000 920 Bool getMaxTidRefPresentFlag( ) { return m_maxTidRefPresentFlag; } 1001 #if H_MV_6_ILDDS_O0225_301002 921 Void setMaxTidIlRefPicsPlus1( Int i, Int j, Int val ) { m_maxTidIlRefPicsPlus1[i][j] = val; } 1003 922 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 923 Void setAllRefLayersActiveFlag( Bool flag ) { m_allRefLayersActiveFlag = flag; } 1009 924 Bool getAllRefLayersActiveFlag( ) { return m_allRefLayersActiveFlag; } … … 1019 934 Void setProfileRefMinus1( Int profileTierLevelIdx, Int val ) { m_profileRefMinus1[ profileTierLevelIdx ] = val; } 1020 935 Int getProfileRefMinus1( Int profileTierLevelIdx ) { return m_profileRefMinus1[ profileTierLevelIdx ]; } 1021 #if H_MV_6_PS_O0109_231022 936 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 937 Void setMoreOutputLayerSetsThanDefaultFlag( Bool flag ) { m_moreOutputLayerSetsThanDefaultFlag = flag; } 1025 938 Bool getMoreOutputLayerSetsThanDefaultFlag() { return m_moreOutputLayerSetsThanDefaultFlag; } … … 1028 941 Int getNumAddOutputLayerSetsMinus1( ) { return m_numAddOutputLayerSetsMinus1; } 1029 942 1030 #if H_MV_6_PS_0109_251031 943 Void setDefaultOneTargetOutputLayerIdc( Int val ) { m_defaultOneTargetOutputLayerIdc = val; } 1032 944 Int getDefaultOneTargetOutputLayerIdc( ) { return m_defaultOneTargetOutputLayerIdc; } 1033 945 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 946 1039 947 Void setOutputLayerSetIdxMinus1( Int outLayerSetIdx, Int val ) { m_outputLayerSetIdxMinus1[ outLayerSetIdx ] = val; } … … 1042 950 Void setOutputLayerFlag( Int outLayerSetIdx, Int i, Bool flag ) { m_outputLayerFlag[ outLayerSetIdx ][ i ] = flag; } 1043 951 Bool getOutputLayerFlag( Int outLayerSetIdx, Int i ) { return m_outputLayerFlag[ outLayerSetIdx ][ i ]; } 1044 #if H_MV_6_HRD_O0217_131045 952 Bool inferOutputLayerFlag( Int layerSetIdx, Int i ) { return ( getDefaultOneTargetOutputLayerIdc( ) == 0 || ( ( getDefaultOneTargetOutputLayerIdc( ) == 1 ) && ( i == m_layerSetLayerIdList[layerSetIdx].size() - 1 ) )); } 1046 #endif1047 953 1048 954 Void setProfileLevelTierIdx( Int outLayerSetIdx, Int val ) { m_profileLevelTierIdx[ outLayerSetIdx = val ]; } 1049 955 Int getProfileLevelTierIdx( Int outLayerSetIdx ) { return m_profileLevelTierIdx[ outLayerSetIdx ]; } 1050 #if H_MV_6_GEN_0153_281051 956 Void setAltOutputLayerFlag( Bool flag ) { m_altOutputLayerFlag = flag; } 1052 957 Bool getAltOutputLayerFlag( ) { return m_altOutputLayerFlag; } 1053 #endif1054 958 1055 959 Void setRepFormatIdxPresentFlag( Bool flag ) { m_repFormatIdxPresentFlag = flag; } … … 1067 971 Bool getMaxOneActiveRefLayerFlag( ) { return m_maxOneActiveRefLayerFlag; } 1068 972 1069 #if H_MV_6_HRD_O0217_131070 973 Void setDpbSize( TComDpbSize* val ) { assert( m_dpbSize != 0 ); m_dpbSize = val; } 1071 974 TComDpbSize* getDpbSize( ) { return m_dpbSize;} 1072 #endif 1073 1074 #if H_MV_6_MISC_O0062_31 975 1075 976 Void setPocLsbNotPresentFlag( Int i, Bool flag ) { m_pocLsbNotPresentFlag[i] = flag; } 1076 977 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 978 Void setDirectDepTypeLenMinus2( Int val) { m_directDepTypeLenMinus2 = val; } 1083 979 Int getDirectDepTypeLenMinus2( ) { return m_directDepTypeLenMinus2; } 1084 980 1085 #if H_MV_6_PS_O0096_211086 981 Void setDefaultDirectDependencyFlag( Bool flag ) { m_defaultDirectDependencyFlag = flag; } 1087 982 Bool getDefaultDirectDependencyFlag( ) { return m_defaultDirectDependencyFlag; } … … 1089 984 Void setDefaultDirectDependencyType( Int val ) { m_defaultDirectDependencyType = val; } 1090 985 Int getDefaultDirectDependencyType( ) { return m_defaultDirectDependencyType; } 1091 #endif1092 986 Void setDirectDependencyType( Int depLayeridInVps, Int refLayeridInVps, Int val) { m_directDependencyType[ depLayeridInVps ][ refLayeridInVps ] = val; } 1093 987 Int getDirectDependencyType( Int depLayeridInVps, Int refLayeridInVps) { return m_directDependencyType[ depLayeridInVps ][ refLayeridInVps ]; } … … 1096 990 1097 991 TComVPSVUI* getVPSVUI( ) { return m_vpsVUI; } 1098 // VPS EXTENSION SEMANTICS VARIABLES 992 993 // VPS EXTENSION SEMANTICS VARIABLES 1099 994 Void setLayerIdInVps( Int layerIdInNuh, Int val ) { m_layerIdInVps[layerIdInNuh] = val; } 1100 995 Int getLayerIdInVps( Int layerIdInNuh ) { assert( m_layerIdInVps[layerIdInNuh] >= 0 ); return m_layerIdInVps[layerIdInNuh]; } 1101 996 1102 997 Int getScalabilityId ( Int layerIdInVps, ScalabilityType scalType ); 1103 #if H_MV_6_FIX_GET_VIEW_ID1104 998 Int getViewId ( Int layerIdInNuh ) { return m_viewIdVal[ getViewIndex( layerIdInNuh )]; } 1105 #else1106 Int getViewId ( Int layerIdInNuh ) { return m_viewIdVal[ getViewIndex( getLayerIdInVps( layerIdInNuh) )]; }1107 #endif1108 999 Void setRefLayers(); 1109 1000 … … 1120 1011 Int getNumLayersInIdList ( Int lsIdx ); 1121 1012 1122 #if H_MV_6_HRD_O0217_131123 1013 Int getNumOutputLayerSets() ; 1124 1014 Int getNumSubDpbs( Int i ) { return getNumLayersInIdList( i ); }; 1125 1015 Bool isOutputLayer( Int outLayerSetIdx, Int layerIdInNuh ); 1126 #if H_MV_6_HRD_O0217_131127 1016 Void deriveLayerSetLayerIdList(); 1128 1017 Void deriveTargetLayerIdLists(); 1129 1018 std::vector<Int> getTargetDecLayerIdList( Int targetOptLayerSetIdx ) { return m_targetDecLayerIdLists[targetOptLayerSetIdx]; }; 1130 1019 std::vector<Int> getTargetOptLayerIdList( Int targetOptLayerSetIdx ) { return m_targetDecLayerIdLists[targetOptLayerSetIdx]; }; 1131 #endif1132 #endif1133 1020 1134 1021 … … 1150 1037 Void setARPStepNum( Int layerIdInVps, UInt val ) { m_uiARPStepNum[layerIdInVps] = val; } 1151 1038 #endif 1152 #if CAM_HLS_F0136_F0045_F0082 1039 1153 1040 Void createCamPars(Int iNumViews); 1154 1041 Void deleteCamPars(); … … 1162 1049 Int* getInvCodedScale ( Int viewIndex ) { return m_aaaiCodedScale [viewIndex][1]; } 1163 1050 Int* getInvCodedOffset ( Int viewIndex ) { return m_aaaiCodedOffset[viewIndex][1]; } 1164 #endif1165 1051 1166 1052 #if H_3D_IV_MERGE 1167 1053 Void setIvMvPredFlag ( Int layerIdInVps, Bool val ) { m_ivMvPredFlag[ layerIdInVps ] = val; } 1168 1054 Bool getIvMvPredFlag ( Int layerIdInVps ) { return m_ivMvPredFlag[ layerIdInVps ]; }; 1169 #if MTK_SPIVMP_F01101055 #if H_3D_SPIVMP 1170 1056 Int getSubPULog2Size(Int layerIdInVps) { return m_iSubPULog2Size[layerIdInVps]; } 1171 1057 Void setSubPULog2Size(Int layerIdInVps, Int u) { m_iSubPULog2Size[layerIdInVps] = u;} … … 1182 1068 Void setVpsDepthModesFlag( Int layerIdInVps, Bool val ) { m_vpsDepthModesFlag[ layerIdInVps ] = val; } 1183 1069 Bool getVpsDepthModesFlag( Int layerIdInVps ) { return m_vpsDepthModesFlag[ layerIdInVps ]; } 1184 1185 #if H_3D_DIM_DLT1186 #if !DLT_DIFF_CODING_IN_PPS1187 Bool getUseDLTFlag ( Int layerIdInVps ) { return m_bUseDLTFlag[ layerIdInVps ]; }1188 Void setUseDLTFlag ( Int layerIdInVps, Bool b ) { m_bUseDLTFlag[ layerIdInVps ] = b; }1189 1190 Int getBitsPerDepthValue( Int layerIdInVps ) { return getUseDLTFlag(layerIdInVps)?m_iBitsPerDepthValue[layerIdInVps]:g_bitDepthY; }1191 Int getNumDepthValues( Int layerIdInVps ) { return getUseDLTFlag(layerIdInVps)?m_iNumDepthmapValues[layerIdInVps]:((1 << g_bitDepthY)-1); }1192 Int depthValue2idx( Int layerIdInVps, Pel value ) { return getUseDLTFlag(layerIdInVps)?m_iDepthValue2Idx[layerIdInVps][value]:value; }1193 Pel idx2DepthValue( Int layerIdInVps, UInt uiIdx ) { return getUseDLTFlag(layerIdInVps)?m_iIdx2DepthValue[layerIdInVps][uiIdx]:uiIdx; }1194 Void setDepthLUTs( Int layerIdInVps, Int* idx2DepthValue = NULL, Int iNumDepthValues = 0 );1195 #endif1196 #endif1197 1070 1198 1071 Bool getIvMvScalingFlag ( ) { return m_ivMvScalingFlag; } … … 1202 1075 Void setInterSDCFlag ( Int layerIdInVps, Bool bval ){ m_bInterSDCFlag[layerIdInVps] = bval; } 1203 1076 #endif 1204 #if SEC_MPI_ENABLING_MERGE_F01501077 #if H_3D_IV_MERGE 1205 1078 Bool getMPIFlag ( Int layerIdInVps ) { return m_bMPIFlag[layerIdInVps]; } 1206 1079 Void setMPIFlag ( Int layerIdInVps, Bool bval ){ m_bMPIFlag[layerIdInVps] = bval; } … … 1210 1083 }; 1211 1084 1212 #if DLT_DIFF_CODING_IN_PPS1085 #if H_3D 1213 1086 class TComDLT 1214 1087 { … … 1481 1354 TComHRD* getHrdParameters () { return &m_hrdParameters; } 1482 1355 TimingInfo* getTimingInfo() { return &m_timingInfo; } 1483 1484 #if H_MV_6_PS_O0118_33 1485 Void inferVideoSignalInfo( TComVPS* vps, Int layerIdCurr ) 1486 { 1487 if ( layerIdCurr == 0 || !vps->getVpsVuiPresentFlag() ) 1488 { 1489 return; 1490 } 1491 1492 TComVPSVUI* vpsVUI = vps->getVPSVUI(); 1493 assert( vpsVUI != NULL ); 1494 1495 TComVideoSignalInfo* videoSignalInfo = vpsVUI->getVideoSignalInfo( vpsVUI->getVpsVideoSignalInfoIdx( vps->getLayerIdInVps( layerIdCurr ) ) ); 1496 assert( videoSignalInfo != NULL ); 1497 1498 setVideoFormat ( videoSignalInfo->getVideoVpsFormat () ); 1499 setVideoFullRangeFlag ( videoSignalInfo->getVideoFullRangeVpsFlag () ); 1500 setColourPrimaries ( videoSignalInfo->getColourPrimariesVps () ); 1501 setTransferCharacteristics( videoSignalInfo->getTransferCharacteristicsVps() ); 1502 setMatrixCoefficients ( videoSignalInfo->getMatrixCoeffsVps () ); 1503 } 1356 #if H_MV 1357 Void inferVideoSignalInfo( TComVPS* vps, Int layerIdCurr ); 1504 1358 #endif 1505 1359 }; … … 1588 1442 TComVPS* m_pcVPS; 1589 1443 // SPS 1590 #if H_MV_6_PSEM_O0142_31591 1444 Bool m_spsExtensionFlag; 1592 1445 Bool m_spsExtensionTypeFlag[PS_EX_T_MAX_NUM]; 1593 #endif1594 1446 Bool m_spsInferScalingListFlag; 1595 1447 Int m_spsScalingListRefLayerId; 1596 1448 Bool m_updateRepFormatFlag; 1597 #if H_MV_6_PS_REP_FORM_18_19_201598 1449 Int m_spsRepFormatIdx; 1599 #endif1600 1450 // SPS Extension 1601 1451 Bool m_interViewMvVertConstraintFlag; 1602 #if H_MV_6_SHVC_O0098_361603 1452 Int m_numScaledRefLayerOffsets; 1604 1453 Int m_scaledRefLayerId [MAX_NUM_SCALED_REF_LAYERS]; … … 1607 1456 Int m_scaledRefLayerRightOffset [MAX_NUM_LAYERS]; 1608 1457 Int m_scaledRefLayerBottomOffset[MAX_NUM_LAYERS]; 1609 #endif1610 1458 #endif 1611 1459 #if H_3D … … 1744 1592 TComPTL* getPTL() { return &m_pcPTL; } 1745 1593 #if H_MV 1746 #if H_MV_6_PSEM_O0142_31747 1594 Void setSpsExtensionFlag( Bool flag ) { m_spsExtensionFlag = flag; } 1748 1595 Bool getSpsExtensionFlag( ) { return m_spsExtensionFlag; } … … 1750 1597 Void setSpsExtensionTypeFlag( Int i, Bool flag ) { m_spsExtensionTypeFlag[i] = flag; } 1751 1598 Bool getSpsExtensionTypeFlag( Int i ) { return m_spsExtensionTypeFlag[i]; } 1752 #endif1753 1599 Void setVPS ( TComVPS* pcVPS ) { m_pcVPS = pcVPS; } 1754 1600 TComVPS* getVPS () { return m_pcVPS; } … … 1762 1608 Void setUpdateRepFormatFlag( Bool flag ) { m_updateRepFormatFlag = flag; } 1763 1609 Bool getUpdateRepFormatFlag( ) { return m_updateRepFormatFlag; } 1764 #if H_MV_6_PS_REP_FORM_18_19_201765 1610 Void setSpsRepFormatIdx( Int val ) { m_spsRepFormatIdx = val; } 1766 1611 Int getSpsRepFormatIdx( ) { return m_spsRepFormatIdx; } 1767 #endif1768 1612 // SPS Extension 1769 1613 Void setInterViewMvVertConstraintFlag(Bool val) { m_interViewMvVertConstraintFlag = val; } 1770 1614 Bool getInterViewMvVertConstraintFlag() { return m_interViewMvVertConstraintFlag;} 1771 1615 1772 #if H_MV_6_SHVC_O0098_361773 1616 Void setNumScaledRefLayerOffsets( Int val ) { m_numScaledRefLayerOffsets = val; } 1774 1617 Int getNumScaledRefLayerOffsets( ) { return m_numScaledRefLayerOffsets; } … … 1788 1631 Void setScaledRefLayerBottomOffset( Int j, Int val ) { m_scaledRefLayerBottomOffset[j] = val; } 1789 1632 Int getScaledRefLayerBottomOffset( Int j ) { return m_scaledRefLayerBottomOffset[j]; } 1790 #endif1791 1633 // Inference 1792 1634 Void inferRepFormat( TComVPS* vps, Int layerIdCurr ); … … 1799 1641 Void setUsePC ( Bool b ) { m_bUsePC = b; } 1800 1642 Bool getUsePC () { return m_bUsePC; } 1801 #endif1802 #if H_3D1803 #if !CAM_HLS_F0136_F0045_F00821804 Void initCamParaSPS ( UInt uiViewIndex, UInt uiCamParPrecision = 0, Bool bCamParSlice = false, Int** aaiScale = 0, Int** aaiOffset = 0 );1805 UInt getCamParPrecision () { return m_uiCamParPrecision; }1806 Bool hasCamParInSliceHeader() { return m_bCamParInSliceHeader; }1807 #if QC_DEPTH_IV_MRG_F01251808 Void setHasCamParInSliceHeader( Bool b ) { m_bCamParInSliceHeader = b; }1809 #endif1810 Int* getCodedScale () { return m_aaiCodedScale [0]; }1811 Int* getCodedOffset () { return m_aaiCodedOffset[0]; }1812 Int* getInvCodedScale () { return m_aaiCodedScale [1]; }1813 Int* getInvCodedOffset () { return m_aaiCodedOffset[1]; }1814 #endif1815 1643 #endif 1816 1644 #if H_MV … … 1919 1747 #endif 1920 1748 1921 #if DLT_DIFF_CODING_IN_PPS1749 #if H_3D 1922 1750 TComDLT* m_pcDLT; 1923 1751 #endif … … 1948 1776 UInt getMinCuDQPSize () { return m_uiMinCuDQPSize; } 1949 1777 1950 #if DLT_DIFF_CODING_IN_PPS1778 #if H_3D 1951 1779 Void setDLT ( TComDLT* pcDLT ) { m_pcDLT = pcDLT; } 1952 1780 TComDLT* getDLT () { return m_pcDLT; } … … 2201 2029 // Additional slice header syntax elements 2202 2030 Bool m_pocResetFlag; 2203 #if H_MV_6_RALS_O0149_112204 2031 Bool m_crossLayerBlaFlag; 2205 #endif2206 2032 Bool m_discardableFlag; 2207 2033 Bool m_interLayerPredEnabledFlag; … … 2214 2040 #endif 2215 2041 #if H_3D_ARP 2216 #if SHARP_ARP_REF_CHECK_F01052217 2042 Bool m_arpRefPicAvailable[2][MAX_NUM_LAYERS]; 2218 #endif2219 2043 TComList<TComPic*> * m_pBaseViewRefPicList[MAX_NUM_LAYERS]; 2220 2044 UInt m_nARPStepNum; 2221 #if QC_MTK_INTERVIEW_ARP_F0123_F01082222 2045 Int m_aiFirstTRefIdx [2]; 2223 #endif2224 2046 #endif 2225 2047 #if H_3D_IC … … 2308 2130 #if H_3D_ARP 2309 2131 Void setBaseViewRefPicList( TComList<TComPic*> *pListPic, Int iViewIdx ) { m_pBaseViewRefPicList[iViewIdx] = pListPic; } 2310 #if SHARP_ARP_REF_CHECK_F01052311 2132 Void setARPStepNum( TComPicLists*ivPicLists ); 2312 #else2313 Void setARPStepNum();2314 #endif2315 2133 TComPic* getBaseViewRefPic ( UInt uiPOC , Int iViewIdx ) { return xGetRefPic( *m_pBaseViewRefPicList[iViewIdx], uiPOC ); } 2316 2134 UInt getARPStepNum( ) { return m_nARPStepNum; } … … 2513 2331 Int getAlterRefIdx ( RefPicList e ) { return m_aiAlterRefIdx[e]; } 2514 2332 #endif 2515 #if QC_MTK_INTERVIEW_ARP_F0123_F01082333 #if H_3D_ARP 2516 2334 Int getFirstTRefIdx ( RefPicList e ) { return m_aiFirstTRefIdx[e]; } 2517 2335 Void setFirstTRefIdx ( RefPicList e, Int i ) { m_aiFirstTRefIdx[e] = i; } 2518 #endif2519 #if SHARP_ARP_REF_CHECK_F01052520 2336 Bool getArpRefPicAvailable( RefPicList e, Int viewIdx) {return m_arpRefPicAvailable[e][getVPS()->getLayerIdInNuh(viewIdx, 0)]; } 2521 2337 #endif … … 2541 2357 // Additional slice header syntax elements 2542 2358 2543 #if H_MV_6_RALS_O0149_112544 2359 Void setCrossLayerBlaFlag( Bool flag ) { m_crossLayerBlaFlag = flag; } 2545 2360 Bool getCrossLayerBlaFlag( ) { return m_crossLayerBlaFlag; } … … 2552 2367 } 2553 2368 } 2554 #endif2555 2369 2556 2370 Void setPocResetFlag( Bool flag ) { m_pocResetFlag = flag; } 2557 2371 Bool getPocResetFlag( ) { return m_pocResetFlag; } 2558 2372 2559 Void setDiscardableFlag( Bool flag ) { m_discardableFlag = flag; }2560 Bool getDiscardableFlag( ) { return m_discardableFlag; }2561 2562 Void setInterLayerPredEnabledFlag( Bool flag ) { m_interLayerPredEnabledFlag = flag; }2563 Bool getInterLayerPredEnabledFlag( ) { return m_interLayerPredEnabledFlag; }2564 2565 Void setNumInterLayerRefPicsMinus1( Int val ) { m_numInterLayerRefPicsMinus1 = val; }2566 Int getNumInterLayerRefPicsMinus1( ) { return m_numInterLayerRefPicsMinus1; }2567 2568 Void setInterLayerPredLayerIdc( Int i, Int val ) { m_interLayerPredLayerIdc[i] = val; }2569 Int getInterLayerPredLayerIdc( Int i ) { return m_interLayerPredLayerIdc[i]; }2373 Void setDiscardableFlag( Bool flag ) { m_discardableFlag = flag; } 2374 Bool getDiscardableFlag( ) { return m_discardableFlag; } 2375 2376 Void setInterLayerPredEnabledFlag( Bool flag ) { m_interLayerPredEnabledFlag = flag; } 2377 Bool getInterLayerPredEnabledFlag( ) { return m_interLayerPredEnabledFlag; } 2378 2379 Void setNumInterLayerRefPicsMinus1( Int val ) { m_numInterLayerRefPicsMinus1 = val; } 2380 Int getNumInterLayerRefPicsMinus1( ) { return m_numInterLayerRefPicsMinus1; } 2381 2382 Void setInterLayerPredLayerIdc( Int i, Int val ) { m_interLayerPredLayerIdc[i] = val; } 2383 Int getInterLayerPredLayerIdc( Int i ) { return m_interLayerPredLayerIdc[i]; } 2570 2384 2571 2385 // Additional variables derived in slice header semantics … … 2573 2387 Int getInterLayerPredLayerIdcLen ( ) { return gCeilLog2( getVPS()->getNumDirectRefLayers( getLayerId() )); } 2574 2388 2575 #if H_MV_6_ILDDS_ILREFPICS_27_342576 2389 Int getRefLayerPicFlag( Int i ); 2577 2390 Int getRefLayerPicIdc ( Int j ); 2578 2391 Int getNumRefLayerPics( ); 2579 #endif2580 2392 2581 2393 Int getNumActiveRefLayerPics( );
Note: See TracChangeset for help on using the changeset viewer.