[client] fixed nal parser memory leaks

This commit is contained in:
Geoffrey McRae
2018-01-05 15:27:36 +11:00
parent 2dfb1cf1a6
commit c809eeb2a8
3 changed files with 97 additions and 31 deletions

View File

@@ -143,11 +143,46 @@ typedef struct NAL_VUI
}
NAL_VUI;
typedef struct NAL_SLICE_GROUP
{
uint32_t run_length_minus1;
uint32_t top_left;
uint32_t bottom_right;
}
NAL_SLICE_GROUP;
typedef struct NAL_PPS
{
uint32_t pic_parameter_set_id;
uint32_t seq_parameter_set_id;
uint8_t entropy_coding_mode_flag;
uint8_t pic_order_present_flag;
uint32_t num_slice_groups_minus1;
NAL_SLICE_GROUP * slice_groups;
uint32_t slice_group_map_type;
uint8_t slice_group_change_direction_flag;
uint32_t slice_group_change_rate_minus1;
uint32_t pic_size_in_map_units_minus1;
uint32_t * slice_group_id;
uint32_t num_ref_idx_l0_active_minus1;
uint32_t num_ref_idx_l1_active_minus1;
uint8_t weighted_pred_flag;
uint8_t weighted_bipred_idc;
int32_t pic_init_qp_minus26;
int32_t pic_init_qs_minus26;
int32_t chroma_qp_index_offset;
uint8_t deblocking_filter_control_present_flag;
uint8_t constrained_intra_pred_flag;
uint8_t redundant_pic_cnt_present_flag;
}
NAL_PPS;
typedef struct NAL * NAL;
bool nal_initialize (NAL * ptr);
void nal_deinitialize(NAL this );
bool nal_parse (NAL this, const uint8_t * src, size_t size);
bool nal_get_sps (NAL this, const NAL_SPS ** sps);
bool nal_get_primary_picture_type(NAL this, uint8_t * pic_type);
bool nal_get_primary_picture_type(NAL this, uint8_t * pic_type);
bool nal_get_sps(NAL this, const NAL_SPS ** sps);
bool nal_get_pps(NAL this, const NAL_PPS ** pps);