Core functions


unsigned avformat_version (void)
 Return the LIBAVFORMAT_VERSION_INT constant. More...
const char * avformat_configuration (void)
 Return the libavformat build-time configuration. More...
const char * avformat_license (void)
 Return the libavformat license. More...
int avformat_network_init (void)
 Do global initialization of network libraries. More...
int avformat_network_deinit (void)
 Undo the initialization done by avformat_network_init. More...
const AVOutputFormatav_muxer_iterate (void **opaque)
 Iterate over all registered muxers. More...
const AVInputFormatav_demuxer_iterate (void **opaque)
 Iterate over all registered demuxers. More...
AVFormatContextavformat_alloc_context (void)
 Allocate an AVFormatContext. More...
void avformat_free_context (AVFormatContext *s)
 Free an AVFormatContext and all its streams. More...
const AVClassavformat_get_class (void)
 Get the AVClass for AVFormatContext. More...
const AVClassav_stream_get_class (void)
 Get the AVClass for AVStream. More...
AVStreamavformat_new_stream (AVFormatContext *s, const AVCodec *c)
 Add a new stream to a media file. More...
int av_stream_add_side_data (AVStream *st, enum AVPacketSideDataType type, uint8_t *data, size_t size)
 Wrap an existing array as stream side data. More...
uint8_t * av_stream_new_side_data (AVStream *stream, enum AVPacketSideDataType type, size_t size)
 Allocate new information from stream. More...
uint8_t * av_stream_get_side_data (const AVStream *stream, enum AVPacketSideDataType type, size_t *size)
 Get side information from stream. More...
AVProgramav_new_program (AVFormatContext *s, int id)

Detailed Description

Functions for querying libavformat capabilities, allocating core structures, etc.

Function Documentation

◆ avformat_version()

unsigned avformat_version ( void  )

Return the LIBAVFORMAT_VERSION_INT constant.

Definition at line 60 of file utils.c.

◆ avformat_configuration()

const char* avformat_configuration ( void  )

Return the libavformat build-time configuration.

Definition at line 66 of file utils.c.

◆ avformat_license()

const char* avformat_license ( void  )

Return the libavformat license.

Definition at line 71 of file utils.c.

◆ avformat_network_init()

int avformat_network_init ( void  )

Do global initialization of network libraries.

This is optional, and not recommended anymore.

This functions only exists to work around thread-safety issues with older GnuTLS or OpenSSL libraries. If libavformat is linked to newer versions of those libraries, or if you do not use them, calling this function is unnecessary. Otherwise, you need to call this function before any other threads using them are started.

This function will be deprecated once support for older GnuTLS and OpenSSL libraries is removed, and this function has no purpose anymore.


Definition at line 1302 of file utils.c.

Referenced by main().

◆ avformat_network_deinit()

int avformat_network_deinit ( void  )

Undo the initialization done by avformat_network_init.

Call it only once for each time you called avformat_network_init.

Definition at line 1314 of file utils.c.

Referenced by do_exit(), ffmpeg_cleanup(), and main().

◆ av_muxer_iterate()

const AVOutputFormat* av_muxer_iterate ( void **  opaque)

Iterate over all registered muxers.

opaquea pointer where libavformat will store the iteration state. Must point to NULL to start the iteration.
the next registered muxer or NULL when the iteration is finished

Definition at line 545 of file allformats.c.

Referenced by av_guess_format(), format_child_class_iterate(), show_format_opts(), and show_formats_devices().

◆ av_demuxer_iterate()

const AVInputFormat* av_demuxer_iterate ( void **  opaque)

Iterate over all registered demuxers.

opaquea pointer where libavformat will store the iteration state. Must point to NULL to start the iteration.
the next registered demuxer or NULL when the iteration is finished

Definition at line 564 of file allformats.c.

Referenced by av_find_input_format(), av_probe_input_format3(), ff_img_read_header(), format_child_class_iterate(), hls_read_header(), LLVMFuzzerTestOneInput(), print_times(), probe(), show_format_opts(), and show_formats_devices().

◆ avformat_alloc_context()

AVFormatContext* avformat_alloc_context ( void  )

◆ avformat_free_context()

void avformat_free_context ( AVFormatContext s)

◆ avformat_get_class()

const AVClass* avformat_get_class ( void  )

Get the AVClass for AVFormatContext.

It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.

See also

Definition at line 188 of file options.c.

Referenced by open_input_file(), open_output_file(), opt_default(), show_format_opts(), and show_help_default().

◆ av_stream_get_class()

const AVClass* av_stream_get_class ( void  )

Get the AVClass for AVStream.

It can be used in combination with AV_OPT_SEARCH_FAKE_OBJ for examining options.

See also

Definition at line 763 of file utils.c.

Referenced by set_dispositions().

◆ avformat_new_stream()

AVStream* avformat_new_stream ( AVFormatContext s,
const AVCodec c 

Add a new stream to a media file.

When demuxing, it is called by the demuxer in read_header(). If the flag AVFMTCTX_NOHEADER is set in s.ctx_flags, then it may also be called in read_packet().

When muxing, should be called by the user before avformat_write_header().

User is required to call avformat_free_context() to clean up the allocation by avformat_new_stream().

smedia file handle
cunused, does nothing
newly created stream or NULL on error.
muxing.c, remuxing.c, transcode_aac.c, transcoding.c, and vaapi_transcode.c.

Definition at line 768 of file utils.c.

Referenced by aa_read_header(), aax_read_header(), ace_read_header(), acm_read_header(), add_dstream(), add_stream(), add_video_stream(), adp_read_header(), ads_read_header(), adts_aac_read_header(), adx_read_header(), aea_read_header(), afc_read_header(), aiff_read_header(), aix_read_header(), apc_read_header(), ape_read_header(), ape_tag_read_field(), apng_read_header(), aptx_read_header_common(), aqt_read_header(), argo_brp_read_header(), asf_read_stream_properties(), ass_read_header(), ast_read_header(), audio_read_header(), av1_read_header(), avi_read_header(), avisynth_create_stream(), avr_read_header(), avs_read_packet(), bfi_read_header(), binka_read_header(), bmv_read_header(), cdata_read_header(), cdxl_read_packet(), cin_read_header(), cine_read_header(), codec2_read_header(), codec2raw_read_header(), concat_parse_script(), create_audio_stream(), create_new_audio_stream(), create_stream(), create_subcc_streams(), dash_init(), dat_read_packet(), daud_header(), dc1394_read_common(), dcstr_read_header(), dec_enc(), decode_main_header(), derf_read_header(), dfa_read_header(), dhav_read_packet(), dsf_read_header(), dshow_add_device(), dss_read_header(), dtshd_read_header(), dv_extract_audio_info(), dv_init_demux(), dxa_read_header(), ea_read_header(), eit_cb(), epaf_read_header(), fbdev_read_header(), ff_add_attached_pic(), ff_decklink_read_header(), ff_img_read_header(), ff_raw_audio_read_header(), ff_raw_subtitle_read_header(), ff_raw_video_read_header(), ff_rtp_chain_mux_open(), ff_spdif_read_packet(), fifo_mux_init(), film_read_header(), fits_read_header(), flac_read_header(), frm_read_header(), fsb_read_header(), fwse_read_header(), g722_read_header(), g723_1_init(), g726_read_header(), g729_read_header(), gdigrab_read_header(), gdv_read_header(), genh_read_header(), get_audio_config(), get_sindex(), get_video_config(), gif_read_header(), grab_read_header(), gsm_read_header(), hca_read_header(), hcom_read_header(), hds_write_header(), hls_mux_init(), hnm_read_header(), idcin_read_header(), iec61883_read_header(), iff_read_header(), ifv_read_header(), ilbc_read_header(), init_audio(), init_fps(), init_stream(), init_video_stream(), initialize_fifo_tst_muxer_chain(), ipmovie_read_header(), ipu_read_header(), ircam_read_header(), ism_write_header(), iss_read_header(), ivr_read_header(), jacosub_read_header(), kmsgrab_read_header(), lavfi_read_header(), lmlm4_read_header(), loas_read_header(), lrc_read_header(), lvf_read_header(), lxf_read_header(), main(), match_streams_one_to_one(), mcc_read_header(), microdvd_read_header(), mmf_read_header(), modplug_read_header(), mods_read_header(), moflex_read_sync(), mov_init_ttml_writer(), mov_read_trak(), mp3_read_header(), mpc8_read_header(), mpc_read_header(), mpegps_read_packet(), mpegts_init(), mpegts_push_data(), mpegts_read_header(), mpegts_set_stream_info(), mpjpeg_read_header(), mpl2_read_header(), mpsub_read_header(), msf_read_header(), msnwc_tcp_read_header(), msp_read_header(), mtaf_read_header(), mtv_read_header(), musx_read_header(), mv_read_header(), mxf_add_metadata_stream(), mxf_parse_structural_metadata(), mxg_read_header(), nc_read_header(), new_output_stream(), new_stream(), nist_read_header(), nsp_read_header(), nsv_parse_NSVs_header(), nuv_header(), ogg_new_stream(), oma_read_header(), open_demux_for_component(), open_output_file(), open_slave(), parse_strk(), parse_vtrk(), pcm_read_header(), pjs_read_header(), pmp_header(), pmt_cb(), pp_bnk_read_header(), pulse_read_header(), pva_read_header(), pvf_read_header(), qcp_read_header(), r3d_read_red1(), r3d_read_reda(), raw_data_read_header(), rawvideo_read_header(), read_desc_chunk(), read_frame(), read_header(), read_header_gme(), read_header_openmpt(), read_header_vs(), read_packet(), realtext_read_header(), redspark_read_header(), rl2_read_header(), rm_read_header(), rm_read_header_old(), rm_read_multi(), roq_read_packet(), rpl_read_header(), rsd_read_header(), rso_read_header(), rtp_mpegts_write_header(), s337m_read_packet(), sami_read_header(), sap_fetch_packet(), sap_read_header(), sbg_read_header(), scc_read_header(), scd_read_track(), sdr2_read_header(), sds_read_header(), sdx_read_header(), segment_mux_init(), seq_read_header(), ser_read_header(), set_context_streams_from_tracks(), sga_audio_packet(), sga_video_packet(), siff_parse_vbv1(), simbiosis_imx_read_header(), smacker_read_header(), smjpeg_read_header(), smush_read_header(), sol_read_header(), sox_read_header(), srt_read_header(), stl_read_header(), str_read_packet(), subviewer1_read_header(), subviewer_read_header(), sup_read_header(), svag_read_header(), svs_read_header(), swf_read_packet(), tak_read_header(), tedcaptions_read_header(), thp_read_header(), threedostr_read_header(), tmv_read_header(), track_header(), tta_read_header(), txd_read_header(), ty_read_header(), update_streams_from_subdemuxer(), v210_read_header(), v4l2_read_header(), vag_read_header(), vc1t_read_header(), vfw_read_header(), vid_read_packet(), vivo_read_header(), vmd_read_header(), voc_read_packet(), vpk_read_header(), vplayer_read_header(), vqf_read_header(), wc3_read_header(), webm_chunk_init(), webvtt_read_header(), write_muxed_file(), wsaud_read_header(), wsd_read_header(), wsvqa_read_header(), wsvqa_read_packet(), wv_read_header(), wve_read_header(), xa_read_header(), xmv_process_packet_header(), xvag_read_header(), xwma_read_header(), yop_read_header(), and yuv4_read_header().

◆ av_stream_add_side_data()

int av_stream_add_side_data ( AVStream st,
enum AVPacketSideDataType  type,
uint8_t *  data,
size_t  size 

Wrap an existing array as stream side data.

typeside information type
datathe side data array. It must be allocated with the av_malloc() family of functions. The ownership of the data is transferred to st.
sizeside information size
zero on success, a negative AVERROR code on failure. On failure, the stream is unchanged and the data remains owned by the caller.

Definition at line 1737 of file utils.c.

Referenced by av_stream_new_side_data(), ff_isom_parse_dvcc_dvvc(), ff_mkv_stereo3d_conv(), ff_parse_mpeg2_descriptor(), mov_read_header(), mov_read_pssh(), and mxf_parse_structural_metadata().

◆ av_stream_new_side_data()

uint8_t* av_stream_new_side_data ( AVStream stream,
enum AVPacketSideDataType  type,
size_t  size 

Allocate new information from stream.

typedesired side information type
sizeside information size
pointer to fresh allocated data or NULL otherwise

Definition at line 1772 of file utils.c.

Referenced by add_coded_side_data(), add_display_matrix(), ff_replaygain_export_raw(), init_output_stream(), init_output_stream_streamcopy(), mov_read_colr(), mov_read_dac3(), mov_read_dec3(), open_demux_for_component(), parse_mca_labels(), and set_stream_info_from_input_stream().

◆ av_stream_get_side_data()

uint8_t* av_stream_get_side_data ( const AVStream stream,
enum AVPacketSideDataType  type,
size_t *  size 

Get side information from stream.

typedesired side information type
sizeIf supplied, *size will be set to the size of the side data or to zero if the desired side data is not present.
pointer to data if present or NULL otherwise

Definition at line 1722 of file utils.c.

Referenced by calculate_mpeg4_bit_rates(), configure_input_video_filter(), get_stream_bit_rate(), mkv_write_dovi(), mkv_write_stereo_mode(), mkv_write_video_color(), mkv_write_video_projection(), mov_read_pssh(), mov_write_clli_tag(), mov_write_colr_tag(), mov_write_ftyp_tag(), mov_write_mdcv_tag(), mov_write_moov_tag(), mov_write_tkhd_tag(), mov_write_video_tag(), mp3_update_xing(), mpeg_mux_init(), mxf_write_cdci_common(), and mxf_write_primer_pack().

◆ av_new_program()

AVProgram* av_new_program ( AVFormatContext s,
int  id 

Definition at line 852 of file utils.c.

Referenced by dash_read_header(), hls_read_header(), open_output_file(), pat_cb(), and sdt_cb().