![]() |
libgpac
Documentation of the core library of GPAC
|
MPEG-4 Object Descriptor Framework. More...
Collaboration diagram for MPEG-4 OD:Macros | |
| #define | BASE_DESCRIPTOR u8 tag; |
| #define | GF_IPMPX_BASE |
| #define | MAX_IPMP_ALT_TOOLS 20 |
| #define | QOS_BASE_QUALIFIER |
| #define | VP9_NUM_REF_FRAMES 8 |
| #define | BASE_OD_COMMAND u8 tag; |
| #define | GF_AC4_DESCMODE_PARSE 0 |
| #define | GF_AC4_DESCMODE_WRITE 1 |
| #define | GF_AC4_DESCMODE_GETSIZE 2 |
Typedefs | |
| typedef GF_NALUFFParam | GF_AVCConfigSlot |
| typedef GF_NALUFFParamArray | GF_HEVCParamArray |
MPEG-4 Object Descriptor Framework.
This section documents the MPEG-4 OD, OCI and IPMPX functions of the GPAC framework.
| struct GF_Descriptor |
base descriptor used as base type in many function.
| struct GF_DefaultDescriptor |
default descriptor.
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u32 | dataLength | |
| u8 * | data | |
| struct GF_IPMP_ToolList |
Object Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR GF_List * | ipmp_tools | |
| struct GF_ObjectDescriptor |
ObjectDescriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u16 | objectDescriptorID | |
| char * | URLString | |
| GF_List * | ESDescriptors | |
| GF_List * | OCIDescriptors | |
| GF_List * | IPMP_Descriptors | |
| GF_List * | extensionDescriptors | |
| u32 | ServiceID | |
| Bool | RedirectOnly | |
| Bool | fake_remote | |
| struct GF_InitialObjectDescriptor |
GF_InitialObjectDescriptor - WARNING: even though the bitstream IOD is not a bit extension of OD, internally it is a real overclass of OD we usually typecast IOD to OD when flags are not needed !!!
Collaboration diagram for GF_InitialObjectDescriptor:| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u16 | objectDescriptorID | |
| char * | URLString | |
| GF_List * | ESDescriptors | |
| GF_List * | OCIDescriptors | |
| GF_List * | IPMP_Descriptors | |
| GF_List * | extensionDescriptors | |
| u16 | ServiceID | |
| Bool | RedirectOnly | |
| Bool | fake_remote | |
| u8 | inlineProfileFlag | |
| u8 | OD_profileAndLevel | |
| u8 | scene_profileAndLevel | |
| u8 | audio_profileAndLevel | |
| u8 | visual_profileAndLevel | |
| u8 | graphics_profileAndLevel | |
| GF_IPMP_ToolList * | IPMPToolList | |
| struct GF_IsomObjectDescriptor |
| struct GF_IsomInitialObjectDescriptor |
File Format Initial Object Descriptor - same remark as IOD
Collaboration diagram for GF_IsomInitialObjectDescriptor:| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u16 | objectDescriptorID | |
| char * | URLString | |
| GF_List * | ES_ID_RefDescriptors | |
| GF_List * | OCIDescriptors | |
| GF_List * | IPMP_Descriptors | |
| GF_List * | extensionDescriptors | |
| GF_List * | ES_ID_IncDescriptors | |
| u8 | inlineProfileFlag | |
| u8 | OD_profileAndLevel | |
| u8 | scene_profileAndLevel | |
| u8 | audio_profileAndLevel | |
| u8 | visual_profileAndLevel | |
| u8 | graphics_profileAndLevel | |
| GF_IPMP_ToolList * | IPMPToolList | |
| struct GF_ES_ID_Inc |
File Format ES Descriptor for IOD
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u32 | trackID | |
| struct GF_ES_ID_Ref |
File Format ES Descriptor for OD
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u16 | trackRef | |
| struct GF_DecoderConfig |
Decoder config Descriptor
Collaboration diagram for GF_DecoderConfig:| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u32 | objectTypeIndication | |
| u8 | streamType | |
| u8 | upstream | |
| u32 | bufferSizeDB | |
| u32 | maxBitrate | |
| u32 | avgBitrate | |
| GF_DefaultDescriptor * | decoderSpecificInfo | |
| u16 | predefined_rvc_config | |
| GF_DefaultDescriptor * | rvc_config | |
| GF_List * | profileLevelIndicationIndexDescriptor | |
| void * | udta | |
| struct GF_CIDesc |
| struct GF_SCIDesc |
Supplementary Content Identification Descriptor)
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u32 | languageCode | |
| char * | supplContentIdentifierTitle | |
| char * | supplContentIdentifierValue | |
| struct GF_IPIPtr |
IPI (Intelectual Property Identification) Descriptor Pointer
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u16 | IPI_ES_Id | |
| struct GF_IPMPPtr |
IPMP Descriptor Pointer
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u8 | IPMP_DescriptorID | |
| u16 | IPMP_DescriptorIDEx | |
| u16 | IPMP_ES_ID | |
| struct GF_GF_IPMPX_Base |
IPMPX base object used for type casting in many function
| struct GF_IPMP_Descriptor |
| struct GF_IPMP_Tool |
IPMPX Tool
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR bin128 | IPMP_ToolID | |
| u32 | num_alternate | |
| bin128 | specificToolID[MAX_IPMP_ALT_TOOLS] | |
| struct _tagIPMPXParamDesc * | toolParamDesc | |
| char * | tool_url | |
| struct GF_ElementaryMask |
Elementary Mask of Bifs Config - parsing only
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u32 | node_id | |
| char * | node_name | |
| struct GF_BIFSConfig |
| struct GF_StyleRecord |
| struct GF_FontRecord |
font record for text
| Data Fields | ||
|---|---|---|
| u16 | fontID | |
| char * | fontName | |
| struct GF_TextSampleDescriptor |
Text sample description descriptor (eg mostly a copy of ISOBMF sample entry)
Collaboration diagram for GF_TextSampleDescriptor:| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u32 | displayFlags | |
| s8 | horiz_justif | |
| s8 | vert_justif | |
| u32 | back_color | |
| GF_BoxRecord | default_pos | |
| GF_StyleRecord | default_style | |
| u32 | font_count | |
| GF_FontRecord * | fonts | |
| u8 | sample_index | |
| struct GF_TextConfig |
Text stream descriptor, internal only
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u8 | Base3GPPFormat | |
| u8 | MPEGExtendedFormat | |
| u8 | profileLevel | |
| u32 | timescale | |
| u8 | sampleDescriptionFlags | |
| s16 | layer | |
| u16 | text_width | |
| u16 | text_height | |
| u8 | nb_compatible_formats | |
| u8 | compatible_formats[20] | |
| GF_List * | sample_descriptions | |
| Bool | has_vid_info | |
| u16 | video_width | |
| u16 | video_height | |
| s16 | horiz_offset | |
| s16 | vert_offset | |
| struct GF_GenericSubtitleSampleDescriptor |
generic subtitle sample description descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u8 | sample_index | |
| struct GF_GenericSubtitleConfig |
| struct GF_MuxInfo |
MuxInfo descriptor - parsing only, stored in ESD:extDescr
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR char * | file_name | |
| u32 | GroupID | |
| char * | streamFormat | |
| s32 | startTime | |
| u32 | duration | |
| char * | textNode | |
| char * | fontNode | |
| Double | frame_rate | |
| u32 | import_flags | |
| Bool | delete_file | |
| u32 | carousel_period_plus_one | |
| u16 | aggregate_on_esid | |
| char * | src_url | |
| struct GF_UIConfig |
UI config descriptor for InputSensor streams
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR char * | deviceName | |
| char | termChar | |
| char | delChar | |
| u8 * | ui_data | |
| u32 | ui_data_length | |
| struct GF_LASERConfig |
LASERConfig - parsing only, STORED IN ESD:DCD:DSI
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u8 | profile | |
| u8 | level | |
| u8 | pointsCodec | |
| u8 | pathComponents | |
| u8 | fullRequestHost | |
| u16 | time_resolution | |
| u8 | colorComponentBits | |
| s8 | resolution | |
| u8 | coord_bits | |
| u8 | scale_bits_minus_coord_bits | |
| u8 | newSceneIndicator | |
| u8 | extensionIDBits | |
| Bool | force_string_ids | |
| struct GF_QoS_Descriptor |
QoS Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u8 | predefined | |
| GF_List * | QoS_Qualifiers | |
| struct GF_QoS_Default |
QoS Default Qualifier
| struct GF_QoS_MaxDelay |
QoS Max Delay Qualifier
| Data Fields | ||
|---|---|---|
| QOS_BASE_QUALIFIER u32 | MaxDelay | |
| struct GF_QoS_PrefMaxDelay |
QoS preferred Max Delay Qualifier
| Data Fields | ||
|---|---|---|
| QOS_BASE_QUALIFIER u32 | PrefMaxDelay | |
| struct GF_QoS_LossProb |
QoS loss probability Qualifier
| Data Fields | ||
|---|---|---|
| QOS_BASE_QUALIFIER Float | LossProb | |
| struct GF_QoS_MaxGapLoss |
QoS Max Gap Loss Qualifier
| Data Fields | ||
|---|---|---|
| QOS_BASE_QUALIFIER u32 | MaxGapLoss | |
| struct GF_QoS_MaxAUSize |
QoS Max AU Size Qualifier
| Data Fields | ||
|---|---|---|
| QOS_BASE_QUALIFIER u32 | MaxAUSize | |
| struct GF_QoS_AvgAUSize |
QoS Average AU Size Qualifier
| Data Fields | ||
|---|---|---|
| QOS_BASE_QUALIFIER u32 | AvgAUSize | |
| struct GF_QoS_MaxAURate |
QoS AU rate Qualifier
| Data Fields | ||
|---|---|---|
| QOS_BASE_QUALIFIER u32 | MaxAURate | |
| struct GF_QoS_Private |
QoS private Qualifier
| Data Fields | ||
|---|---|---|
| QOS_BASE_QUALIFIER u32 | DataLength |
max size class is 2^28 - 1 |
| u8 * | Data | |
| struct GF_Registration |
Registration Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u32 | formatIdentifier | |
| u32 | dataLength | |
| u8 * | additionalIdentificationInfo | |
| struct GF_Language |
Language Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u32 | langCode | |
| char * | full_lang_code | |
| struct GF_ESD |
Elementary Stream Descriptor
Collaboration diagram for GF_ESD:| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u16 | ESID | |
| u16 | OCRESID | |
| u16 | dependsOnESID | |
| u8 | streamPriority | |
| char * | URLString | |
| GF_DecoderConfig * | decoderConfig | |
| GF_SLConfig * | slConfig | |
| GF_IPIPtr * | ipiPtr | |
| GF_QoS_Descriptor * | qos | |
| GF_Registration * | RegDescriptor | |
| GF_Language * | langDesc |
0 or 1 lang desc |
| GF_List * | IPIDataSet | |
| GF_List * | IPMPDescriptorPointers | |
| GF_List * | extensionDescriptors | |
| Bool | has_scalable_layers |
1 if this stream has scalable layers, 0 otherwise (GPAC internals) |
| const char * | service_url |
service URL (GPAC internals) |
| struct GF_AuxVideoDescriptor |
| struct GF_CCDescriptor |
Content Classification Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u32 | classificationEntity | |
| u16 | classificationTable | |
| u32 | dataLength | |
| char * | contentClassificationData | |
| struct GF_KeyWordItem |
this structure is used in GF_KeyWord
| Data Fields | ||
|---|---|---|
| char * | keyWord | |
| struct GF_KeyWord |
Key Word Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u32 | languageCode | |
| u8 | isUTF8 | |
| GF_List * | keyWordsList | |
| struct GF_Rating |
Rating Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u32 | ratingEntity | |
| u16 | ratingCriteria | |
| u32 | infoLength | |
| char * | ratingInfo | |
| struct GF_ShortTextual |
Short Textual Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u32 | langCode | |
| u8 | isUTF8 | |
| char * | eventName | |
| char * | eventText | |
| struct GF_ETD_ItemText |
this structure is used in GF_ExpandedTextual
| Data Fields | ||
|---|---|---|
| char * | text | |
| struct GF_ExpandedTextual |
Expanded Textual Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u32 | langCode | |
| u8 | isUTF8 | |
| GF_List * | itemDescriptionList | |
| GF_List * | itemTextList | |
| char * | NonItemText | |
| struct GF_ContentCreatorInfo |
this structure is used in GF_CC_Name
| Data Fields | ||
|---|---|---|
| u32 | langCode | |
| u8 | isUTF8 | |
| char * | contentCreatorName | |
| struct GF_CC_Name |
Content Creator Name GF_Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR GF_List * | ContentCreators | |
| struct GF_CC_Date |
Content Creation Date Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR char | contentCreationDate[5] | |
| struct GF_OCICreator_item |
this structure is used in GF_OCICreators
| Data Fields | ||
|---|---|---|
| u32 | langCode | |
| u8 | isUTF8 | |
| char * | OCICreatorName | |
| struct GF_OCICreators |
OCI Creator Name Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR GF_List * | OCICreators | |
| struct GF_OCI_Data |
OCI Creation Date Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR char | OCICreationDate[5] | |
| struct GF_SmpteParam |
this structure is used in GF_SMPTECamera
| Data Fields | ||
|---|---|---|
| u8 | paramID | |
| u32 | param | |
| struct GF_SMPTECamera |
Smpte Camera Position Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u8 | cameraID | |
| GF_List * | ParamList | |
| struct GF_PLExt |
| struct GF_PL_IDX |
Profile Level Indication Index Descriptor
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR u8 | profileLevelIndicationIndex | |
| struct GF_NALUFFParam |
| struct GF_AVCConfig |
AVC config record - not a real MPEG-4 descriptor
| Data Fields | ||
|---|---|---|
| u8 | configurationVersion | |
| u8 | AVCProfileIndication | |
| u8 | profile_compatibility | |
| u8 | AVCLevelIndication | |
| u8 | nal_unit_size | |
| GF_List * | sequenceParameterSets | |
| GF_List * | pictureParameterSets | |
| u8 | complete_representation | |
| u8 | chroma_format | |
| u8 | luma_bit_depth | |
| u8 | chroma_bit_depth | |
| GF_List * | sequenceParameterSetExtensions | |
| Bool | write_annex_b | |
| struct GF_NALUFFParamArray |
| struct GF_HEVCConfig |
HEVC config record - not a real MPEG-4 descriptor
| Data Fields | ||
|---|---|---|
| u8 | configurationVersion | |
| u8 | profile_space | |
| u8 | tier_flag | |
| u8 | profile_idc | |
| u32 | general_profile_compatibility_flags | |
| u8 | progressive_source_flag | |
| u8 | interlaced_source_flag | |
| u8 | non_packed_constraint_flag | |
| u8 | frame_only_constraint_flag | |
| u64 | constraint_indicator_flags | |
| u8 | level_idc | |
| u16 | min_spatial_segmentation_idc | |
| u8 | parallelismType | |
| u8 | chromaFormat | |
| u8 | luma_bit_depth | |
| u8 | chroma_bit_depth | |
| u16 | avgFrameRate | |
| u8 | constantFrameRate | |
| u8 | numTemporalLayers | |
| u8 | temporalIdNested | |
| u8 | nal_unit_size | |
| GF_List * | param_array | |
| Bool | complete_representation | |
| Bool | is_lhvc | |
| Bool | write_annex_b | |
| struct GF_VVCConfig |
VVC config record - not a real MPEG-4 descriptor
| Data Fields | ||
|---|---|---|
| u8 | general_profile_idc | |
| u8 | general_tier_flag | |
| u8 | general_sub_profile_idc | |
| u8 | num_constraint_info | |
| u8 * | general_constraint_info | |
| u8 | general_level_idc | |
| u8 | ptl_sublayer_present_mask | |
| u8 | sublayer_level_idc[8] | |
| u8 | chroma_format | |
| u8 | bit_depth | |
| u16 | avgFrameRate | |
| u8 | constantFrameRate | |
| u8 | numTemporalLayers | |
| u16 | maxPictureWidth | |
| u16 | maxPictureHeight | |
| Bool | ptl_present | |
| Bool | ptl_frame_only_constraint | |
| Bool | ptl_multilayer_enabled | |
| u8 | num_sub_profiles | |
| u32 * | sub_profiles_idc | |
| u16 | ols_idx | |
| u8 | nal_unit_size | |
| GF_List * | param_array | |
| Bool | write_annex_b | |
| struct GF_AV1_OBUArrayEntry |
| struct GF_AV1Config |
AV1 config record - not a real MPEG-4 descriptor
| Data Fields | ||
|---|---|---|
| Bool | marker | |
| u8 | version | |
| u8 | seq_profile | |
| u8 | seq_level_idx_0 | |
| Bool | seq_tier_0 | |
| Bool | high_bitdepth | |
| Bool | twelve_bit | |
| Bool | monochrome | |
| Bool | chroma_subsampling_x | |
| Bool | chroma_subsampling_y | |
| u8 | chroma_sample_position | |
| Bool | initial_presentation_delay_present | |
| u8 | initial_presentation_delay_minus_one | |
| GF_List * | obu_array | |
| struct GF_VPConfig |
VP8-9 config vpcC
| Data Fields | ||
|---|---|---|
| u8 | profile | |
| u8 | level | |
| u8 | bit_depth | |
| u8 | chroma_subsampling | |
| Bool | video_fullRange_flag | |
| u8 | colour_primaries | |
| u8 | transfer_characteristics | |
| u8 | matrix_coefficients | |
| u16 | codec_initdata_size | |
| u8 * | codec_initdata | |
| int | RefFrameWidth[VP9_NUM_REF_FRAMES] | |
| int | RefFrameHeight[VP9_NUM_REF_FRAMES] | |
| struct GF_DOVIDecoderConfigurationRecord |
| struct GF_Segment |
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR Double | startTime | |
| Double | Duration | |
| char * | SegmentName | |
| struct GF_MediaTime |
| Data Fields | ||
|---|---|---|
| BASE_DESCRIPTOR Double | mediaTimeStamp | |
| struct GF_ODCom |
MPEG-4 SYSTEMS OD - (abstract) base command.
| struct GF_BaseODCom |
MPEG-4 SYSTEMS OD - default command
| Data Fields | ||
|---|---|---|
| BASE_OD_COMMAND u32 | dataSize | |
| u8 * | data | |
| struct GF_ODUpdate |
MPEG-4 SYSTEMS OD - Object Descriptor Update NB: the list can contain OD or IOD, except internally in the File Format (only MP4_OD)
| Data Fields | ||
|---|---|---|
| BASE_OD_COMMAND GF_List * | objectDescriptors | |
| struct GF_ODRemove |
MPEG-4 SYSTEMS OD - Object Descriptor Remove
| Data Fields | ||
|---|---|---|
| BASE_OD_COMMAND u32 | NbODs | |
| u16 * | OD_ID | |
| struct GF_ESDUpdate |
MPEG-4 SYSTEMS OD - Elementary Stream Descriptor Update
| Data Fields | ||
|---|---|---|
| BASE_OD_COMMAND u16 | ODID | |
| GF_List * | ESDescriptors | |
| struct GF_ESDRemove |
MPEG-4 SYSTEMS OD - Elementary Stream Descriptor Remove
| Data Fields | ||
|---|---|---|
| BASE_OD_COMMAND u16 | ODID | |
| u32 | NbESDs | |
| u16 * | ES_ID | |
| struct GF_IPMPUpdate |
MPEG-4 SYSTEMS OD - IPMP Descriptor Update
| Data Fields | ||
|---|---|---|
| BASE_OD_COMMAND GF_List * | IPMPDescList | |
| struct GF_IPMPRemove |
MPEG-4 SYSTEMS OD - IPMP Descriptor Remove
| Data Fields | ||
|---|---|---|
| BASE_OD_COMMAND u32 | NbIPMPDs | |
| u8 * | IPMPDescID | |
| struct GF_ODCodec |
| struct GF_AC3StreamInfo |
AC-3 and E-AC3 stream info
| Data Fields | ||
|---|---|---|
| u8 | fscod |
AC3 fs code |
| u8 | bsid |
AC3 bsid code |
| u8 | bsmod |
AC3 bs mode |
| u8 | acmod |
AC3 ac mode |
| u8 | lfon |
LF on |
| u8 | asvc |
asvc mode, only for EC3 |
| u8 | channels |
number of channels, including lfe and surround channels |
| u8 | surround_channels |
number of surround channels |
| u8 | nb_dep_sub |
number of dependent substreams, only for EC3 |
| u16 | chan_loc |
channel locations for dependent substreams, only for EC3 |
| struct GF_AC3Config |
AC3 config record - see dolby specs ETSI TS 102 366
Collaboration diagram for GF_AC3Config:| Data Fields | ||
|---|---|---|
| GF_AC3StreamInfo | streams[8] |
streams info - for AC3, always the first |
| u8 | nb_streams |
number of independent streams : 1 for AC3 max 8 for EC3 |
| u8 | is_ec3 |
indicates if frame is ec3 |
| u16 | brcode |
if AC3 this is the bitrate code , otherwise cumulated data rate of EAC3 streams in kbps |
| u32 | sample_rate |
sample rate - all additional streams shall have the same sample rate as first independent stream in EC3 |
| u32 | framesize |
size of the complete frame |
| u8 | atmos_ec3_ext |
atmos EC3 flag |
| u8 | complexity_index_type |
atmos complexity index |
| struct GF_AC4SubStream |
| Data Fields | ||
|---|---|---|
| u8 | b_4_back_channels_present | |
| u8 | b_centre_present | |
| u8 | top_channels_present | |
| u8 | dsi_sf_multiplier | |
| u8 | b_substream_bitrate_indicator | |
| u8 | substream_bitrate_indicator | |
| u32 | dsi_substream_channel_mask | |
| u8 | b_ajoc | |
| u8 | b_static_dmx | |
| u8 | n_dmx_objects_minus1 | |
| u8 | n_umx_objects_minus1 | |
| u8 | b_substream_contains_bed_objects | |
| u8 | b_substream_contains_dynamic_objects | |
| u8 | b_substream_contains_ISF_objects | |
| u8 | b_lfe | |
| u32 | ch_mode | |
| struct GF_AC4SubStreamGroupV1 |
| struct GF_AC4AlternativeInfo |
| struct GF_AC4PresentationV1 |
Collaboration diagram for GF_AC4PresentationV1:| Data Fields | ||
|---|---|---|
| u8 | presentation_version | |
| u8 | presentation_config | |
| u8 | mdcompat | |
| u8 | b_presentation_id | |
| u8 | presentation_id | |
| u8 | dsi_frame_rate_multiply_info | |
| u8 | dsi_frame_rate_fraction_info | |
| u8 | presentation_emdf_version | |
| u16 | presentation_key_id | |
| u8 | b_presentation_channel_coded | |
| u8 | dsi_presentation_ch_mode | |
| u8 | pres_b_4_back_channels_present | |
| u8 | pres_top_channel_pairs | |
| u32 | presentation_channel_mask_v1 | |
| u8 | b_presentation_core_differs | |
| u8 | b_presentation_core_channel_coded | |
| u8 | dsi_presentation_channel_mode_core | |
| u8 | b_presentation_filter | |
| u8 | b_enable_presentation | |
| u8 | n_filter_bytes | |
| u8 | b_multi_pid | |
| u8 | n_skip_bytes | |
| u8 | b_pre_virtualized | |
| u8 | b_add_emdf_substreams | |
| u8 | n_add_emdf_substreams | |
| u8 | substream_emdf_version[128] | |
| u16 | substream_key_id[128] | |
| u8 | b_presentation_bitrate_info | |
| GF_AC4BitrateDsi | ac4_bitrate_dsi | |
| u8 | b_alternative | |
| GF_AC4AlternativeInfo | alternative_info | |
| u8 | de_indicator | |
| u8 | dolby_atmos_indicator | |
| u8 | b_extended_presentation_id | |
| u16 | extended_presentation_id | |
| u8 | n_substream_groups | |
| GF_List * | substream_groups | |
| GF_List * | substream_group_indexs | |
| struct GF_AC4StreamInfo |
AC-4 stream info
Collaboration diagram for GF_AC4StreamInfo:| Data Fields | ||
|---|---|---|
| u8 | ac4_dsi_version | |
| u8 | bitstream_version | |
| u8 | fs_index | |
| u8 | frame_rate_index | |
| u8 | b_iframe_global | |
| u8 | b_program_id | |
| u16 | short_program_id | |
| u8 | b_uuid | |
| u8 | program_uuid[16] | |
| GF_AC4BitrateDsi | ac4_bitrate_dsi | |
| u16 | n_presentations | |
| GF_List * | presentations | |
| struct GF_AC4Config |
| struct GF_OpusConfig |
Opus decoder config
| Data Fields | ||
|---|---|---|
| u8 | version | version (should be 1) |
| u8 | OutputChannelCount | same value as the Output Channel Count field in the identification header defined in Ogg Opus [3] |
| u16 | PreSkip | The value of the PreSkip field shall be at least 80 milliseconds' worth of PCM samples even when removing any number of Opus samples which may or may not contain the priming samples. The PreSkip field is not used for discarding the priming samples at the whole playback at all since it is informative only, and that task falls on the Edit List Box. |
| u32 | InputSampleRate | The InputSampleRate field shall be set to the same value as the Input Sample Rate field in the identification header defined in Ogg Opus. |
| s16 | OutputGain | The OutputGain field shall be set to the same value as the Output Gain field in the identification header define in Ogg Opus [3]. Note that the value is stored as 8.8 fixed-point. |
| u8 | ChannelMappingFamily | The ChannelMappingFamily field shall be set to the same value as the Channel Mapping Family field in the identification header defined in Ogg Opus [3]. Note that the value 255 may be used for an alternative to map channels by ISO Base Media native mapping. The details are described in 4.5.1. |
| u8 | StreamCount | The StreamCount field shall be set to the same value as the Stream Count field in the identification header defined in Ogg Opus [3]. |
| u8 | CoupledCount | The CoupledCount field shall be set to the same value as the Coupled Count field in the identification header defined in Ogg Opus [3]. |
| u8 | ChannelMapping[255] | The ChannelMapping field shall be set to the same octet string as Channel Mapping field in the identi- fication header defined in Ogg Opus [3]. |
| struct GF_IamfObu |
| struct GF_IAConfig |
| struct GF_DTSConfig |
| struct GF_UDTSConfig |
UDTS audio configuration
| Data Fields | ||
|---|---|---|
| u8 | DecoderProfileCode | |
| u8 | FrameDurationCode | |
| u8 | MaxPayloadCode | |
| u8 | NumPresentationsCode | |
| u32 | ChannelMask | |
| u8 | BaseSamplingFrequencyCode | |
| u8 | SampleRateMod | |
| u8 | RepresentationType | |
| u8 | StreamIndex | |
| u8 | ExpansionBoxPresent | |
| u8 | IDTagPresent[32] | |
| u8 * | PresentationIDTagData | |
| u16 | PresentationIDTagDataSize | |
| u8 * | ExpansionBoxData | |
| u32 | ExpansionBoxDataSize | |
| struct GF_SLConfig |
MPEG-4 Object Descriptor Framework Sync Layer.
This section documents the MPEG-4 OD Sync Layer used in GPAC.
| Data Fields | ||
|---|---|---|
| u8 | tag | |
| u8 | predefined | |
| u8 | useAccessUnitStartFlag | |
| u8 | useAccessUnitEndFlag | |
| u8 | useRandomAccessPointFlag | |
| u8 | hasRandomAccessUnitsOnlyFlag | |
| u8 | usePaddingFlag | |
| u8 | useTimestampsFlag | |
| u8 | useIdleFlag | |
| u8 | durationFlag | |
| u32 | timestampResolution | |
| u32 | OCRResolution | |
| u8 | timestampLength | |
| u8 | OCRLength | |
| u8 | AULength | |
| u8 | instantBitrateLength | |
| u8 | degradationPriorityLength | |
| u8 | AUSeqNumLength | |
| u8 | packetSeqNumLength | |
| u32 | timeScale | |
| u16 | AUDuration | |
| u16 | CUDuration | |
| u64 | startDTS | |
| u64 | startCTS | |
| Bool | no_dts_signaling | |
| u32 | carousel_version | |
| #define BASE_DESCRIPTOR u8 tag; |
macro defining a base descriptor
| #define GF_IPMPX_BASE |
| #define MAX_IPMP_ALT_TOOLS 20 |
IPMPX max number of tools
| #define VP9_NUM_REF_FRAMES 8 |
max number of reference frames for VP9
| #define BASE_OD_COMMAND u8 tag; |
macro defining a base OD command
| #define GF_AC4_DESCMODE_PARSE 0 |
| #define GF_AC4_DESCMODE_WRITE 1 |
| #define GF_AC4_DESCMODE_GETSIZE 2 |
| typedef GF_NALUFFParam GF_AVCConfigSlot |
pre v1.1 naming of NALU config record
| typedef GF_NALUFFParamArray GF_HEVCParamArray |
pre v1.1 naming of NALU param array
| anonymous enum |
Tags for MPEG-4 systems descriptors
| anonymous enum |
| anonymous enum |
| anonymous enum |
| anonymous enum |
display flags for text
| anonymous enum |
| anonymous enum |
| enum GF_ODF_FieldType |
field type for OD/QoS/IPMPX/etc
| GF_ODCodec * gf_odf_codec_new | ( | ) |
OD codec construction
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_odf_codec_del | ( | GF_ODCodec * | codec | ) |
OD codec destruction
| codec | OD codec to destroy |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_codec_add_com | ( | GF_ODCodec * | codec, |
| GF_ODCom * | command | ||
| ) |
add a command to the codec command list.
| codec | target codec |
| command | command to add |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_codec_encode | ( | GF_ODCodec * | codec, |
| u32 | cleanup_type | ||
| ) |
encode the current command list.
| codec | target codec |
| cleanup_type | specifies what to do with the command after encoding. The following values are accepted: 0: commands are removed from the list but not destroyed 1: commands are removed from the list and destroyed 2: commands are kept in the list and not destroyed |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_codec_get_au | ( | GF_ODCodec * | codec, |
| u8 ** | outAU, | ||
| u32 * | au_length | ||
| ) |
get the encoded AU.
| codec | target codec |
| outAU | output buffer allocated by the codec, user is responsible of freeing the allocated space |
| au_length | size of the AU (allocated buffer) |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_codec_set_au | ( | GF_ODCodec * | codec, |
| const u8 * | au, | ||
| u32 | au_length | ||
| ) |
set the encoded AU to the codec
| codec | target codec |
| au | target AU to decode |
| au_length | size in bytes of the AU to decode |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_codec_decode | ( | GF_ODCodec * | codec | ) |
decode the previously set-up AU
| codec | target codec |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_ODCom * gf_odf_codec_get_com | ( | GF_ODCodec * | codec | ) |
get the first OD command in the list. Once called, the command is removed from the command list. Return NULL when commandList is empty
| codec | target codec |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_codec_apply_com | ( | GF_ODCodec * | codec, |
| GF_ODCom * | command | ||
| ) |
apply a command to the codec command list. Command is duplicated if needed This is used for state maintenance and RAP generation.
| codec | target codec |
| command | the command to apply |
Here is the call graph for this function:
Here is the caller graph for this function:MPEG-4 SYSTEMS OD Command Creation
| tag | type of command to create |
Here is the call graph for this function:
Here is the caller graph for this function:MPEG-4 SYSTEMS OD Command Destruction
| com | the command to delete. Pointer is set back to NULL |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Descriptor * gf_odf_desc_new | ( | u8 | tag | ) |
Descriptors Creation
| tag | type of descriptor to create |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_odf_desc_del | ( | GF_Descriptor * | desc | ) |
Descriptors Destruction
| desc | the descriptor to destroy |
Here is the call graph for this function:
Here is the caller graph for this function:helper for building a preformatted GF_ESD with decoderConfig, decoderSpecificInfo with no data and SLConfig descriptor with predefined
| sl_predefined | type of predefined sl config |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_BIFSConfig * gf_odf_get_bifs_config | ( | GF_DefaultDescriptor * | dsi, |
| u32 | codecid | ||
| ) |
special function for authoring - convert DSI to BIFSConfig
| dsi | BIFS decoder specific info |
| codecid | BIFS codecid/object type indication |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_get_laser_config | ( | GF_DefaultDescriptor * | dsi, |
| GF_LASERConfig * | cfg | ||
| ) |
special function for authoring - convert DSI to LASERConfig
| dsi | LASER decoder specific info |
| cfg | the LASER config object to be filled |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_get_text_config | ( | u8 * | data, |
| u32 | data_len, | ||
| u32 | codecid, | ||
| GF_TextConfig * | cfg | ||
| ) |
special function for authoring - convert DSI to TextConfig
| data | TEXT decoder config block |
| data_len | TEXT decoder config block size |
| codecid | TEXT codecid/object type indication |
| cfg | the text config object to be filled |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_encode_ui_config | ( | GF_UIConfig * | cfg, |
| GF_DefaultDescriptor ** | out_dsi | ||
| ) |
converts UIConfig to dsi - does not destroy input descr but does create output one
| cfg | the UI config object |
| out_dsi | the decoder specific info created. It is the caller responsibility of freeing it |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_AVCConfig * gf_odf_avc_cfg_new | ( | ) |
AVC config constructor
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_odf_avc_cfg_del | ( | GF_AVCConfig * | cfg | ) |
AVC config destructor
| cfg | the AVC config to destroy |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_AVCConfig * gf_odf_avc_cfg_read | ( | u8 * | dsi, |
| u32 | dsi_size | ||
| ) |
gets GF_AVCConfig from MPEG-4 DSI
| dsi | encoded AVC decoder specific info |
| dsi_size | encoded AVC decoder specific info size |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_avc_cfg_write | ( | GF_AVCConfig * | cfg, |
| u8 ** | outData, | ||
| u32 * | outSize | ||
| ) |
writes GF_AVCConfig
| cfg | the AVC config to encode |
| outData | encoded dsi buffer - it is the caller responsibility to free this |
| outSize | encoded dsi buffer size |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_avc_cfg_write_bs | ( | GF_AVCConfig * | cfg, |
| GF_BitStream * | bs | ||
| ) |
writes GF_AVCConfig to bitstream
| cfg | the AVC config to encode |
| bs | bitstream in WRITE mode |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_tx3g_write | ( | GF_TextSampleDescriptor * | cfg, |
| u8 ** | outData, | ||
| u32 * | outSize | ||
| ) |
writes GF_TextSampleDescriptor
| cfg | the text config to encode |
| outData | address of output buffer (internal alloc, user to free it) |
| outSize | size of the allocated output |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_TextSampleDescriptor * gf_odf_tx3g_read | ( | u8 * | dsi, |
| u32 | dsi_size | ||
| ) |
gets GF_TextSampleDescriptor from buffer
| dsi | encoded text sample description |
| dsi_size | size of encoded description |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_HEVCConfig * gf_odf_hevc_cfg_new | ( | ) |
HEVC config constructor
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_odf_hevc_cfg_del | ( | GF_HEVCConfig * | cfg | ) |
HEVC config destructor
| cfg | the HEVC config to destroy |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_hevc_cfg_write_bs | ( | GF_HEVCConfig * | cfg, |
| GF_BitStream * | bs | ||
| ) |
writes GF_HEVCConfig as MPEG-4 DSI in a bitstream object
| cfg | the HEVC config to encode |
| bs | output bitstream object in which the config is written |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_hevc_cfg_write | ( | GF_HEVCConfig * | cfg, |
| u8 ** | outData, | ||
| u32 * | outSize | ||
| ) |
writes GF_HEVCConfig as MPEG-4 DSI
| cfg | the HEVC config to encode |
| outData | encoded dsi buffer - it is the caller responsibility to free this |
| outSize | encoded dsi buffer size |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_HEVCConfig * gf_odf_hevc_cfg_read_bs | ( | GF_BitStream * | bs, |
| Bool | is_lhvc | ||
| ) |
gets GF_HEVCConfig from bitstream MPEG-4 DSI
| bs | bitstream containing the encoded HEVC decoder specific info |
| is_lhvc | if GF_TRUE, indicates if the dsi is LHVC |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_HEVCConfig * gf_odf_hevc_cfg_read | ( | u8 * | dsi, |
| u32 | dsi_size, | ||
| Bool | is_lhvc | ||
| ) |
gets GF_HEVCConfig from MPEG-4 DSI
| dsi | encoded HEVC decoder specific info |
| dsi_size | encoded HEVC decoder specific info size |
| is_lhvc | if GF_TRUE, indicates if the dsi is LHVC |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_VVCConfig * gf_odf_vvc_cfg_new | ( | ) |
VVC config constructor
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_odf_vvc_cfg_del | ( | GF_VVCConfig * | cfg | ) |
VVC config destructor
| cfg | the VVC config to destroy |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_vvc_cfg_write_bs | ( | GF_VVCConfig * | cfg, |
| GF_BitStream * | bs | ||
| ) |
writes GF_VVCConfig as MPEG-4 DSI in a bitstream object
| cfg | the VVC config to encode |
| bs | output bitstream object in which the config is written |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_vvc_cfg_write | ( | GF_VVCConfig * | cfg, |
| u8 ** | outData, | ||
| u32 * | outSize | ||
| ) |
writes GF_VVCConfig as MPEG-4 DSI
| cfg | the VVC config to encode |
| outData | encoded dsi buffer - it is the caller responsibility to free this |
| outSize | encoded dsi buffer size |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_VVCConfig * gf_odf_vvc_cfg_read_bs | ( | GF_BitStream * | bs | ) |
gets GF_VVCConfig from bitstream MPEG-4 DSI
| bs | bitstream containing the encoded VVC decoder specific info |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_VVCConfig * gf_odf_vvc_cfg_read | ( | u8 * | dsi, |
| u32 | dsi_size | ||
| ) |
gets GF_VVCConfig from MPEG-4 DSI
| dsi | encoded VVC decoder specific info |
| dsi_size | encoded VVC decoder specific info size |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_AV1Config * gf_odf_av1_cfg_new | ( | ) |
AV1 config constructor
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_odf_av1_cfg_del | ( | GF_AV1Config * | cfg | ) |
AV1 config destructor
| cfg | the AV1 config to destroy |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_av1_cfg_write | ( | GF_AV1Config * | cfg, |
| u8 ** | outData, | ||
| u32 * | outSize | ||
| ) |
writes AV1 config to buffer
| cfg | the AV1 config to write |
| outData | set to an allocated encoded buffer - it is the caller responsibility to free this |
| outSize | set to the encoded dsi buffer size |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_av1_cfg_write_bs | ( | GF_AV1Config * | cfg, |
| GF_BitStream * | bs | ||
| ) |
writes AV1 config to bitstream
| cfg | the AV1 config to write |
| bs | bitstream containing the encoded AV1 decoder specific info |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_AV1Config * gf_odf_av1_cfg_read_bs | ( | GF_BitStream * | bs | ) |
gets AV1 config from bitstream
| bs | bitstream containing the encoded AV1 decoder specific info |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_AV1Config * gf_odf_av1_cfg_read_bs_size | ( | GF_BitStream * | bs, |
| u32 | size | ||
| ) |
gets AV1 config to bitstream
| bs | bitstream containing the encoded AV1 decoder specific info |
| size | size of encoded structure in the bitstream. A value of 0 means "until the end", equivalent to gf_odf_av1_cfg_read_bs |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_AV1Config * gf_odf_av1_cfg_read | ( | u8 * | dsi, |
| u32 | dsi_size | ||
| ) |
gets AV1 config from buffer
| dsi | encoded AV1 config |
| dsi_size | size of encoded AV1 config |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_VPConfig * gf_odf_vp_cfg_new | ( | ) |
creates a VPx (VP8, VP9) descriptor
Here is the caller graph for this function:| void gf_odf_vp_cfg_del | ( | GF_VPConfig * | cfg | ) |
destroys an VPx config
| cfg | the VPx config to destroy |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_vp_cfg_write_bs | ( | GF_VPConfig * | cfg, |
| GF_BitStream * | bs, | ||
| Bool | is_v0 | ||
| ) |
writes VPx config to bitstream
| cfg | the VPx config to write |
| bs | bitstream containing the encoded VPx decoder specific info |
| is_v0 | if GF_TRUE, this is a version 0 config |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_vp_cfg_write | ( | GF_VPConfig * | cfg, |
| u8 ** | outData, | ||
| u32 * | outSize, | ||
| Bool | is_v0 | ||
| ) |
writes VPx config to buffer
| cfg | the VPx config to write |
| outData | set to an allocated encoded buffer - it is the caller responsibility to free this |
| outSize | set to the encoded buffer size |
| is_v0 | if GF_TRUE, this is a version 0 config |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_VPConfig * gf_odf_vp_cfg_read_bs | ( | GF_BitStream * | bs, |
| Bool | is_v0 | ||
| ) |
gets VPx config to bitstream
| bs | bitstream containing the encoded VPx decoder specific info |
| is_v0 | if GF_TRUE, this is a version 0 config |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_VPConfig * gf_odf_vp_cfg_read | ( | u8 * | dsi, |
| u32 | dsi_size | ||
| ) |
gets VPx config from buffer
| dsi | encoded VPx config |
| dsi_size | size of encoded VPx config |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_DOVIDecoderConfigurationRecord * gf_odf_dovi_cfg_read_bs | ( | GF_BitStream * | bs | ) |
gets DolbyVision config to bitstream
| bs | bitstream containing the encoded VPx decoder specific info |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_dovi_cfg_write_bs | ( | GF_DOVIDecoderConfigurationRecord * | cfg, |
| GF_BitStream * | bs | ||
| ) |
writes DolbyVision config to buffer
| cfg | the DolbyVision config to write |
| bs | the bitstream object in which to write the config |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_odf_dovi_cfg_del | ( | GF_DOVIDecoderConfigurationRecord * | cfg | ) |
destroys a DolbyVision config
| cfg | the DolbyVision config to destroy |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_ac3_cfg_write_bs | ( | GF_AC3Config * | cfg, |
| GF_BitStream * | bs | ||
| ) |
writes Dolby AC3/EAC3 config to buffer
| cfg | the Dolby AC3 config to write |
| bs | the bitstream object in which to write the config |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_ac3_cfg_write | ( | GF_AC3Config * | cfg, |
| u8 ** | data, | ||
| u32 * | size | ||
| ) |
writes Dolby AC3/EAC3 config to buffer
| cfg | the Dolby AC3 config to write |
| data | set to created output buffer, must be freed by caller |
| size | set to created output buffer size |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_ac3_config_parse | ( | u8 * | dsi, |
| u32 | dsi_len, | ||
| Bool | is_ec3, | ||
| GF_AC3Config * | cfg | ||
| ) |
parses an AC3/EC3 sample description
| dsi | the encoded config |
| dsi_len | the encoded config size |
| is_ec3 | indicates that the encoded config is for an EC3 track |
| cfg | the AC3/EC3 config to fill |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_ac3_config_parse_bs | ( | GF_BitStream * | bs, |
| Bool | is_ec3, | ||
| GF_AC3Config * | cfg | ||
| ) |
parses an AC3/EC3 sample description from bitstream
| bs | the bitstream object |
| is_ec3 | indicates that the encoded config is for an EC3 track |
| cfg | the AC3/EC3 config to fill |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_ac4_cfg_dsi_v1 | ( | GF_AC4StreamInfo * | dsi, |
| GF_BitStream * | bs, | ||
| u64 * | size, | ||
| u8 | desc_mode | ||
| ) |
parse/write/get the size of Dolby AC4 DSI V1
| dsi | the GF_AC4StreamInfo to parse/write/get the size |
| bs | the bitstream object in which to write the config |
| size | the address of the size |
| desc_mode | the mode should be GF_AC4_DESCMODE_PARSE/GF_AC4_DESCMODE_WRITE/GF_AC4_DESCMODE_GETSIZE |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_ac4_cfg_write_bs | ( | GF_AC4Config * | cfg, |
| GF_BitStream * | bs | ||
| ) |
writes Dolby AC4 config to buffer
| cfg | the Dolby AC4 config to write |
| bs | the bitstream object in which to write the config |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_ac4_cfg_write | ( | GF_AC4Config * | cfg, |
| u8 ** | data, | ||
| u32 * | size | ||
| ) |
writes Dolby AC4 config to buffer
| cfg | the Dolby AC4 config to write |
| data | set to created output buffer, must be freed by caller |
| size | set to created output buffer size |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_ac4_cfg_parse | ( | u8 * | dsi, |
| u32 | dsi_len, | ||
| GF_AC4Config * | cfg | ||
| ) |
parses an AC4 sample description
| dsi | the encoded config |
| dsi_len | the encoded config size |
| cfg | the AC4 config to fill |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_ac4_cfg_parse_bs | ( | GF_BitStream * | bs, |
| GF_AC4Config * | cfg | ||
| ) |
parses an AC4 sample description from bitstream
| bs | the bitstream object |
| cfg | the AC4 config to fill |
Here is the call graph for this function:
Here is the caller graph for this function:| u64 gf_odf_ac4_cfg_size | ( | GF_AC4Config * | cfg | ) |
get the size of an AC4 sample description from bitstream
| cfg | the AC4 config to fill |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_odf_ac4_cfg_deep_copy | ( | GF_AC4Config * | dst, |
| GF_AC4Config * | src | ||
| ) |
copy the GF_AC4Config
| dst | the address of AC4 config to fill |
| src | the address of source |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_odf_ac4_presentation_deep_copy | ( | GF_AC4PresentationV1 * | pres_dst, |
| GF_AC4PresentationV1 * | pres_src | ||
| ) |
copy the GF_AC4PresentationV1
| pres_dst | the address of GF_AC4PresentationV1 to fill |
| pres_src | the address of source |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_odf_ac4_cfg_clean_list | ( | GF_AC4Config * | hdr | ) |
clean the GF_List data in GF_AC4Config
| hdr | the address of AC4 config to clean |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_odf_ac4_cfg_del | ( | GF_AC4Config * | cfg | ) |
destroy the GF_AC4Config
| cfg | the address of AC4 config to destroy |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_opus_cfg_write_bs | ( | GF_OpusConfig * | cfg, |
| GF_BitStream * | bs | ||
| ) |
writes Opus config to buffer
| cfg | the Opus config to write |
| bs | the bitstream object in which to write the config |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_opus_cfg_write | ( | GF_OpusConfig * | cfg, |
| u8 ** | data, | ||
| u32 * | size | ||
| ) |
writes Opus config to buffer
| cfg | the Opus config to write |
| data | set to created output buffer, must be freed by caller |
| size | set to created output buffer size |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_opus_cfg_parse | ( | u8 * | dsi, |
| u32 | dsi_len, | ||
| GF_OpusConfig * | cfg | ||
| ) |
parses an Opus sample description
| dsi | the encoded config |
| dsi_len | the encoded config size |
| cfg | the Opus config to fill |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_opus_cfg_parse_bs | ( | GF_BitStream * | bs, |
| GF_OpusConfig * | cfg | ||
| ) |
parses an Opus sample description from bitstream
| bs | the bitstream object |
| cfg | the Opus config to fill |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_IAConfig * gf_odf_iamf_cfg_new | ( | ) |
IAMF config constructor
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_iamf_cfg_write | ( | GF_IAConfig * | cfg, |
| u8 ** | outData, | ||
| u32 * | outSize | ||
| ) |
writes IAMF config to buffer
| cfg | the IAMF config to write |
| outData | set to an allocated encoded buffer - it is the caller responsibility to free this |
| outSize | set to the encoded dsi buffer size |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_iamf_cfg_write_bs | ( | GF_IAConfig * | cfg, |
| GF_BitStream * | bs | ||
| ) |
Writes the IAMF config to bitstream
| cfg | the IAMF config to write |
| bs | the bitstream object |
Here is the call graph for this function:
Here is the caller graph for this function:| void gf_odf_iamf_cfg_del | ( | GF_IAConfig * | cfg | ) |
IAMF config destructor
| cfg | the IAMF config to destroy |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_IAConfig * gf_odf_iamf_cfg_read | ( | u8 * | dsi, |
| u32 | dsi_size | ||
| ) |
gets GF_IAConfig from MPEG-4 DSI
| dsi | encoded IAMF decoder specific info |
| dsi_size | encoded IAMF decoder specific info size |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_IAConfig * gf_odf_iamf_cfg_read_bs | ( | GF_BitStream * | bs | ) |
Reads the IAMF config from the bitstream
| bs | bitstream containing the encoded IAMF descriptors |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_IAConfig * gf_odf_iamf_cfg_read_bs_size | ( | GF_BitStream * | bs, |
| u32 | size | ||
| ) |
Reads the IAMF config from the bitstream
| bs | bitstream containing the encoded IAMF descriptors |
| size | size of the encoded structure in the bitstream. A value of 0 means "until the end", equivalent to gf_odf_iamf_cfg_read_bs |
Here is the call graph for this function:
Here is the caller graph for this function:| u32 gf_odf_iamf_cfg_size | ( | GF_IAConfig * | cfg | ) |
Returns the size of the IAMF config
| cfg | the IAMF config |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_desc_list_del | ( | GF_List * | descList | ) |
destroy the descriptors in a list but not the list
| descList | descriptor list to destroy |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_desc_read | ( | u8 * | raw_desc, |
| u32 | descSize, | ||
| GF_Descriptor ** | outDesc | ||
| ) |
use this function to decode a standalone descriptor the raw descriptor MUST be formatted with tag and size field!!! a new desc is created and you must delete it when done
| raw_desc | encoded descriptor to decode |
| descSize | size of descriptor to decode |
| outDesc | output decoded descriptor - it is the caller responsibility to free this |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_desc_write | ( | GF_Descriptor * | desc, |
| u8 ** | outEncDesc, | ||
| u32 * | outSize | ||
| ) |
use this function to encode a standalone descriptor the desc will be formatted with tag and size field the output buffer is allocated and you must delete it when done
| desc | descriptor to encode |
| outEncDesc | output encoded descriptor - it is the caller responsibility to free this |
| outSize | size of encoded descriptor |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_desc_write_bs | ( | GF_Descriptor * | desc, |
| GF_BitStream * | bs | ||
| ) |
use this function to encode a standalone descriptor in a bitstream object the desc will be formatted with tag and size field
| desc | descriptor to encode |
| bs | the bitstream object in write mode |
Here is the call graph for this function:
Here is the caller graph for this function:| u32 gf_odf_desc_size | ( | GF_Descriptor * | desc | ) |
use this function to get the size of a standalone descriptor (including tag and size fields)
| desc | descriptor to encode |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_desc_copy | ( | GF_Descriptor * | inDesc, |
| GF_Descriptor ** | outDesc | ||
| ) |
duplicate descriptors
| inDesc | descriptor to copy |
| outDesc | copied descriptor - it is the caller responsibility to free this |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_desc_add_desc | ( | GF_Descriptor * | parentDesc, |
| GF_Descriptor * | newDesc | ||
| ) |
Adds a descriptor to a parent one. Handles internally what desc can be added to another desc and adds it. NO DUPLICATION of the descriptor, so once a desc is added to its parent, destroying the parent WILL DESTROY this descriptor
| parentDesc | parent descriptor |
| newDesc | descriptor to add to parent |
Here is the call graph for this function:
Here is the caller graph for this function:Since IPMP V2, we introduce a new set of functions to read / write a list of descriptors that have no containers (a bit like an OD command, but for descriptors) This is useful for IPMPv2 DecoderSpecificInfo which contains a set of IPMP_Declarators As it could be used for other purposes we keep it generic you must create the list yourself, the functions just encode/decode from/to the list
uncompress an encoded list of descriptors. You must pass an empty GF_List structure to know exactly what was in the buffer
| raw_list | encoded list of descriptors |
| raw_size | size of the encoded list of descriptors |
| descList | list in which the decoded descriptors will be placed |
Here is the call graph for this function:
Here is the caller graph for this function:compress all descriptors in the list into a single buffer. The buffer is allocated by the lib and must be destroyed by your app you must pass (outEncList != NULL && *outEncList == NULL)
| descList | list of descriptors to be encoded |
| outEncList | buffer of encoded descriptors |
| outSize | size of buffer of encoded descriptors |
Here is the call graph for this function:
Here is the caller graph for this function:returns size of encoded desc list
| descList | list of descriptors to be encoded |
| outSize | size of buffer of encoded descriptors |
Here is the call graph for this function:
Here is the caller graph for this function:Dumps an OD AU
| com | OD command to dump |
| trace | destination file for dumping |
| indent | number of spaces to use as base index |
| XMTDump | if GF_TRUE dumpos as XMT, otherwise as BT |
Here is the call graph for this function:
Here is the caller graph for this function:| GF_Err gf_odf_dump_desc | ( | GF_Descriptor * | desc, |
| FILE * | trace, | ||
| u32 | indent, | ||
| Bool | XMTDump | ||
| ) |
Dumps an OD Descriptor
| desc | descriptor to dump |
| trace | destination file for dumping |
| indent | number of spaces to use as base index |
| XMTDump | if GF_TRUE dumpos as XMT, otherwise as BT |
Here is the call graph for this function:
Here is the caller graph for this function:Dumps an OD Descriptor
| commandList | descriptor list to dump |
| trace | destination file for dumping |
| indent | number of spaces to use as base index |
| XMTDump | if GF_TRUE dumpos as XMT, otherwise as BT |
Here is the call graph for this function:
Here is the caller graph for this function:| u32 gf_odf_get_tag_by_name | ( | char * | descName | ) |
Gets descriptor tag by name
| descName | target descriptor name |
Here is the caller graph for this function:| GF_ODF_FieldType gf_odf_get_field_type | ( | GF_Descriptor * | desc, |
| char * | fieldName | ||
| ) |
Gets ODF field type by name
| desc | target descriptor |
| fieldName | descriptor field name |
Here is the caller graph for this function:| GF_Err gf_odf_set_field | ( | GF_Descriptor * | desc, |
| char * | fieldName, | ||
| char * | val | ||
| ) |
Set non-descriptor field value - value string shall be presented without ' or " characters
| desc | target descriptor |
| fieldName | descriptor field name |
| val | field value to parse |
Here is the call graph for this function:
Here is the caller graph for this function: