diff --git a/Setup/src/Program.bf b/Setup/src/Program.bf index a0a5266..671b057 100644 --- a/Setup/src/Program.bf +++ b/Setup/src/Program.bf @@ -1164,6 +1164,42 @@ class RegistryParser : XmlParser } strBuf.Clear(); + if (type_name.StartsWith("Std")) for (let field in fields) + if (field.flags.HasFlag(.Bitfield)) + { + int flagPost = 1; + strBuf.Append("enum ", type_name, " : uint32\n{\n"); + for (let field in fields) + { + if (field.flags.HasFlag(.CommentOnly)) + { + if (field.comment.IsEmpty) continue; + strBuf.Append('\t'); + WriteComment(field.comment, strBuf); + strBuf.Append('\n'); + continue; + } + + Runtime.Assert(field.flags.HasFlag(.Bitfield)); + if (field.name != "reserved") + { + strBuf.Append('\t'); + strBuf.Append(field.name); + strBuf.Append(" = 0x"); + flagPost.ToString(strBuf, "X8", null); + strBuf.Append(",\n"); + } + flagPost <<= field.bitfieldWidth; + } + strBuf.Append('}'); + feature.content = new:alloc .(strBuf); + vkTypes.Add(feature.name, feature); + + fields.Clear(); + fieldBufferIdx = -1; + return; + } + switch (_) { case .Type_Struct: strBuf.Append("[CRepr]"); @@ -1176,6 +1212,7 @@ class RegistryParser : XmlParser { if (field.flags.HasFlag(.CommentOnly)) { + if (field.comment.IsEmpty) continue; strBuf.Append('\t'); WriteComment(field.comment, strBuf); strBuf.Append('\n'); diff --git a/src/Video.bf b/src/Video.bf index 6c96f27..c3a8db8 100644 --- a/src/Video.bf +++ b/src/Video.bf @@ -277,38 +277,20 @@ static { public const uint8 STD_VIDEO_H264_NO_REFERENCE_PICTURE = 0xFF; } Invalid = 0x7FFFFFFF, } -[CRepr] struct StdVideoH264SpsVuiFlags : this() +enum StdVideoH264SpsVuiFlags : uint32 { - [Bitfield(.Public, .Bits(1), "aspect_ratio_info_present_flag")] - [Bitfield(.Public, .Bits(1), "overscan_info_present_flag")] - [Bitfield(.Public, .Bits(1), "overscan_appropriate_flag")] - [Bitfield(.Public, .Bits(1), "video_signal_type_present_flag")] - [Bitfield(.Public, .Bits(1), "video_full_range_flag")] - [Bitfield(.Public, .Bits(1), "color_description_present_flag")] - - [Bitfield(.Public, .Bits(1), "chroma_loc_info_present_flag")] - [Bitfield(.Public, .Bits(1), "timing_info_present_flag")] - [Bitfield(.Public, .Bits(1), "fixed_frame_rate_flag")] - [Bitfield(.Public, .Bits(1), "bitstream_restriction_flag")] - [Bitfield(.Public, .Bits(1), "nal_hrd_parameters_present_flag")] - [Bitfield(.Public, .Bits(1), "vcl_hrd_parameters_present_flag")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 aspect_ratio_info_present_flag, uint32 overscan_info_present_flag, uint32 overscan_appropriate_flag, uint32 video_signal_type_present_flag, uint32 video_full_range_flag, uint32 color_description_present_flag, uint32 chroma_loc_info_present_flag, uint32 timing_info_present_flag, uint32 fixed_frame_rate_flag, uint32 bitstream_restriction_flag, uint32 nal_hrd_parameters_present_flag, uint32 vcl_hrd_parameters_present_flag) : this() - { - this.aspect_ratio_info_present_flag = aspect_ratio_info_present_flag; - this.overscan_info_present_flag = overscan_info_present_flag; - this.overscan_appropriate_flag = overscan_appropriate_flag; - this.video_signal_type_present_flag = video_signal_type_present_flag; - this.video_full_range_flag = video_full_range_flag; - this.color_description_present_flag = color_description_present_flag; - this.chroma_loc_info_present_flag = chroma_loc_info_present_flag; - this.timing_info_present_flag = timing_info_present_flag; - this.fixed_frame_rate_flag = fixed_frame_rate_flag; - this.bitstream_restriction_flag = bitstream_restriction_flag; - this.nal_hrd_parameters_present_flag = nal_hrd_parameters_present_flag; - this.vcl_hrd_parameters_present_flag = vcl_hrd_parameters_present_flag; - } + aspect_ratio_info_present_flag = 0x00000001, + overscan_info_present_flag = 0x00000002, + overscan_appropriate_flag = 0x00000004, + video_signal_type_present_flag = 0x00000008, + video_full_range_flag = 0x00000010, + color_description_present_flag = 0x00000020, + chroma_loc_info_present_flag = 0x00000040, + timing_info_present_flag = 0x00000080, + fixed_frame_rate_flag = 0x00000100, + bitstream_restriction_flag = 0x00000200, + nal_hrd_parameters_present_flag = 0x00000400, + vcl_hrd_parameters_present_flag = 0x00000800, } // hrd_parameters @@ -382,52 +364,29 @@ static { public const uint8 STD_VIDEO_H264_NO_REFERENCE_PICTURE = 0xFF; } } } -[CRepr] struct StdVideoH264SpsFlags : this() +enum StdVideoH264SpsFlags : uint32 { - [Bitfield(.Public, .Bits(1), "constraint_set0_flag")] - [Bitfield(.Public, .Bits(1), "constraint_set1_flag")] - [Bitfield(.Public, .Bits(1), "constraint_set2_flag")] - [Bitfield(.Public, .Bits(1), "constraint_set3_flag")] - [Bitfield(.Public, .Bits(1), "constraint_set4_flag")] - [Bitfield(.Public, .Bits(1), "constraint_set5_flag")] - [Bitfield(.Public, .Bits(1), "direct_8x8_inference_flag")] - [Bitfield(.Public, .Bits(1), "mb_adaptive_frame_field_flag")] - [Bitfield(.Public, .Bits(1), "frame_mbs_only_flag")] - [Bitfield(.Public, .Bits(1), "delta_pic_order_always_zero_flag")] - [Bitfield(.Public, .Bits(1), "separate_colour_plane_flag")] - [Bitfield(.Public, .Bits(1), "gaps_in_frame_num_value_allowed_flag")] - [Bitfield(.Public, .Bits(1), "qpprime_y_zero_transform_bypass_flag")] - [Bitfield(.Public, .Bits(1), "frame_cropping_flag")] - [Bitfield(.Public, .Bits(1), "seq_scaling_matrix_present_flag")] - [Bitfield(.Public, .Bits(1), "vui_parameters_present_flag")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 constraint_set0_flag, uint32 constraint_set1_flag, uint32 constraint_set2_flag, uint32 constraint_set3_flag, uint32 constraint_set4_flag, uint32 constraint_set5_flag, uint32 direct_8x8_inference_flag, uint32 mb_adaptive_frame_field_flag, uint32 frame_mbs_only_flag, uint32 delta_pic_order_always_zero_flag, uint32 separate_colour_plane_flag, uint32 gaps_in_frame_num_value_allowed_flag, uint32 qpprime_y_zero_transform_bypass_flag, uint32 frame_cropping_flag, uint32 seq_scaling_matrix_present_flag, uint32 vui_parameters_present_flag) : this() - { - this.constraint_set0_flag = constraint_set0_flag; - this.constraint_set1_flag = constraint_set1_flag; - this.constraint_set2_flag = constraint_set2_flag; - this.constraint_set3_flag = constraint_set3_flag; - this.constraint_set4_flag = constraint_set4_flag; - this.constraint_set5_flag = constraint_set5_flag; - this.direct_8x8_inference_flag = direct_8x8_inference_flag; - this.mb_adaptive_frame_field_flag = mb_adaptive_frame_field_flag; - this.frame_mbs_only_flag = frame_mbs_only_flag; - this.delta_pic_order_always_zero_flag = delta_pic_order_always_zero_flag; - this.separate_colour_plane_flag = separate_colour_plane_flag; - this.gaps_in_frame_num_value_allowed_flag = gaps_in_frame_num_value_allowed_flag; - this.qpprime_y_zero_transform_bypass_flag = qpprime_y_zero_transform_bypass_flag; - this.frame_cropping_flag = frame_cropping_flag; - this.seq_scaling_matrix_present_flag = seq_scaling_matrix_present_flag; - this.vui_parameters_present_flag = vui_parameters_present_flag; - } + constraint_set0_flag = 0x00000001, + constraint_set1_flag = 0x00000002, + constraint_set2_flag = 0x00000004, + constraint_set3_flag = 0x00000008, + constraint_set4_flag = 0x00000010, + constraint_set5_flag = 0x00000020, + direct_8x8_inference_flag = 0x00000040, + mb_adaptive_frame_field_flag = 0x00000080, + frame_mbs_only_flag = 0x00000100, + delta_pic_order_always_zero_flag = 0x00000200, + separate_colour_plane_flag = 0x00000400, + gaps_in_frame_num_value_allowed_flag = 0x00000800, + qpprime_y_zero_transform_bypass_flag = 0x00001000, + frame_cropping_flag = 0x00002000, + seq_scaling_matrix_present_flag = 0x00004000, + vui_parameters_present_flag = 0x00008000, } [CRepr] struct StdVideoH264ScalingLists : this() { - public uint16 scaling_list_present_mask = 0; - public uint16 use_default_scaling_matrix_mask = 0; public uint8[STD_VIDEO_H264_SCALING_LIST_4X4_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_4X4_NUM_ELEMENTS] ScalingList4x4 = .(); public uint8[STD_VIDEO_H264_SCALING_LIST_8X8_NUM_LISTS][STD_VIDEO_H264_SCALING_LIST_8X8_NUM_ELEMENTS] ScalingList8x8 = .(); @@ -465,7 +424,6 @@ static { public const uint8 STD_VIDEO_H264_NO_REFERENCE_PICTURE = 0xFF; } public uint32 frame_crop_top_offset = 0; public uint32 frame_crop_bottom_offset = 0; public uint32 reserved2 = 0; // Reserved for future use and must be initialized with 0. - public int32* pOffsetForRefFrame = null; public Span offsetForRefFrame { @@ -504,29 +462,16 @@ static { public const uint8 STD_VIDEO_H264_NO_REFERENCE_PICTURE = 0xFF; } } } -[CRepr] struct StdVideoH264PpsFlags : this() +enum StdVideoH264PpsFlags : uint32 { - [Bitfield(.Public, .Bits(1), "transform_8x8_mode_flag")] - [Bitfield(.Public, .Bits(1), "redundant_pic_cnt_present_flag")] - [Bitfield(.Public, .Bits(1), "constrained_intra_pred_flag")] - [Bitfield(.Public, .Bits(1), "deblocking_filter_control_present_flag")] - [Bitfield(.Public, .Bits(1), "weighted_pred_flag")] - [Bitfield(.Public, .Bits(1), "bottom_field_pic_order_in_frame_present_flag")] - [Bitfield(.Public, .Bits(1), "entropy_coding_mode_flag")] - [Bitfield(.Public, .Bits(1), "pic_scaling_matrix_present_flag")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 transform_8x8_mode_flag, uint32 redundant_pic_cnt_present_flag, uint32 constrained_intra_pred_flag, uint32 deblocking_filter_control_present_flag, uint32 weighted_pred_flag, uint32 bottom_field_pic_order_in_frame_present_flag, uint32 entropy_coding_mode_flag, uint32 pic_scaling_matrix_present_flag) : this() - { - this.transform_8x8_mode_flag = transform_8x8_mode_flag; - this.redundant_pic_cnt_present_flag = redundant_pic_cnt_present_flag; - this.constrained_intra_pred_flag = constrained_intra_pred_flag; - this.deblocking_filter_control_present_flag = deblocking_filter_control_present_flag; - this.weighted_pred_flag = weighted_pred_flag; - this.bottom_field_pic_order_in_frame_present_flag = bottom_field_pic_order_in_frame_present_flag; - this.entropy_coding_mode_flag = entropy_coding_mode_flag; - this.pic_scaling_matrix_present_flag = pic_scaling_matrix_present_flag; - } + transform_8x8_mode_flag = 0x00000001, + redundant_pic_cnt_present_flag = 0x00000002, + constrained_intra_pred_flag = 0x00000004, + deblocking_filter_control_present_flag = 0x00000008, + weighted_pred_flag = 0x00000010, + bottom_field_pic_order_in_frame_present_flag = 0x00000020, + entropy_coding_mode_flag = 0x00000040, + pic_scaling_matrix_present_flag = 0x00000080, } [CRepr] struct StdVideoH264PictureParameterSet : this() @@ -577,25 +522,14 @@ static { public const uint32 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE = Invalid = 0x7FFFFFFF, } -[CRepr] struct StdVideoDecodeH264PictureInfoFlags : this() +enum StdVideoDecodeH264PictureInfoFlags : uint32 { - [Bitfield(.Public, .Bits(1), "field_pic_flag")] - [Bitfield(.Public, .Bits(1), "is_intra")] - [Bitfield(.Public, .Bits(1), "IdrPicFlag")] - [Bitfield(.Public, .Bits(1), "bottom_field_flag")] - [Bitfield(.Public, .Bits(1), "is_reference")] - [Bitfield(.Public, .Bits(1), "complementary_field_pair")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 field_pic_flag, uint32 is_intra, uint32 IdrPicFlag, uint32 bottom_field_flag, uint32 is_reference, uint32 complementary_field_pair) : this() - { - this.field_pic_flag = field_pic_flag; - this.is_intra = is_intra; - this.IdrPicFlag = IdrPicFlag; - this.bottom_field_flag = bottom_field_flag; - this.is_reference = is_reference; - this.complementary_field_pair = complementary_field_pair; - } + field_pic_flag = 0x00000001, + is_intra = 0x00000002, + IdrPicFlag = 0x00000004, + bottom_field_flag = 0x00000008, + is_reference = 0x00000010, + complementary_field_pair = 0x00000020, } // requires tag is for PicOrderCnt, which needs the enum type @@ -608,7 +542,6 @@ static { public const uint32 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE = public uint8 reserved2 = 0; // Reserved for future use and must be initialized with 0. public uint16 frame_num = 0; // 7.4.3 Slice header semantics public uint16 idr_pic_id = 0; // 7.4.3 Slice header semantics - public int32[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE] PicOrderCnt = .(); // TopFieldOrderCnt and BottomFieldOrderCnt fields. public this(StdVideoDecodeH264PictureInfoFlags flags, uint8 seq_parameter_set_id, uint8 pic_parameter_set_id, uint8 reserved1, uint8 reserved2, uint16 frame_num, uint16 idr_pic_id, int32[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE] PicOrderCnt) : this() @@ -624,27 +557,17 @@ static { public const uint32 STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE = } } -[CRepr] struct StdVideoDecodeH264ReferenceInfoFlags : this() +enum StdVideoDecodeH264ReferenceInfoFlags : uint32 { - [Bitfield(.Public, .Bits(1), "top_field_flag")] - [Bitfield(.Public, .Bits(1), "bottom_field_flag")] - [Bitfield(.Public, .Bits(1), "used_for_long_term_reference")] - [Bitfield(.Public, .Bits(1), "is_non_existing")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 top_field_flag, uint32 bottom_field_flag, uint32 used_for_long_term_reference, uint32 is_non_existing) : this() - { - this.top_field_flag = top_field_flag; - this.bottom_field_flag = bottom_field_flag; - this.used_for_long_term_reference = used_for_long_term_reference; - this.is_non_existing = is_non_existing; - } + top_field_flag = 0x00000001, + bottom_field_flag = 0x00000002, + used_for_long_term_reference = 0x00000004, + is_non_existing = 0x00000008, } [CRepr] struct StdVideoDecodeH264ReferenceInfo : this() { public StdVideoDecodeH264ReferenceInfoFlags flags = default; - public uint16 FrameNum = 0; // 7.4.3.3 Decoded reference picture marking semantics public uint16 reserved = 0; // for structure members 32-bit packing/alignment public int32[STD_VIDEO_DECODE_H264_FIELD_ORDER_COUNT_LIST_SIZE] PicOrderCnt = .(); // TopFieldOrderCnt and BottomFieldOrderCnt fields. @@ -682,7 +605,6 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME = [CRepr] struct StdVideoEncodeH264WeightTable : this() { - public StdVideoEncodeH264WeightTableFlags flags = default; public uint8 luma_log2_weight_denom = 0; public uint8 chroma_log2_weight_denom = 0; @@ -711,68 +633,30 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_H264_ENCODE_EXTENSION_NAME = } } -[CRepr] struct StdVideoEncodeH264SliceHeaderFlags : this() +enum StdVideoEncodeH264SliceHeaderFlags : uint32 { - [Bitfield(.Public, .Bits(1), "direct_spatial_mv_pred_flag")] - [Bitfield(.Public, .Bits(1), "num_ref_idx_active_override_flag")] - [Bitfield(.Public, .Bits(30), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 direct_spatial_mv_pred_flag, uint32 num_ref_idx_active_override_flag, uint32 reserved) : this() - { - this.direct_spatial_mv_pred_flag = direct_spatial_mv_pred_flag; - this.num_ref_idx_active_override_flag = num_ref_idx_active_override_flag; - this.reserved = reserved; - } + direct_spatial_mv_pred_flag = 0x00000001, + num_ref_idx_active_override_flag = 0x00000002, } -[CRepr] struct StdVideoEncodeH264PictureInfoFlags : this() +enum StdVideoEncodeH264PictureInfoFlags : uint32 { - [Bitfield(.Public, .Bits(1), "IdrPicFlag")] - [Bitfield(.Public, .Bits(1), "is_reference")] - [Bitfield(.Public, .Bits(1), "no_output_of_prior_pics_flag")] - [Bitfield(.Public, .Bits(1), "long_term_reference_flag")] - [Bitfield(.Public, .Bits(1), "adaptive_ref_pic_marking_mode_flag")] - [Bitfield(.Public, .Bits(27), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 IdrPicFlag, uint32 is_reference, uint32 no_output_of_prior_pics_flag, uint32 long_term_reference_flag, uint32 adaptive_ref_pic_marking_mode_flag, uint32 reserved) : this() - { - this.IdrPicFlag = IdrPicFlag; - this.is_reference = is_reference; - this.no_output_of_prior_pics_flag = no_output_of_prior_pics_flag; - this.long_term_reference_flag = long_term_reference_flag; - this.adaptive_ref_pic_marking_mode_flag = adaptive_ref_pic_marking_mode_flag; - this.reserved = reserved; - } + IdrPicFlag = 0x00000001, + is_reference = 0x00000002, + no_output_of_prior_pics_flag = 0x00000004, + long_term_reference_flag = 0x00000008, + adaptive_ref_pic_marking_mode_flag = 0x00000010, } -[CRepr] struct StdVideoEncodeH264ReferenceInfoFlags : this() +enum StdVideoEncodeH264ReferenceInfoFlags : uint32 { - [Bitfield(.Public, .Bits(1), "used_for_long_term_reference")] - [Bitfield(.Public, .Bits(31), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 used_for_long_term_reference, uint32 reserved) : this() - { - this.used_for_long_term_reference = used_for_long_term_reference; - this.reserved = reserved; - } + used_for_long_term_reference = 0x00000001, } -[CRepr] struct StdVideoEncodeH264ReferenceListsInfoFlags : this() +enum StdVideoEncodeH264ReferenceListsInfoFlags : uint32 { - [Bitfield(.Public, .Bits(1), "ref_pic_list_modification_flag_l0")] - [Bitfield(.Public, .Bits(1), "ref_pic_list_modification_flag_l1")] - [Bitfield(.Public, .Bits(30), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 ref_pic_list_modification_flag_l0, uint32 ref_pic_list_modification_flag_l1, uint32 reserved) : this() - { - this.ref_pic_list_modification_flag_l0 = ref_pic_list_modification_flag_l0; - this.ref_pic_list_modification_flag_l1 = ref_pic_list_modification_flag_l1; - this.reserved = reserved; - } + ref_pic_list_modification_flag_l0 = 0x00000001, + ref_pic_list_modification_flag_l1 = 0x00000002, } [CRepr] struct StdVideoEncodeH264RefListModEntry : this() @@ -1124,27 +1008,15 @@ static { public const uint8 STD_VIDEO_H265_NO_REFERENCE_PICTURE = 0xFF; } } } -[CRepr] struct StdVideoH265HrdFlags : this() +enum StdVideoH265HrdFlags : uint32 { - [Bitfield(.Public, .Bits(1), "nal_hrd_parameters_present_flag")] - [Bitfield(.Public, .Bits(1), "vcl_hrd_parameters_present_flag")] - [Bitfield(.Public, .Bits(1), "sub_pic_hrd_params_present_flag")] - [Bitfield(.Public, .Bits(1), "sub_pic_cpb_params_in_pic_timing_sei_flag")] - [Bitfield(.Public, .Bits(8), "fixed_pic_rate_general_flag")] - [Bitfield(.Public, .Bits(8), "fixed_pic_rate_within_cvs_flag")] - [Bitfield(.Public, .Bits(8), "low_delay_hrd_flag")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 nal_hrd_parameters_present_flag, uint32 vcl_hrd_parameters_present_flag, uint32 sub_pic_hrd_params_present_flag, uint32 sub_pic_cpb_params_in_pic_timing_sei_flag, uint32 fixed_pic_rate_general_flag, uint32 fixed_pic_rate_within_cvs_flag, uint32 low_delay_hrd_flag) : this() - { - this.nal_hrd_parameters_present_flag = nal_hrd_parameters_present_flag; - this.vcl_hrd_parameters_present_flag = vcl_hrd_parameters_present_flag; - this.sub_pic_hrd_params_present_flag = sub_pic_hrd_params_present_flag; - this.sub_pic_cpb_params_in_pic_timing_sei_flag = sub_pic_cpb_params_in_pic_timing_sei_flag; - this.fixed_pic_rate_general_flag = fixed_pic_rate_general_flag; - this.fixed_pic_rate_within_cvs_flag = fixed_pic_rate_within_cvs_flag; - this.low_delay_hrd_flag = low_delay_hrd_flag; - } + nal_hrd_parameters_present_flag = 0x00000001, + vcl_hrd_parameters_present_flag = 0x00000002, + sub_pic_hrd_params_present_flag = 0x00000004, + sub_pic_cpb_params_in_pic_timing_sei_flag = 0x00000008, + fixed_pic_rate_general_flag = 0x00000010, + fixed_pic_rate_within_cvs_flag = 0x00001000, + low_delay_hrd_flag = 0x00100000, } [CRepr] struct StdVideoH265HrdParameters : this() @@ -1185,40 +1057,21 @@ static { public const uint8 STD_VIDEO_H265_NO_REFERENCE_PICTURE = 0xFF; } } } -[CRepr] struct StdVideoH265VpsFlags : this() +enum StdVideoH265VpsFlags : uint32 { - [Bitfield(.Public, .Bits(1), "vps_temporal_id_nesting_flag")] - [Bitfield(.Public, .Bits(1), "vps_sub_layer_ordering_info_present_flag")] - [Bitfield(.Public, .Bits(1), "vps_timing_info_present_flag")] - [Bitfield(.Public, .Bits(1), "vps_poc_proportional_to_timing_flag")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 vps_temporal_id_nesting_flag, uint32 vps_sub_layer_ordering_info_present_flag, uint32 vps_timing_info_present_flag, uint32 vps_poc_proportional_to_timing_flag) : this() - { - this.vps_temporal_id_nesting_flag = vps_temporal_id_nesting_flag; - this.vps_sub_layer_ordering_info_present_flag = vps_sub_layer_ordering_info_present_flag; - this.vps_timing_info_present_flag = vps_timing_info_present_flag; - this.vps_poc_proportional_to_timing_flag = vps_poc_proportional_to_timing_flag; - } + vps_temporal_id_nesting_flag = 0x00000001, + vps_sub_layer_ordering_info_present_flag = 0x00000002, + vps_timing_info_present_flag = 0x00000004, + vps_poc_proportional_to_timing_flag = 0x00000008, } -[CRepr] struct StdVideoH265ProfileTierLevelFlags : this() +enum StdVideoH265ProfileTierLevelFlags : uint32 { - [Bitfield(.Public, .Bits(1), "general_tier_flag")] - [Bitfield(.Public, .Bits(1), "general_progressive_source_flag")] - [Bitfield(.Public, .Bits(1), "general_interlaced_source_flag")] - [Bitfield(.Public, .Bits(1), "general_non_packed_constraint_flag")] - [Bitfield(.Public, .Bits(1), "general_frame_only_constraint_flag")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 general_tier_flag, uint32 general_progressive_source_flag, uint32 general_interlaced_source_flag, uint32 general_non_packed_constraint_flag, uint32 general_frame_only_constraint_flag) : this() - { - this.general_tier_flag = general_tier_flag; - this.general_progressive_source_flag = general_progressive_source_flag; - this.general_interlaced_source_flag = general_interlaced_source_flag; - this.general_non_packed_constraint_flag = general_non_packed_constraint_flag; - this.general_frame_only_constraint_flag = general_frame_only_constraint_flag; - } + general_tier_flag = 0x00000001, + general_progressive_source_flag = 0x00000002, + general_interlaced_source_flag = 0x00000004, + general_non_packed_constraint_flag = 0x00000008, + general_frame_only_constraint_flag = 0x00000010, } // profile_tier_level @@ -1288,49 +1141,26 @@ static { public const uint8 STD_VIDEO_H265_NO_REFERENCE_PICTURE = 0xFF; } } } -[CRepr] struct StdVideoH265SpsVuiFlags : this() +enum StdVideoH265SpsVuiFlags : uint32 { - [Bitfield(.Public, .Bits(1), "aspect_ratio_info_present_flag")] - [Bitfield(.Public, .Bits(1), "overscan_info_present_flag")] - [Bitfield(.Public, .Bits(1), "overscan_appropriate_flag")] - [Bitfield(.Public, .Bits(1), "video_signal_type_present_flag")] - [Bitfield(.Public, .Bits(1), "video_full_range_flag")] - [Bitfield(.Public, .Bits(1), "colour_description_present_flag")] - [Bitfield(.Public, .Bits(1), "chroma_loc_info_present_flag")] - [Bitfield(.Public, .Bits(1), "neutral_chroma_indication_flag")] - [Bitfield(.Public, .Bits(1), "field_seq_flag")] - [Bitfield(.Public, .Bits(1), "frame_field_info_present_flag")] - [Bitfield(.Public, .Bits(1), "default_display_window_flag")] - [Bitfield(.Public, .Bits(1), "vui_timing_info_present_flag")] - [Bitfield(.Public, .Bits(1), "vui_poc_proportional_to_timing_flag")] - [Bitfield(.Public, .Bits(1), "vui_hrd_parameters_present_flag")] - [Bitfield(.Public, .Bits(1), "bitstream_restriction_flag")] - [Bitfield(.Public, .Bits(1), "tiles_fixed_structure_flag")] - [Bitfield(.Public, .Bits(1), "motion_vectors_over_pic_boundaries_flag")] - [Bitfield(.Public, .Bits(1), "restricted_ref_pic_lists_flag")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 aspect_ratio_info_present_flag, uint32 overscan_info_present_flag, uint32 overscan_appropriate_flag, uint32 video_signal_type_present_flag, uint32 video_full_range_flag, uint32 colour_description_present_flag, uint32 chroma_loc_info_present_flag, uint32 neutral_chroma_indication_flag, uint32 field_seq_flag, uint32 frame_field_info_present_flag, uint32 default_display_window_flag, uint32 vui_timing_info_present_flag, uint32 vui_poc_proportional_to_timing_flag, uint32 vui_hrd_parameters_present_flag, uint32 bitstream_restriction_flag, uint32 tiles_fixed_structure_flag, uint32 motion_vectors_over_pic_boundaries_flag, uint32 restricted_ref_pic_lists_flag) : this() - { - this.aspect_ratio_info_present_flag = aspect_ratio_info_present_flag; - this.overscan_info_present_flag = overscan_info_present_flag; - this.overscan_appropriate_flag = overscan_appropriate_flag; - this.video_signal_type_present_flag = video_signal_type_present_flag; - this.video_full_range_flag = video_full_range_flag; - this.colour_description_present_flag = colour_description_present_flag; - this.chroma_loc_info_present_flag = chroma_loc_info_present_flag; - this.neutral_chroma_indication_flag = neutral_chroma_indication_flag; - this.field_seq_flag = field_seq_flag; - this.frame_field_info_present_flag = frame_field_info_present_flag; - this.default_display_window_flag = default_display_window_flag; - this.vui_timing_info_present_flag = vui_timing_info_present_flag; - this.vui_poc_proportional_to_timing_flag = vui_poc_proportional_to_timing_flag; - this.vui_hrd_parameters_present_flag = vui_hrd_parameters_present_flag; - this.bitstream_restriction_flag = bitstream_restriction_flag; - this.tiles_fixed_structure_flag = tiles_fixed_structure_flag; - this.motion_vectors_over_pic_boundaries_flag = motion_vectors_over_pic_boundaries_flag; - this.restricted_ref_pic_lists_flag = restricted_ref_pic_lists_flag; - } + aspect_ratio_info_present_flag = 0x00000001, + overscan_info_present_flag = 0x00000002, + overscan_appropriate_flag = 0x00000004, + video_signal_type_present_flag = 0x00000008, + video_full_range_flag = 0x00000010, + colour_description_present_flag = 0x00000020, + chroma_loc_info_present_flag = 0x00000040, + neutral_chroma_indication_flag = 0x00000080, + field_seq_flag = 0x00000100, + frame_field_info_present_flag = 0x00000200, + default_display_window_flag = 0x00000400, + vui_timing_info_present_flag = 0x00000800, + vui_poc_proportional_to_timing_flag = 0x00001000, + vui_hrd_parameters_present_flag = 0x00002000, + bitstream_restriction_flag = 0x00004000, + tiles_fixed_structure_flag = 0x00008000, + motion_vectors_over_pic_boundaries_flag = 0x00010000, + restricted_ref_pic_lists_flag = 0x00020000, } [CRepr] struct StdVideoH265SequenceParameterSetVui : this() @@ -1403,88 +1233,44 @@ static { public const uint8 STD_VIDEO_H265_NO_REFERENCE_PICTURE = 0xFF; } } } -[CRepr] struct StdVideoH265SpsFlags : this() +enum StdVideoH265SpsFlags : uint32 { - [Bitfield(.Public, .Bits(1), "sps_temporal_id_nesting_flag")] - [Bitfield(.Public, .Bits(1), "separate_colour_plane_flag")] - [Bitfield(.Public, .Bits(1), "conformance_window_flag")] - [Bitfield(.Public, .Bits(1), "sps_sub_layer_ordering_info_present_flag")] - [Bitfield(.Public, .Bits(1), "scaling_list_enabled_flag")] - [Bitfield(.Public, .Bits(1), "sps_scaling_list_data_present_flag")] - [Bitfield(.Public, .Bits(1), "amp_enabled_flag")] - [Bitfield(.Public, .Bits(1), "sample_adaptive_offset_enabled_flag")] - [Bitfield(.Public, .Bits(1), "pcm_enabled_flag")] - [Bitfield(.Public, .Bits(1), "pcm_loop_filter_disabled_flag")] - [Bitfield(.Public, .Bits(1), "long_term_ref_pics_present_flag")] - [Bitfield(.Public, .Bits(1), "sps_temporal_mvp_enabled_flag")] - [Bitfield(.Public, .Bits(1), "strong_intra_smoothing_enabled_flag")] - [Bitfield(.Public, .Bits(1), "vui_parameters_present_flag")] - [Bitfield(.Public, .Bits(1), "sps_extension_present_flag")] - [Bitfield(.Public, .Bits(1), "sps_range_extension_flag")] - - [Bitfield(.Public, .Bits(1), "transform_skip_rotation_enabled_flag")] - [Bitfield(.Public, .Bits(1), "transform_skip_context_enabled_flag")] - [Bitfield(.Public, .Bits(1), "implicit_rdpcm_enabled_flag")] - [Bitfield(.Public, .Bits(1), "explicit_rdpcm_enabled_flag")] - [Bitfield(.Public, .Bits(1), "extended_precision_processing_flag")] - [Bitfield(.Public, .Bits(1), "intra_smoothing_disabled_flag")] - [Bitfield(.Public, .Bits(1), "high_precision_offsets_enabled_flag")] - [Bitfield(.Public, .Bits(1), "persistent_rice_adaptation_enabled_flag")] - [Bitfield(.Public, .Bits(1), "cabac_bypass_alignment_enabled_flag")] - - [Bitfield(.Public, .Bits(1), "sps_scc_extension_flag")] - [Bitfield(.Public, .Bits(1), "sps_curr_pic_ref_enabled_flag")] - [Bitfield(.Public, .Bits(1), "palette_mode_enabled_flag")] - [Bitfield(.Public, .Bits(1), "sps_palette_predictor_initializers_present_flag")] - [Bitfield(.Public, .Bits(1), "intra_boundary_filtering_disabled_flag")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 sps_temporal_id_nesting_flag, uint32 separate_colour_plane_flag, uint32 conformance_window_flag, uint32 sps_sub_layer_ordering_info_present_flag, uint32 scaling_list_enabled_flag, uint32 sps_scaling_list_data_present_flag, uint32 amp_enabled_flag, uint32 sample_adaptive_offset_enabled_flag, uint32 pcm_enabled_flag, uint32 pcm_loop_filter_disabled_flag, uint32 long_term_ref_pics_present_flag, uint32 sps_temporal_mvp_enabled_flag, uint32 strong_intra_smoothing_enabled_flag, uint32 vui_parameters_present_flag, uint32 sps_extension_present_flag, uint32 sps_range_extension_flag, uint32 transform_skip_rotation_enabled_flag, uint32 transform_skip_context_enabled_flag, uint32 implicit_rdpcm_enabled_flag, uint32 explicit_rdpcm_enabled_flag, uint32 extended_precision_processing_flag, uint32 intra_smoothing_disabled_flag, uint32 high_precision_offsets_enabled_flag, uint32 persistent_rice_adaptation_enabled_flag, uint32 cabac_bypass_alignment_enabled_flag, uint32 sps_scc_extension_flag, uint32 sps_curr_pic_ref_enabled_flag, uint32 palette_mode_enabled_flag, uint32 sps_palette_predictor_initializers_present_flag, uint32 intra_boundary_filtering_disabled_flag) : this() - { - this.sps_temporal_id_nesting_flag = sps_temporal_id_nesting_flag; - this.separate_colour_plane_flag = separate_colour_plane_flag; - this.conformance_window_flag = conformance_window_flag; - this.sps_sub_layer_ordering_info_present_flag = sps_sub_layer_ordering_info_present_flag; - this.scaling_list_enabled_flag = scaling_list_enabled_flag; - this.sps_scaling_list_data_present_flag = sps_scaling_list_data_present_flag; - this.amp_enabled_flag = amp_enabled_flag; - this.sample_adaptive_offset_enabled_flag = sample_adaptive_offset_enabled_flag; - this.pcm_enabled_flag = pcm_enabled_flag; - this.pcm_loop_filter_disabled_flag = pcm_loop_filter_disabled_flag; - this.long_term_ref_pics_present_flag = long_term_ref_pics_present_flag; - this.sps_temporal_mvp_enabled_flag = sps_temporal_mvp_enabled_flag; - this.strong_intra_smoothing_enabled_flag = strong_intra_smoothing_enabled_flag; - this.vui_parameters_present_flag = vui_parameters_present_flag; - this.sps_extension_present_flag = sps_extension_present_flag; - this.sps_range_extension_flag = sps_range_extension_flag; - this.transform_skip_rotation_enabled_flag = transform_skip_rotation_enabled_flag; - this.transform_skip_context_enabled_flag = transform_skip_context_enabled_flag; - this.implicit_rdpcm_enabled_flag = implicit_rdpcm_enabled_flag; - this.explicit_rdpcm_enabled_flag = explicit_rdpcm_enabled_flag; - this.extended_precision_processing_flag = extended_precision_processing_flag; - this.intra_smoothing_disabled_flag = intra_smoothing_disabled_flag; - this.high_precision_offsets_enabled_flag = high_precision_offsets_enabled_flag; - this.persistent_rice_adaptation_enabled_flag = persistent_rice_adaptation_enabled_flag; - this.cabac_bypass_alignment_enabled_flag = cabac_bypass_alignment_enabled_flag; - this.sps_scc_extension_flag = sps_scc_extension_flag; - this.sps_curr_pic_ref_enabled_flag = sps_curr_pic_ref_enabled_flag; - this.palette_mode_enabled_flag = palette_mode_enabled_flag; - this.sps_palette_predictor_initializers_present_flag = sps_palette_predictor_initializers_present_flag; - this.intra_boundary_filtering_disabled_flag = intra_boundary_filtering_disabled_flag; - } + sps_temporal_id_nesting_flag = 0x00000001, + separate_colour_plane_flag = 0x00000002, + conformance_window_flag = 0x00000004, + sps_sub_layer_ordering_info_present_flag = 0x00000008, + scaling_list_enabled_flag = 0x00000010, + sps_scaling_list_data_present_flag = 0x00000020, + amp_enabled_flag = 0x00000040, + sample_adaptive_offset_enabled_flag = 0x00000080, + pcm_enabled_flag = 0x00000100, + pcm_loop_filter_disabled_flag = 0x00000200, + long_term_ref_pics_present_flag = 0x00000400, + sps_temporal_mvp_enabled_flag = 0x00000800, + strong_intra_smoothing_enabled_flag = 0x00001000, + vui_parameters_present_flag = 0x00002000, + sps_extension_present_flag = 0x00004000, + sps_range_extension_flag = 0x00008000, + transform_skip_rotation_enabled_flag = 0x00010000, + transform_skip_context_enabled_flag = 0x00020000, + implicit_rdpcm_enabled_flag = 0x00040000, + explicit_rdpcm_enabled_flag = 0x00080000, + extended_precision_processing_flag = 0x00100000, + intra_smoothing_disabled_flag = 0x00200000, + high_precision_offsets_enabled_flag = 0x00400000, + persistent_rice_adaptation_enabled_flag = 0x00800000, + cabac_bypass_alignment_enabled_flag = 0x01000000, + sps_scc_extension_flag = 0x02000000, + sps_curr_pic_ref_enabled_flag = 0x04000000, + palette_mode_enabled_flag = 0x08000000, + sps_palette_predictor_initializers_present_flag = 0x10000000, + intra_boundary_filtering_disabled_flag = 0x20000000, } -[CRepr] struct StdVideoH265ShortTermRefPicSetFlags : this() +enum StdVideoH265ShortTermRefPicSetFlags : uint32 { - [Bitfield(.Public, .Bits(1), "inter_ref_pic_set_prediction_flag")] - [Bitfield(.Public, .Bits(1), "delta_rps_sign")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 inter_ref_pic_set_prediction_flag, uint32 delta_rps_sign) : this() - { - this.inter_ref_pic_set_prediction_flag = inter_ref_pic_set_prediction_flag; - this.delta_rps_sign = delta_rps_sign; - } + inter_ref_pic_set_prediction_flag = 0x00000001, + delta_rps_sign = 0x00000002, } [CRepr] struct StdVideoH265ShortTermRefPicSet : this() @@ -1561,12 +1347,10 @@ static { public const uint8 STD_VIDEO_H265_NO_REFERENCE_PICTURE = 0xFF; } public uint8 log2_diff_max_min_pcm_luma_coding_block_size = 0; public uint8 reserved1 = 0; // Reserved for future use and must be initialized with 0. public uint8 reserved2 = 0; // Reserved for future use and must be initialized with 0. - public uint8 palette_max_size = 0; public uint8 delta_palette_max_predictor_size = 0; public uint8 motion_vector_resolution_control_idc = 0; public uint8 sps_num_palette_predictor_initializers_minus1 = 0; - public uint32 conf_win_left_offset = 0; public uint32 conf_win_right_offset = 0; public uint32 conf_win_top_offset = 0; @@ -1627,77 +1411,39 @@ static { public const uint8 STD_VIDEO_H265_NO_REFERENCE_PICTURE = 0xFF; } } } -[CRepr] struct StdVideoH265PpsFlags : this() +enum StdVideoH265PpsFlags : uint32 { - [Bitfield(.Public, .Bits(1), "dependent_slice_segments_enabled_flag")] - [Bitfield(.Public, .Bits(1), "output_flag_present_flag")] - [Bitfield(.Public, .Bits(1), "sign_data_hiding_enabled_flag")] - [Bitfield(.Public, .Bits(1), "cabac_init_present_flag")] - [Bitfield(.Public, .Bits(1), "constrained_intra_pred_flag")] - [Bitfield(.Public, .Bits(1), "transform_skip_enabled_flag")] - [Bitfield(.Public, .Bits(1), "cu_qp_delta_enabled_flag")] - [Bitfield(.Public, .Bits(1), "pps_slice_chroma_qp_offsets_present_flag")] - [Bitfield(.Public, .Bits(1), "weighted_pred_flag")] - [Bitfield(.Public, .Bits(1), "weighted_bipred_flag")] - [Bitfield(.Public, .Bits(1), "transquant_bypass_enabled_flag")] - [Bitfield(.Public, .Bits(1), "tiles_enabled_flag")] - [Bitfield(.Public, .Bits(1), "entropy_coding_sync_enabled_flag")] - [Bitfield(.Public, .Bits(1), "uniform_spacing_flag")] - [Bitfield(.Public, .Bits(1), "loop_filter_across_tiles_enabled_flag")] - [Bitfield(.Public, .Bits(1), "pps_loop_filter_across_slices_enabled_flag")] - [Bitfield(.Public, .Bits(1), "deblocking_filter_control_present_flag")] - [Bitfield(.Public, .Bits(1), "deblocking_filter_override_enabled_flag")] - [Bitfield(.Public, .Bits(1), "pps_deblocking_filter_disabled_flag")] - [Bitfield(.Public, .Bits(1), "pps_scaling_list_data_present_flag")] - [Bitfield(.Public, .Bits(1), "lists_modification_present_flag")] - [Bitfield(.Public, .Bits(1), "slice_segment_header_extension_present_flag")] - [Bitfield(.Public, .Bits(1), "pps_extension_present_flag")] - - [Bitfield(.Public, .Bits(1), "cross_component_prediction_enabled_flag")] - [Bitfield(.Public, .Bits(1), "chroma_qp_offset_list_enabled_flag")] - - [Bitfield(.Public, .Bits(1), "pps_curr_pic_ref_enabled_flag")] - [Bitfield(.Public, .Bits(1), "residual_adaptive_colour_transform_enabled_flag")] - [Bitfield(.Public, .Bits(1), "pps_slice_act_qp_offsets_present_flag")] - [Bitfield(.Public, .Bits(1), "pps_palette_predictor_initializers_present_flag")] - [Bitfield(.Public, .Bits(1), "monochrome_palette_flag")] - [Bitfield(.Public, .Bits(1), "pps_range_extension_flag")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 dependent_slice_segments_enabled_flag, uint32 output_flag_present_flag, uint32 sign_data_hiding_enabled_flag, uint32 cabac_init_present_flag, uint32 constrained_intra_pred_flag, uint32 transform_skip_enabled_flag, uint32 cu_qp_delta_enabled_flag, uint32 pps_slice_chroma_qp_offsets_present_flag, uint32 weighted_pred_flag, uint32 weighted_bipred_flag, uint32 transquant_bypass_enabled_flag, uint32 tiles_enabled_flag, uint32 entropy_coding_sync_enabled_flag, uint32 uniform_spacing_flag, uint32 loop_filter_across_tiles_enabled_flag, uint32 pps_loop_filter_across_slices_enabled_flag, uint32 deblocking_filter_control_present_flag, uint32 deblocking_filter_override_enabled_flag, uint32 pps_deblocking_filter_disabled_flag, uint32 pps_scaling_list_data_present_flag, uint32 lists_modification_present_flag, uint32 slice_segment_header_extension_present_flag, uint32 pps_extension_present_flag, uint32 cross_component_prediction_enabled_flag, uint32 chroma_qp_offset_list_enabled_flag, uint32 pps_curr_pic_ref_enabled_flag, uint32 residual_adaptive_colour_transform_enabled_flag, uint32 pps_slice_act_qp_offsets_present_flag, uint32 pps_palette_predictor_initializers_present_flag, uint32 monochrome_palette_flag, uint32 pps_range_extension_flag) : this() - { - this.dependent_slice_segments_enabled_flag = dependent_slice_segments_enabled_flag; - this.output_flag_present_flag = output_flag_present_flag; - this.sign_data_hiding_enabled_flag = sign_data_hiding_enabled_flag; - this.cabac_init_present_flag = cabac_init_present_flag; - this.constrained_intra_pred_flag = constrained_intra_pred_flag; - this.transform_skip_enabled_flag = transform_skip_enabled_flag; - this.cu_qp_delta_enabled_flag = cu_qp_delta_enabled_flag; - this.pps_slice_chroma_qp_offsets_present_flag = pps_slice_chroma_qp_offsets_present_flag; - this.weighted_pred_flag = weighted_pred_flag; - this.weighted_bipred_flag = weighted_bipred_flag; - this.transquant_bypass_enabled_flag = transquant_bypass_enabled_flag; - this.tiles_enabled_flag = tiles_enabled_flag; - this.entropy_coding_sync_enabled_flag = entropy_coding_sync_enabled_flag; - this.uniform_spacing_flag = uniform_spacing_flag; - this.loop_filter_across_tiles_enabled_flag = loop_filter_across_tiles_enabled_flag; - this.pps_loop_filter_across_slices_enabled_flag = pps_loop_filter_across_slices_enabled_flag; - this.deblocking_filter_control_present_flag = deblocking_filter_control_present_flag; - this.deblocking_filter_override_enabled_flag = deblocking_filter_override_enabled_flag; - this.pps_deblocking_filter_disabled_flag = pps_deblocking_filter_disabled_flag; - this.pps_scaling_list_data_present_flag = pps_scaling_list_data_present_flag; - this.lists_modification_present_flag = lists_modification_present_flag; - this.slice_segment_header_extension_present_flag = slice_segment_header_extension_present_flag; - this.pps_extension_present_flag = pps_extension_present_flag; - this.cross_component_prediction_enabled_flag = cross_component_prediction_enabled_flag; - this.chroma_qp_offset_list_enabled_flag = chroma_qp_offset_list_enabled_flag; - this.pps_curr_pic_ref_enabled_flag = pps_curr_pic_ref_enabled_flag; - this.residual_adaptive_colour_transform_enabled_flag = residual_adaptive_colour_transform_enabled_flag; - this.pps_slice_act_qp_offsets_present_flag = pps_slice_act_qp_offsets_present_flag; - this.pps_palette_predictor_initializers_present_flag = pps_palette_predictor_initializers_present_flag; - this.monochrome_palette_flag = monochrome_palette_flag; - this.pps_range_extension_flag = pps_range_extension_flag; - } + dependent_slice_segments_enabled_flag = 0x00000001, + output_flag_present_flag = 0x00000002, + sign_data_hiding_enabled_flag = 0x00000004, + cabac_init_present_flag = 0x00000008, + constrained_intra_pred_flag = 0x00000010, + transform_skip_enabled_flag = 0x00000020, + cu_qp_delta_enabled_flag = 0x00000040, + pps_slice_chroma_qp_offsets_present_flag = 0x00000080, + weighted_pred_flag = 0x00000100, + weighted_bipred_flag = 0x00000200, + transquant_bypass_enabled_flag = 0x00000400, + tiles_enabled_flag = 0x00000800, + entropy_coding_sync_enabled_flag = 0x00001000, + uniform_spacing_flag = 0x00002000, + loop_filter_across_tiles_enabled_flag = 0x00004000, + pps_loop_filter_across_slices_enabled_flag = 0x00008000, + deblocking_filter_control_present_flag = 0x00010000, + deblocking_filter_override_enabled_flag = 0x00020000, + pps_deblocking_filter_disabled_flag = 0x00040000, + pps_scaling_list_data_present_flag = 0x00080000, + lists_modification_present_flag = 0x00100000, + slice_segment_header_extension_present_flag = 0x00200000, + pps_extension_present_flag = 0x00400000, + cross_component_prediction_enabled_flag = 0x00800000, + chroma_qp_offset_list_enabled_flag = 0x01000000, + pps_curr_pic_ref_enabled_flag = 0x02000000, + residual_adaptive_colour_transform_enabled_flag = 0x04000000, + pps_slice_act_qp_offsets_present_flag = 0x08000000, + pps_palette_predictor_initializers_present_flag = 0x10000000, + monochrome_palette_flag = 0x20000000, + pps_range_extension_flag = 0x40000000, } [CRepr] struct StdVideoH265PictureParameterSet : this() @@ -1716,7 +1462,6 @@ static { public const uint8 STD_VIDEO_H265_NO_REFERENCE_PICTURE = 0xFF; } public int8 pps_beta_offset_div2 = 0; public int8 pps_tc_offset_div2 = 0; public uint8 log2_parallel_merge_level_minus2 = 0; - public uint8 log2_max_transform_skip_block_size_minus2 = 0; public uint8 diff_cu_chroma_qp_offset_depth = 0; public uint8 chroma_qp_offset_list_len_minus1 = 0; @@ -1724,7 +1469,6 @@ static { public const uint8 STD_VIDEO_H265_NO_REFERENCE_PICTURE = 0xFF; } public int8[STD_VIDEO_H265_CHROMA_QP_OFFSET_LIST_SIZE] cr_qp_offset_list = .(); public uint8 log2_sao_offset_scale_luma = 0; public uint8 log2_sao_offset_scale_chroma = 0; - public int8 pps_act_y_qp_offset_plus5 = 0; public int8 pps_act_cb_qp_offset_plus5 = 0; public int8 pps_act_cr_qp_offset_plus3 = 0; @@ -1789,21 +1533,12 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_SPEC_VERSION = V static { public const let VK_STD_VULKAN_VIDEO_CODEC_H265_DECODE_EXTENSION_NAME = "VK_STD_vulkan_video_codec_h265_decode"; } static { public const uint32 STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE = 8; } -[CRepr] struct StdVideoDecodeH265PictureInfoFlags : this() +enum StdVideoDecodeH265PictureInfoFlags : uint32 { - [Bitfield(.Public, .Bits(1), "IrapPicFlag")] - [Bitfield(.Public, .Bits(1), "IdrPicFlag")] - [Bitfield(.Public, .Bits(1), "IsReference")] - [Bitfield(.Public, .Bits(1), "short_term_ref_pic_set_sps_flag")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 IrapPicFlag, uint32 IdrPicFlag, uint32 IsReference, uint32 short_term_ref_pic_set_sps_flag) : this() - { - this.IrapPicFlag = IrapPicFlag; - this.IdrPicFlag = IdrPicFlag; - this.IsReference = IsReference; - this.short_term_ref_pic_set_sps_flag = short_term_ref_pic_set_sps_flag; - } + IrapPicFlag = 0x00000001, + IdrPicFlag = 0x00000002, + IsReference = 0x00000004, + short_term_ref_pic_set_sps_flag = 0x00000008, } [CRepr] struct StdVideoDecodeH265PictureInfo : this() @@ -1836,17 +1571,10 @@ static { public const uint32 STD_VIDEO_DECODE_H265_REF_PIC_SET_LIST_SIZE = 8; } } } -[CRepr] struct StdVideoDecodeH265ReferenceInfoFlags : this() +enum StdVideoDecodeH265ReferenceInfoFlags : uint32 { - [Bitfield(.Public, .Bits(1), "used_for_long_term_reference")] - [Bitfield(.Public, .Bits(1), "unused_for_reference")] - private uint32 __bitfields_remainder = 0; - - public this(uint32 used_for_long_term_reference, uint32 unused_for_reference) : this() - { - this.used_for_long_term_reference = used_for_long_term_reference; - this.unused_for_reference = unused_for_reference; - } + used_for_long_term_reference = 0x00000001, + unused_for_reference = 0x00000002, } [CRepr] struct StdVideoDecodeH265ReferenceInfo : this() @@ -1885,7 +1613,6 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME = [CRepr] struct StdVideoEncodeH265WeightTable : this() { - public StdVideoEncodeH265WeightTableFlags flags = default; public uint8 luma_log2_weight_denom = 0; // [0, 7] public int8 delta_chroma_log2_weight_denom = 0; @@ -1914,39 +1641,20 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME = } } -[CRepr] struct StdVideoEncodeH265SliceSegmentHeaderFlags : this() +enum StdVideoEncodeH265SliceSegmentHeaderFlags : uint32 { - [Bitfield(.Public, .Bits(1), "first_slice_segment_in_pic_flag")] - [Bitfield(.Public, .Bits(1), "dependent_slice_segment_flag")] - [Bitfield(.Public, .Bits(1), "slice_sao_luma_flag")] - [Bitfield(.Public, .Bits(1), "slice_sao_chroma_flag")] - [Bitfield(.Public, .Bits(1), "num_ref_idx_active_override_flag")] - [Bitfield(.Public, .Bits(1), "mvd_l1_zero_flag")] - [Bitfield(.Public, .Bits(1), "cabac_init_flag")] - [Bitfield(.Public, .Bits(1), "cu_chroma_qp_offset_enabled_flag")] - [Bitfield(.Public, .Bits(1), "deblocking_filter_override_flag")] - [Bitfield(.Public, .Bits(1), "slice_deblocking_filter_disabled_flag")] - [Bitfield(.Public, .Bits(1), "collocated_from_l0_flag")] - [Bitfield(.Public, .Bits(1), "slice_loop_filter_across_slices_enabled_flag")] - [Bitfield(.Public, .Bits(20), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 first_slice_segment_in_pic_flag, uint32 dependent_slice_segment_flag, uint32 slice_sao_luma_flag, uint32 slice_sao_chroma_flag, uint32 num_ref_idx_active_override_flag, uint32 mvd_l1_zero_flag, uint32 cabac_init_flag, uint32 cu_chroma_qp_offset_enabled_flag, uint32 deblocking_filter_override_flag, uint32 slice_deblocking_filter_disabled_flag, uint32 collocated_from_l0_flag, uint32 slice_loop_filter_across_slices_enabled_flag, uint32 reserved) : this() - { - this.first_slice_segment_in_pic_flag = first_slice_segment_in_pic_flag; - this.dependent_slice_segment_flag = dependent_slice_segment_flag; - this.slice_sao_luma_flag = slice_sao_luma_flag; - this.slice_sao_chroma_flag = slice_sao_chroma_flag; - this.num_ref_idx_active_override_flag = num_ref_idx_active_override_flag; - this.mvd_l1_zero_flag = mvd_l1_zero_flag; - this.cabac_init_flag = cabac_init_flag; - this.cu_chroma_qp_offset_enabled_flag = cu_chroma_qp_offset_enabled_flag; - this.deblocking_filter_override_flag = deblocking_filter_override_flag; - this.slice_deblocking_filter_disabled_flag = slice_deblocking_filter_disabled_flag; - this.collocated_from_l0_flag = collocated_from_l0_flag; - this.slice_loop_filter_across_slices_enabled_flag = slice_loop_filter_across_slices_enabled_flag; - this.reserved = reserved; - } + first_slice_segment_in_pic_flag = 0x00000001, + dependent_slice_segment_flag = 0x00000002, + slice_sao_luma_flag = 0x00000004, + slice_sao_chroma_flag = 0x00000008, + num_ref_idx_active_override_flag = 0x00000010, + mvd_l1_zero_flag = 0x00000020, + cabac_init_flag = 0x00000040, + cu_chroma_qp_offset_enabled_flag = 0x00000080, + deblocking_filter_override_flag = 0x00000100, + slice_deblocking_filter_disabled_flag = 0x00000200, + collocated_from_l0_flag = 0x00000400, + slice_loop_filter_across_slices_enabled_flag = 0x00000800, } [CRepr] struct StdVideoEncodeH265SliceSegmentHeader : this() @@ -1987,19 +1695,10 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME = } } -[CRepr] struct StdVideoEncodeH265ReferenceListsInfoFlags : this() +enum StdVideoEncodeH265ReferenceListsInfoFlags : uint32 { - [Bitfield(.Public, .Bits(1), "ref_pic_list_modification_flag_l0")] - [Bitfield(.Public, .Bits(1), "ref_pic_list_modification_flag_l1")] - [Bitfield(.Public, .Bits(30), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 ref_pic_list_modification_flag_l0, uint32 ref_pic_list_modification_flag_l1, uint32 reserved) : this() - { - this.ref_pic_list_modification_flag_l0 = ref_pic_list_modification_flag_l0; - this.ref_pic_list_modification_flag_l1 = ref_pic_list_modification_flag_l1; - this.reserved = reserved; - } + ref_pic_list_modification_flag_l0 = 0x00000001, + ref_pic_list_modification_flag_l1 = 0x00000002, } [CRepr] struct StdVideoEncodeH265ReferenceListsInfo : this() @@ -2024,33 +1723,17 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME = } } -[CRepr] struct StdVideoEncodeH265PictureInfoFlags : this() +enum StdVideoEncodeH265PictureInfoFlags : uint32 { - [Bitfield(.Public, .Bits(1), "is_reference")] - [Bitfield(.Public, .Bits(1), "IrapPicFlag")] - [Bitfield(.Public, .Bits(1), "used_for_long_term_reference")] - [Bitfield(.Public, .Bits(1), "discardable_flag")] - [Bitfield(.Public, .Bits(1), "cross_layer_bla_flag")] - [Bitfield(.Public, .Bits(1), "pic_output_flag")] - [Bitfield(.Public, .Bits(1), "no_output_of_prior_pics_flag")] - [Bitfield(.Public, .Bits(1), "short_term_ref_pic_set_sps_flag")] - [Bitfield(.Public, .Bits(1), "slice_temporal_mvp_enabled_flag")] - [Bitfield(.Public, .Bits(23), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 is_reference, uint32 IrapPicFlag, uint32 used_for_long_term_reference, uint32 discardable_flag, uint32 cross_layer_bla_flag, uint32 pic_output_flag, uint32 no_output_of_prior_pics_flag, uint32 short_term_ref_pic_set_sps_flag, uint32 slice_temporal_mvp_enabled_flag, uint32 reserved) : this() - { - this.is_reference = is_reference; - this.IrapPicFlag = IrapPicFlag; - this.used_for_long_term_reference = used_for_long_term_reference; - this.discardable_flag = discardable_flag; - this.cross_layer_bla_flag = cross_layer_bla_flag; - this.pic_output_flag = pic_output_flag; - this.no_output_of_prior_pics_flag = no_output_of_prior_pics_flag; - this.short_term_ref_pic_set_sps_flag = short_term_ref_pic_set_sps_flag; - this.slice_temporal_mvp_enabled_flag = slice_temporal_mvp_enabled_flag; - this.reserved = reserved; - } + is_reference = 0x00000001, + IrapPicFlag = 0x00000002, + used_for_long_term_reference = 0x00000004, + discardable_flag = 0x00000008, + cross_layer_bla_flag = 0x00000010, + pic_output_flag = 0x00000020, + no_output_of_prior_pics_flag = 0x00000040, + short_term_ref_pic_set_sps_flag = 0x00000080, + slice_temporal_mvp_enabled_flag = 0x00000100, } [CRepr] struct StdVideoEncodeH265LongTermRefPics : this() @@ -2107,19 +1790,10 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_H265_ENCODE_EXTENSION_NAME = } } -[CRepr] struct StdVideoEncodeH265ReferenceInfoFlags : this() +enum StdVideoEncodeH265ReferenceInfoFlags : uint32 { - [Bitfield(.Public, .Bits(1), "used_for_long_term_reference")] - [Bitfield(.Public, .Bits(1), "unused_for_reference")] - [Bitfield(.Public, .Bits(30), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 used_for_long_term_reference, uint32 unused_for_reference, uint32 reserved) : this() - { - this.used_for_long_term_reference = used_for_long_term_reference; - this.unused_for_reference = unused_for_reference; - this.reserved = reserved; - } + used_for_long_term_reference = 0x00000001, + unused_for_reference = 0x00000002, } [CRepr] struct StdVideoEncodeH265ReferenceInfo : this() @@ -2264,23 +1938,13 @@ static { public const uint32 STD_VIDEO_VP9_MAX_SEGMENTATION_PRED_PROB = 3; } StdVideoVp9_ColorSpaceInvalid = 0x7FFFFFFF, } -[CRepr] struct StdVideoVP9ColorConfigFlags : this() +enum StdVideoVP9ColorConfigFlags : uint32 { - - [Bitfield(.Public, .Bits(1), "color_range")] - [Bitfield(.Public, .Bits(31), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 color_range, uint32 reserved) : this() - { - this.color_range = color_range; - this.reserved = reserved; - } + color_range = 0x00000001, } [CRepr] struct StdVideoVP9ColorConfig : this() { - public StdVideoVP9ColorConfigFlags flags = default; public uint8 BitDepth = 0; public uint8 subsampling_x = 0; @@ -2299,25 +1963,14 @@ static { public const uint32 STD_VIDEO_VP9_MAX_SEGMENTATION_PRED_PROB = 3; } } } -[CRepr] struct StdVideoVP9LoopFilterFlags : this() +enum StdVideoVP9LoopFilterFlags : uint32 { - - [Bitfield(.Public, .Bits(1), "loop_filter_delta_enabled")] - [Bitfield(.Public, .Bits(1), "loop_filter_delta_update")] - [Bitfield(.Public, .Bits(30), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 loop_filter_delta_enabled, uint32 loop_filter_delta_update, uint32 reserved) : this() - { - this.loop_filter_delta_enabled = loop_filter_delta_enabled; - this.loop_filter_delta_update = loop_filter_delta_update; - this.reserved = reserved; - } + loop_filter_delta_enabled = 0x00000001, + loop_filter_delta_update = 0x00000002, } [CRepr] struct StdVideoVP9LoopFilter : this() { - public StdVideoVP9LoopFilterFlags flags = default; public uint8 loop_filter_level = 0; public uint8 loop_filter_sharpness = 0; @@ -2338,34 +1991,20 @@ static { public const uint32 STD_VIDEO_VP9_MAX_SEGMENTATION_PRED_PROB = 3; } } } -[CRepr] struct StdVideoVP9SegmentationFlags : this() +enum StdVideoVP9SegmentationFlags : uint32 { - - [Bitfield(.Public, .Bits(1), "segmentation_update_map")] - [Bitfield(.Public, .Bits(1), "segmentation_temporal_update")] - [Bitfield(.Public, .Bits(1), "segmentation_update_data")] - [Bitfield(.Public, .Bits(1), "segmentation_abs_or_delta_update")] - [Bitfield(.Public, .Bits(28), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 segmentation_update_map, uint32 segmentation_temporal_update, uint32 segmentation_update_data, uint32 segmentation_abs_or_delta_update, uint32 reserved) : this() - { - this.segmentation_update_map = segmentation_update_map; - this.segmentation_temporal_update = segmentation_temporal_update; - this.segmentation_update_data = segmentation_update_data; - this.segmentation_abs_or_delta_update = segmentation_abs_or_delta_update; - this.reserved = reserved; - } + segmentation_update_map = 0x00000001, + segmentation_temporal_update = 0x00000002, + segmentation_update_data = 0x00000004, + segmentation_abs_or_delta_update = 0x00000008, } [CRepr] struct StdVideoVP9Segmentation : this() { - public StdVideoVP9SegmentationFlags flags = default; public uint8[STD_VIDEO_VP9_MAX_SEGMENTATION_TREE_PROBS] segmentation_tree_probs = .(); public uint8[STD_VIDEO_VP9_MAX_SEGMENTATION_PRED_PROB] segmentation_pred_prob = .(); public uint8[STD_VIDEO_VP9_MAX_SEGMENTS] FeatureEnabled = .(); - public int16[STD_VIDEO_VP9_MAX_SEGMENTS][STD_VIDEO_VP9_SEG_LVL_MAX] FeatureData = .(); public this(StdVideoVP9SegmentationFlags flags, uint8[STD_VIDEO_VP9_MAX_SEGMENTATION_TREE_PROBS] segmentation_tree_probs, uint8[STD_VIDEO_VP9_MAX_SEGMENTATION_PRED_PROB] segmentation_pred_prob, uint8[STD_VIDEO_VP9_MAX_SEGMENTS] FeatureEnabled, int16[STD_VIDEO_VP9_MAX_SEGMENTS][STD_VIDEO_VP9_SEG_LVL_MAX] FeatureData) : this() @@ -2384,40 +2023,22 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_VP9_DECODE_API_VERSION_1_0_0 static { public const let VK_STD_VULKAN_VIDEO_CODEC_VP9_DECODE_SPEC_VERSION = VK_STD_VULKAN_VIDEO_CODEC_VP9_DECODE_API_VERSION_1_0_0; } static { public const let VK_STD_VULKAN_VIDEO_CODEC_VP9_DECODE_EXTENSION_NAME = "VK_STD_vulkan_video_codec_vp9_decode"; } -[CRepr] struct StdVideoDecodeVP9PictureInfoFlags : this() +enum StdVideoDecodeVP9PictureInfoFlags : uint32 { - - [Bitfield(.Public, .Bits(1), "error_resilient_mode")] - [Bitfield(.Public, .Bits(1), "intra_only")] - [Bitfield(.Public, .Bits(1), "allow_high_precision_mv")] - [Bitfield(.Public, .Bits(1), "refresh_frame_context")] - [Bitfield(.Public, .Bits(1), "frame_parallel_decoding_mode")] - [Bitfield(.Public, .Bits(1), "segmentation_enabled")] - [Bitfield(.Public, .Bits(1), "show_frame")] - [Bitfield(.Public, .Bits(1), "UsePrevFrameMvs")] - [Bitfield(.Public, .Bits(24), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 error_resilient_mode, uint32 intra_only, uint32 allow_high_precision_mv, uint32 refresh_frame_context, uint32 frame_parallel_decoding_mode, uint32 segmentation_enabled, uint32 show_frame, uint32 UsePrevFrameMvs, uint32 reserved) : this() - { - this.error_resilient_mode = error_resilient_mode; - this.intra_only = intra_only; - this.allow_high_precision_mv = allow_high_precision_mv; - this.refresh_frame_context = refresh_frame_context; - this.frame_parallel_decoding_mode = frame_parallel_decoding_mode; - this.segmentation_enabled = segmentation_enabled; - this.show_frame = show_frame; - this.UsePrevFrameMvs = UsePrevFrameMvs; - this.reserved = reserved; - } + error_resilient_mode = 0x00000001, + intra_only = 0x00000002, + allow_high_precision_mv = 0x00000004, + refresh_frame_context = 0x00000008, + frame_parallel_decoding_mode = 0x00000010, + segmentation_enabled = 0x00000020, + show_frame = 0x00000040, + UsePrevFrameMvs = 0x00000080, } [CRepr] struct StdVideoDecodeVP9PictureInfo : this() { - public StdVideoDecodeVP9PictureInfoFlags flags = default; public StdVideoVP9Profile profile = default; - public StdVideoVP9FrameType frame_type = default; public uint8 frame_context_idx = 0; public uint8 reset_frame_context = 0; @@ -2762,29 +2383,16 @@ static { public const uint32 STD_VIDEO_AV1_MAX_NUM_POS_CHROMA = 25; } StdVideoAv1_ChromaSamplePositionInvalid = 0x7FFFFFFF, } -[CRepr] struct StdVideoAV1ColorConfigFlags : this() +enum StdVideoAV1ColorConfigFlags : uint32 { - - [Bitfield(.Public, .Bits(1), "mono_chrome")] - [Bitfield(.Public, .Bits(1), "color_range")] - [Bitfield(.Public, .Bits(1), "separate_uv_delta_q")] - [Bitfield(.Public, .Bits(1), "color_description_present_flag")] - [Bitfield(.Public, .Bits(28), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 mono_chrome, uint32 color_range, uint32 separate_uv_delta_q, uint32 color_description_present_flag, uint32 reserved) : this() - { - this.mono_chrome = mono_chrome; - this.color_range = color_range; - this.separate_uv_delta_q = separate_uv_delta_q; - this.color_description_present_flag = color_description_present_flag; - this.reserved = reserved; - } + mono_chrome = 0x00000001, + color_range = 0x00000002, + separate_uv_delta_q = 0x00000004, + color_description_present_flag = 0x00000008, } [CRepr] struct StdVideoAV1ColorConfig : this() { - public StdVideoAV1ColorConfigFlags flags = default; public uint8 BitDepth = 0; public uint8 subsampling_x = 0; @@ -2809,23 +2417,13 @@ static { public const uint32 STD_VIDEO_AV1_MAX_NUM_POS_CHROMA = 25; } } } -[CRepr] struct StdVideoAV1TimingInfoFlags : this() +enum StdVideoAV1TimingInfoFlags : uint32 { - - [Bitfield(.Public, .Bits(1), "equal_picture_interval")] - [Bitfield(.Public, .Bits(31), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 equal_picture_interval, uint32 reserved) : this() - { - this.equal_picture_interval = equal_picture_interval; - this.reserved = reserved; - } + equal_picture_interval = 0x00000001, } [CRepr] struct StdVideoAV1TimingInfo : this() { - public StdVideoAV1TimingInfoFlags flags = default; public uint32 num_units_in_display_tick = 0; public uint32 time_scale = 0; @@ -2840,25 +2438,14 @@ static { public const uint32 STD_VIDEO_AV1_MAX_NUM_POS_CHROMA = 25; } } } -[CRepr] struct StdVideoAV1LoopFilterFlags : this() +enum StdVideoAV1LoopFilterFlags : uint32 { - - [Bitfield(.Public, .Bits(1), "loop_filter_delta_enabled")] - [Bitfield(.Public, .Bits(1), "loop_filter_delta_update")] - [Bitfield(.Public, .Bits(30), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 loop_filter_delta_enabled, uint32 loop_filter_delta_update, uint32 reserved) : this() - { - this.loop_filter_delta_enabled = loop_filter_delta_enabled; - this.loop_filter_delta_update = loop_filter_delta_update; - this.reserved = reserved; - } + loop_filter_delta_enabled = 0x00000001, + loop_filter_delta_update = 0x00000002, } [CRepr] struct StdVideoAV1LoopFilter : this() { - public StdVideoAV1LoopFilterFlags flags = default; public uint8[STD_VIDEO_AV1_MAX_LOOP_FILTER_STRENGTHS] loop_filter_level = .(); public uint8 loop_filter_sharpness = 0; @@ -2879,25 +2466,14 @@ static { public const uint32 STD_VIDEO_AV1_MAX_NUM_POS_CHROMA = 25; } } } -[CRepr] struct StdVideoAV1QuantizationFlags : this() +enum StdVideoAV1QuantizationFlags : uint32 { - - [Bitfield(.Public, .Bits(1), "using_qmatrix")] - [Bitfield(.Public, .Bits(1), "diff_uv_delta")] - [Bitfield(.Public, .Bits(30), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 using_qmatrix, uint32 diff_uv_delta, uint32 reserved) : this() - { - this.using_qmatrix = using_qmatrix; - this.diff_uv_delta = diff_uv_delta; - this.reserved = reserved; - } + using_qmatrix = 0x00000001, + diff_uv_delta = 0x00000002, } [CRepr] struct StdVideoAV1Quantization : this() { - public StdVideoAV1QuantizationFlags flags = default; public uint8 base_q_idx = 0; public int8 DeltaQYDc = 0; @@ -2926,7 +2502,6 @@ static { public const uint32 STD_VIDEO_AV1_MAX_NUM_POS_CHROMA = 25; } [CRepr] struct StdVideoAV1Segmentation : this() { - public uint8[STD_VIDEO_AV1_MAX_SEGMENTS] FeatureEnabled = .(); // Each element contains 8 (SEG_LVL_MAX) bits, one bit for each feature within the segment public int16[STD_VIDEO_AV1_MAX_SEGMENTS][STD_VIDEO_AV1_SEG_LVL_MAX] FeatureData = .(); @@ -2937,23 +2512,13 @@ static { public const uint32 STD_VIDEO_AV1_MAX_NUM_POS_CHROMA = 25; } } } -[CRepr] struct StdVideoAV1TileInfoFlags : this() +enum StdVideoAV1TileInfoFlags : uint32 { - - [Bitfield(.Public, .Bits(1), "uniform_tile_spacing_flag")] - [Bitfield(.Public, .Bits(31), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 uniform_tile_spacing_flag, uint32 reserved) : this() - { - this.uniform_tile_spacing_flag = uniform_tile_spacing_flag; - this.reserved = reserved; - } + uniform_tile_spacing_flag = 0x00000001, } [CRepr] struct StdVideoAV1TileInfo : this() { - public StdVideoAV1TileInfoFlags flags = default; public uint8 TileCols = 0; public uint8 TileRows = 0; @@ -2982,7 +2547,6 @@ static { public const uint32 STD_VIDEO_AV1_MAX_NUM_POS_CHROMA = 25; } [CRepr] struct StdVideoAV1CDEF : this() { - public uint8 cdef_damping_minus_3 = 0; public uint8 cdef_bits = 0; public uint8[STD_VIDEO_AV1_MAX_CDEF_FILTER_STRENGTHS] cdef_y_pri_strength = .(); @@ -3003,7 +2567,6 @@ static { public const uint32 STD_VIDEO_AV1_MAX_NUM_POS_CHROMA = 25; } [CRepr] struct StdVideoAV1LoopRestoration : this() { - public StdVideoAV1FrameRestorationType[STD_VIDEO_AV1_MAX_NUM_PLANES] FrameRestorationType = .(); public uint16[STD_VIDEO_AV1_MAX_NUM_PLANES] LoopRestorationSize = .(); @@ -3016,7 +2579,6 @@ static { public const uint32 STD_VIDEO_AV1_MAX_NUM_POS_CHROMA = 25; } [CRepr] struct StdVideoAV1GlobalMotion : this() { - public uint8[STD_VIDEO_AV1_NUM_REF_FRAMES] GmType = .(); public int32[STD_VIDEO_AV1_NUM_REF_FRAMES][STD_VIDEO_AV1_GLOBAL_MOTION_PARAMS] gm_params = .(); @@ -3027,29 +2589,16 @@ static { public const uint32 STD_VIDEO_AV1_MAX_NUM_POS_CHROMA = 25; } } } -[CRepr] struct StdVideoAV1FilmGrainFlags : this() +enum StdVideoAV1FilmGrainFlags : uint32 { - - [Bitfield(.Public, .Bits(1), "chroma_scaling_from_luma")] - [Bitfield(.Public, .Bits(1), "overlap_flag")] - [Bitfield(.Public, .Bits(1), "clip_to_restricted_range")] - [Bitfield(.Public, .Bits(1), "update_grain")] - [Bitfield(.Public, .Bits(28), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 chroma_scaling_from_luma, uint32 overlap_flag, uint32 clip_to_restricted_range, uint32 update_grain, uint32 reserved) : this() - { - this.chroma_scaling_from_luma = chroma_scaling_from_luma; - this.overlap_flag = overlap_flag; - this.clip_to_restricted_range = clip_to_restricted_range; - this.update_grain = update_grain; - this.reserved = reserved; - } + chroma_scaling_from_luma = 0x00000001, + overlap_flag = 0x00000002, + clip_to_restricted_range = 0x00000004, + update_grain = 0x00000008, } [CRepr] struct StdVideoAV1FilmGrain : this() { - public StdVideoAV1FilmGrainFlags flags = default; public uint8 grain_scaling_minus_8 = 0; public uint8 ar_coeff_lag = 0; @@ -3106,59 +2655,31 @@ static { public const uint32 STD_VIDEO_AV1_MAX_NUM_POS_CHROMA = 25; } } } -[CRepr] struct StdVideoAV1SequenceHeaderFlags : this() +enum StdVideoAV1SequenceHeaderFlags : uint32 { - - [Bitfield(.Public, .Bits(1), "still_picture")] - [Bitfield(.Public, .Bits(1), "reduced_still_picture_header")] - [Bitfield(.Public, .Bits(1), "use_128x128_superblock")] - [Bitfield(.Public, .Bits(1), "enable_filter_intra")] - [Bitfield(.Public, .Bits(1), "enable_intra_edge_filter")] - [Bitfield(.Public, .Bits(1), "enable_interintra_compound")] - [Bitfield(.Public, .Bits(1), "enable_masked_compound")] - [Bitfield(.Public, .Bits(1), "enable_warped_motion")] - [Bitfield(.Public, .Bits(1), "enable_dual_filter")] - [Bitfield(.Public, .Bits(1), "enable_order_hint")] - [Bitfield(.Public, .Bits(1), "enable_jnt_comp")] - [Bitfield(.Public, .Bits(1), "enable_ref_frame_mvs")] - [Bitfield(.Public, .Bits(1), "frame_id_numbers_present_flag")] - [Bitfield(.Public, .Bits(1), "enable_superres")] - [Bitfield(.Public, .Bits(1), "enable_cdef")] - [Bitfield(.Public, .Bits(1), "enable_restoration")] - [Bitfield(.Public, .Bits(1), "film_grain_params_present")] - [Bitfield(.Public, .Bits(1), "timing_info_present_flag")] - [Bitfield(.Public, .Bits(1), "initial_display_delay_present_flag")] - [Bitfield(.Public, .Bits(13), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 still_picture, uint32 reduced_still_picture_header, uint32 use_128x128_superblock, uint32 enable_filter_intra, uint32 enable_intra_edge_filter, uint32 enable_interintra_compound, uint32 enable_masked_compound, uint32 enable_warped_motion, uint32 enable_dual_filter, uint32 enable_order_hint, uint32 enable_jnt_comp, uint32 enable_ref_frame_mvs, uint32 frame_id_numbers_present_flag, uint32 enable_superres, uint32 enable_cdef, uint32 enable_restoration, uint32 film_grain_params_present, uint32 timing_info_present_flag, uint32 initial_display_delay_present_flag, uint32 reserved) : this() - { - this.still_picture = still_picture; - this.reduced_still_picture_header = reduced_still_picture_header; - this.use_128x128_superblock = use_128x128_superblock; - this.enable_filter_intra = enable_filter_intra; - this.enable_intra_edge_filter = enable_intra_edge_filter; - this.enable_interintra_compound = enable_interintra_compound; - this.enable_masked_compound = enable_masked_compound; - this.enable_warped_motion = enable_warped_motion; - this.enable_dual_filter = enable_dual_filter; - this.enable_order_hint = enable_order_hint; - this.enable_jnt_comp = enable_jnt_comp; - this.enable_ref_frame_mvs = enable_ref_frame_mvs; - this.frame_id_numbers_present_flag = frame_id_numbers_present_flag; - this.enable_superres = enable_superres; - this.enable_cdef = enable_cdef; - this.enable_restoration = enable_restoration; - this.film_grain_params_present = film_grain_params_present; - this.timing_info_present_flag = timing_info_present_flag; - this.initial_display_delay_present_flag = initial_display_delay_present_flag; - this.reserved = reserved; - } + still_picture = 0x00000001, + reduced_still_picture_header = 0x00000002, + use_128x128_superblock = 0x00000004, + enable_filter_intra = 0x00000008, + enable_intra_edge_filter = 0x00000010, + enable_interintra_compound = 0x00000020, + enable_masked_compound = 0x00000040, + enable_warped_motion = 0x00000080, + enable_dual_filter = 0x00000100, + enable_order_hint = 0x00000200, + enable_jnt_comp = 0x00000400, + enable_ref_frame_mvs = 0x00000800, + frame_id_numbers_present_flag = 0x00001000, + enable_superres = 0x00002000, + enable_cdef = 0x00004000, + enable_restoration = 0x00008000, + film_grain_params_present = 0x00010000, + timing_info_present_flag = 0x00020000, + initial_display_delay_present_flag = 0x00040000, } [CRepr] struct StdVideoAV1SequenceHeader : this() { - public StdVideoAV1SequenceHeaderFlags flags = default; public StdVideoAV1Profile seq_profile = default; public uint8 frame_width_bits_minus_1 = 0; @@ -3199,79 +2720,41 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0 static { public const let VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_SPEC_VERSION = VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_API_VERSION_1_0_0; } static { public const let VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME = "VK_STD_vulkan_video_codec_av1_decode"; } -[CRepr] struct StdVideoDecodeAV1PictureInfoFlags : this() +enum StdVideoDecodeAV1PictureInfoFlags : uint32 { - - [Bitfield(.Public, .Bits(1), "error_resilient_mode")] - [Bitfield(.Public, .Bits(1), "disable_cdf_update")] - [Bitfield(.Public, .Bits(1), "use_superres")] - [Bitfield(.Public, .Bits(1), "render_and_frame_size_different")] - [Bitfield(.Public, .Bits(1), "allow_screen_content_tools")] - [Bitfield(.Public, .Bits(1), "is_filter_switchable")] - [Bitfield(.Public, .Bits(1), "force_integer_mv")] - [Bitfield(.Public, .Bits(1), "frame_size_override_flag")] - [Bitfield(.Public, .Bits(1), "buffer_removal_time_present_flag")] - [Bitfield(.Public, .Bits(1), "allow_intrabc")] - [Bitfield(.Public, .Bits(1), "frame_refs_short_signaling")] - [Bitfield(.Public, .Bits(1), "allow_high_precision_mv")] - [Bitfield(.Public, .Bits(1), "is_motion_mode_switchable")] - [Bitfield(.Public, .Bits(1), "use_ref_frame_mvs")] - [Bitfield(.Public, .Bits(1), "disable_frame_end_update_cdf")] - [Bitfield(.Public, .Bits(1), "allow_warped_motion")] - [Bitfield(.Public, .Bits(1), "reduced_tx_set")] - [Bitfield(.Public, .Bits(1), "reference_select")] - [Bitfield(.Public, .Bits(1), "skip_mode_present")] - [Bitfield(.Public, .Bits(1), "delta_q_present")] - [Bitfield(.Public, .Bits(1), "delta_lf_present")] - [Bitfield(.Public, .Bits(1), "delta_lf_multi")] - [Bitfield(.Public, .Bits(1), "segmentation_enabled")] - [Bitfield(.Public, .Bits(1), "segmentation_update_map")] - [Bitfield(.Public, .Bits(1), "segmentation_temporal_update")] - [Bitfield(.Public, .Bits(1), "segmentation_update_data")] - [Bitfield(.Public, .Bits(1), "UsesLr")] - [Bitfield(.Public, .Bits(1), "usesChromaLr")] - [Bitfield(.Public, .Bits(1), "apply_grain")] - [Bitfield(.Public, .Bits(3), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 error_resilient_mode, uint32 disable_cdf_update, uint32 use_superres, uint32 render_and_frame_size_different, uint32 allow_screen_content_tools, uint32 is_filter_switchable, uint32 force_integer_mv, uint32 frame_size_override_flag, uint32 buffer_removal_time_present_flag, uint32 allow_intrabc, uint32 frame_refs_short_signaling, uint32 allow_high_precision_mv, uint32 is_motion_mode_switchable, uint32 use_ref_frame_mvs, uint32 disable_frame_end_update_cdf, uint32 allow_warped_motion, uint32 reduced_tx_set, uint32 reference_select, uint32 skip_mode_present, uint32 delta_q_present, uint32 delta_lf_present, uint32 delta_lf_multi, uint32 segmentation_enabled, uint32 segmentation_update_map, uint32 segmentation_temporal_update, uint32 segmentation_update_data, uint32 UsesLr, uint32 usesChromaLr, uint32 apply_grain, uint32 reserved) : this() - { - this.error_resilient_mode = error_resilient_mode; - this.disable_cdf_update = disable_cdf_update; - this.use_superres = use_superres; - this.render_and_frame_size_different = render_and_frame_size_different; - this.allow_screen_content_tools = allow_screen_content_tools; - this.is_filter_switchable = is_filter_switchable; - this.force_integer_mv = force_integer_mv; - this.frame_size_override_flag = frame_size_override_flag; - this.buffer_removal_time_present_flag = buffer_removal_time_present_flag; - this.allow_intrabc = allow_intrabc; - this.frame_refs_short_signaling = frame_refs_short_signaling; - this.allow_high_precision_mv = allow_high_precision_mv; - this.is_motion_mode_switchable = is_motion_mode_switchable; - this.use_ref_frame_mvs = use_ref_frame_mvs; - this.disable_frame_end_update_cdf = disable_frame_end_update_cdf; - this.allow_warped_motion = allow_warped_motion; - this.reduced_tx_set = reduced_tx_set; - this.reference_select = reference_select; - this.skip_mode_present = skip_mode_present; - this.delta_q_present = delta_q_present; - this.delta_lf_present = delta_lf_present; - this.delta_lf_multi = delta_lf_multi; - this.segmentation_enabled = segmentation_enabled; - this.segmentation_update_map = segmentation_update_map; - this.segmentation_temporal_update = segmentation_temporal_update; - this.segmentation_update_data = segmentation_update_data; - this.UsesLr = UsesLr; - this.usesChromaLr = usesChromaLr; - this.apply_grain = apply_grain; - this.reserved = reserved; - } + error_resilient_mode = 0x00000001, + disable_cdf_update = 0x00000002, + use_superres = 0x00000004, + render_and_frame_size_different = 0x00000008, + allow_screen_content_tools = 0x00000010, + is_filter_switchable = 0x00000020, + force_integer_mv = 0x00000040, + frame_size_override_flag = 0x00000080, + buffer_removal_time_present_flag = 0x00000100, + allow_intrabc = 0x00000200, + frame_refs_short_signaling = 0x00000400, + allow_high_precision_mv = 0x00000800, + is_motion_mode_switchable = 0x00001000, + use_ref_frame_mvs = 0x00002000, + disable_frame_end_update_cdf = 0x00004000, + allow_warped_motion = 0x00008000, + reduced_tx_set = 0x00010000, + reference_select = 0x00020000, + skip_mode_present = 0x00040000, + delta_q_present = 0x00080000, + delta_lf_present = 0x00100000, + delta_lf_multi = 0x00200000, + segmentation_enabled = 0x00400000, + segmentation_update_map = 0x00800000, + segmentation_temporal_update = 0x01000000, + segmentation_update_data = 0x02000000, + UsesLr = 0x04000000, + usesChromaLr = 0x08000000, + apply_grain = 0x10000000, } [CRepr] struct StdVideoDecodeAV1PictureInfo : this() { - public StdVideoDecodeAV1PictureInfoFlags flags = default; public StdVideoAV1FrameType frame_type = default; public uint32 current_frame_id = 0; @@ -3326,19 +2809,10 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_AV1_DECODE_EXTENSION_NAME = } } -[CRepr] struct StdVideoDecodeAV1ReferenceInfoFlags : this() +enum StdVideoDecodeAV1ReferenceInfoFlags : uint32 { - [Bitfield(.Public, .Bits(1), "disable_frame_end_update_cdf")] - [Bitfield(.Public, .Bits(1), "segmentation_enabled")] - [Bitfield(.Public, .Bits(30), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 disable_frame_end_update_cdf, uint32 segmentation_enabled, uint32 reserved) : this() - { - this.disable_frame_end_update_cdf = disable_frame_end_update_cdf; - this.segmentation_enabled = segmentation_enabled; - this.reserved = reserved; - } + disable_frame_end_update_cdf = 0x00000001, + segmentation_enabled = 0x00000002, } [CRepr] struct StdVideoDecodeAV1ReferenceInfo : this() @@ -3385,7 +2859,6 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_AV1_ENCODE_EXTENSION_NAME = [CRepr] struct StdVideoEncodeAV1ExtensionHeader : this() { - public uint8 temporal_id = 0; public uint8 spatial_id = 0; @@ -3396,21 +2869,11 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_AV1_ENCODE_EXTENSION_NAME = } } -[CRepr] struct StdVideoEncodeAV1OperatingPointInfoFlags : this() +enum StdVideoEncodeAV1OperatingPointInfoFlags : uint32 { - [Bitfield(.Public, .Bits(1), "decoder_model_present_for_this_op")] - [Bitfield(.Public, .Bits(1), "low_delay_mode_flag")] - [Bitfield(.Public, .Bits(1), "initial_display_delay_present_for_this_op")] - [Bitfield(.Public, .Bits(29), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 decoder_model_present_for_this_op, uint32 low_delay_mode_flag, uint32 initial_display_delay_present_for_this_op, uint32 reserved) : this() - { - this.decoder_model_present_for_this_op = decoder_model_present_for_this_op; - this.low_delay_mode_flag = low_delay_mode_flag; - this.initial_display_delay_present_for_this_op = initial_display_delay_present_for_this_op; - this.reserved = reserved; - } + decoder_model_present_for_this_op = 0x00000001, + low_delay_mode_flag = 0x00000002, + initial_display_delay_present_for_this_op = 0x00000004, } [CRepr] struct StdVideoEncodeAV1OperatingPointInfo : this() @@ -3435,79 +2898,41 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_AV1_ENCODE_EXTENSION_NAME = } } -[CRepr] struct StdVideoEncodeAV1PictureInfoFlags : this() +enum StdVideoEncodeAV1PictureInfoFlags : uint32 { - - [Bitfield(.Public, .Bits(1), "error_resilient_mode")] - [Bitfield(.Public, .Bits(1), "disable_cdf_update")] - [Bitfield(.Public, .Bits(1), "use_superres")] - [Bitfield(.Public, .Bits(1), "render_and_frame_size_different")] - [Bitfield(.Public, .Bits(1), "allow_screen_content_tools")] - [Bitfield(.Public, .Bits(1), "is_filter_switchable")] - [Bitfield(.Public, .Bits(1), "force_integer_mv")] - [Bitfield(.Public, .Bits(1), "frame_size_override_flag")] - [Bitfield(.Public, .Bits(1), "buffer_removal_time_present_flag")] - [Bitfield(.Public, .Bits(1), "allow_intrabc")] - [Bitfield(.Public, .Bits(1), "frame_refs_short_signaling")] - [Bitfield(.Public, .Bits(1), "allow_high_precision_mv")] - [Bitfield(.Public, .Bits(1), "is_motion_mode_switchable")] - [Bitfield(.Public, .Bits(1), "use_ref_frame_mvs")] - [Bitfield(.Public, .Bits(1), "disable_frame_end_update_cdf")] - [Bitfield(.Public, .Bits(1), "allow_warped_motion")] - [Bitfield(.Public, .Bits(1), "reduced_tx_set")] - [Bitfield(.Public, .Bits(1), "skip_mode_present")] - [Bitfield(.Public, .Bits(1), "delta_q_present")] - [Bitfield(.Public, .Bits(1), "delta_lf_present")] - [Bitfield(.Public, .Bits(1), "delta_lf_multi")] - [Bitfield(.Public, .Bits(1), "segmentation_enabled")] - [Bitfield(.Public, .Bits(1), "segmentation_update_map")] - [Bitfield(.Public, .Bits(1), "segmentation_temporal_update")] - [Bitfield(.Public, .Bits(1), "segmentation_update_data")] - [Bitfield(.Public, .Bits(1), "UsesLr")] - [Bitfield(.Public, .Bits(1), "usesChromaLr")] - [Bitfield(.Public, .Bits(1), "show_frame")] - [Bitfield(.Public, .Bits(1), "showable_frame")] - [Bitfield(.Public, .Bits(3), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 error_resilient_mode, uint32 disable_cdf_update, uint32 use_superres, uint32 render_and_frame_size_different, uint32 allow_screen_content_tools, uint32 is_filter_switchable, uint32 force_integer_mv, uint32 frame_size_override_flag, uint32 buffer_removal_time_present_flag, uint32 allow_intrabc, uint32 frame_refs_short_signaling, uint32 allow_high_precision_mv, uint32 is_motion_mode_switchable, uint32 use_ref_frame_mvs, uint32 disable_frame_end_update_cdf, uint32 allow_warped_motion, uint32 reduced_tx_set, uint32 skip_mode_present, uint32 delta_q_present, uint32 delta_lf_present, uint32 delta_lf_multi, uint32 segmentation_enabled, uint32 segmentation_update_map, uint32 segmentation_temporal_update, uint32 segmentation_update_data, uint32 UsesLr, uint32 usesChromaLr, uint32 show_frame, uint32 showable_frame, uint32 reserved) : this() - { - this.error_resilient_mode = error_resilient_mode; - this.disable_cdf_update = disable_cdf_update; - this.use_superres = use_superres; - this.render_and_frame_size_different = render_and_frame_size_different; - this.allow_screen_content_tools = allow_screen_content_tools; - this.is_filter_switchable = is_filter_switchable; - this.force_integer_mv = force_integer_mv; - this.frame_size_override_flag = frame_size_override_flag; - this.buffer_removal_time_present_flag = buffer_removal_time_present_flag; - this.allow_intrabc = allow_intrabc; - this.frame_refs_short_signaling = frame_refs_short_signaling; - this.allow_high_precision_mv = allow_high_precision_mv; - this.is_motion_mode_switchable = is_motion_mode_switchable; - this.use_ref_frame_mvs = use_ref_frame_mvs; - this.disable_frame_end_update_cdf = disable_frame_end_update_cdf; - this.allow_warped_motion = allow_warped_motion; - this.reduced_tx_set = reduced_tx_set; - this.skip_mode_present = skip_mode_present; - this.delta_q_present = delta_q_present; - this.delta_lf_present = delta_lf_present; - this.delta_lf_multi = delta_lf_multi; - this.segmentation_enabled = segmentation_enabled; - this.segmentation_update_map = segmentation_update_map; - this.segmentation_temporal_update = segmentation_temporal_update; - this.segmentation_update_data = segmentation_update_data; - this.UsesLr = UsesLr; - this.usesChromaLr = usesChromaLr; - this.show_frame = show_frame; - this.showable_frame = showable_frame; - this.reserved = reserved; - } + error_resilient_mode = 0x00000001, + disable_cdf_update = 0x00000002, + use_superres = 0x00000004, + render_and_frame_size_different = 0x00000008, + allow_screen_content_tools = 0x00000010, + is_filter_switchable = 0x00000020, + force_integer_mv = 0x00000040, + frame_size_override_flag = 0x00000080, + buffer_removal_time_present_flag = 0x00000100, + allow_intrabc = 0x00000200, + frame_refs_short_signaling = 0x00000400, + allow_high_precision_mv = 0x00000800, + is_motion_mode_switchable = 0x00001000, + use_ref_frame_mvs = 0x00002000, + disable_frame_end_update_cdf = 0x00004000, + allow_warped_motion = 0x00008000, + reduced_tx_set = 0x00010000, + skip_mode_present = 0x00020000, + delta_q_present = 0x00040000, + delta_lf_present = 0x00080000, + delta_lf_multi = 0x00100000, + segmentation_enabled = 0x00200000, + segmentation_update_map = 0x00400000, + segmentation_temporal_update = 0x00800000, + segmentation_update_data = 0x01000000, + UsesLr = 0x02000000, + usesChromaLr = 0x04000000, + show_frame = 0x08000000, + showable_frame = 0x10000000, } [CRepr] struct StdVideoEncodeAV1PictureInfo : this() { - public StdVideoEncodeAV1PictureInfoFlags flags = default; public StdVideoAV1FrameType frame_type = default; public uint32 frame_presentation_time = 0; @@ -3568,19 +2993,10 @@ static { public const let VK_STD_VULKAN_VIDEO_CODEC_AV1_ENCODE_EXTENSION_NAME = } } -[CRepr] struct StdVideoEncodeAV1ReferenceInfoFlags : this() +enum StdVideoEncodeAV1ReferenceInfoFlags : uint32 { - [Bitfield(.Public, .Bits(1), "disable_frame_end_update_cdf")] - [Bitfield(.Public, .Bits(1), "segmentation_enabled")] - [Bitfield(.Public, .Bits(30), "reserved")] - private uint32 __bitfields_reserved = 0; - - public this(uint32 disable_frame_end_update_cdf, uint32 segmentation_enabled, uint32 reserved) : this() - { - this.disable_frame_end_update_cdf = disable_frame_end_update_cdf; - this.segmentation_enabled = segmentation_enabled; - this.reserved = reserved; - } + disable_frame_end_update_cdf = 0x00000001, + segmentation_enabled = 0x00000002, } [CRepr] struct StdVideoEncodeAV1ReferenceInfo : this() diff --git a/src/Vulkan.bf b/src/Vulkan.bf index 2f47e91..e53cc73 100644 --- a/src/Vulkan.bf +++ b/src/Vulkan.bf @@ -4481,7 +4481,6 @@ struct VkPhysicalDevice : int [CRepr] struct VkPhysicalDeviceLimits : this() { - public uint32 maxImageDimension1D = 0; // max 1D image dimension public uint32 maxImageDimension2D = 0; // max 2D image dimension public uint32 maxImageDimension3D = 0; // max 3D image dimension @@ -4491,12 +4490,10 @@ struct VkPhysicalDevice : int public uint32 maxUniformBufferRange = 0; // max uniform buffer range (bytes) public uint32 maxStorageBufferRange = 0; // max storage buffer range (bytes) public uint32 maxPushConstantsSize = 0; // max size of the push constants pool (bytes) - public uint32 maxMemoryAllocationCount = 0; // max number of device memory allocations supported public uint32 maxSamplerAllocationCount = 0; // max number of samplers that can be allocated on a device public VkDeviceSize bufferImageGranularity = default; // Granularity (in bytes) at which buffers and images can be bound to adjacent memory for simultaneous usage public VkDeviceSize sparseAddressSpaceSize = default; // Total address space available for sparse allocations (bytes) - public uint32 maxBoundDescriptorSets = 0; // max number of descriptors sets that can be bound to a pipeline public uint32 maxPerStageDescriptorSamplers = 0; // max number of samplers allowed per-stage in a descriptor set public uint32 maxPerStageDescriptorUniformBuffers = 0; // max number of uniform buffers allowed per-stage in a descriptor set @@ -4513,34 +4510,28 @@ struct VkPhysicalDevice : int public uint32 maxDescriptorSetSampledImages = 0; // max number of sampled images allowed in all stages in a descriptor set public uint32 maxDescriptorSetStorageImages = 0; // max number of storage images allowed in all stages in a descriptor set public uint32 maxDescriptorSetInputAttachments = 0; // max number of input attachments allowed in all stages in a descriptor set - public uint32 maxVertexInputAttributes = 0; // max number of vertex input attribute slots public uint32 maxVertexInputBindings = 0; // max number of vertex input binding slots public uint32 maxVertexInputAttributeOffset = 0; // max vertex input attribute offset added to vertex buffer offset public uint32 maxVertexInputBindingStride = 0; // max vertex input binding stride public uint32 maxVertexOutputComponents = 0; // max number of output components written by vertex shader - public uint32 maxTessellationGenerationLevel = 0; // max level supported by tessellation primitive generator public uint32 maxTessellationPatchSize = 0; // max patch size (vertices) public uint32 maxTessellationControlPerVertexInputComponents = 0; // max number of input components per-vertex in TCS public uint32 maxTessellationControlPerVertexOutputComponents = 0; // max number of output components per-vertex in TCS public uint32 maxTessellationControlPerPatchOutputComponents = 0; // max number of output components per-patch in TCS public uint32 maxTessellationControlTotalOutputComponents = 0; // max total number of per-vertex and per-patch output components in TCS - public uint32 maxTessellationEvaluationInputComponents = 0; // max number of input components per vertex in TES public uint32 maxTessellationEvaluationOutputComponents = 0; // max number of output components per vertex in TES - public uint32 maxGeometryShaderInvocations = 0; // max invocation count supported in geometry shader public uint32 maxGeometryInputComponents = 0; // max number of input components read in geometry stage public uint32 maxGeometryOutputComponents = 0; // max number of output components written in geometry stage public uint32 maxGeometryOutputVertices = 0; // max number of vertices that can be emitted in geometry stage public uint32 maxGeometryTotalOutputComponents = 0; // max total number of components (all vertices) written in geometry stage - public uint32 maxFragmentInputComponents = 0; // max number of input components read in fragment stage public uint32 maxFragmentOutputAttachments = 0; // max number of output attachments written in fragment stage public uint32 maxFragmentDualSrcAttachments = 0; // max number of output attachments written when using dual source blending public uint32 maxFragmentCombinedOutputResources = 0; // max total number of storage buffers, storage images and output buffers - public uint32 maxComputeSharedMemorySize = 0; // max total storage size of work group local storage (bytes) public uint32[3] maxComputeWorkGroupCount = .(); // max num of compute work groups that may be dispatched by a single command (x,y,z) public uint32 maxComputeWorkGroupInvocations = 0; // max total compute invocations in a single local work group @@ -6231,7 +6222,6 @@ typealias VkQueryControlFlags = VkQueryControlFlagBits; [CRepr] struct VkPipelineCacheHeaderVersionOne : this() { - public uint32 headerSize = 0; public VkPipelineCacheHeaderVersion headerVersion = default; public uint32 vendorID = 0; @@ -18522,18 +18512,15 @@ static { public const let VK_EXT_HDR_METADATA_EXTENSION_NAME = "VK_EXT_hdr_metad [CRepr] struct VkHdrMetadataEXT : this() { - public const VkStructureType SType = .VK_STRUCTURE_TYPE_HDR_METADATA_EXT; public VkStructureType sType = SType; public void* pNext = null; - public VkXYColorEXT displayPrimaryRed = default; // Display primary's Red public VkXYColorEXT displayPrimaryGreen = default; // Display primary's Green public VkXYColorEXT displayPrimaryBlue = default; // Display primary's Blue public VkXYColorEXT whitePoint = default; // Display primary's Blue public float maxLuminance = 0; // Display maximum luminance public float minLuminance = 0; // Display minimum luminance - public float maxContentLightLevel = 0; // Content maximum luminance public float maxFrameAverageLightLevel = 0; @@ -20028,7 +20015,6 @@ static { public const let VK_KHR_ACCELERATION_STRUCTURE_EXTENSION_NAME = "VK_KHR [CRepr] struct VkAccelerationStructureInstanceKHR : this() { - public VkTransformMatrixKHR transform = default; [Bitfield(.Public, .Bits(24), "instanceCustomIndex")] [Bitfield(.Public, .Bits(8), "mask")] @@ -25954,7 +25940,6 @@ static { public const let VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ [CRepr] struct VkAccelerationStructureMatrixMotionInstanceNV : this() { - public VkTransformMatrixKHR transformT0 = default; public VkTransformMatrixKHR transformT1 = default; [Bitfield(.Public, .Bits(24), "instanceCustomIndex")] @@ -25979,7 +25964,6 @@ static { public const let VK_NV_RAY_TRACING_MOTION_BLUR_EXTENSION_NAME = "VK_NV_ [CRepr] struct VkAccelerationStructureSRTMotionInstanceNV : this() { - public VkSRTDataNV transformT0 = default; public VkSRTDataNV transformT1 = default; [Bitfield(.Public, .Bits(24), "instanceCustomIndex")] @@ -26523,7 +26507,6 @@ static { public const let VK_EXT_DEVICE_FAULT_EXTENSION_NAME = "VK_EXT_device_fa [CRepr] struct VkDeviceFaultVendorBinaryHeaderVersionOneEXT : this() { - public uint32 headerSize = 0; public VkDeviceFaultVendorBinaryHeaderVersionEXT headerVersion = default; public uint32 vendorID = 0; @@ -30149,7 +30132,6 @@ struct VkOpticalFlowSessionNV : uint64 [CRepr] struct VkOpticalFlowSessionCreatePrivateDataInfoNV : this() { - public const VkStructureType SType = .VK_STRUCTURE_TYPE_OPTICAL_FLOW_SESSION_CREATE_PRIVATE_DATA_INFO_NV; public VkStructureType sType = SType; public void* pNext = null; @@ -31052,14 +31034,12 @@ static { public const let VK_KHR_SWAPCHAIN_MAINTENANCE_1_EXTENSION_NAME = "VK_KH public VkStructureType sType = SType; public void* pNext = null; public uint32 presentModeCount = 0; - public VkPresentModeKHR* pPresentModes = null; public Span presentModes { get { return .(pPresentModes, (.)presentModeCount); } set mut { pPresentModes = value.Ptr; presentModeCount = (.)value.Length; } } - public this(void* pNext, Span presentModes) : this() { @@ -34373,7 +34353,6 @@ static { public const let VK_NV_CLUSTER_ACCELERATION_STRUCTURE_EXTENSION_NAME = [CRepr] struct VkClusterAccelerationStructureGeometryIndexAndGeometryFlagsNV : this() { - [Bitfield(.Public, .Bits(24), "geometryIndex")] [Bitfield(.Public, .Bits(5), "reserved")] [Bitfield(.Public, .Bits(3), "geometryFlags")] @@ -34456,7 +34435,6 @@ typealias VkClusterAccelerationStructureAddressResolutionFlagsNV = VkClusterAcce [CRepr] struct VkClusterAccelerationStructureBuildTriangleClusterInfoNV : this() { - public uint32 clusterID = 0; public VkClusterAccelerationStructureClusterFlagsNV clusterFlags = default; [Bitfield(.Public, .Bits(9), "triangleCount")] @@ -34500,7 +34478,6 @@ typealias VkClusterAccelerationStructureAddressResolutionFlagsNV = VkClusterAcce [CRepr] struct VkClusterAccelerationStructureBuildTriangleClusterTemplateInfoNV : this() { - public uint32 clusterID = 0; public VkClusterAccelerationStructureClusterFlagsNV clusterFlags = default; [Bitfield(.Public, .Bits(9), "triangleCount")] @@ -36262,7 +36239,6 @@ static { public const uint32 VK_DATA_GRAPH_MODEL_TOOLCHAIN_VERSION_LENGTH_QCOM = [CRepr] struct VkPipelineCacheHeaderVersionDataGraphQCOM : this() { - public uint32 headerSize = 0; public VkPipelineCacheHeaderVersion headerVersion = default; public VkDataGraphModelCacheTypeQCOM cacheType = default;