libgpac
Documentation of the core library of GPAC
media_dev.h File Reference
#include <gpac/media_tools.h>
#include <gpac/mpeg4_odf.h>
#include <gpac/ietf.h>
#include <gpac/webvtt.h>
+ Include dependency graph for media_dev.h:
+ This graph shows which files directly or indirectly include this file:

Data Structures

struct  COLR
 
struct  AVC_HRD
 
struct  AVC_VUI
 
struct  AVC_CROP
 
struct  AVC_SPS
 
struct  AVC_PPS
 
struct  SVC_NALUHeader
 
struct  AVCSliceInfo
 
struct  AVCSeiRecoveryPoint
 
struct  AVCSeiPicTimingTimecode
 
struct  AVCSeiPicTiming
 
struct  AVCSeiItuTT35DolbyVision
 
struct  AVCSei
 
struct  AVCState
 
struct  SVC_Extractor
 
struct  GF_VUIInfo
 
struct  HEVC_SublayerPTL
 
struct  HEVC_ProfileTierLevel
 
struct  HEVC_ReferencePictureSets
 
struct  HEVC_SPS
 
struct  HEVC_PPS
 
struct  HEVC_RepFormat
 
struct  HEVC_RateInfo
 
struct  HEVC_VPS
 
struct  HEVC_SEI
 
struct  HEVCSliceInfo
 
struct  HEVCState
 
struct  Combine
 
struct  VVC_RefPicList
 
struct  VVC_SubpicInfo
 
struct  VVC_SPS
 
struct  VVC_PPS
 
struct  VVC_SublayerPTL
 
struct  VVC_ProfileTierLevel
 
struct  VVC_VPS
 
struct  VVCSliceInfo
 
struct  VVCState
 
struct  AV1Tile
 
struct  AV1StateFrame
 
struct  AV1GMParams
 
struct  AV1State
 
struct  GF_OpusPacketHeader
 
struct  GF_ProResPictureInfo
 
struct  GF_ProResFrameInfo
 
struct  QCPRateTable
 

Macros

#define GF_SVC_SSPS_ID_SHIFT   16
 
#define MAX_LHVC_LAYERS   4
 
#define MAX_NUM_LAYER_SETS   1024
 
#define VVC_MAX_REF_PICS   64
 
#define VVC_RPL_ST   0
 
#define VVC_RPL_LT   1
 
#define VVC_RPL_IL   2
 
#define VVC_MAX_TILE_COLS   30
 
#define VVC_MAX_TILE_ROWS   33
 
#define VVC_MAX_SUBPIC   200
 
#define VVC_MAX_LAYERS   4
 
#define VVC_MAX_NUM_LAYER_SETS   1024
 
#define VP9_MAX_FRAMES_IN_SUPERFRAME   16
 
#define AV1_MAX_TILE_ROWS   64
 
#define AV1_MAX_TILE_COLS   64
 
#define AV1_NUM_REF_FRAMES   8
 
#define M4V_VO_START_CODE   0x00
 
#define M4V_VOL_START_CODE   0x20
 
#define M4V_VOP_START_CODE   0xB6
 
#define M4V_VISOBJ_START_CODE   0xB5
 
#define M4V_VOS_START_CODE   0xB0
 
#define M4V_GOV_START_CODE   0xB3
 
#define M4V_UDTA_START_CODE   0xB2
 
#define M2V_PIC_START_CODE   0x00
 
#define M2V_SEQ_START_CODE   0xB3
 
#define M2V_EXT_START_CODE   0xB5
 
#define M2V_GOP_START_CODE   0xB8
 
#define M2V_UDTA_START_CODE   0xB2
 

Enumerations

enum  {
  AVC_SPS_PARSED = 1 , AVC_SPS_DECLARED = 1<<1 , AVC_SUBSPS_PARSED = 1<<2 , AVC_SUBSPS_DECLARED = 1<<3 ,
  AVC_SPS_EXT_DECLARED = 1<<4
}
 
enum  { GF_HEVC_SLICE_TYPE_B = 0 , GF_HEVC_SLICE_TYPE_P = 1 , GF_HEVC_SLICE_TYPE_I = 2 }
 
enum  { GF_VVC_SLICE_TYPE_B = 0 , GF_VVC_SLICE_TYPE_P = 1 , GF_VVC_SLICE_TYPE_I = 2 , GF_VVC_SLICE_TYPE_UNKNOWN = 10 }
 
enum  AV1FrameType { AV1_KEY_FRAME = 0 , AV1_INTER_FRAME = 1 , AV1_INTRA_ONLY_FRAME = 2 , AV1_SWITCH_FRAME = 3 }
 

Functions

void gf_media_get_sample_average_infos (GF_ISOFile *file, u32 Track, u32 *avgSize, u32 *MaxSize, u32 *TimeDelta, u32 *maxCTSDelta, u32 *const_duration, u32 *bandwidth)
 
GF_Err gf_import_message (GF_MediaImporter *import, GF_Err e, char *format,...)
 
u32 gf_bs_read_ue (GF_BitStream *bs)
 
s32 gf_bs_read_se (GF_BitStream *bs)
 
void gf_bs_write_ue (GF_BitStream *bs, u32 num)
 
void gf_bs_write_se (GF_BitStream *bs, s32 num)
 
GF_Err gf_media_get_color_info (GF_ISOFile *file, u32 track, u32 sampleDescriptionIndex, u32 *colour_type, u16 *colour_primaries, u16 *transfer_characteristics, u16 *matrix_coefficients, Bool *full_range_flag)
 
u32 gf_latm_get_value (GF_BitStream *bs)
 
u32 gf_media_nalu_next_start_code (const u8 *data, u32 data_len, u32 *sc_size)
 
u32 gf_media_nalu_emulation_bytes_remove_count (const u8 *buffer, u32 nal_size)
 
u32 gf_media_nalu_remove_emulation_bytes (const u8 *buffer_src, u8 *buffer_dst, u32 nal_size)
 
s32 gf_avc_read_sps (const u8 *sps_data, u32 sps_size, AVCState *avc, u32 subseq_sps, u32 *vui_flag_pos)
 
s32 gf_avc_read_sps_bs (GF_BitStream *bs, AVCState *avc, u32 subseq_sps, u32 *vui_flag_pos)
 
s32 gf_avc_read_pps (const u8 *pps_data, u32 pps_size, AVCState *avc)
 
s32 gf_avc_read_pps_bs (GF_BitStream *bs, AVCState *avc)
 
Bool gf_avc_slice_is_intra (AVCState *avc)
 
s32 gf_avc_parse_nalu (GF_BitStream *bs, AVCState *avc)
 
u32 gf_avc_reformat_sei (u8 *buffer, u32 nal_size, Bool isobmf_rewrite, AVCState *avc)
 
GF_Err gf_avc_change_vui (GF_AVCConfig *avcc, GF_VUIInfo *vui_info)
 
GF_Err gf_avc_change_par (GF_AVCConfig *avcc, s32 ar_n, s32 ar_d)
 
GF_Err gf_avc_change_color (GF_AVCConfig *avcc, s32 fullrange, s32 vidformat, s32 colorprim, s32 transfer, s32 colmatrix)
 
GF_Err gf_hevc_change_vui (GF_HEVCConfig *hvcc, GF_VUIInfo *vui)
 
GF_Err gf_hevc_change_par (GF_HEVCConfig *hvcc, s32 ar_n, s32 ar_d)
 
GF_Err gf_hevc_change_color (GF_HEVCConfig *hvcc, s32 fullrange, s32 vidformat, s32 colorprim, s32 transfer, s32 colmatrix)
 
GF_Err gf_vvc_change_vui (GF_VVCConfig *cfg, GF_VUIInfo *vui)
 
GF_Err gf_vvc_change_par (GF_VVCConfig *cfg, s32 ar_n, s32 ar_d)
 
GF_Err gf_vvc_change_color (GF_VVCConfig *cfg, s32 fullrange, s32 vidformat, s32 colorprim, s32 transfer, s32 colmatrix)
 
s32 gf_hevc_read_vps (u8 *data, u32 size, HEVCState *hevc)
 
s32 gf_hevc_read_vps_bs (GF_BitStream *bs, HEVCState *hevc)
 
s32 gf_hevc_read_sps (u8 *data, u32 size, HEVCState *hevc)
 
s32 gf_hevc_read_sps_bs (GF_BitStream *bs, HEVCState *hevc)
 
s32 gf_hevc_read_pps (u8 *data, u32 size, HEVCState *hevc)
 
s32 gf_hevc_read_pps_bs (GF_BitStream *bs, HEVCState *hevc)
 
s32 gf_hevc_parse_nalu (u8 *data, u32 size, HEVCState *hevc, u8 *nal_unit_type, u8 *temporal_id, u8 *layer_id)
 
Bool gf_hevc_slice_is_intra (HEVCState *hevc)
 
Bool gf_hevc_slice_is_IDR (HEVCState *hevc)
 
s32 gf_hevc_read_vps_ex (u8 *data, u32 *size, HEVCState *hevc, Bool remove_extensions)
 
void gf_hevc_parse_ps (GF_HEVCConfig *hevccfg, HEVCState *hevc, u32 nal_type)
 
s32 gf_hevc_parse_nalu_bs (GF_BitStream *bs, HEVCState *hevc, u8 *nal_unit_type, u8 *temporal_id, u8 *layer_id)
 
GF_Err gf_hevc_get_sps_info_with_state (HEVCState *hevc_state, u8 *sps_data, u32 sps_size, u32 *sps_id, u32 *width, u32 *height, s32 *par_n, s32 *par_d)
 
void gf_hevc_parse_sei (char *buffer, u32 nal_size, HEVCState *hevc)
 
s32 gf_vvc_parse_nalu_bs (GF_BitStream *bs, VVCState *vvc, u8 *nal_unit_type, u8 *temporal_id, u8 *layer_id)
 
void gf_vvc_parse_sei (char *buffer, u32 nal_size, VVCState *vvc)
 
Bool gf_vvc_slice_is_ref (VVCState *vvc)
 
s32 gf_vvc_parse_nalu (u8 *data, u32 size, VVCState *vvc, u8 *nal_unit_type, u8 *temporal_id, u8 *layer_id)
 
void gf_vvc_parse_ps (GF_VVCConfig *hevccfg, VVCState *vvc, u32 nal_type)
 
GF_Err gf_media_parse_ivf_file_header (GF_BitStream *bs, u32 *width, u32 *height, u32 *codec_fourcc, u32 *timebase_num, u32 *timebase_den, u32 *num_frames)
 
GF_Err gf_vp9_parse_sample (GF_BitStream *bs, GF_VPConfig *vp9_cfg, Bool *key_frame, u32 *FrameWidth, u32 *FrameHeight, u32 *renderWidth, u32 *renderHeight)
 
GF_Err gf_vp9_parse_superframe (GF_BitStream *bs, u64 ivf_frame_size, u32 *num_frames_in_superframe, u32 frame_sizes[VP9_MAX_FRAMES_IN_SUPERFRAME], u32 *superframe_index_size)
 
GF_Err aom_av1_parse_temporal_unit_from_section5 (GF_BitStream *bs, AV1State *state)
 
GF_Err aom_av1_parse_temporal_unit_from_annexb (GF_BitStream *bs, AV1State *state)
 
GF_Err aom_av1_parse_temporal_unit_from_ivf (GF_BitStream *bs, AV1State *state)
 
GF_Err gf_media_parse_ivf_frame_header (GF_BitStream *bs, u64 *frame_size, u64 *pts)
 
Bool gf_media_probe_ivf (GF_BitStream *bs)
 
Bool gf_media_aom_probe_annexb (GF_BitStream *bs)
 
GF_Err gf_av1_parse_obu (GF_BitStream *bs, ObuType *obu_type, u64 *obu_size, u32 *obu_hdr_size, AV1State *state)
 
Bool av1_is_obu_header (ObuType obu_type)
 
void gf_av1_init_state (AV1State *state)
 
void gf_av1_reset_state (AV1State *state, Bool is_destroy)
 
u64 gf_av1_leb128_read (GF_BitStream *bs, u8 *opt_Leb128Bytes)
 
u32 gf_av1_leb128_size (u64 value)
 
u64 gf_av1_leb128_write (GF_BitStream *bs, u64 value)
 
GF_Err gf_av1_parse_obu_header (GF_BitStream *bs, ObuType *obu_type, Bool *obu_extension_flag, Bool *obu_has_size_field, u8 *temporal_id, u8 *spatial_id)
 
u8 gf_opus_parse_packet_header (u8 *data, u32 data_length, Bool self_delimited, GF_OpusPacketHeader *header)
 
GF_Err gf_media_prores_parse_bs (GF_BitStream *bs, GF_ProResFrameInfo *prores_frame)
 
GP_RTPPacketizer * gf_rtp_packetizer_create_and_init_from_file (GF_ISOFile *file, u32 TrackNum, void *cbk_obj, void(*OnNewPacket)(void *cbk, GF_RTPHeader *header), void(*OnPacketDone)(void *cbk, GF_RTPHeader *header), void(*OnDataReference)(void *cbk, u32 payload_size, u32 offset_from_orig), void(*OnData)(void *cbk, u8 *data, u32 data_size, Bool is_head), u32 Path_MTU, u32 max_ptime, u32 default_rtp_rate, u32 flags, u8 PayloadID, Bool copy_media, u32 InterleaveGroupID, u8 InterleaveGroupPriority)
 
void gf_media_format_ttxt_sdp (GP_RTPPacketizer *builder, char *payload_name, char **out_sdp_line, u32 w, u32 h, s32 tx, s32 ty, s16 l, u32 max_w, u32 max_h, char *tx3g_base64)
 
GF_WebVTTParser * gf_webvtt_parser_new ()
 
GF_Err gf_webvtt_parser_init (GF_WebVTTParser *parser, FILE *vtt_file, s32 unicode_type, Bool is_srt, void *user, GF_Err(*report_message)(void *, GF_Err, char *, const char *), void(*on_sample_parsed)(void *, GF_WebVTTSample *), void(*on_header_parsed)(void *, const char *))
 
GF_Err gf_webvtt_parser_parse (GF_WebVTTParser *parser)
 
void gf_webvtt_parser_del (GF_WebVTTParser *parser)
 
void gf_webvtt_parser_suspend (GF_WebVTTParser *vttparser)
 
void gf_webvtt_parser_restart (GF_WebVTTParser *parser)
 
GF_Err gf_webvtt_parser_parse_payload (GF_WebVTTParser *parser, u64 start, u64 end, const char *vtt_pre, const char *vtt_cueid, const char *vtt_settings)
 
GF_Err gf_webvtt_parser_flush (GF_WebVTTParser *parser)
 
GF_Err gf_webvtt_parser_parse_ext (GF_WebVTTParser *parser, FILE *ext_file, Bool in_eos)
 
void gf_webvtt_parser_cue_callback (GF_WebVTTParser *parser, void(*on_cue_read)(void *, GF_WebVTTCue *), void *udta)
 
GF_Err gf_webvtt_merge_cues (GF_WebVTTParser *parser, u64 start, GF_List *cues)
 
GF_Err gf_webvtt_parser_finalize (GF_WebVTTParser *parser, u64 duration)
 
void gf_webvtt_sample_del (GF_WebVTTSample *samp)
 
u64 gf_webvtt_sample_get_start (GF_WebVTTSample *samp)
 
u64 gf_webvtt_sample_get_end (GF_WebVTTSample *samp)
 
GF_Err gf_webvtt_dump_header (FILE *dump, GF_ISOFile *file, u32 track, Bool box_mode, u32 index)
 
GF_Err gf_webvtt_parser_dump_done (GF_WebVTTParser *parser, u32 duration)
 
GF_Err gf_media_vc1_seq_header_to_dsi (const u8 *seq_hdr, u32 seq_hdr_len, u8 **dsi, u32 *dsi_size)
 

Data Structure Documentation

◆ COLR

struct COLR
Data Fields
Bool override
u16 colour_primaries
u16 transfer_characteristics
u16 matrix_coefficients
Bool full_range

◆ AVC_HRD

struct AVC_HRD
Data Fields
u8 cpb_removal_delay_length_minus1
u8 dpb_output_delay_length_minus1
u8 time_offset_length

◆ AVC_VUI

struct AVC_VUI
+ Collaboration diagram for AVC_VUI:
Data Fields
s32 timing_info_present_flag
u32 num_units_in_tick
u32 time_scale
s32 fixed_frame_rate_flag
Bool aspect_ratio_info_present_flag
u32 par_num
u32 par_den
Bool overscan_info_present_flag
Bool video_signal_type_present_flag
u8 video_format
Bool video_full_range_flag
Bool chroma_location_info_present_flag
u8 chroma_sample_loc_type_top_field
u8 chroma_sample_loc_type_bottom_field
Bool colour_description_present_flag
u8 colour_primaries
u8 transfer_characteristics
u8 matrix_coefficients
Bool nal_hrd_parameters_present_flag
Bool vcl_hrd_parameters_present_flag
Bool low_delay_hrd_flag
AVC_HRD hrd
Bool pic_struct_present_flag

◆ AVC_CROP

struct AVC_CROP
Data Fields
u32 left
u32 right
u32 top
u32 bottom

◆ AVC_SPS

struct AVC_SPS
+ Collaboration diagram for AVC_SPS:
Data Fields
s32 profile_idc
s32 level_idc
s32 prof_compat
u32 log2_max_frame_num
u32 poc_type
u32 poc_cycle_length
u32 log2_max_poc_lsb
s32 delta_pic_order_always_zero_flag
s32 offset_for_non_ref_pic
s32 offset_for_top_to_bottom_field
Bool frame_mbs_only_flag
Bool mb_adaptive_frame_field_flag
u32 max_num_ref_frames
Bool gaps_in_frame_num_value_allowed_flag
u8 chroma_format
u8 luma_bit_depth_m8
u8 chroma_bit_depth_m8
u32 ChromaArrayType
s16 offset_for_ref_frame[256]
u32 width
u32 height
Bool vui_parameters_present_flag
AVC_VUI vui
AVC_CROP crop
u32 state
u32 sbusps_crc
u32 nb_ei
u32 nb_ep
u32 nb_eb

◆ AVC_PPS

struct AVC_PPS
Data Fields
s32 id
s32 sps_id
Bool entropy_coding_mode_flag
s32 pic_order_present
s32 redundant_pic_cnt_present
u32 slice_group_count
u32 mb_slice_group_map_type
u32 pic_size_in_map_units_minus1
u32 slice_group_change_rate_minus1
u32 status
Bool weighted_pred_flag
u8 weighted_bipred_idc
Bool deblocking_filter_control_present_flag
u32 num_ref_idx_l0_default_active_minus1
u32 num_ref_idx_l1_default_active_minus1

◆ SVC_NALUHeader

struct SVC_NALUHeader
Data Fields
s32 idr_pic_flag
u8 temporal_id
u8 priority_id
u8 dependency_id
u8 quality_id

◆ AVCSliceInfo

struct AVCSliceInfo
+ Collaboration diagram for AVCSliceInfo:
Data Fields
u8 nal_ref_idc
u8 nal_unit_type
u8 field_pic_flag
u8 bottom_field_flag
u32 frame_num
u32 idr_pic_id
u32 poc_lsb
u32 slice_type
s32 delta_poc_bottom
s32 delta_poc[2]
s32 redundant_pic_cnt
s32 poc
u32 poc_msb
u32 poc_msb_prev
u32 poc_lsb_prev
u32 frame_num_prev
s32 frame_num_offset
s32 frame_num_offset_prev
AVC_SPS * sps
AVC_PPS * pps
SVC_NALUHeader svc_nalhdr

◆ AVCSeiRecoveryPoint

struct AVCSeiRecoveryPoint
Data Fields
u32 frame_cnt
u8 exact_match_flag
u8 broken_link_flag
u8 changing_slice_group_idc
u8 valid

◆ AVCSeiPicTimingTimecode

struct AVCSeiPicTimingTimecode
Data Fields
u8 hours
u8 minutes
u8 seconds
u16 n_frames

◆ AVCSeiPicTiming

struct AVCSeiPicTiming
+ Collaboration diagram for AVCSeiPicTiming:
Data Fields
u8 pic_struct
u8 num_clock_ts
AVCSeiPicTimingTimecode timecodes[3]

◆ AVCSeiItuTT35DolbyVision

struct AVCSeiItuTT35DolbyVision
Data Fields
Bool rpu_flag

◆ AVCSei

struct AVCSei
+ Collaboration diagram for AVCSei:
Data Fields
AVCSeiRecoveryPoint recovery_point
AVCSeiPicTiming pic_timing
AVCSeiItuTT35DolbyVision dovi

◆ AVCState

struct AVCState
+ Collaboration diagram for AVCState:
Data Fields
AVC_SPS sps[32]
s8 sps_active_idx
s8 pps_active_idx
AVC_PPS pps[255]
AVCSliceInfo s_info
AVCSei sei
Bool is_svc
u8 last_nal_type_parsed
s8 last_ps_idx
s8 last_sps_idx

◆ SVC_Extractor

struct SVC_Extractor
Data Fields
u32 NALUnitHeader
u8 track_ref_index
s8 sample_offset
u32 data_offset
u32 data_length

◆ GF_VUIInfo

struct GF_VUIInfo

VUI modification parameters

Data Fields
Bool update

if true, the structure members will be updated to the actual values written or present in bitstream. If still -1, info was not written in bitstream

s32 ar_num

pixel aspect ratio num a value of 0 in ar_num or ar_den removes PAR a value of -1 in ar_num or ar_den keeps PAR from bitstream positive values change PAR

s32 ar_den

pixel aspect ratio den

Bool remove_video_info
Bool remove_vui_timing_info
s32 fullrange
s32 video_format
s32 color_prim
s32 color_tfc
s32 color_matrix

◆ HEVC_SublayerPTL

struct HEVC_SublayerPTL
Data Fields
Bool profile_present_flag
Bool level_present_flag
Bool tier_flag
u8 profile_space
u8 profile_idc
u32 profile_compatibility_flag
u8 level_idc

◆ HEVC_ProfileTierLevel

struct HEVC_ProfileTierLevel
+ Collaboration diagram for HEVC_ProfileTierLevel:
Data Fields
u8 profile_space
u8 tier_flag
u8 profile_idc
u8 level_idc
u32 profile_compatibility_flag
Bool general_progressive_source_flag
Bool general_interlaced_source_flag
Bool general_non_packed_constraint_flag
Bool general_frame_only_constraint_flag
u64 general_reserved_44bits
HEVC_SublayerPTL sub_ptl[8]

◆ HEVC_ReferencePictureSets

struct HEVC_ReferencePictureSets
Data Fields
u32 num_negative_pics
u32 num_positive_pics
s32 delta_poc[32]
u8 used_by_curr_pic[32]
u32 modif_idx_l0[32]
u32 modif_idx_l1[32]
u8 modif_flag_l0
u8 modif_flag_l1

◆ HEVC_SPS

struct HEVC_SPS
+ Collaboration diagram for HEVC_SPS:
Data Fields
s32 id
s32 vps_id
u32 state
u32 crc
u32 width
u32 height
HEVC_ProfileTierLevel ptl
u8 chroma_format_idc
Bool cw_flag
u32 cw_left
u32 cw_right
u32 cw_top
u32 cw_bottom
u8 bit_depth_luma
u8 bit_depth_chroma
u8 log2_max_pic_order_cnt_lsb
Bool separate_colour_plane_flag
u32 max_CU_width
u32 max_CU_height
u32 max_CU_depth
u32 bitsSliceSegmentAddress
u32 num_short_term_ref_pic_sets
u32 num_long_term_ref_pic_sps
HEVC_ReferencePictureSets rps[65]
Bool aspect_ratio_info_present_flag
Bool long_term_ref_pics_present_flag
Bool temporal_mvp_enable_flag
Bool sample_adaptive_offset_enabled_flag
u8 sar_idc
u16 sar_width
u16 sar_height
Bool has_timing_info
u32 num_units_in_tick
u32 time_scale
Bool poc_proportional_to_timing_flag
u32 num_ticks_poc_diff_one_minus1
Bool video_full_range_flag
Bool colour_description_present_flag
u8 colour_primaries
u8 transfer_characteristic
u8 matrix_coeffs
u32 rep_format_idx
u8 sps_ext_or_max_sub_layers_minus1
u8 max_sub_layers_minus1
u8 update_rep_format_flag
u8 sub_layer_ordering_info_present_flag
u8 scaling_list_enable_flag
u8 infer_scaling_list_flag
u8 scaling_list_ref_layer_id
u8 scaling_list_data_present_flag
u8 asymmetric_motion_partitions_enabled_flag
u8 pcm_enabled_flag
u8 strong_intra_smoothing_enable_flag
u8 vui_parameters_present_flag
u32 log2_diff_max_min_luma_coding_block_size
u32 log2_min_transform_block_size
u32 log2_min_luma_coding_block_size
u32 log2_max_transform_block_size
u32 max_transform_hierarchy_depth_inter
u32 max_transform_hierarchy_depth_intra
u8 pcm_sample_bit_depth_luma_minus1
u8 pcm_sample_bit_depth_chroma_minus1
u8 pcm_loop_filter_disable_flag
u32 log2_min_pcm_luma_coding_block_size_minus3
u32 log2_diff_max_min_pcm_luma_coding_block_size
u8 overscan_info_present
u8 overscan_appropriate
u8 video_signal_type_present_flag
u8 video_format
u8 chroma_loc_info_present_flag
u32 chroma_sample_loc_type_top_field
u32 chroma_sample_loc_type_bottom_field
u8 neutral_chroma_indication_flag
u8 field_seq_flag
u8 frame_field_info_present_flag
u8 default_display_window_flag
u32 left_offset
u32 right_offset
u32 top_offset
u32 bottom_offset
u8 hrd_parameters_present_flag

◆ HEVC_PPS

struct HEVC_PPS
Data Fields
s32 id
u32 sps_id
u32 state
u32 crc
Bool dependent_slice_segments_enabled_flag
Bool tiles_enabled_flag
Bool uniform_spacing_flag
u32 num_extra_slice_header_bits
u32 num_ref_idx_l0_default_active
u32 num_ref_idx_l1_default_active
Bool slice_segment_header_extension_present_flag
Bool output_flag_present_flag
Bool lists_modification_present_flag
Bool cabac_init_present_flag
Bool weighted_pred_flag
Bool weighted_bipred_flag
Bool slice_chroma_qp_offsets_present_flag
Bool deblocking_filter_override_enabled_flag
Bool loop_filter_across_slices_enabled_flag
Bool entropy_coding_sync_enabled_flag
Bool loop_filter_across_tiles_enabled_flag
s32 pic_init_qp_minus26
u32 num_tile_columns
u32 num_tile_rows
u32 column_width[22]
u32 row_height[20]
Bool sign_data_hiding_flag
Bool constrained_intra_pred_flag
Bool transform_skip_enabled_flag
Bool cu_qp_delta_enabled_flag
Bool transquant_bypass_enable_flag
u32 diff_cu_qp_delta_depth
u32 pic_cb_qp_offset
u32 pic_cr_qp_offset
Bool deblocking_filter_control_present_flag
Bool pic_disable_deblocking_filter_flag
Bool pic_scaling_list_data_present_flag
u32 beta_offset_div2
u32 tc_offset_div2
u32 log2_parallel_merge_level_minus2
Bool curr_pic_ref_enabled_flag

◆ HEVC_RepFormat

struct HEVC_RepFormat
Data Fields
u32 chroma_format_idc
u32 pic_width_luma_samples
u32 pic_height_luma_samples
u32 bit_depth_luma
u32 bit_depth_chroma
u8 separate_colour_plane_flag

◆ HEVC_RateInfo

struct HEVC_RateInfo
Data Fields
u16 avg_bit_rate
u16 max_bit_rate
u16 avg_pic_rate
u8 constant_pic_rate_idc

◆ HEVC_VPS

struct HEVC_VPS
+ Collaboration diagram for HEVC_VPS:
Data Fields
s32 id
u32 state
s32 bit_pos_vps_extensions
u32 crc
Bool vps_extension_found
u32 max_layers
u32 max_sub_layers
u32 max_layer_id
u32 num_layer_sets
Bool temporal_id_nesting
HEVC_ProfileTierLevel ptl
HEVC_SublayerPTL sub_ptl[8]
HEVC_RateInfo rates[8]
u32 scalability_mask[16]
u32 dimension_id[MAX_LHVC_LAYERS][16]
u32 layer_id_in_nuh[MAX_LHVC_LAYERS]
u32 layer_id_in_vps[MAX_LHVC_LAYERS]
u8 num_profile_tier_level
u8 num_output_layer_sets
u32 profile_level_tier_idx[MAX_LHVC_LAYERS]
HEVC_ProfileTierLevel ext_ptl[MAX_LHVC_LAYERS]
u32 num_rep_formats
HEVC_RepFormat rep_formats[16]
u32 rep_format_idx[16]
Bool base_layer_internal_flag
Bool base_layer_available_flag
u8 num_layers_in_id_list[MAX_NUM_LAYER_SETS]
u8 direct_dependency_flag[MAX_LHVC_LAYERS][MAX_LHVC_LAYERS]
Bool output_layer_flag[MAX_LHVC_LAYERS][MAX_LHVC_LAYERS]
u8 profile_tier_level_idx[MAX_LHVC_LAYERS][MAX_LHVC_LAYERS]
Bool alt_output_layer_flag[MAX_LHVC_LAYERS]
u8 num_necessary_layers[MAX_LHVC_LAYERS]
Bool necessary_layers_flag[MAX_LHVC_LAYERS][MAX_LHVC_LAYERS]
u8 LayerSetLayerIdList[MAX_LHVC_LAYERS][MAX_LHVC_LAYERS]
u8 LayerSetLayerIdListMax[MAX_LHVC_LAYERS]

◆ HEVC_SEI

struct HEVC_SEI
+ Collaboration diagram for HEVC_SEI:
Data Fields
AVCSeiRecoveryPoint recovery_point
AVCSeiPicTiming pic_timing
AVCSeiItuTT35DolbyVision dovi

◆ HEVCSliceInfo

struct HEVCSliceInfo
+ Collaboration diagram for HEVCSliceInfo:
Data Fields
u8 nal_unit_type
u32 frame_num
u32 poc_lsb
u32 slice_type
u32 header_size_with_emulation
s32 redundant_pic_cnt
s32 poc
u32 poc_msb
u32 poc_msb_prev
u32 poc_lsb_prev
u32 frame_num_prev
s32 frame_num_offset
s32 frame_num_offset_prev
Bool dependent_slice_segment_flag
Bool first_slice_segment_in_pic_flag
u32 slice_segment_address
u8 prev_layer_id_plus1
s32 entry_point_start_bits
u64 header_size_bits
s32 payload_start_offset
s32 slice_qp_delta_start_bits
s32 slice_qp_delta
HEVC_SPS * sps
HEVC_PPS * pps
HEVC_ReferencePictureSets * st_rps
u32 num_ref_idx_l0_active
u32 num_ref_idx_l1_active
u32 nb_lt_ref_pics
u32 nb_reference_pocs
s32 reference_pocs[30]

◆ HEVCState

struct HEVCState
+ Collaboration diagram for HEVCState:
Data Fields
Bool full_slice_header_parse
HEVC_SPS sps[16]
s8 sps_active_idx
HEVC_PPS pps[64]
HEVC_VPS vps[16]
HEVCSliceInfo s_info
HEVC_SEI sei
s32 last_parsed_vps_id
s32 last_parsed_sps_id
s32 last_parsed_pps_id
u8 clli_data[4]
u8 mdcv_data[24]
u8 clli_valid
u8 mdcv_valid
u8 has_3d_ref_disp_info

◆ Combine

struct Combine
Data Fields
Bool is_hevccombine
Bool first_slice_segment
s32 buffer_header_src_alloc
u8 * buffer_header_src

◆ VVC_RefPicList

struct VVC_RefPicList
Data Fields
u32 num_ref_entries
u32 nb_short_term_pictures
u32 nb_long_term_pictures
u32 nb_inter_layer_pictures
u8 ref_pic_type[VVC_MAX_REF_PICS]
s32 poc_delta[VVC_MAX_REF_PICS]
u8 ltrp_in_header_flag

◆ VVC_SubpicInfo

struct VVC_SubpicInfo
Data Fields
u16 x
u16 y
u16 w
u16 h
u16 id
u16 num_slices

◆ VVC_SPS

struct VVC_SPS
+ Collaboration diagram for VVC_SPS:
Data Fields
s32 id
u32 vps_id
u8 state
u8 max_sublayers
u8 chroma_format_idc
u8 log2_ctu_size
u8 sps_ptl_dpb_hrd_params_present_flag
u8 gdr_enabled
u8 ref_pic_resampling
u8 res_change_in_clvs
u8 explicit_scaling_list_enabled_flag
u8 virtual_boundaries_enabled_flag
u8 virtual_boundaries_present_flag
u8 joint_cbcr_enabled_flag
u8 dep_quant_enabled_flag
u8 sign_data_hiding_enabled_flag
u8 transform_skip_enabled_flag
u8 ph_num_extra_bits
u8 sh_num_extra_bits
u8 partition_constraints_override_enabled_flag
u8 alf_enabled_flag
u8 ccalf_enabled_flag
u8 lmcs_enabled_flag
u8 long_term_ref_pics_flag
u8 inter_layer_prediction_enabled_flag
u8 weighted_pred_flag
u8 weighted_bipred_flag
u8 temporal_mvp_enabled_flag
u8 mmvd_fullpel_only_enabled_flag
u8 bdof_control_present_in_ph_flag
u8 dmvr_control_present_in_ph_flag
u8 prof_control_present_in_ph_flag
u8 sao_enabled_flag
u8 idr_rpl_present_flag
u8 entry_point_offsets_present_flag
u8 entropy_coding_sync_enabled_flag
u8 conf_window
u32 cw_left
u32 cw_right
u32 cw_top
u32 cw_bottom
u8 subpic_info_present
u8 independent_subpic_flags
u8 subpic_same_size
u8 subpicid_mapping_explicit
u8 subpicid_mapping_present
u32 nb_subpics
u32 subpicid_len
VVC_SubpicInfo subpics[VVC_MAX_SUBPIC]
Bool has_timing_info
u32 num_units_in_tick
u32 time_scale
u32 width
u32 height
u32 bitdepth
u8 log2_max_poc_lsb
u8 poc_msb_cycle_flag
u32 poc_msb_cycle_len
u32 num_ref_pic_lists[2]
VVC_RefPicList rps[2][64]
u8 aspect_ratio_info_present_flag
u8 sar_idc
u16 sar_width
u16 sar_height
u8 overscan_info_present_flag
u8 video_signal_type_present_flag
u8 video_format
u8 video_full_range_flag
u8 colour_description_present_flag
u8 colour_primaries
u8 transfer_characteristics
u8 matrix_coefficients
u8 ts_residual_coding_rice_present_in_sh_flag
u8 reverse_last_sig_coeff_enabled_flag

◆ VVC_PPS

struct VVC_PPS
+ Collaboration diagram for VVC_PPS:
Data Fields
s32 id
u32 sps_id
u8 state
u8 mixed_nal_types
u8 output_flag_present_flag
u8 no_pic_partition_flag
u8 subpic_id_mapping_present_flag
u8 rect_slice_flag
u8 alf_info_in_ph_flag
u8 rpl_info_in_ph_flag
u8 cu_qp_delta_enabled_flag
u8 cu_chroma_qp_offset_list_enabled_flag
u8 weighted_pred_flag
u8 weighted_bipred_flag
u8 wp_info_in_ph_flag
u8 qp_delta_info_in_ph_flag
u8 sao_info_in_ph_flag
u8 dbf_info_in_ph_flag
u8 deblocking_filter_disabled_flag
u8 deblocking_filter_override_enabled_flag
u8 chroma_tool_offsets_present_flag
u8 slice_chroma_qp_offsets_present_flag
u8 picture_header_extension_present_flag
u8 rpl1_idx_present_flag
u8 cabac_init_present_flag
u8 slice_header_extension_present_flag
u8 single_slice_per_subpic_flag
u32 num_ref_idx_default_active[2]
u32 num_tiles_in_pic
u32 num_tile_rows
u32 num_tile_cols
u32 slice_address_len
u32 num_slices_in_pic
u32 width
u32 height
u8 conf_window
u32 cw_left
u32 cw_right
u32 cw_top
u32 cw_bottom
VVC_SubpicInfo subpics[VVC_MAX_SUBPIC]
u32 tile_rows_height_ctb[VVC_MAX_TILE_ROWS]
u32 tile_cols_width_ctb[VVC_MAX_TILE_COLS]
u32 pic_width_in_ctbsY
u32 pic_height_in_ctbsY

◆ VVC_SublayerPTL

struct VVC_SublayerPTL
Data Fields
u8 profile_present_flag
u8 level_present_flag
u8 sublayer_level_idc

◆ VVC_ProfileTierLevel

struct VVC_ProfileTierLevel
+ Collaboration diagram for VVC_ProfileTierLevel:
Data Fields
u8 pt_present
u8 ptl_max_tid
u8 general_profile_idc
u8 general_tier_flag
u8 general_level_idc
u8 frame_only_constraint
u8 multilayer_enabled
VVC_SublayerPTL sub_ptl[8]
u8 num_sub_profiles
u32 sub_profile_idc[255]
u8 gci_present
u8 gci[12]

◆ VVC_VPS

struct VVC_VPS
+ Collaboration diagram for VVC_VPS:
Data Fields
s32 id
u8 state
HEVC_RateInfo rates[8]
u32 max_layers
u32 max_sub_layers
Bool all_layers_independent
Bool each_layer_is_ols
u32 max_layer_id
u16 num_ptl
VVC_ProfileTierLevel ptl[256]

◆ VVCSliceInfo

struct VVCSliceInfo
+ Collaboration diagram for VVCSliceInfo:
Data Fields
u8 nal_unit_type
u32 frame_num
u32 poc_lsb
u32 slice_type
u8 poc_msb_cycle_present_flag
s32 poc
u32 poc_msb
u32 poc_msb_cycle
u32 poc_msb_prev
u32 poc_lsb_prev
u32 frame_num_prev
VVC_SPS * sps
VVC_PPS * pps
u8 picture_header_in_slice_header_flag
u8 inter_slice_allowed_flag
u8 intra_slice_allowed_flag
u8 irap_or_gdr_pic
u8 non_ref_pic
u8 gdr_pic
u32 gdr_recovery_count
u8 recovery_point_valid
u8 lmcs_enabled_flag
u8 explicit_scaling_list_enabled_flag
u8 temporal_mvp_enabled_flag
u8 prev_layer_id_plus1
u8 compute_poc_defer
VVC_RefPicList ph_rpl[2]
s32 ph_rpl_idx[2]
VVC_RefPicList rpl[2]
s32 rpl_idx[2]
u32 num_ref_idx_active[2]
u32 payload_start_offset
u32 nb_lt_or_il_pics
u32 nb_reference_pocs
u32 reference_pocs[17]

◆ VVCState

struct VVCState
+ Collaboration diagram for VVCState:
Data Fields
s8 sps_active_idx
s32 last_parsed_vps_id
s32 last_parsed_sps_id
s32 last_parsed_pps_id
s32 last_parsed_aps_id
VVC_SPS sps[16]
VVC_PPS pps[64]
VVC_VPS vps[16]
VVCSliceInfo s_info
u32 parse_mode
u8 clli_data[4]
u8 mdcv_data[24]
u8 clli_valid
u8 mdcv_valid

◆ AV1Tile

struct AV1Tile
Data Fields
u32 obu_start_offset
u32 size

◆ AV1StateFrame

struct AV1StateFrame
+ Collaboration diagram for AV1StateFrame:
Data Fields
Bool is_first_frame
Bool seen_frame_header
Bool seen_seq_header
Bool key_frame
Bool show_frame
AV1FrameType frame_type
GF_List * header_obus
GF_List * frame_obus
AV1Tile tiles[AV1_MAX_TILE_ROWS *AV1_MAX_TILE_COLS]
u32 nb_tiles_in_obu
u8 refresh_frame_flags
u8 order_hint
u8 allow_high_precision_mv
u8 show_existing_frame
u8 frame_to_show_map_idx
u16 uncompressed_header_bytes

◆ AV1GMParams

struct AV1GMParams
Data Fields
s32 coefs[AV1_NUM_REF_FRAMES][6]

◆ AV1State

struct AV1State
+ Collaboration diagram for AV1State:
Data Fields
Bool keep_temporal_delim
Bool skip_frames
Bool mem_mode
GF_BitStream * bs
Bool unframed
u8 * frame_obus
u32 frame_obus_alloc
Bool frame_id_numbers_present_flag
Bool reduced_still_picture_header
Bool decoder_model_info_present_flag
u16 OperatingPointIdc
u32 width
u32 height
u32 UpscaledWidth
u32 sequence_width
u32 sequence_height
u32 tb_num
u32 tb_den
Bool use_128x128_superblock
u8 frame_width_bits_minus_1
u8 frame_height_bits_minus_1
u8 equal_picture_interval
u8 delta_frame_id_length_minus_2
u8 additional_frame_id_length_minus_1
u8 seq_force_integer_mv
u8 seq_force_screen_content_tools
Bool enable_superres
Bool enable_order_hint
Bool enable_cdef
Bool enable_restoration
Bool enable_warped_motion
u8 OrderHintBits
Bool enable_ref_frame_mvs
Bool film_grain_params_present
u8 buffer_delay_length
u8 frame_presentation_time_length
u32 buffer_removal_time_length
u8 operating_points_count
u8 decoder_model_present_for_this_op[32]
u8 operating_point_idc[32]
u8 initial_display_delay_present_for_this_op[32]
u8 initial_display_delay_minus1_for_this_op[32]
u32 tileRows
u32 tileCols
u32 tileRowsLog2
u32 tileColsLog2
u8 tile_size_bytes
Bool separate_uv_delta_q
Bool still_picture
u8 bit_depth
Bool color_description_present_flag
u8 color_primaries
u8 transfer_characteristics
u8 matrix_coefficients
Bool color_range
GF_AV1Config * config
Bool obu_has_size_field
Bool obu_extension_flag
u8 temporal_id
u8 spatial_id
ObuType obu_type
u8 RefOrderHint[AV1_NUM_REF_FRAMES]
u8 RefValid[AV1_NUM_REF_FRAMES]
u8 OrderHints[AV1_NUM_REF_FRAMES]
AV1GMParams GmParams
AV1GMParams PrevGmParams
AV1GMParams SavedGmParams[AV1_NUM_REF_FRAMES]
u8 RefFrameType[AV1_NUM_REF_FRAMES]
u32 RefUpscaledWidth[AV1_NUM_REF_FRAMES]
u32 RefFrameHeight[AV1_NUM_REF_FRAMES]
AV1StateFrame frame_state
u32 layer_size[4]
u8 clli_data[4]
u8 mdcv_data[24]
u8 clli_valid
u8 mdcv_valid
u8 has_temporal_delim
u8 has_frame_data

◆ GF_OpusPacketHeader

struct GF_OpusPacketHeader

OPUS packet header

Data Fields
Bool self_delimited
u8 size
u16 self_delimited_length
u8 TOC_config
u8 TOC_stereo
u8 TOC_code
u16 code2_frame_length
u8 code3_vbr
u8 code3_padding
u16 code3_padding_length
u8 nb_frames
u16 frame_lengths[255]
u32 packet_size

◆ GF_ProResPictureInfo

struct GF_ProResPictureInfo
Data Fields
u32 picture_size
u16 deprecated_number_of_slices
u8 log2_desired_slice_size_in_mb

◆ GF_ProResFrameInfo

struct GF_ProResFrameInfo
Data Fields
u32 frame_size
u32 frame_identifier
u16 frame_hdr_size
u8 version
u32 encoder_id
u16 width
u16 height
u8 chroma_format
u8 interlaced_mode
u8 aspect_ratio_information
u8 framerate_code
u8 color_primaries
u8 transfer_characteristics
u8 matrix_coefficients
u8 alpha_channel_type
u8 load_luma_quant_matrix
u8 load_chroma_quant_matrix
u8 luma_quant_matrix[8][8]
u8 chroma_quant_matrix[8][8]
u8 nb_pic

◆ QCPRateTable

struct QCPRateTable
Data Fields
u8 rate_idx
u8 pck_size

Macro Definition Documentation

◆ GF_SVC_SSPS_ID_SHIFT

#define GF_SVC_SSPS_ID_SHIFT   16

◆ MAX_LHVC_LAYERS

#define MAX_LHVC_LAYERS   4

◆ MAX_NUM_LAYER_SETS

#define MAX_NUM_LAYER_SETS   1024

◆ VVC_MAX_REF_PICS

#define VVC_MAX_REF_PICS   64

◆ VVC_RPL_ST

#define VVC_RPL_ST   0

◆ VVC_RPL_LT

#define VVC_RPL_LT   1

◆ VVC_RPL_IL

#define VVC_RPL_IL   2

◆ VVC_MAX_TILE_COLS

#define VVC_MAX_TILE_COLS   30

◆ VVC_MAX_TILE_ROWS

#define VVC_MAX_TILE_ROWS   33

◆ VVC_MAX_SUBPIC

#define VVC_MAX_SUBPIC   200

◆ VVC_MAX_LAYERS

#define VVC_MAX_LAYERS   4

◆ VVC_MAX_NUM_LAYER_SETS

#define VVC_MAX_NUM_LAYER_SETS   1024

◆ VP9_MAX_FRAMES_IN_SUPERFRAME

#define VP9_MAX_FRAMES_IN_SUPERFRAME   16

◆ AV1_MAX_TILE_ROWS

#define AV1_MAX_TILE_ROWS   64

◆ AV1_MAX_TILE_COLS

#define AV1_MAX_TILE_COLS   64

◆ AV1_NUM_REF_FRAMES

#define AV1_NUM_REF_FRAMES   8

◆ M4V_VO_START_CODE

#define M4V_VO_START_CODE   0x00

◆ M4V_VOL_START_CODE

#define M4V_VOL_START_CODE   0x20

◆ M4V_VOP_START_CODE

#define M4V_VOP_START_CODE   0xB6

◆ M4V_VISOBJ_START_CODE

#define M4V_VISOBJ_START_CODE   0xB5

◆ M4V_VOS_START_CODE

#define M4V_VOS_START_CODE   0xB0

◆ M4V_GOV_START_CODE

#define M4V_GOV_START_CODE   0xB3

◆ M4V_UDTA_START_CODE

#define M4V_UDTA_START_CODE   0xB2

◆ M2V_PIC_START_CODE

#define M2V_PIC_START_CODE   0x00

◆ M2V_SEQ_START_CODE

#define M2V_SEQ_START_CODE   0xB3

◆ M2V_EXT_START_CODE

#define M2V_EXT_START_CODE   0xB5

◆ M2V_GOP_START_CODE

#define M2V_GOP_START_CODE   0xB8

◆ M2V_UDTA_START_CODE

#define M2V_UDTA_START_CODE   0xB2

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
AVC_SPS_PARSED 
AVC_SPS_DECLARED 
AVC_SUBSPS_PARSED 
AVC_SUBSPS_DECLARED 
AVC_SPS_EXT_DECLARED 

◆ anonymous enum

anonymous enum
Enumerator
GF_HEVC_SLICE_TYPE_B 
GF_HEVC_SLICE_TYPE_P 
GF_HEVC_SLICE_TYPE_I 

◆ anonymous enum

anonymous enum
Enumerator
GF_VVC_SLICE_TYPE_B 
GF_VVC_SLICE_TYPE_P 
GF_VVC_SLICE_TYPE_I 
GF_VVC_SLICE_TYPE_UNKNOWN 

◆ AV1FrameType

Enumerator
AV1_KEY_FRAME 
AV1_INTER_FRAME 
AV1_INTRA_ONLY_FRAME 
AV1_SWITCH_FRAME 

Function Documentation

◆ gf_media_get_sample_average_infos()

void gf_media_get_sample_average_infos ( GF_ISOFile *  file,
u32  Track,
u32 avgSize,
u32 MaxSize,
u32 TimeDelta,
u32 maxCTSDelta,
u32 const_duration,
u32 bandwidth 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_import_message()

GF_Err gf_import_message ( GF_MediaImporter import,
GF_Err  e,
char *  format,
  ... 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_bs_read_ue()

u32 gf_bs_read_ue ( GF_BitStream *  bs)
+ Here is the caller graph for this function:

◆ gf_bs_read_se()

s32 gf_bs_read_se ( GF_BitStream *  bs)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_bs_write_ue()

void gf_bs_write_ue ( GF_BitStream *  bs,
u32  num 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_bs_write_se()

void gf_bs_write_se ( GF_BitStream *  bs,
s32  num 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_media_get_color_info()

GF_Err gf_media_get_color_info ( GF_ISOFile *  file,
u32  track,
u32  sampleDescriptionIndex,
u32 colour_type,
u16 colour_primaries,
u16 transfer_characteristics,
u16 matrix_coefficients,
Bool full_range_flag 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_latm_get_value()

u32 gf_latm_get_value ( GF_BitStream *  bs)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_media_nalu_next_start_code()

u32 gf_media_nalu_next_start_code ( const u8 data,
u32  data_len,
u32 sc_size 
)
+ Here is the caller graph for this function:

◆ gf_media_nalu_emulation_bytes_remove_count()

u32 gf_media_nalu_emulation_bytes_remove_count ( const u8 buffer,
u32  nal_size 
)
+ Here is the caller graph for this function:

◆ gf_media_nalu_remove_emulation_bytes()

u32 gf_media_nalu_remove_emulation_bytes ( const u8 buffer_src,
u8 buffer_dst,
u32  nal_size 
)
+ Here is the caller graph for this function:

◆ gf_avc_read_sps()

s32 gf_avc_read_sps ( const u8 sps_data,
u32  sps_size,
AVCState avc,
u32  subseq_sps,
u32 vui_flag_pos 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_avc_read_sps_bs()

s32 gf_avc_read_sps_bs ( GF_BitStream *  bs,
AVCState avc,
u32  subseq_sps,
u32 vui_flag_pos 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_avc_read_pps()

s32 gf_avc_read_pps ( const u8 pps_data,
u32  pps_size,
AVCState avc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_avc_read_pps_bs()

s32 gf_avc_read_pps_bs ( GF_BitStream *  bs,
AVCState avc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_avc_slice_is_intra()

Bool gf_avc_slice_is_intra ( AVCState avc)
+ Here is the caller graph for this function:

◆ gf_avc_parse_nalu()

s32 gf_avc_parse_nalu ( GF_BitStream *  bs,
AVCState avc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_avc_reformat_sei()

u32 gf_avc_reformat_sei ( u8 buffer,
u32  nal_size,
Bool  isobmf_rewrite,
AVCState avc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_avc_change_vui()

GF_Err gf_avc_change_vui ( GF_AVCConfig avcc,
GF_VUIInfo vui_info 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_avc_change_par()

GF_Err gf_avc_change_par ( GF_AVCConfig avcc,
s32  ar_n,
s32  ar_d 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_avc_change_color()

GF_Err gf_avc_change_color ( GF_AVCConfig avcc,
s32  fullrange,
s32  vidformat,
s32  colorprim,
s32  transfer,
s32  colmatrix 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_change_vui()

GF_Err gf_hevc_change_vui ( GF_HEVCConfig hvcc,
GF_VUIInfo vui 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_change_par()

GF_Err gf_hevc_change_par ( GF_HEVCConfig hvcc,
s32  ar_n,
s32  ar_d 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_change_color()

GF_Err gf_hevc_change_color ( GF_HEVCConfig hvcc,
s32  fullrange,
s32  vidformat,
s32  colorprim,
s32  transfer,
s32  colmatrix 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_vvc_change_vui()

GF_Err gf_vvc_change_vui ( GF_VVCConfig cfg,
GF_VUIInfo vui 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_vvc_change_par()

GF_Err gf_vvc_change_par ( GF_VVCConfig cfg,
s32  ar_n,
s32  ar_d 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_vvc_change_color()

GF_Err gf_vvc_change_color ( GF_VVCConfig cfg,
s32  fullrange,
s32  vidformat,
s32  colorprim,
s32  transfer,
s32  colmatrix 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_read_vps()

s32 gf_hevc_read_vps ( u8 data,
u32  size,
HEVCState hevc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_read_vps_bs()

s32 gf_hevc_read_vps_bs ( GF_BitStream *  bs,
HEVCState hevc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_read_sps()

s32 gf_hevc_read_sps ( u8 data,
u32  size,
HEVCState hevc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_read_sps_bs()

s32 gf_hevc_read_sps_bs ( GF_BitStream *  bs,
HEVCState hevc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_read_pps()

s32 gf_hevc_read_pps ( u8 data,
u32  size,
HEVCState hevc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_read_pps_bs()

s32 gf_hevc_read_pps_bs ( GF_BitStream *  bs,
HEVCState hevc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_parse_nalu()

s32 gf_hevc_parse_nalu ( u8 data,
u32  size,
HEVCState hevc,
u8 nal_unit_type,
u8 temporal_id,
u8 layer_id 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_slice_is_intra()

Bool gf_hevc_slice_is_intra ( HEVCState hevc)
+ Here is the caller graph for this function:

◆ gf_hevc_slice_is_IDR()

Bool gf_hevc_slice_is_IDR ( HEVCState hevc)
+ Here is the caller graph for this function:

◆ gf_hevc_read_vps_ex()

s32 gf_hevc_read_vps_ex ( u8 data,
u32 size,
HEVCState hevc,
Bool  remove_extensions 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_parse_ps()

void gf_hevc_parse_ps ( GF_HEVCConfig hevccfg,
HEVCState hevc,
u32  nal_type 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_parse_nalu_bs()

s32 gf_hevc_parse_nalu_bs ( GF_BitStream *  bs,
HEVCState hevc,
u8 nal_unit_type,
u8 temporal_id,
u8 layer_id 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_get_sps_info_with_state()

GF_Err gf_hevc_get_sps_info_with_state ( HEVCState hevc_state,
u8 sps_data,
u32  sps_size,
u32 sps_id,
u32 width,
u32 height,
s32 par_n,
s32 par_d 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_hevc_parse_sei()

void gf_hevc_parse_sei ( char *  buffer,
u32  nal_size,
HEVCState hevc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_vvc_parse_nalu_bs()

s32 gf_vvc_parse_nalu_bs ( GF_BitStream *  bs,
VVCState vvc,
u8 nal_unit_type,
u8 temporal_id,
u8 layer_id 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_vvc_parse_sei()

void gf_vvc_parse_sei ( char *  buffer,
u32  nal_size,
VVCState vvc 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_vvc_slice_is_ref()

Bool gf_vvc_slice_is_ref ( VVCState vvc)
+ Here is the caller graph for this function:

◆ gf_vvc_parse_nalu()

s32 gf_vvc_parse_nalu ( u8 data,
u32  size,
VVCState vvc,
u8 nal_unit_type,
u8 temporal_id,
u8 layer_id 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_vvc_parse_ps()

void gf_vvc_parse_ps ( GF_VVCConfig hevccfg,
VVCState vvc,
u32  nal_type 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_media_parse_ivf_file_header()

GF_Err gf_media_parse_ivf_file_header ( GF_BitStream *  bs,
u32 width,
u32 height,
u32 codec_fourcc,
u32 timebase_num,
u32 timebase_den,
u32 num_frames 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_vp9_parse_sample()

GF_Err gf_vp9_parse_sample ( GF_BitStream *  bs,
GF_VPConfig vp9_cfg,
Bool key_frame,
u32 FrameWidth,
u32 FrameHeight,
u32 renderWidth,
u32 renderHeight 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_vp9_parse_superframe()

GF_Err gf_vp9_parse_superframe ( GF_BitStream *  bs,
u64  ivf_frame_size,
u32 num_frames_in_superframe,
u32  frame_sizes[VP9_MAX_FRAMES_IN_SUPERFRAME],
u32 superframe_index_size 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ aom_av1_parse_temporal_unit_from_section5()

GF_Err aom_av1_parse_temporal_unit_from_section5 ( GF_BitStream *  bs,
AV1State state 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ aom_av1_parse_temporal_unit_from_annexb()

GF_Err aom_av1_parse_temporal_unit_from_annexb ( GF_BitStream *  bs,
AV1State state 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ aom_av1_parse_temporal_unit_from_ivf()

GF_Err aom_av1_parse_temporal_unit_from_ivf ( GF_BitStream *  bs,
AV1State state 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_media_parse_ivf_frame_header()

GF_Err gf_media_parse_ivf_frame_header ( GF_BitStream *  bs,
u64 frame_size,
u64 pts 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_media_probe_ivf()

Bool gf_media_probe_ivf ( GF_BitStream *  bs)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_media_aom_probe_annexb()

Bool gf_media_aom_probe_annexb ( GF_BitStream *  bs)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_av1_parse_obu()

GF_Err gf_av1_parse_obu ( GF_BitStream *  bs,
ObuType obu_type,
u64 obu_size,
u32 obu_hdr_size,
AV1State state 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ av1_is_obu_header()

Bool av1_is_obu_header ( ObuType  obu_type)
+ Here is the caller graph for this function:

◆ gf_av1_init_state()

void gf_av1_init_state ( AV1State state)

init av1 frame parsing state

Parameters
statethe frame parser
+ Here is the caller graph for this function:

◆ gf_av1_reset_state()

void gf_av1_reset_state ( AV1State state,
Bool  is_destroy 
)

reset av1 frame parsing state - this does not destroy the structure.

Parameters
statethe frame parser
is_destroyif TRUE, destroy internal reference picture lists
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_av1_leb128_read()

u64 gf_av1_leb128_read ( GF_BitStream *  bs,
u8 opt_Leb128Bytes 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_av1_leb128_size()

u32 gf_av1_leb128_size ( u64  value)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_av1_leb128_write()

u64 gf_av1_leb128_write ( GF_BitStream *  bs,
u64  value 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_av1_parse_obu_header()

GF_Err gf_av1_parse_obu_header ( GF_BitStream *  bs,
ObuType obu_type,
Bool obu_extension_flag,
Bool obu_has_size_field,
u8 temporal_id,
u8 spatial_id 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_opus_parse_packet_header()

u8 gf_opus_parse_packet_header ( u8 data,
u32  data_length,
Bool  self_delimited,
GF_OpusPacketHeader header 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_media_prores_parse_bs()

GF_Err gf_media_prores_parse_bs ( GF_BitStream *  bs,
GF_ProResFrameInfo prores_frame 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_rtp_packetizer_create_and_init_from_file()

GP_RTPPacketizer* gf_rtp_packetizer_create_and_init_from_file ( GF_ISOFile *  file,
u32  TrackNum,
void *  cbk_obj,
void(*)(void *cbk, GF_RTPHeader *header)  OnNewPacket,
void(*)(void *cbk, GF_RTPHeader *header)  OnPacketDone,
void(*)(void *cbk, u32 payload_size, u32 offset_from_orig)  OnDataReference,
void(*)(void *cbk, u8 *data, u32 data_size, Bool is_head)  OnData,
u32  Path_MTU,
u32  max_ptime,
u32  default_rtp_rate,
u32  flags,
u8  PayloadID,
Bool  copy_media,
u32  InterleaveGroupID,
u8  InterleaveGroupPriority 
)

◆ gf_media_format_ttxt_sdp()

void gf_media_format_ttxt_sdp ( GP_RTPPacketizer *  builder,
char *  payload_name,
char **  out_sdp_line,
u32  w,
u32  h,
s32  tx,
s32  ty,
s16  l,
u32  max_w,
u32  max_h,
char *  tx3g_base64 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_webvtt_parser_new()

GF_WebVTTParser* gf_webvtt_parser_new ( )
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_webvtt_parser_init()

GF_Err gf_webvtt_parser_init ( GF_WebVTTParser *  parser,
FILE *  vtt_file,
s32  unicode_type,
Bool  is_srt,
void *  user,
GF_Err(*)(void *, GF_Err, char *, const char *)  report_message,
void(*)(void *, GF_WebVTTSample *)  on_sample_parsed,
void(*)(void *, const char *)  on_header_parsed 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_webvtt_parser_parse()

GF_Err gf_webvtt_parser_parse ( GF_WebVTTParser *  parser)
+ Here is the call graph for this function:

◆ gf_webvtt_parser_del()

void gf_webvtt_parser_del ( GF_WebVTTParser *  parser)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_webvtt_parser_suspend()

void gf_webvtt_parser_suspend ( GF_WebVTTParser *  vttparser)
+ Here is the caller graph for this function:

◆ gf_webvtt_parser_restart()

void gf_webvtt_parser_restart ( GF_WebVTTParser *  parser)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_webvtt_parser_parse_payload()

GF_Err gf_webvtt_parser_parse_payload ( GF_WebVTTParser *  parser,
u64  start,
u64  end,
const char *  vtt_pre,
const char *  vtt_cueid,
const char *  vtt_settings 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_webvtt_parser_flush()

GF_Err gf_webvtt_parser_flush ( GF_WebVTTParser *  parser)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_webvtt_parser_parse_ext()

GF_Err gf_webvtt_parser_parse_ext ( GF_WebVTTParser *  parser,
FILE *  ext_file,
Bool  in_eos 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_webvtt_parser_cue_callback()

void gf_webvtt_parser_cue_callback ( GF_WebVTTParser *  parser,
void(*)(void *, GF_WebVTTCue *)  on_cue_read,
void *  udta 
)
+ Here is the caller graph for this function:

◆ gf_webvtt_merge_cues()

GF_Err gf_webvtt_merge_cues ( GF_WebVTTParser *  parser,
u64  start,
GF_List *  cues 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_webvtt_parser_finalize()

GF_Err gf_webvtt_parser_finalize ( GF_WebVTTParser *  parser,
u64  duration 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_webvtt_sample_del()

void gf_webvtt_sample_del ( GF_WebVTTSample *  samp)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_webvtt_sample_get_start()

u64 gf_webvtt_sample_get_start ( GF_WebVTTSample *  samp)
+ Here is the caller graph for this function:

◆ gf_webvtt_sample_get_end()

u64 gf_webvtt_sample_get_end ( GF_WebVTTSample *  samp)
+ Here is the caller graph for this function:

◆ gf_webvtt_dump_header()

GF_Err gf_webvtt_dump_header ( FILE *  dump,
GF_ISOFile *  file,
u32  track,
Bool  box_mode,
u32  index 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ gf_webvtt_parser_dump_done()

GF_Err gf_webvtt_parser_dump_done ( GF_WebVTTParser *  parser,
u32  duration 
)

◆ gf_media_vc1_seq_header_to_dsi()

GF_Err gf_media_vc1_seq_header_to_dsi ( const u8 seq_hdr,
u32  seq_hdr_len,
u8 **  dsi,
u32 dsi_size 
)
+ Here is the call graph for this function:
+ Here is the caller graph for this function: