Changeset 588 in SHVCSoftware for trunk/source/Lib/TLibEncoder
- Timestamp:
- 1 Feb 2014, 23:50:54 (11 years ago)
- Location:
- trunk
- Files:
-
- 14 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk
- Property svn:mergeinfo changed
/branches/SHM-5.0-dev (added) merged: 548-585,587
- Property svn:mergeinfo changed
-
trunk/source
- Property svn:mergeinfo changed
/branches/SHM-5.0-dev/source (added) merged: 549-585 /trunk/source removed
- Property svn:mergeinfo changed
-
trunk/source/Lib/TLibEncoder/NALwrite.cpp
r313 r588 91 91 vector<uint8_t>& rbsp = nalu.m_Bitstream.getFIFO(); 92 92 93 #if P0130_EOB 94 if (rbsp.size() == 0) return; 95 #endif 96 93 97 for (vector<uint8_t>::iterator it = rbsp.begin(); it != rbsp.end();) 94 98 { -
trunk/source/Lib/TLibEncoder/SEIwrite.cpp
r442 r588 87 87 fprintf( g_hTrace, "=========== Tone Mapping Info SEI message ===========\n"); 88 88 break; 89 #if M0043_LAYERS_PRESENT_SEI90 case SEI::LAYERS_ PRESENT:89 #if LAYERS_NOT_PRESENT_SEI 90 case SEI::LAYERS_NOT_PRESENT: 91 91 fprintf( g_hTrace, "=========== Layers Present SEI message ===========\n"); 92 92 break; … … 99 99 fprintf( g_hTrace, "=========== Inter Layer Constrained Tile Sets SEI message ===========\n"); 100 100 break; 101 #endif 102 #if SUB_BITSTREAM_PROPERTY_SEI 103 case SEI::SUB_BITSTREAM_PROPERTY: 104 fprintf( g_hTrace, "=========== Sub-bitstream property SEI message ===========\n"); 105 break; 101 106 #endif 102 107 case SEI::SCALABLE_NESTING: … … 150 155 xWriteSEIToneMappingInfo(*static_cast<const SEIToneMappingInfo*>(&sei)); 151 156 break; 152 #if M0043_LAYERS_PRESENT_SEI153 case SEI::LAYERS_ PRESENT:154 xWriteSEILayers Present(*static_cast<const SEILayersPresent*>(&sei));157 #if LAYERS_NOT_PRESENT_SEI 158 case SEI::LAYERS_NOT_PRESENT: 159 xWriteSEILayersNotPresent(*static_cast<const SEILayersNotPresent*>(&sei)); 155 160 break; 156 161 #endif … … 162 167 xWriteSEIInterLayerConstrainedTileSets(*static_cast<const SEIInterLayerConstrainedTileSets*>(&sei)); 163 168 break; 169 #endif 170 #if SUB_BITSTREAM_PROPERTY_SEI 171 case SEI::SUB_BITSTREAM_PROPERTY: 172 xWriteSEISubBitstreamProperty(*static_cast<const SEISubBitstreamProperty*>(&sei)); 173 break; 164 174 #endif 165 175 case SEI::SCALABLE_NESTING: … … 536 546 } 537 547 538 #if M0043_LAYERS_PRESENT_SEI539 Void SEIWriter::xWriteSEILayers Present(const SEILayersPresent& sei)548 #if LAYERS_NOT_PRESENT_SEI 549 Void SEIWriter::xWriteSEILayersNotPresent(const SEILayersNotPresent& sei) 540 550 { 541 551 WRITE_UVLC( sei.m_activeVpsId, "lp_sei_active_vps_id" ); 542 552 for (UInt i = 0; i < sei.m_vpsMaxLayers; i++) 543 553 { 544 WRITE_FLAG( sei.m_layer PresentFlag[i], "layer_present_flag" );554 WRITE_FLAG( sei.m_layerNotPresentFlag[i], "layer_not_present_flag" ); 545 555 } 546 556 xWriteByteAlign(); … … 606 616 } 607 617 #endif 608 618 #if SUB_BITSTREAM_PROPERTY_SEI 619 Void SEIWriter::xWriteSEISubBitstreamProperty(const SEISubBitstreamProperty &sei) 620 { 621 WRITE_CODE( sei.m_activeVpsId, 4, "active_vps_id" ); 622 assert( sei.m_numAdditionalSubStreams >= 1 ); 623 WRITE_UVLC( sei.m_numAdditionalSubStreams - 1, "num_additional_sub_streams_minus1" ); 624 625 for( Int i = 0; i < sei.m_numAdditionalSubStreams; i++ ) 626 { 627 WRITE_CODE( sei.m_subBitstreamMode[i], 2, "sub_bitstream_mode[i]" ); 628 WRITE_UVLC( sei.m_outputLayerSetIdxToVps[i], "output_layer_set_idx_to_vps[i]" ); 629 WRITE_CODE( sei.m_highestSublayerId[i], 3, "highest_sub_layer_id[i]" ); 630 WRITE_CODE( sei.m_avgBitRate[i], 16, "avg_bit_rate[i]" ); 631 WRITE_CODE( sei.m_maxBitRate[i], 16, "max_bit_rate[i]" ); 632 } 633 xWriteByteAlign(); 634 } 635 #endif 609 636 Void SEIWriter::xWriteSEIScalableNesting(TComBitIf& bs, const SEIScalableNesting& sei, TComSPS *sps) 610 637 { -
trunk/source/Lib/TLibEncoder/SEIwrite.h
r442 r588 64 64 Void xWriteSEIGradualDecodingRefreshInfo(const SEIGradualDecodingRefreshInfo &sei); 65 65 Void xWriteSEIToneMappingInfo(const SEIToneMappingInfo& sei); 66 #if M0043_LAYERS_PRESENT_SEI67 Void xWriteSEILayers Present(const SEILayersPresent& sei);66 #if LAYERS_NOT_PRESENT_SEI 67 Void xWriteSEILayersNotPresent(const SEILayersNotPresent& sei); 68 68 #endif 69 69 Void xWriteSEISOPDescription(const SEISOPDescription& sei); 70 70 #if N0383_IL_CONSTRAINED_TILE_SETS_SEI 71 71 Void xWriteSEIInterLayerConstrainedTileSets(const SEIInterLayerConstrainedTileSets& sei); 72 #endif 73 #if SUB_BITSTREAM_PROPERTY_SEI 74 Void xWriteSEISubBitstreamProperty(const SEISubBitstreamProperty &sei); 72 75 #endif 73 76 Void xWriteSEIScalableNesting(TComBitIf& bs, const SEIScalableNesting& sei, TComSPS *sps); -
trunk/source/Lib/TLibEncoder/TEncCavlc.cpp
r547 r588 579 579 } 580 580 WRITE_FLAG( pcSPS->getTMVPFlagsPresent() ? 1 : 0, "sps_temporal_mvp_enable_flag" ); 581 #if REF_IDX_MFM582 #if !M0457_COL_PICTURE_SIGNALING583 if( pcSPS->getLayerId() > 0 )584 {585 WRITE_FLAG( pcSPS->getMFMEnabledFlag() ? 1 : 0, "sps_enh_mfm_enable_flag" );586 }587 #endif588 #endif589 581 WRITE_FLAG( pcSPS->getUseStrongIntraSmoothing(), "sps_strong_intra_smoothing_enable_flag" ); 590 582 … … 623 615 // more syntax elements to be written here 624 616 625 #if VERT_MV_CONSTRAINT626 617 // Vertical MV component restriction is not used in SHVC CTC 627 618 WRITE_FLAG( 0, "inter_view_mv_vert_constraint_flag" ); 628 #endif 619 629 620 if( pcSPS->getLayerId() > 0 ) 630 621 { … … 642 633 } 643 634 } 644 #if M0463_VUI_EXT_ILP_REF645 //// sps_extension_vui_parameters( )646 if( pcSPS->getVuiParameters()->getBitstreamRestrictionFlag() )647 {648 WRITE_UVLC( pcSPS->getNumIlpRestrictedRefLayers( ), "num_ilp_restricted_ref_layers" );649 for( Int i = 0; i < pcSPS->getNumIlpRestrictedRefLayers( ); i++ )650 {651 WRITE_UVLC( pcSPS->getMinSpatialSegmentOffsetPlus1( i ), "min_spatial_segment_offset_plus1" );652 if( pcSPS->getMinSpatialSegmentOffsetPlus1( i ) > 0 )653 {654 WRITE_FLAG( pcSPS->getCtuBasedOffsetEnabledFlag( i ), "ctu_based_offset_enabled_flag[ i ]");655 if( pcSPS->getCtuBasedOffsetEnabledFlag( i ) )656 {657 WRITE_UVLC( pcSPS->getMinHorizontalCtuOffsetPlus1( i ), "min_horizontal_ctu_offset_plus1[ i ]");658 }659 }660 }661 }662 //// sps_extension_vui_parameters( ) END663 #endif664 635 } 665 636 #endif 666 637 Void TEncCavlc::codeVPS( TComVPS* pcVPS ) 667 638 { 639 #if !P0125_REVERT_VPS_EXTN_OFFSET_TO_RESERVED 668 640 #if VPS_EXTN_OFFSET_CALC 669 641 UInt numBytesInVps = this->m_pcBitIf->getNumberOfWrittenBits(); 670 642 #endif 643 #endif 644 #if !P0307_REMOVE_VPS_VUI_OFFSET 671 645 #if VPS_VUI_OFFSET 672 646 m_vpsVuiCounter = this->m_pcBitIf->getNumberOfWrittenBits(); 647 #endif 673 648 #endif 674 649 WRITE_CODE( pcVPS->getVPSId(), 4, "vps_video_parameter_set_id" ); … … 682 657 WRITE_FLAG( pcVPS->getTemporalNestingFlag(), "vps_temporal_id_nesting_flag" ); 683 658 assert (pcVPS->getMaxTLayers()>1||pcVPS->getTemporalNestingFlag()); 659 #if !P0125_REVERT_VPS_EXTN_OFFSET_TO_RESERVED 684 660 #if VPS_EXTN_OFFSET 685 661 WRITE_CODE( pcVPS->getExtensionOffset(), 16, "vps_extension_offset" ); 662 #else 663 WRITE_CODE( 0xffff, 16, "vps_reserved_ffff_16bits" ); 664 #endif 686 665 #else 687 666 WRITE_CODE( 0xffff, 16, "vps_reserved_ffff_16bits" ); … … 775 754 WRITE_FLAG(1, "vps_extension_alignment_bit_equal_to_one"); 776 755 } 756 #if !P0125_REVERT_VPS_EXTN_OFFSET_TO_RESERVED 777 757 #if VPS_EXTN_OFFSET_CALC 778 758 Int vpsExntOffsetValueInBits = this->m_pcBitIf->getNumberOfWrittenBits() - numBytesInVps + 16; // 2 bytes for NUH … … 780 760 pcVPS->setExtensionOffset( vpsExntOffsetValueInBits >> 3 ); 781 761 #endif 762 #endif 782 763 codeVPSExtension(pcVPS); 783 764 WRITE_FLAG( 0, "vps_extension2_flag" ); // Flag value of 1 reserved … … 798 779 799 780 WRITE_FLAG( vps->getAvcBaseLayerFlag(), "avc_base_layer_flag" ); 781 #if !P0307_REMOVE_VPS_VUI_OFFSET 800 782 #if O0109_MOVE_VPS_VUI_FLAG 801 783 #if !VPS_VUI … … 819 801 WRITE_FLAG( vps->getSplittingFlag(), "splitting_flag" ); 820 802 #endif // O0109_MOVE_VPS_VUI_FLAG 803 #endif 804 WRITE_FLAG( vps->getSplittingFlag(), "splitting_flag" ); 821 805 822 806 for(i = 0; i < MAX_VPS_NUM_SCALABILITY_TYPES; i++) … … 908 892 } 909 893 #endif 910 #if JCTVC_M0203_INTERLAYER_PRED_IDC911 894 #if N0120_MAX_TID_REF_PRESENT_FLAG 912 895 WRITE_FLAG( vps->getMaxTidRefPresentFlag(), "max_tid_ref_present_flag"); … … 944 927 } 945 928 #endif 946 #endif947 929 #if ILP_SSH_SIG 948 930 WRITE_FLAG( vps->getIlpSshSignalingEnabledFlag(), "all_ref_layers_active_flag" ); … … 950 932 #if VPS_EXTN_PROFILE_INFO 951 933 // Profile-tier-level signalling 934 #if !VPS_EXTN_UEV_CODING 952 935 WRITE_CODE( vps->getNumLayerSets() - 1 , 10, "vps_number_layer_sets_minus1" ); 953 936 WRITE_CODE( vps->getNumProfileTierLevel() - 1, 6, "vps_num_profile_tier_level_minus1"); 937 #else 938 WRITE_UVLC( vps->getNumProfileTierLevel() - 1, "vps_num_profile_tier_level_minus1"); 939 #endif 954 940 for(Int idx = 1; idx <= vps->getNumProfileTierLevel() - 1; idx++) 955 941 { 956 942 WRITE_FLAG( vps->getProfilePresentFlag(idx), "vps_profile_present_flag[i]" ); 943 #if !P0048_REMOVE_PROFILE_REF 957 944 if( !vps->getProfilePresentFlag(idx) ) 958 945 { 959 946 WRITE_CODE( vps->getProfileLayerSetRef(idx) - 1, 6, "profile_ref_minus1[i]" ); 960 947 } 948 #endif 961 949 codePTL( vps->getPTLForExtn(idx), vps->getProfilePresentFlag(idx), vps->getMaxTLayers() - 1 ); 962 950 } 963 951 #endif 964 952 953 #if !VPS_EXTN_UEV_CODING 965 954 Int numOutputLayerSets = vps->getNumOutputLayerSets() ; 966 955 WRITE_FLAG( (numOutputLayerSets > vps->getNumLayerSets()), "more_output_layer_sets_than_default_flag" ); … … 969 958 WRITE_CODE( numOutputLayerSets - vps->getNumLayerSets(), 10, "num_add_output_layer_sets" ); 970 959 } 960 #else 961 Int numOutputLayerSets = vps->getNumOutputLayerSets() ; 962 assert( numOutputLayerSets - (Int)vps->getNumLayerSets() >= 0 ); 963 WRITE_UVLC( numOutputLayerSets - vps->getNumLayerSets(), "num_add_output_layer_sets" ); 964 #endif 971 965 if( numOutputLayerSets > 1 ) 972 966 { 967 #if P0295_DEFAULT_OUT_LAYER_IDC 968 WRITE_CODE( vps->getDefaultTargetOutputLayerIdc(), 2, "default_target_output_layer_idc" ); 969 #else 973 970 #if O0109_DEFAULT_ONE_OUT_LAYER_IDC 974 971 WRITE_CODE( vps->getDefaultOneTargetOutputLayerIdc(), 2, "default_one_target_output_layer_idc" ); … … 976 973 WRITE_FLAG( vps->getDefaultOneTargetOutputLayerFlag(), "default_one_target_output_layer_flag" ); 977 974 #endif 975 #endif 978 976 } 979 977 … … 987 985 numBits++; 988 986 } 989 WRITE_CODE( vps->getOutputLayerSetIdx(i) - 1, numBits, "output_layer_set_idx_minus1"); 987 WRITE_CODE( vps->getOutputLayerSetIdx(i) - 1, numBits, "output_layer_set_idx_minus1"); 988 #if P0295_DEFAULT_OUT_LAYER_IDC 989 } 990 if ( i > (vps->getNumLayerSets() - 1) || vps->getDefaultTargetOutputLayerIdc() >= 2 ) //Instead of == 2, >= 2 is used to follow the agreement that value 3 should be interpreted as 2 991 { 992 #endif 990 993 Int lsIdx = vps->getOutputLayerSetIdx(i); 991 994 for(j = 0; j < vps->getNumLayersInIdList(lsIdx) - 1; j++) … … 1015 1018 { 1016 1019 #if O0096_REP_FORMAT_INDEX 1020 #if !VPS_EXTN_UEV_CODING 1017 1021 WRITE_CODE( vps->getVpsNumRepFormats() - 1, 8, "vps_num_rep_formats_minus1" ); 1022 #else 1023 WRITE_UVLC( vps->getVpsNumRepFormats() - 1, "vps_num_rep_formats_minus1" ); 1024 #endif 1018 1025 #else 1019 1026 WRITE_CODE( vps->getVpsNumRepFormats() - 1, 4, "vps_num_rep_formats_minus1" ); … … 1033 1040 { 1034 1041 #if O0096_REP_FORMAT_INDEX 1042 #if !VPS_EXTN_UEV_CODING 1035 1043 WRITE_CODE( vps->getVpsRepFormatIdx(i), 8, "vps_rep_format_idx[i]" ); 1036 1044 #else 1045 Int numBits = 1; 1046 while ((1 << numBits) < (vps->getVpsNumRepFormats())) 1047 { 1048 numBits++; 1049 } 1050 WRITE_CODE( vps->getVpsRepFormatIdx(i), numBits, "vps_rep_format_idx[i]" ); 1051 #endif 1052 #else 1037 1053 WRITE_CODE( vps->getVpsRepFormatIdx(i), 4, "vps_rep_format_idx[i]" ); 1038 1054 #endif … … 1042 1058 #endif 1043 1059 1044 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1045 WRITE_FLAG(vps->getMaxOneActiveRefLayerFlag(), "max_one_active_ref_layer_flag"); 1046 #endif 1060 WRITE_FLAG(vps->getMaxOneActiveRefLayerFlag(), "max_one_active_ref_layer_flag"); 1047 1061 #if O0062_POC_LSB_NOT_PRESENT_FLAG 1048 1062 for(i = 1; i< vps->getMaxLayers(); i++) … … 1061 1075 #endif 1062 1076 #if VPS_DPB_SIZE_TABLE 1063 for(i = 1; i < vps->getNumOutputLayerSets(); i++) 1064 { 1065 WRITE_FLAG( vps->getSubLayerFlagInfoPresentFlag( i ), "sub_layer_flag_info_present_flag[i]"); 1066 for(j = 0; j < vps->getMaxTLayers(); j++) 1067 { 1068 if( j > 0 && vps->getSubLayerFlagInfoPresentFlag(i) ) 1069 { 1070 WRITE_FLAG( vps->getSubLayerDpbInfoPresentFlag( i, j), "sub_layer_dpb_info_present_flag[i]"); 1071 } 1072 if( vps->getSubLayerDpbInfoPresentFlag(i, j) ) 1073 { 1074 for(Int k = 0; k < vps->getNumSubDpbs(i); k++) 1075 { 1076 WRITE_UVLC( vps->getMaxVpsDecPicBufferingMinus1( i, k, j), "max_vps_dec_pic_buffering_minus1[i][k][j]" ); 1077 } 1078 WRITE_UVLC( vps->getMaxVpsNumReorderPics( i, j), "max_vps_num_reorder_pics[i][j]" ); 1079 WRITE_UVLC( vps->getMaxVpsLatencyIncreasePlus1( i, j), "max_vps_latency_increase_plus1[i][j]" ); 1080 } 1081 } 1082 } 1083 #endif 1084 #if VPS_EXTN_DIRECT_REF_LAYERS && M0457_PREDICTION_INDICATIONS 1077 codeVpsDpbSizeTable(vps); 1078 #endif 1079 #if VPS_EXTN_DIRECT_REF_LAYERS 1085 1080 WRITE_UVLC( vps->getDirectDepTypeLen()-2, "direct_dep_type_len_minus2"); 1086 1081 #if O0096_DEFAULT_DEPENDENCY_TYPE … … 1126 1121 #endif 1127 1122 1123 #if P0307_VPS_NON_VUI_EXTENSION 1124 WRITE_UVLC( vps->getVpsNonVuiExtLength(), "vps_non_vui_extension_length" ); 1125 if ( vps->getVpsNonVuiExtLength() > 0 ) 1126 { 1127 printf("\n\nUp to the current spec, the value of vps_non_vui_extension_length is supposed to be 0\n"); 1128 } 1129 #endif 1130 1128 1131 #if !O0109_MOVE_VPS_VUI_FLAG 1129 1132 #if !VPS_VUI … … 1146 1149 #endif 1147 1150 #else 1151 #if P0307_REMOVE_VPS_VUI_OFFSET 1152 WRITE_FLAG( 1, "vps_vui_present_flag" ); 1153 vps->setVpsVuiPresentFlag(true); 1154 #endif 1148 1155 if(vps->getVpsVuiPresentFlag()) // Should be conditioned on the value of vps_vui_present_flag 1149 1156 { … … 1152 1159 WRITE_FLAG(1, "vps_vui_alignment_bit_equal_to_one"); 1153 1160 } 1161 #if !P0307_REMOVE_VPS_VUI_OFFSET 1154 1162 #if VPS_VUI_OFFSET 1155 1163 Int vpsVuiOffsetValeInBits = this->m_pcBitIf->getNumberOfWrittenBits() - m_vpsVuiCounter + 16; // 2 bytes for NUH 1156 1164 assert( vpsVuiOffsetValeInBits % 8 == 0 ); 1157 1165 vps->setVpsVuiOffset( vpsVuiOffsetValeInBits >> 3 ); 1166 #endif 1158 1167 #endif 1159 1168 codeVPSVUI(vps); … … 1204 1213 } 1205 1214 #endif 1215 #if VPS_DPB_SIZE_TABLE 1216 Void TEncCavlc::codeVpsDpbSizeTable(TComVPS *vps) 1217 { 1218 for(Int i = 1; i < vps->getNumOutputLayerSets(); i++) 1219 { 1220 #if CHANGE_NUMSUBDPB_IDX 1221 Int layerSetIdxForOutputLayerSet = vps->getOutputLayerSetIdx( i ); 1222 #endif 1223 WRITE_FLAG( vps->getSubLayerFlagInfoPresentFlag( i ), "sub_layer_flag_info_present_flag[i]"); 1224 for(Int j = 0; j < vps->getMaxTLayers(); j++) 1225 { 1226 if( j > 0 && vps->getSubLayerFlagInfoPresentFlag(i) ) 1227 { 1228 WRITE_FLAG( vps->getSubLayerDpbInfoPresentFlag( i, j), "sub_layer_dpb_info_present_flag[i]"); 1229 } 1230 if( vps->getSubLayerDpbInfoPresentFlag(i, j) ) 1231 { 1232 #if CHANGE_NUMSUBDPB_IDX 1233 for(Int k = 0; k < vps->getNumSubDpbs(layerSetIdxForOutputLayerSet); k++) 1234 #else 1235 for(Int k = 0; k < vps->getNumSubDpbs(i); k++) 1236 #endif 1237 { 1238 WRITE_UVLC( vps->getMaxVpsDecPicBufferingMinus1( i, k, j), "max_vps_dec_pic_buffering_minus1[i][k][j]" ); 1239 } 1240 WRITE_UVLC( vps->getMaxVpsNumReorderPics( i, j), "max_vps_num_reorder_pics[i][j]" ); 1241 #if RESOLUTION_BASED_DPB 1242 if( vps->getNumSubDpbs(layerSetIdxForOutputLayerSet) != vps->getNumLayersInIdList( layerSetIdxForOutputLayerSet ) ) // NumSubDpbs 1243 { 1244 for(Int k = 0; k < vps->getNumLayersInIdList( layerSetIdxForOutputLayerSet ); k++) 1245 { 1246 WRITE_UVLC( vps->getMaxVpsLayerDecPicBuffMinus1( i, k, j), "max_vps_layer_dec_pic_buff_minus1[i][k][j]" ); 1247 } 1248 } 1249 #endif 1250 WRITE_UVLC( vps->getMaxVpsLatencyIncreasePlus1( i, j), "max_vps_latency_increase_plus1[i][j]" ); 1251 } 1252 } 1253 } 1254 } 1255 #endif 1206 1256 #if VPS_VUI 1207 1257 Void TEncCavlc::codeVPSVUI (TComVPS *vps) … … 1251 1301 } 1252 1302 #endif 1303 #if VPS_VUI_VIDEO_SIGNAL_MOVE 1304 WRITE_FLAG( vps->getVideoSigPresentVpsFlag(), "video_signal_info_idx_present_flag" ); 1305 if (vps->getVideoSigPresentVpsFlag()) 1306 { 1307 WRITE_CODE(vps->getNumVideoSignalInfo()-1, 4, "vps_num_video_signal_info_minus1" ); 1308 } 1309 1310 for(i = 0; i < vps->getNumVideoSignalInfo(); i++) 1311 { 1312 WRITE_CODE(vps->getVideoVPSFormat(i), 3, "video_vps_format" ); 1313 WRITE_FLAG(vps->getVideoFullRangeVpsFlag(i), "video_full_range_vps_flag" ); 1314 WRITE_CODE(vps->getColorPrimaries(i), 8, "color_primaries_vps" ); 1315 WRITE_CODE(vps->getTransCharacter(i), 8, "transfer_characteristics_vps" ); 1316 WRITE_CODE(vps->getMaxtrixCoeff(i), 8, "matrix_coeffs_vps" ); 1317 } 1318 1319 if (vps->getVideoSigPresentVpsFlag() && vps->getNumVideoSignalInfo() > 1 ) 1320 { 1321 for (i=1; i < vps->getMaxLayers(); i++) 1322 WRITE_CODE(vps->getVideoSignalInfoIdx(i), 4, "vps_video_signal_info_idx" ); 1323 } 1324 #endif 1253 1325 #if VPS_VUI_TILES_NOT_IN_USE__FLAG 1254 1326 UInt layerIdx; … … 1304 1376 #endif 1305 1377 #if N0160_VUI_EXT_ILP_REF 1306 WRITE_FLAG( vps->get NumIlpRestrictedRefLayers() ? 1 : 0 , "num_ilp_restricted_ref_layers" );1307 if( vps->get NumIlpRestrictedRefLayers())1378 WRITE_FLAG( vps->getIlpRestrictedRefLayersFlag() ? 1 : 0 , "ilp_restricted_ref_layers_flag" ); 1379 if( vps->getIlpRestrictedRefLayersFlag()) 1308 1380 { 1309 1381 for(i = 1; i < vps->getMaxLayers(); i++) … … 1327 1399 #endif 1328 1400 #if VPS_VUI_VIDEO_SIGNAL 1401 #if VPS_VUI_VIDEO_SIGNAL_MOVE 1402 #else 1329 1403 WRITE_FLAG( vps->getVideoSigPresentVpsFlag(), "video_signal_info_idx_present_flag" ); 1330 1404 if (vps->getVideoSigPresentVpsFlag()) … … 1347 1421 WRITE_CODE(vps->getVideoSignalInfoIdx(i), 4, "vps_video_signal_info_idx" ); 1348 1422 } 1423 #endif 1349 1424 #endif 1350 1425 } … … 1611 1686 } 1612 1687 1613 #if JCTVC_M0458_INTERLAYER_RPS_SIG1688 #if SVC_EXTENSION 1614 1689 #if ILP_SSH_SIG 1615 1690 #if ILP_SSH_SIG_FIX … … 1650 1725 } 1651 1726 } 1652 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG 1653 if( pcSlice->getNumSamplePredRefLayers() > 0 && pcSlice->getActiveNumILRRefIdx() > 0 ) 1654 { 1655 WRITE_FLAG( pcSlice->getInterLayerSamplePredOnlyFlag(), "inter_layer_sample_pred_only_flag" ); 1656 } 1657 #endif 1658 #endif 1727 #endif //SVC_EXTENSION 1659 1728 1660 1729 if(pcSlice->getSPS()->getUseSAO()) … … 1772 1841 if ( pcSlice->getEnableTMVPFlag() ) 1773 1842 { 1774 #if SVC_EXTENSION && M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING1775 if ( !pcSlice->getIdrPicFlag() && pcSlice->getLayerId() > 0 && pcSlice->getActiveNumILRRefIdx() > 0 && pcSlice->getNumMotionPredRefLayers() > 0 )1776 {1777 WRITE_FLAG( pcSlice->getAltColIndicationFlag() ? 1 : 0, "alt_collocated_indication_flag" );1778 if (pcSlice->getAltColIndicationFlag() && pcSlice->getNumMotionPredRefLayers() > 1)1779 {1780 WRITE_UVLC(0, "collocated_ref_layer_idx");1781 }1782 }1783 else1784 {1785 #endif1786 1843 if ( pcSlice->getSliceType() == B_SLICE ) 1787 1844 { … … 1795 1852 WRITE_UVLC( pcSlice->getColRefIdx(), "collocated_ref_idx" ); 1796 1853 } 1797 #if SVC_EXTENSION && M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING1798 }1799 #endif1800 1854 } 1801 1855 if ( (pcSlice->getPPS()->getUseWP() && pcSlice->getSliceType()==P_SLICE) || (pcSlice->getPPS()->getWPBiPred() && pcSlice->getSliceType()==B_SLICE) ) -
trunk/source/Lib/TLibEncoder/TEncCavlc.h
r547 r588 68 68 TComSlice* m_pcSlice; 69 69 UInt m_uiCoeffCost; 70 #if !P0307_REMOVE_VPS_VUI_OFFSET 70 71 #if VPS_VUI_OFFSET 71 72 Int m_vpsVuiCounter; 73 #endif 72 74 #endif 73 75 Void codeShortTermRefPicSet ( TComSPS* pcSPS, TComReferencePictureSet* pcRPS, Bool calledFromSliceHeader, Int idx ); … … 95 97 #if REPN_FORMAT_IN_VPS 96 98 Void codeRepFormat ( RepFormat *repFormat ); 99 #endif 100 #if VPS_DPB_SIZE_TABLE 101 Void codeVpsDpbSizeTable (TComVPS *vps); 97 102 #endif 98 103 Void codeVUI ( TComVUI *pcVUI, TComSPS* pcSPS ); -
trunk/source/Lib/TLibEncoder/TEncCfg.h
r540 r588 168 168 Int m_numActiveRefLayers; 169 169 Int m_predLayerId[MAX_VPS_LAYER_ID_PLUS1]; 170 #if M0457_PREDICTION_INDICATIONS171 170 Int m_numSamplePredRefLayers; 172 171 Int m_samplePredRefLayerId[MAX_VPS_LAYER_ID_PLUS1]; … … 175 174 Bool m_samplePredEnabledFlag[MAX_VPS_LAYER_ID_PLUS1]; 176 175 Bool m_motionPredEnabledFlag[MAX_VPS_LAYER_ID_PLUS1]; 177 #endif178 176 #endif 179 177 #if N0120_MAX_TID_REF_CFG … … 307 305 Int m_gradualDecodingRefreshInfoEnabled; 308 306 Int m_decodingUnitInfoSEIEnabled; 309 #if M0043_LAYERS_PRESENT_SEI310 Int m_layers PresentSEIEnabled;307 #if LAYERS_NOT_PRESENT_SEI 308 Int m_layersNotPresentSEIEnabled; 311 309 #endif 312 310 Int m_SOPDescriptionSEIEnabled; … … 452 450 Void setPredLayerId (Int i, Int refLayerId) { m_predLayerId[i] = refLayerId; } 453 451 454 #if M0457_PREDICTION_INDICATIONS455 452 Int getNumSamplePredRefLayers () { return m_numSamplePredRefLayers; } 456 453 Void setNumSamplePredRefLayers (Int num) { m_numSamplePredRefLayers = num; } … … 470 467 Bool getMotionPredEnabledFlag (Int i) { return m_motionPredEnabledFlag[i]; } 471 468 Void setMotionPredEnabledFlag (Int i,Bool flag) { m_motionPredEnabledFlag[i] = flag; } 472 #endif473 469 #endif 474 470 #if N0120_MAX_TID_REF_CFG … … 752 748 Void setDecodingUnitInfoSEIEnabled(Int b) { m_decodingUnitInfoSEIEnabled = b; } 753 749 Int getDecodingUnitInfoSEIEnabled() { return m_decodingUnitInfoSEIEnabled; } 754 #if M0043_LAYERS_PRESENT_SEI755 Void setLayers PresentSEIEnabled(Int b) { m_layersPresentSEIEnabled = b; }756 Int getLayers PresentSEIEnabled() { return m_layersPresentSEIEnabled; }750 #if LAYERS_NOT_PRESENT_SEI 751 Void setLayersNotPresentSEIEnabled(Int b) { m_layersNotPresentSEIEnabled = b; } 752 Int getLayersNotPresentSEIEnabled() { return m_layersNotPresentSEIEnabled; } 757 753 #endif 758 754 Void setSOPDescriptionSEIEnabled(Int b) { m_SOPDescriptionSEIEnabled = b; } -
trunk/source/Lib/TLibEncoder/TEncCu.cpp
r540 r588 462 462 testInter = false; 463 463 } 464 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG465 if( pcSlice->getInterLayerSamplePredOnlyFlag() )466 {467 testInter = false;468 }469 #endif470 464 } 471 465 #endif -
trunk/source/Lib/TLibEncoder/TEncGOP.cpp
r547 r588 167 167 } 168 168 169 #if M0043_LAYERS_PRESENT_SEI170 SEILayers Present* TEncGOP::xCreateSEILayersPresent ()169 #if LAYERS_NOT_PRESENT_SEI 170 SEILayersNotPresent* TEncGOP::xCreateSEILayersNotPresent () 171 171 { 172 172 UInt i = 0; 173 SEILayers Present *seiLayersPresent = new SEILayersPresent();174 seiLayers Present->m_activeVpsId = m_pcCfg->getVPS()->getVPSId();175 seiLayers Present->m_vpsMaxLayers = m_pcCfg->getVPS()->getMaxLayers();176 for ( ; i < seiLayers Present->m_vpsMaxLayers; i++)177 { 178 seiLayers Present->m_layerPresentFlag[i] = true;173 SEILayersNotPresent *seiLayersNotPresent = new SEILayersNotPresent(); 174 seiLayersNotPresent->m_activeVpsId = m_pcCfg->getVPS()->getVPSId(); 175 seiLayersNotPresent->m_vpsMaxLayers = m_pcCfg->getVPS()->getMaxLayers(); 176 for ( ; i < seiLayersNotPresent->m_vpsMaxLayers; i++) 177 { 178 seiLayersNotPresent->m_layerNotPresentFlag[i] = true; 179 179 } 180 180 for ( ; i < MAX_LAYERS; i++) 181 181 { 182 seiLayers Present->m_layerPresentFlag[i] = false;183 } 184 return seiLayers Present;182 seiLayersNotPresent->m_layerNotPresentFlag[i] = false; 183 } 184 return seiLayersNotPresent; 185 185 } 186 186 #endif … … 363 363 } 364 364 365 #if M0043_LAYERS_PRESENT_SEI366 if(m_pcCfg->getLayers PresentSEIEnabled())367 { 368 SEILayers Present *sei = xCreateSEILayersPresent ();365 #if LAYERS_NOT_PRESENT_SEI 366 if(m_pcCfg->getLayersNotPresentSEIEnabled()) 367 { 368 SEILayersNotPresent *sei = xCreateSEILayersNotPresent (); 369 369 m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream); 370 370 m_seiWriter.writeSEImessage(nalu.m_Bitstream, *sei, sps); … … 690 690 pcSlice->setActiveNumILRRefIdx(0); 691 691 pcSlice->setInterLayerPredEnabledFlag(false); 692 #if M0457_COL_PICTURE_SIGNALING693 692 pcSlice->setMFMEnabledFlag(false); 694 #if !REMOVE_COL_PICTURE_SIGNALING695 pcSlice->setAltColIndicationFlag(false);696 #endif697 #endif698 }699 #endif700 701 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG702 pcSlice->setNumSamplePredRefLayers( m_pcEncTop->getNumSamplePredRefLayers() );703 pcSlice->setInterLayerSamplePredOnlyFlag( 0 );704 if( pcSlice->getNumSamplePredRefLayers() > 0 && pcSlice->getActiveNumILRRefIdx() > 0 )705 {706 if( m_pcEncTop->getIlSampleOnlyPred() > 0 )707 {708 pcSlice->setInterLayerSamplePredOnlyFlag( true );709 }710 693 } 711 694 #endif … … 1159 1142 if( m_layerId > 0 && pcSlice->getActiveNumILRRefIdx() ) 1160 1143 { 1161 #if RESTR_CHK1162 1144 #if POC_RESET_FLAG 1163 1145 if ( pocCurr > 0 && pcSlice->isRADL() && pcPic->getSlice(0)->getBaseColPic(pcPic->getSlice(0)->getInterLayerPredLayerIdc(0))->getSlice(0)->isRASL()) … … 1166 1148 #endif 1167 1149 { 1168 #if JCTVC_M0458_INTERLAYER_RPS_SIG1169 1150 pcSlice->setActiveNumILRRefIdx(0); 1170 1151 pcSlice->setInterLayerPredEnabledFlag(0); 1171 #else 1172 pcSlice->setNumILRRefIdx(0); 1173 #endif 1174 } 1175 #endif 1176 #if JCTVC_M0458_INTERLAYER_RPS_SIG 1152 } 1177 1153 if( pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA ) 1178 1154 { … … 1185 1161 pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumRefIdx(REF_PIC_LIST_1)+pcSlice->getActiveNumILRRefIdx()); 1186 1162 } 1187 #else1188 if( pcSlice->getNalUnitType() >= NAL_UNIT_CODED_SLICE_BLA_W_LP && pcSlice->getNalUnitType() <= NAL_UNIT_CODED_SLICE_CRA )1189 {1190 pcSlice->setNumRefIdx(REF_PIC_LIST_0, pcSlice->getNumILRRefIdx());1191 pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumILRRefIdx());1192 }1193 else1194 {1195 pcSlice->setNumRefIdx(REF_PIC_LIST_0, pcSlice->getNumRefIdx(REF_PIC_LIST_0)+pcSlice->getNumILRRefIdx());1196 pcSlice->setNumRefIdx(REF_PIC_LIST_1, pcSlice->getNumRefIdx(REF_PIC_LIST_1)+pcSlice->getNumILRRefIdx());1197 }1198 #endif1199 1163 } 1200 1164 #endif //SVC_EXTENSION … … 1205 1169 1206 1170 #if SVC_EXTENSION 1207 #if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING1208 if ( pcSlice->getSliceType() == B_SLICE && !(pcSlice->getActiveNumILRRefIdx() > 0 && m_pcEncTop->getNumMotionPredRefLayers() > 0) )1209 #else1210 1171 if( pcSlice->getSliceType() == B_SLICE ) 1211 #endif1212 1172 { 1213 1173 pcSlice->setColFromL0Flag(1-uiColDir); … … 1224 1184 pcSlice->setILRPic( m_pcEncTop->getIlpList() ); 1225 1185 #if REF_IDX_MFM 1226 #if M0457_COL_PICTURE_SIGNALING1227 1186 if( pcSlice->getMFMEnabledFlag() ) 1228 #else1229 if( pcSlice->getSPS()->getMFMEnabledFlag() )1230 #endif1231 1187 { 1232 1188 pcSlice->setRefPOCListILP(m_pcEncTop->getIlpList(), pcSlice->getBaseColPic()); 1233 #if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING1234 pcSlice->setMotionPredIlp(getMotionPredIlp(pcSlice));1235 #endif1236 1189 } 1237 1190 #else … … 1243 1196 1244 1197 #if REF_IDX_MFM 1245 #if M0457_COL_PICTURE_SIGNALING1246 #if REMOVE_COL_PICTURE_SIGNALING1247 1198 if( pcSlice->getMFMEnabledFlag() ) 1248 #else1249 if( pcSlice->getMFMEnabledFlag() && !(pcSlice->getActiveNumILRRefIdx() > 0 && m_pcEncTop->getNumMotionPredRefLayers() > 0) )1250 #endif1251 #else1252 if( pcSlice->getSPS()->getMFMEnabledFlag() )1253 #endif1254 1199 { 1255 1200 Bool found = false; … … 1308 1253 } 1309 1254 1310 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG1311 if (pcSlice->getSliceType() == B_SLICE && m_pcEncTop->getIlSampleOnlyPred() == 0)1312 #else1313 1255 if (pcSlice->getSliceType() == B_SLICE) 1314 #endif1315 1256 { 1316 1257 #if !SVC_EXTENSION … … 1617 1558 #if O0194_WEIGHTED_PREDICTION_CGS 1618 1559 // Calculate for the base layer to be used in EL as Inter layer reference 1619 m_pcSliceEncoder->estimateILWpParam( pcSlice ); 1560 if( m_pcEncTop->getInterLayerWeightedPredFlag() ) 1561 { 1562 m_pcSliceEncoder->estimateILWpParam( pcSlice ); 1563 } 1620 1564 #endif 1621 1565 #if AVC_SYNTAX … … 1756 1700 // The following code also calculates the VPS VUI offset 1757 1701 #endif 1702 #if !P0125_REVERT_VPS_EXTN_OFFSET_TO_RESERVED 1758 1703 #if VPS_EXTN_OFFSET_CALC 1759 1704 OutputNALUnit tempNalu(NAL_UNIT_VPS, 0, 0 ); // The value of nuh_layer_id of VPS NAL unit shall be equal to 0. 1760 1705 m_pcEntropyCoder->setBitstream(&tempNalu.m_Bitstream); 1761 1706 m_pcEntropyCoder->encodeVPS(m_pcEncTop->getVPS()); // Use to calculate the VPS extension offset 1707 #endif 1762 1708 #endif 1763 1709 m_pcEntropyCoder->setBitstream(&nalu.m_Bitstream); … … 2068 2014 startCUAddrSliceSegmentIdx++; 2069 2015 } 2070 #if SVC_EXTENSION && M0457_COL_PICTURE_SIGNALING2016 #if SVC_EXTENSION 2071 2017 pcSlice->setNumMotionPredRefLayers(m_pcEncTop->getNumMotionPredRefLayers()); 2072 2018 #endif … … 3111 3057 3112 3058 #if SVC_EXTENSION 3113 #if ADAPTIVE_QP_SELECTION 3114 printf("POC %4d LId: %1d TId: %1d ( %c-SLICE , nQP %d QP %d ) %10d bits",3059 #if ADAPTIVE_QP_SELECTION 3060 printf("POC %4d LId: %1d TId: %1d ( %c-SLICE %s, nQP %d QP %d ) %10d bits", 3115 3061 pcSlice->getPOC(), 3116 3062 pcSlice->getLayerId(), 3117 3063 pcSlice->getTLayer(), 3118 3064 c, 3065 NaluToStr( pcSlice->getNalUnitType() ).data(), 3119 3066 pcSlice->getSliceQpBase(), 3120 3067 pcSlice->getSliceQp(), 3121 3068 uibits ); 3122 3069 #else 3123 printf("POC %4d LId: %1d TId: %1d ( %c-SLICE , QP %d ) %10d bits",3070 printf("POC %4d LId: %1d TId: %1d ( %c-SLICE %s, QP %d ) %10d bits", 3124 3071 pcSlice->getPOC()-pcSlice->getLastIDR(), 3125 3072 pcSlice->getLayerId(), 3126 3073 pcSlice->getTLayer(), 3127 3074 c, 3075 NaluToStr( pcSlice->getNalUnitType() ).data(). 3128 3076 pcSlice->getSliceQp(), 3129 3077 uibits ); … … 3750 3698 free(rowSAD); 3751 3699 } 3752 3753 #if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING3754 TComPic* TEncGOP::getMotionPredIlp(TComSlice* pcSlice)3755 {3756 TComPic* ilpPic = NULL;3757 Int activeMotionPredReflayerIdx = 0;3758 3759 for( Int i = 0; i < pcSlice->getActiveNumILRRefIdx(); i++ )3760 {3761 UInt refLayerIdc = pcSlice->getInterLayerPredLayerIdc(i);3762 if( m_pcEncTop->getMotionPredEnabledFlag( pcSlice->getVPS()->getRefLayerId( m_layerId, refLayerIdc ) ) )3763 {3764 if (activeMotionPredReflayerIdx == pcSlice->getColRefLayerIdx())3765 {3766 ilpPic = m_pcEncTop->getIlpList()[refLayerIdc];3767 break;3768 }3769 else3770 {3771 activeMotionPredReflayerIdx++;3772 }3773 }3774 }3775 3776 assert(ilpPic != NULL);3777 3778 return ilpPic;3779 }3780 #endif3781 3782 3700 //! \} -
trunk/source/Lib/TLibEncoder/TEncGOP.h
r442 r588 181 181 182 182 SEIActiveParameterSets* xCreateSEIActiveParameterSets (TComSPS *sps); 183 #if M0043_LAYERS_PRESENT_SEI184 SEILayers Present* xCreateSEILayersPresent ();183 #if LAYERS_NOT_PRESENT_SEI 184 SEILayersNotPresent* xCreateSEILayersNotPresent (); 185 185 #endif 186 186 SEIFramePacking* xCreateSEIFramePacking(); … … 210 210 #endif 211 211 Void dblMetric( TComPic* pcPic, UInt uiNumSlices ); 212 #if M0457_COL_PICTURE_SIGNALING && !REMOVE_COL_PICTURE_SIGNALING213 TComPic* getMotionPredIlp(TComSlice* pcSlice);214 #endif215 212 };// END CLASS DEFINITION TEncGOP 216 213 -
trunk/source/Lib/TLibEncoder/TEncSlice.cpp
r540 r588 523 523 if( layerId > 0 ) 524 524 { 525 #if JCTVC_M0458_INTERLAYER_RPS_SIG526 525 if( rpcSlice->getNumILRRefIdx() > 0 ) 527 526 { … … 533 532 rpcSlice->setInterLayerPredEnabledFlag(1); 534 533 } 535 #else536 rpcSlice->setNumILRRefIdx( rpcSlice->getVPS()->getNumDirectRefLayers( layerId ) );537 #endif538 #if M0457_COL_PICTURE_SIGNALING539 534 rpcSlice->setMFMEnabledFlag(m_ppcTEncTop[layerId]->getMFMEnabledFlag()); 540 #if !REMOVE_COL_PICTURE_SIGNALING541 rpcSlice->setAltColIndicationFlag(rpcSlice->getMFMEnabledFlag());542 #endif543 #endif544 535 } 545 536 … … 820 811 } 821 812 #if O0194_WEIGHTED_PREDICTION_CGS 822 else 813 else if( m_ppcTEncTop[pcSlice->getLayerId()]->getInterLayerWeightedPredFlag() ) 823 814 { 824 815 // Calculate for the base layer to be used in EL as Inter layer reference -
trunk/source/Lib/TLibEncoder/TEncTop.cpp
r540 r588 934 934 #if SVC_EXTENSION 935 935 m_cSPS.setLayerId(m_layerId); 936 #if REF_IDX_MFM937 #if !M0457_COL_PICTURE_SIGNALING938 m_cSPS.setMFMEnabledFlag(m_bMFMEnabledFlag);939 #endif940 #endif941 936 m_cSPS.setNumScaledRefLayerOffsets(m_numScaledRefLayerOffsets); 942 937 for(Int i = 0; i < m_cSPS.getNumScaledRefLayerOffsets(); i++) … … 1632 1627 if (m_cIlpPic[0] == NULL) 1633 1628 { 1634 for (Int j=0; j < MAX_LAYERS /*MAX_NUM_REF*/; j++) // consider to set to NumDirectRefLayers[LayerIdInVps[nuh_layer_id]]1629 for (Int j=0; j < m_numLayer; j++) // consider to set to NumDirectRefLayers[LayerIdInVps[nuh_layer_id]] 1635 1630 { 1636 1631 m_cIlpPic[j] = new TComPic; … … 1699 1694 if (m_cIlpPic[0] == NULL) 1700 1695 { 1701 for (Int j=0; j < MAX_LAYERS /*MAX_NUM_REF*/; j++) // consider to set to NumDirectRefLayers[LayerIdInVps[nuh_layer_id]]1696 for (Int j=0; j < m_numDirectRefLayers; j++) 1702 1697 { 1703 1698 m_cIlpPic[j] = new TComPic; -
trunk/source/Lib/TLibEncoder/TEncTop.h
r540 r588 137 137 Bool m_bMFMEnabledFlag; 138 138 #endif 139 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG140 Int m_ilSampleOnlyPred;141 #endif142 139 UInt m_numScaledRefLayerOffsets; 143 140 #if O0098_SCALED_REF_LAYER_ID … … 153 150 Bool m_firstPicInLayerDecodedFlag; 154 151 Bool m_noOutputOfPriorPicsFlags; 152 #endif 153 #if O0194_WEIGHTED_PREDICTION_CGS 154 Bool m_interLayerWeightedPredFlag; 155 155 #endif 156 156 #endif //SVC_EXTENSION … … 237 237 Bool getMFMEnabledFlag() {return m_bMFMEnabledFlag;} 238 238 #endif 239 #if M0457_IL_SAMPLE_PRED_ONLY_FLAG240 Void setI lSampleOnlyPred( Int i ) { m_ilSampleOnlyPred = i;}241 Int getIlSampleOnlyPred() { return m_ilSampleOnlyPred; }239 #if O0194_WEIGHTED_PREDICTION_CGS 240 Void setInterLayerWeightedPredFlag(Bool flag) { m_interLayerWeightedPredFlag = flag; } 241 Bool getInterLayerWeightedPredFlag() { return m_interLayerWeightedPredFlag; } 242 242 #endif 243 243 #if AVC_SYNTAX
Note: See TracChangeset for help on using the changeset viewer.