import { NaluSodbBitReader } from "./nalu.js"; export declare const AndroidHevcProfile: { Main: number; Main10: number; MainStill: number; Main10Hdr10: number; Main10Hdr10Plus: number; }; export declare const AndroidHevcLevel: { MainTierLevel1: number; HighTierLevel1: number; MainTierLevel2: number; HighTierLevel2: number; MainTierLevel21: number; HighTierLevel21: number; MainTierLevel3: number; HighTierLevel3: number; MainTierLevel31: number; HighTierLevel31: number; MainTierLevel4: number; HighTierLevel4: number; MainTierLevel41: number; HighTierLevel41: number; MainTierLevel5: number; HighTierLevel5: number; MainTierLevel51: number; HighTierLevel51: number; MainTierLevel52: number; HighTierLevel52: number; MainTierLevel6: number; HighTierLevel6: number; MainTierLevel61: number; HighTierLevel61: number; MainTierLevel62: number; HighTierLevel62: number; }; /** * 6.2 Source, decoded and output picture formats */ export declare function getSubWidthC(chroma_format_idc: number): 1 | 2; /** * 6.2 Source, decoded and output picture formats */ export declare function getSubHeightC(chroma_format_idc: number): 1 | 2; /** * 7.3.1.1 General NAL unit syntax */ export declare function h265ParseNaluHeader(nalu: Uint8Array): { nal_unit_type: number; nuh_layer_id: number; nuh_temporal_id_plus1: number; }; export type H265NaluHeader = ReturnType; export interface H265NaluRaw extends H265NaluHeader { data: Uint8Array; rbsp: Uint8Array; } /** * 7.3.2.1 Video parameter set RBSP syntax */ export declare function h265ParseVideoParameterSet(nalu: Uint8Array): { vps_video_parameter_set_id: number; vps_base_layer_internal_flag: boolean; vps_base_layer_available_flag: boolean; vps_max_layers_minus1: number; vps_max_sub_layers_minus1: number; vps_temporal_id_nesting_flag: boolean; profileTierLevel: H265ProfileTierLevel & { generalProfileTier: H265ProfileTier; }; vps_sub_layer_ordering_info_present_flag: boolean; vps_max_dec_pic_buffering_minus1: number[]; vps_max_num_reorder_pics: number[]; vps_max_latency_increase_plus1: number[]; vps_max_layer_id: number; vps_num_layer_sets_minus1: number; layer_id_included_flag: boolean[][]; vps_timing_info_present_flag: boolean; vps_num_units_in_tick: number | undefined; vps_time_scale: number | undefined; vps_poc_proportional_to_timing_flag: boolean | undefined; vps_num_ticks_poc_diff_one_minus1: number | undefined; vps_num_hrd_parameters: number | undefined; hrd_layer_set_idx: number[] | undefined; cprms_present_flag: boolean[] | undefined; hrdParameters: { nal_hrd_parameters_present_flag: boolean | undefined; vcl_hrd_parameters_present_flag: boolean | undefined; sub_pic_hrd_params_present_flag: boolean | undefined; tick_divisor_minus2: number | undefined; du_cpb_removal_delay_increment_length_minus1: number | undefined; sub_pic_cpb_params_in_pic_timing_sei_flag: boolean | undefined; dpb_output_delay_du_length_minus1: number | undefined; bit_rate_scale: number | undefined; cpb_size_scale: number | undefined; cpb_size_du_scale: number | undefined; initial_cpb_removal_delay_length_minus1: number | undefined; au_cpb_removal_delay_length_minus1: number | undefined; dpb_output_delay_length_minus1: number | undefined; fixed_pic_rate_general_flag: boolean[]; fixed_pic_rate_within_cvs_flag: boolean[]; elemental_duration_in_tc_minus1: number[]; low_delay_hrd_flag: boolean[]; cpb_cnt_minus1: number[]; nalHrdParameters: { bit_rate_value_minus1: number[]; cpb_size_value_minus1: number[]; cpb_size_du_value_minus1: number[]; bit_rate_du_value_minus1: number[]; cbr_flag: boolean[]; }[]; vclHrdParameters: { bit_rate_value_minus1: number[]; cpb_size_value_minus1: number[]; cpb_size_du_value_minus1: number[]; bit_rate_du_value_minus1: number[]; cbr_flag: boolean[]; }[]; }[] | undefined; vps_extension_flag: boolean; }; export type SubLayerHrdParameters = ReturnType; /** * 7.3.2.2.1 General sequence parameter set RBSP syntax */ export declare function h265ParseSequenceParameterSet(nalu: Uint8Array): { sps_video_parameter_set_id: number; sps_max_sub_layers_minus1: number; sps_temporal_id_nesting_flag: boolean; profileTierLevel: H265ProfileTierLevel & { generalProfileTier: H265ProfileTier; }; sps_seq_parameter_set_id: number; chroma_format_idc: number; separate_colour_plane_flag: boolean | undefined; pic_width_in_luma_samples: number; pic_height_in_luma_samples: number; conformance_window_flag: boolean; conf_win_left_offset: number | undefined; conf_win_right_offset: number | undefined; conf_win_top_offset: number | undefined; conf_win_bottom_offset: number | undefined; bit_depth_luma_minus8: number; bit_depth_chroma_minus8: number; log2_max_pic_order_cnt_lsb_minus4: number; sps_sub_layer_ordering_info_present_flag: boolean; sps_max_dec_pic_buffering_minus1: number[]; sps_max_num_reorder_pics: number[]; sps_max_latency_increase_plus1: number[]; log2_min_luma_coding_block_size_minus3: number; log2_diff_max_min_luma_coding_block_size: number; log2_min_luma_transform_block_size_minus2: number; log2_diff_max_min_luma_transform_block_size: number; max_transform_hierarchy_depth_inter: number; max_transform_hierarchy_depth_intra: number; scaling_list_enabled_flag: boolean; sps_scaling_list_data_present_flag: boolean | undefined; scalingListData: number[][][] | undefined; amp_enabled_flag: boolean; sample_adaptive_offset_enabled_flag: boolean; pcm_enabled_flag: boolean; pcm_sample_bit_depth_luma_minus1: number | undefined; pcm_sample_bit_depth_chroma_minus1: number | undefined; log2_min_pcm_luma_coding_block_size_minus3: number | undefined; log2_diff_max_min_pcm_luma_coding_block_size: number | undefined; pcm_loop_filter_disabled_flag: boolean | undefined; num_short_term_ref_pic_sets: number; shortTermRefPicSets: ShortTermReferencePictureSet[]; long_term_ref_pics_present_flag: boolean; num_long_term_ref_pics_sps: number | undefined; lt_ref_pic_poc_lsb_sps: number[] | undefined; used_by_curr_pic_lt_sps_flag: boolean[] | undefined; sps_temporal_mvp_enabled_flag: boolean; strong_intra_smoothing_enabled_flag: boolean; vui_parameters_present_flag: boolean; vuiParameters: { aspect_ratio_info_present_flag: boolean; aspect_ratio_idc: H265AspectRatioIndicator | undefined; sar_width: number | undefined; sar_height: number | undefined; overscan_info_present_flag: boolean; overscan_appropriate_flag: boolean | undefined; video_signal_type_present_flag: boolean; video_format: number | undefined; video_full_range_flag: boolean | undefined; colour_description_present_flag: boolean | undefined; colour_primaries: number | undefined; transfer_characteristics: number | undefined; matrix_coeffs: number | undefined; chroma_loc_info_present_flag: boolean; chroma_sample_loc_type_top_field: number | undefined; chroma_sample_loc_type_bottom_field: number | undefined; neutral_chroma_indication_flag: boolean; field_seq_flag: boolean; frame_field_info_present_flag: boolean; default_display_window_flag: boolean; def_disp_win_left_offset: number | undefined; def_disp_win_right_offset: number | undefined; def_disp_win_top_offset: number | undefined; def_disp_win_bottom_offset: number | undefined; vui_timing_info_present_flag: boolean; vui_num_units_in_tick: number | undefined; vui_time_scale: number | undefined; vui_poc_proportional_to_timing_flag: boolean | undefined; vui_num_ticks_poc_diff_one_minus1: number | undefined; vui_hrd_parameters_present_flag: boolean | undefined; vui_hrd_parameters: { nal_hrd_parameters_present_flag: boolean | undefined; vcl_hrd_parameters_present_flag: boolean | undefined; sub_pic_hrd_params_present_flag: boolean | undefined; tick_divisor_minus2: number | undefined; du_cpb_removal_delay_increment_length_minus1: number | undefined; sub_pic_cpb_params_in_pic_timing_sei_flag: boolean | undefined; dpb_output_delay_du_length_minus1: number | undefined; bit_rate_scale: number | undefined; cpb_size_scale: number | undefined; cpb_size_du_scale: number | undefined; initial_cpb_removal_delay_length_minus1: number | undefined; au_cpb_removal_delay_length_minus1: number | undefined; dpb_output_delay_length_minus1: number | undefined; fixed_pic_rate_general_flag: boolean[]; fixed_pic_rate_within_cvs_flag: boolean[]; elemental_duration_in_tc_minus1: number[]; low_delay_hrd_flag: boolean[]; cpb_cnt_minus1: number[]; nalHrdParameters: { bit_rate_value_minus1: number[]; cpb_size_value_minus1: number[]; cpb_size_du_value_minus1: number[]; bit_rate_du_value_minus1: number[]; cbr_flag: boolean[]; }[]; vclHrdParameters: { bit_rate_value_minus1: number[]; cpb_size_value_minus1: number[]; cpb_size_du_value_minus1: number[]; bit_rate_du_value_minus1: number[]; cbr_flag: boolean[]; }[]; } | undefined; bitstream_restriction_flag: boolean; tiles_fixed_structure_flag: boolean | undefined; motion_vectors_over_pic_boundaries_flag: boolean | undefined; restricted_ref_pic_lists_flag: boolean | undefined; min_spatial_segmentation_idc: number | undefined; max_bytes_per_pic_denom: number | undefined; max_bits_per_min_cu_denom: number | undefined; log2_max_mv_length_horizontal: number | undefined; log2_max_mv_length_vertical: number | undefined; } | undefined; sps_extension_present_flag: boolean; sps_range_extension_flag: false | undefined; sps_multilayer_extension_flag: boolean | undefined; sps_3d_extension_flag: boolean | undefined; sps_scc_extension_flag: false | undefined; sps_extension_4bits: number | undefined; spsMultilayerExtension: { inter_view_mv_vert_constraint_flag: boolean; } | undefined; sps3dExtension: { iv_di_mc_enabled_flag: boolean[]; iv_mv_scal_enabled_flag: boolean[]; log2_ivmc_sub_pb_size_minus3: number; iv_res_pred_enabled_flag: boolean; depth_ref_enabled_flag: boolean; vsp_mc_enabled_flag: boolean; dbbp_enabled_flag: boolean; tex_mc_enabled_flag: boolean; log2_texmc_sub_pb_size_minus3: number; intra_contour_enabled_flag: boolean; intra_dc_only_wedge_enabled_flag: boolean; cqt_cu_part_pred_enabled_flag: boolean; inter_dc_only_enabled_flag: boolean; skip_intra_enabled_flag: boolean; } | undefined; sps_extension_data_flag: boolean[] | undefined; }; /** * 7.3.3 Profile, tier and level syntax * * Common part between general_profile_tier_level and * sub_layer_profile_tier_level */ declare function h265ParseProfileTier(reader: NaluSodbBitReader): { profile_space: number; tier_flag: boolean; profile_idc: number; profileCompatibilitySet: Uint8Array; profile_compatibility_flag: boolean[]; constraintSet: Uint8Array; progressive_source_flag: boolean; interlaced_source_flag: boolean; non_packed_constraint_flag: boolean; frame_only_constraint_flag: boolean; max_12bit_constraint_flag: boolean | undefined; max_10bit_constraint_flag: boolean | undefined; max_8bit_constraint_flag: boolean | undefined; max_422chroma_constraint_flag: boolean | undefined; max_420chroma_constraint_flag: boolean | undefined; max_monochrome_constraint_flag: boolean | undefined; intra_constraint_flag: boolean | undefined; one_picture_only_constraint_flag: boolean | undefined; lower_bit_rate_constraint_flag: boolean | undefined; max_14bit_constraint_flag: boolean | undefined; inbld_flag: boolean | undefined; }; export type H265ProfileTier = ReturnType; export interface H265ProfileTierLevel { generalProfileTier: H265ProfileTier | undefined; general_level_idc: number; sub_layer_profile_present_flag: boolean[]; sub_layer_level_present_flag: boolean[]; subLayerProfileTier: H265ProfileTier[]; sub_layer_level_idc: number[]; } /** * 7.3.4 Scaling list data syntax */ export declare function h265ParseScalingListData(reader: NaluSodbBitReader): number[][][]; interface ShortTermReferencePictureSet { stRpsIdx: number; num_short_term_ref_pic_sets: number; inter_ref_pic_set_prediction_flag: boolean; delta_idx_minus1: number; delta_rps_sign: boolean; abs_delta_rps_minus1: number; used_by_curr_pic_flag: boolean[]; use_delta_flag: boolean[]; num_negative_pics: number; num_positive_pics: number; delta_poc_s0_minus1: number[]; used_by_curr_pic_s0_flag: boolean[]; delta_poc_s1_minus1: number[]; used_by_curr_pic_s1_flag: boolean[]; } /** * 7.3.7 Short-term reference picture set syntax */ export declare function h265ParseShortTermReferencePictureSet(reader: NaluSodbBitReader, stRpsIdx: number, num_short_term_ref_pic_sets: number, sets: ShortTermReferencePictureSet[]): ShortTermReferencePictureSet; export declare const H265AspectRatioIndicator: { readonly Unspecified: 0; readonly Square: 1; readonly _12_11: 2; readonly _10_11: 3; readonly _16_11: 4; readonly _40_33: 5; readonly _24_11: 6; readonly _20_11: 7; readonly _32_11: 8; readonly _80_33: 9; readonly _18_11: 10; readonly _15_11: 11; readonly _64_33: 12; readonly _160_99: 13; readonly _4_3: 15; readonly _3_2: 16; readonly _2_1: 17; readonly Extended: 255; }; export type H265AspectRatioIndicator = (typeof H265AspectRatioIndicator)[keyof typeof H265AspectRatioIndicator]; /** * E.2.1 VUI parameters syntax */ export declare function h265ParseVuiParameters(reader: NaluSodbBitReader, sps_max_sub_layers_minus1: number): { aspect_ratio_info_present_flag: boolean; aspect_ratio_idc: H265AspectRatioIndicator | undefined; sar_width: number | undefined; sar_height: number | undefined; overscan_info_present_flag: boolean; overscan_appropriate_flag: boolean | undefined; video_signal_type_present_flag: boolean; video_format: number | undefined; video_full_range_flag: boolean | undefined; colour_description_present_flag: boolean | undefined; colour_primaries: number | undefined; transfer_characteristics: number | undefined; matrix_coeffs: number | undefined; chroma_loc_info_present_flag: boolean; chroma_sample_loc_type_top_field: number | undefined; chroma_sample_loc_type_bottom_field: number | undefined; neutral_chroma_indication_flag: boolean; field_seq_flag: boolean; frame_field_info_present_flag: boolean; default_display_window_flag: boolean; def_disp_win_left_offset: number | undefined; def_disp_win_right_offset: number | undefined; def_disp_win_top_offset: number | undefined; def_disp_win_bottom_offset: number | undefined; vui_timing_info_present_flag: boolean; vui_num_units_in_tick: number | undefined; vui_time_scale: number | undefined; vui_poc_proportional_to_timing_flag: boolean | undefined; vui_num_ticks_poc_diff_one_minus1: number | undefined; vui_hrd_parameters_present_flag: boolean | undefined; vui_hrd_parameters: { nal_hrd_parameters_present_flag: boolean | undefined; vcl_hrd_parameters_present_flag: boolean | undefined; sub_pic_hrd_params_present_flag: boolean | undefined; tick_divisor_minus2: number | undefined; du_cpb_removal_delay_increment_length_minus1: number | undefined; sub_pic_cpb_params_in_pic_timing_sei_flag: boolean | undefined; dpb_output_delay_du_length_minus1: number | undefined; bit_rate_scale: number | undefined; cpb_size_scale: number | undefined; cpb_size_du_scale: number | undefined; initial_cpb_removal_delay_length_minus1: number | undefined; au_cpb_removal_delay_length_minus1: number | undefined; dpb_output_delay_length_minus1: number | undefined; fixed_pic_rate_general_flag: boolean[]; fixed_pic_rate_within_cvs_flag: boolean[]; elemental_duration_in_tc_minus1: number[]; low_delay_hrd_flag: boolean[]; cpb_cnt_minus1: number[]; nalHrdParameters: { bit_rate_value_minus1: number[]; cpb_size_value_minus1: number[]; cpb_size_du_value_minus1: number[]; bit_rate_du_value_minus1: number[]; cbr_flag: boolean[]; }[]; vclHrdParameters: { bit_rate_value_minus1: number[]; cpb_size_value_minus1: number[]; cpb_size_du_value_minus1: number[]; bit_rate_du_value_minus1: number[]; cbr_flag: boolean[]; }[]; } | undefined; bitstream_restriction_flag: boolean; tiles_fixed_structure_flag: boolean | undefined; motion_vectors_over_pic_boundaries_flag: boolean | undefined; restricted_ref_pic_lists_flag: boolean | undefined; min_spatial_segmentation_idc: number | undefined; max_bytes_per_pic_denom: number | undefined; max_bits_per_min_cu_denom: number | undefined; log2_max_mv_length_horizontal: number | undefined; log2_max_mv_length_vertical: number | undefined; }; export type H265VuiParameters = ReturnType; /** * E.2.2 HRD parameters syntax */ export declare function h265ParseHrdParameters(reader: NaluSodbBitReader, commonInfPresentFlag: boolean, maxNumSubLayersMinus1: number): { nal_hrd_parameters_present_flag: boolean | undefined; vcl_hrd_parameters_present_flag: boolean | undefined; sub_pic_hrd_params_present_flag: boolean | undefined; tick_divisor_minus2: number | undefined; du_cpb_removal_delay_increment_length_minus1: number | undefined; sub_pic_cpb_params_in_pic_timing_sei_flag: boolean | undefined; dpb_output_delay_du_length_minus1: number | undefined; bit_rate_scale: number | undefined; cpb_size_scale: number | undefined; cpb_size_du_scale: number | undefined; initial_cpb_removal_delay_length_minus1: number | undefined; au_cpb_removal_delay_length_minus1: number | undefined; dpb_output_delay_length_minus1: number | undefined; fixed_pic_rate_general_flag: boolean[]; fixed_pic_rate_within_cvs_flag: boolean[]; elemental_duration_in_tc_minus1: number[]; low_delay_hrd_flag: boolean[]; cpb_cnt_minus1: number[]; nalHrdParameters: { bit_rate_value_minus1: number[]; cpb_size_value_minus1: number[]; cpb_size_du_value_minus1: number[]; bit_rate_du_value_minus1: number[]; cbr_flag: boolean[]; }[]; vclHrdParameters: { bit_rate_value_minus1: number[]; cpb_size_value_minus1: number[]; cpb_size_du_value_minus1: number[]; bit_rate_du_value_minus1: number[]; cbr_flag: boolean[]; }[]; }; export type H265HrdParameters = ReturnType; /** * E.2.3 Sub-layer HRD parameters syntax */ export declare function h265ParseSubLayerHrdParameters(reader: NaluSodbBitReader, subLayerId: number, CpbCnt: number): { bit_rate_value_minus1: number[]; cpb_size_value_minus1: number[]; cpb_size_du_value_minus1: number[]; bit_rate_du_value_minus1: number[]; cbr_flag: boolean[]; }; export declare function h265SearchConfiguration(buffer: Uint8Array): { videoParameterSet: H265NaluRaw; sequenceParameterSet: H265NaluRaw; pictureParameterSet: H265NaluRaw; }; export declare function h265ParseSpsMultilayerExtension(reader: NaluSodbBitReader): { inter_view_mv_vert_constraint_flag: boolean; }; export type H265SpsMultilayerExtension = ReturnType; export declare function h265ParseSps3dExtension(reader: NaluSodbBitReader): { iv_di_mc_enabled_flag: boolean[]; iv_mv_scal_enabled_flag: boolean[]; log2_ivmc_sub_pb_size_minus3: number; iv_res_pred_enabled_flag: boolean; depth_ref_enabled_flag: boolean; vsp_mc_enabled_flag: boolean; dbbp_enabled_flag: boolean; tex_mc_enabled_flag: boolean; log2_texmc_sub_pb_size_minus3: number; intra_contour_enabled_flag: boolean; intra_dc_only_wedge_enabled_flag: boolean; cqt_cu_part_pred_enabled_flag: boolean; inter_dc_only_enabled_flag: boolean; skip_intra_enabled_flag: boolean; }; export type H265Sps3dExtension = ReturnType; export interface H265Configuration { videoParameterSet: H265NaluRaw; sequenceParameterSet: H265NaluRaw; pictureParameterSet: H265NaluRaw; generalProfileSpace: number; generalProfileIndex: number; generalProfileCompatibilitySet: Uint8Array; generalTierFlag: boolean; generalLevelIndex: number; generalConstraintSet: Uint8Array; encodedWidth: number; encodedHeight: number; cropLeft: number; cropRight: number; cropTop: number; cropBottom: number; croppedWidth: number; croppedHeight: number; } export declare function h265ParseConfiguration(data: Uint8Array): H265Configuration; export {}; //# sourceMappingURL=h265.d.ts.map