id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc 786,derivation of default 4x4 scaling_lists in SPS undefined when transform skipping is enabled,zhou,bbross,"In the text, section 7.4.2.4 says: If transform_skip_enabled_flag is equal to 1 and SizeID is equal to 0, ScalingList[ SizeID ][ MatrixID ][ i ] is set equal to 16 for i=0..15 Otherwise, ScalingList[ SizeID ][ MatrixID ] is specified in Table 7 4 and Table 7.5. scaling_list_data() is called from SPS as well as PPS. Default 4x4 scaling lists are undefined in SPS because transform_skip_enabled_flag is unkown in SPS. Therefore, when scaling lists are not carried in PPS but transform skipping is enabled, the spec is broken as 4x4 default scaling lists inherited from SPS are undefined. HM8.0 encoder/decoder mismatches for the following setting when transform skipping is enabled SPS: • scaling_list_enable_flag = 1 • sps_scaling_list_data_presetnt_flag = 1 • In scaling_list_data(), intra luma 4x4 scaling list is signalled as a default list (scaling_list_pred_mode_flag = 0 and scaling_list_pred_matrix_id_delta = 0). PPS : • transform_skip_enabled_flag = 1 • pps_scaling_list_data_present_flag = 0 the encoder uses the flat default list, while the decoder uses the non-flat default, so we have encoder-decoder mismatch here. Potential solution: 1) to insert another flag (say sps_flat_scaling_list_enabled_flag) in SPS to specifiy whether flat 4x4 default scaling lists are carried in SPS when scaling_list_data() is called from SPS. 2) semantics of sps_flat_scaling_list_enabled_flag sps_flat_scaling_list_enabled_flag equal to 1 specifies that ScalingList[0][ MatrixID ][ i ] is set equal to 16 for MatrixID = 0..5 and i = 0..15 when both scaling_list_pred_mode_flag and scaling_list_pred_matrix_id_delta are set equal to 0. When not present, the value of sps_flat_scaling_list_enabled_flag is inferred to be equal to 0. 3) modify section 7.4.5 as If sps_flat_scaling_list_enabled_flag is equal to 1, or transform_skip_enabled_flag is equal to 1 and SizeID is equal to 0, ScalingList[ SizeID ][ MatrixID ][ i ] is set equal to 16 for i=0..15 – Otherwise, ScalingList[ SizeID ][ MatrixID ] is specified in Table 7 4 and Table 7.5 Suggest to have more discussion on this topic at the upcoming HEVC meeting. ",defect,closed,minor,,Text,D8 (K0030) v3,fixed,,bbross wjhan jct-vc@…