h264-sps-parser
Version:
Parse H.264 SPS NAL units
47 lines (46 loc) • 1.63 kB
TypeScript
import { Bitstream } from "./bitstream";
import { VUIParams } from "./vui";
export declare type FrameCropping = {
left: number;
right: number;
top: number;
bottom: number;
};
export { VUIParams, Bitstream };
export declare type SPSInfo = {
nalu_type: 7;
sps_id: number;
profile_idc: number;
level_idc: number;
profile_compatibility: number;
frame_mbs_only_flag: 0 | 1;
pic_width_in_mbs: number;
pic_height_in_map_units: number;
frame_cropping_flag: 0 | 1;
frame_cropping: FrameCropping;
chroma_format_idc: number;
bit_depth_luma: number;
bit_depth_chroma: number;
color_plane_flag: 0 | 1;
chroma_array_type: number;
qpprime_y_zero_transform_bypass_flag: 0 | 1;
seq_scaling_matrix_present_flag: 0 | 1;
scaling_list_4x4: number[][];
scaling_list_8x8: number[][];
log2_max_frame_num: number;
pic_order_cnt_type: number;
delta_pic_order_always_zero_flag: 0 | 1;
offset_for_non_ref_pic: number;
offset_for_top_to_bottom_field: number;
offset_for_ref_frame: number[];
log2_max_pic_order_cnt_lsb: number;
max_num_ref_frames: number;
gaps_in_frame_num_value_allowed_flag: 0 | 1;
mb_adaptive_frame_field_flag: 0 | 1;
direct_8x8_inference_flag: 0 | 1;
vui_parameters_present_flag: 0 | 1;
vui_parameters: VUIParams;
};
export declare function getFrameCropping(flag: 0 | 1, stream: Bitstream): FrameCropping;
export declare function parseSPS(nalu: Uint8Array): SPSInfo;
export declare function sps_data(nalu: Uint8Array, stream: Bitstream): SPSInfo;