various utility functions for use within FFmpeg More...
#include "avformat.h"#include "avio_internal.h"#include "internal.h"#include "libavcodec/internal.h"#include "libavcodec/raw.h"#include "libavcodec/bytestream.h"#include "libavutil/avassert.h"#include "libavutil/opt.h"#include "libavutil/dict.h"#include "libavutil/pixdesc.h"#include "metadata.h"#include "id3v2.h"#include "libavutil/avstring.h"#include "libavutil/mathematics.h"#include "libavutil/parseutils.h"#include "libavutil/time.h"#include "libavutil/timestamp.h"#include "riff.h"#include "audiointerleave.h"#include "url.h"#include <stdarg.h>#include <assert.h>Go to the source code of this file.
various utility functions for use within FFmpeg
Definition in file utils.c.
Definition at line 73 of file utils.c.
Referenced by av_read_frame(), avformat_find_stream_info(), avformat_new_stream(), ff_add_index_entry(), ff_read_frame_flush(), is_relative(), update_initial_durations(), and update_initial_timestamps().
Definition at line 107 of file utils.c.
Referenced by append_packet_chunked().
size of probe buffer, for guessing file type from file contents
Definition at line 316 of file utils.c.
Referenced by av_probe_input_buffer().
Definition at line 317 of file utils.c.
Referenced by av_probe_input_buffer().
Definition at line 2238 of file utils.c.
Referenced by estimate_timings_from_pts().
Definition at line 2239 of file utils.c.
Referenced by estimate_timings_from_pts().
Definition at line 75 of file utils.c.
Referenced by av_read_frame(), avformat_find_stream_info(), compute_pkt_fields(), ff_add_index_entry(), and update_initial_timestamps().
Wrap a given time stamp, if there is an indication for an overflow.
Definition at line 86 of file utils.c.
Referenced by av_add_index_entry(), ff_read_packet(), ff_read_timestamp(), and update_initial_timestamps().
Definition at line 109 of file utils.c.
Referenced by append_packet_chunked(), asf_read_stream_properties(), cin_read_packet(), ebml_parse_elem(), film_read_packet(), rm_assemble_video_frame(), roq_read_packet(), siff_read_packet(), and vmd_read_packet().
Definition at line 133 of file utils.c.
Referenced by av_append_packet(), and av_get_packet().
Allocate and read the payload of a packet and initialize its fields with default values.
Definition at line 176 of file utils.c.
Referenced by adp_read_packet(), adx_read_packet(), aea_read_packet(), afc_read_packet(), aiff_read_packet(), apc_read_packet(), ape_tag_read_field(), asf_read_header(), asf_read_picture(), ast_read_packet(), av_append_packet(), bfi_read_packet(), cdata_read_packet(), cdxl_read_packet(), cin_read_packet(), daud_packet(), dfa_read_packet(), dxa_read_packet(), ea_read_packet(), ff_pcm_read_packet(), ff_rm_parse_packet(), ff_rm_retrieve_cache(), ff_voc_get_packet(), film_read_packet(), flv_data_packet(), flv_read_packet(), fourxm_read_packet(), frm_read_packet(), g729_read_packet(), get_attachment(), gif_read_packet(), gsm_read_packet(), gxf_packet(), idcin_read_packet(), iff_read_packet(), ingenient_read_packet(), iss_read_packet(), lmlm4_read_packet(), load_ipmovie_packet(), lvf_read_packet(), mmf_read_packet(), mov_read_covr(), mov_read_packet(), mp3_read_packet(), mpc8_read_packet(), mpegps_read_packet(), msnwc_tcp_read_packet(), mtv_read_packet(), mv_read_packet(), mxf_decrypt_triplet(), mxf_get_d10_aes3_packet(), mxf_read_packet(), mxf_read_packet_old(), nc_read_packet(), nsv_read_chunk(), nuv_packet(), oma_read_packet(), pmp_packet(), pva_read_packet(), qcp_read_packet(), r3d_read_reda(), r3d_read_redv(), raw_read_packet(), rawvideo_read_packet(), read_packet(), redspark_read_packet(), rl2_read_packet(), roq_read_packet(), rpl_read_packet(), rsd_read_packet(), seq_read_packet(), siff_read_packet(), smjpeg_read_packet(), smush_read_packet(), sol_read_packet(), swf_read_packet(), thp_read_packet(), tmv_read_packet(), tta_read_packet(), txd_read_packet(), vc1t_read_packet(), vid_read_packet(), vivo_read_packet(), wc3_read_packet(), wsaud_read_packet(), wsvqa_read_packet(), xa_read_packet(), xmv_fetch_audio_packet(), xmv_fetch_video_packet(), xwma_read_packet(), yop_read_packet(), and yuv4_read_packet().
Read data and append it to the current content of the AVPacket.
If pkt->size is 0 this is identical to av_get_packet. Note that this uses av_grow_packet and thus involves a realloc which is inefficient. Thus this function should only be used when there is no reasonable way to know (an upper bound of) the final size.
Definition at line 186 of file utils.c.
Referenced by dfa_read_packet(), ea_read_packet(), read_packet(), vivo_read_packet(), wc3_read_header(), and wc3_read_packet().
Definition at line 262 of file utils.c.
Referenced by probe_codec().
Definition at line 401 of file utils.c.
Referenced by avformat_open_input().
Definition at line 429 of file utils.c.
Referenced by av_read_frame(), avformat_find_stream_info(), avformat_queue_attached_pictures(), ff_read_packet(), and parse_packet().
Definition at line 558 of file utils.c.
Referenced by ff_read_packet(), and probe_codec().
Definition at line 573 of file utils.c.
Referenced by ff_read_packet().
Read a transport packet from a media file.
Definition at line 618 of file utils.c.
Referenced by asfrtp_parse_packet(), estimate_timings_from_pts(), get_subtitle_pkt(), read_frame_internal(), read_gab2_sub(), and seek_subtitle().
Definition at line 703 of file utils.c.
Referenced by has_codec_parameters().
Get the number of samples of an audio frame.
Return -1 on error.
Definition at line 717 of file utils.c.
Referenced by compute_pkt_fields2(), and ff_compute_frame_duration().
Return the frame duration in seconds.
Return 0 if not available.
Definition at line 746 of file utils.c.
Referenced by compute_pkt_fields(), and compute_pkt_fields2().
Definition at line 789 of file utils.c.
Referenced by compute_pkt_fields().
Definition at line 805 of file utils.c.
Referenced by compute_pkt_fields(), try_decode_frame(), and update_initial_timestamps().
Definition at line 823 of file utils.c.
Referenced by update_initial_durations(), and update_initial_timestamps().
Definition at line 832 of file utils.c.
Referenced by update_initial_timestamps().
Definition at line 891 of file utils.c.
Referenced by compute_pkt_fields().
Definition at line 948 of file utils.c.
Referenced by compute_pkt_fields().
Definition at line 994 of file utils.c.
Referenced by parse_packet(), and read_frame_internal().
Definition at line 1144 of file utils.c.
Referenced by flush_packet_queue().
Parse a packet, add all split parts to parse_queue.
Definition at line 1160 of file utils.c.
Referenced by read_frame_internal().
Definition at line 1268 of file utils.c.
Referenced by av_read_frame(), and read_frame_internal().
Definition at line 1283 of file utils.c.
Referenced by av_read_frame(), and avformat_find_stream_info().
Definition at line 1487 of file utils.c.
Referenced by avformat_close_input(), estimate_timings_from_pts(), and ff_read_frame_flush().
Flush the frame reader.
Definition at line 1522 of file utils.c.
Referenced by avformat_seek_file(), ff_restore_parser_state(), ff_seek_frame_binary(), mpegts_get_dts(), search_hi_lo_keyframes(), seek_frame_generic(), and seek_frame_internal().
Update cur_dts of all streams based on the given timestamp and AVStream.
Stream ref_st unchanged, others set cur_dts in their native time base. Only needed for timestamp wrapping or if (dts not set and pts!=dts).
Definition at line 1549 of file utils.c.
Referenced by ff_seek_frame_binary(), idcin_read_seek(), matroska_read_seek(), mp3_seek(), mpc8_read_seek(), mxf_read_seek(), and seek_frame_generic().
Ensure the index uses less memory than the maximum specified in AVFormatContext.max_index_size by discarding entries if it grows too large.
Definition at line 1562 of file utils.c.
Referenced by av_read_frame(), mpegps_read_pes_header(), mpegts_get_dts(), and read_frame_internal().
Internal version of av_add_index_entry.
Definition at line 1575 of file utils.c.
Referenced by av_add_index_entry(), and read_header().
Internal version of av_index_search_timestamp.
Definition at line 1636 of file utils.c.
Referenced by av_index_search_timestamp(), ff_add_index_entry(), mxf_read_seek(), and read_seek().
Definition at line 1677 of file utils.c.
Referenced by ff_find_last_ts(), and ff_gen_search().
Perform a binary search using av_index_search_timestamp() and AVInputFormat.read_timestamp().
Definition at line 1686 of file utils.c.
Referenced by asf_read_seek(), ogg_read_seek(), rm_read_seek(), and seek_frame_internal().
Definition at line 1748 of file utils.c.
Referenced by ff_gen_search(), and find_duration().
Perform a binary search using read_timestamp().
Definition at line 1783 of file utils.c.
Referenced by ff_seek_frame_binary(), and read_seek().
Definition at line 1888 of file utils.c.
Referenced by seek_frame_internal().
Definition at line 1904 of file utils.c.
Referenced by seek_frame_internal().
Definition at line 1968 of file utils.c.
Referenced by av_seek_frame().
Return TRUE if the stream has accurate duration in any stream.
Definition at line 2095 of file utils.c.
Referenced by estimate_timings().
Estimate the stream timings from the one of each components.
Also computes the global bitrate if possible.
Definition at line 2115 of file utils.c.
Referenced by estimate_timings(), and fill_all_stream_timings().
Definition at line 2184 of file utils.c.
Referenced by estimate_timings(), and estimate_timings_from_pts().
Definition at line 2201 of file utils.c.
Referenced by estimate_timings().
Definition at line 2242 of file utils.c.
Referenced by estimate_timings().
Definition at line 2319 of file utils.c.
Referenced by avformat_find_stream_info().
Definition at line 2365 of file utils.c.
Referenced by avformat_find_stream_info(), and try_decode_frame().
Definition at line 2411 of file utils.c.
Referenced by avformat_find_stream_info().
Definition at line 2493 of file utils.c.
Referenced by ast_write_header(), caf_write_header(), gxf_write_header(), ipod_get_codec_tag(), ircam_write_header(), mkv_write_codecprivate(), mkv_write_tracks(), mov_find_codec_tag(), mov_get_codec_tag(), mov_write_esds_tag(), mov_write_isml_manifest(), mp4_get_codec_tag(), smjpeg_write_header(), and swf_write_video().
Definition at line 2503 of file utils.c.
Referenced by asf_read_stream_properties(), ast_read_header(), av_codec_get_id(), avi_read_header(), create_new_audio_stream(), decode_stream_header(), dshow_add_device(), dshow_cycle_formats(), ff_mov_read_stsd_entries(), ff_mp4_read_dec_config_descr(), ff_rm_read_mdpr_codecdata(), ff_voc_get_packet(), get_aiff_header(), get_codec_data(), ircam_read_header(), lvf_read_header(), lxf_read_header(), matroska_read_header(), nsv_parse_NSVs_header(), nut_read_header(), ogm_dshow_header(), ogm_header(), oma_read_header(), parse_media_type(), read_desc_chunk(), read_header(), rm_read_audio_stream_info(), rsd_read_header(), rso_read_header(), smjpeg_read_header(), and swf_read_packet().
Select a PCM codec based on the given parameters.
Definition at line 2517 of file utils.c.
Referenced by ff_mov_get_lpcm_codec_id(), get_codec_data(), nist_read_header(), and pvf_read_header().
Definition at line 2583 of file utils.c.
Referenced by avformat_find_stream_info().
Definition at line 2604 of file utils.c.
Referenced by avformat_find_stream_info().
Definition at line 2617 of file utils.c.
Referenced by avformat_find_stream_info().
Definition at line 3168 of file utils.c.
Referenced by avformat_free_context(), and ff_rm_read_mdpr_codecdata().
Add a new chapter.
Definition at line 3348 of file utils.c.
Referenced by asf_read_marker(), decode_info_header(), flac_read_header(), matroska_read_header(), mov_read_chapters(), mov_read_chpl(), ogm_chapter(), read_chapter(), and read_header().
Definition at line 3372 of file utils.c.
Referenced by hls_read_header(), and pmt_cb().
Definition at line 3400 of file utils.c.
Referenced by dump_stream_format().
Definition at line 3407 of file utils.c.
Referenced by av_dump_format(), and dump_stream_format().
Definition at line 3434 of file utils.c.
Referenced by av_dump_format().
Get the current time since NTP epoch in microseconds.
Definition at line 3578 of file utils.c.
Referenced by rtp_write_header(), and rtp_write_packet().
Definition at line 3638 of file utils.c.
Referenced by av_hex_dump(), and av_hex_dump_log().
Definition at line 3677 of file utils.c.
Referenced by av_pkt_dump2(), and av_pkt_dump_log2().
Definition at line 3794 of file utils.c.
Referenced by do_llnw_auth(), ff_rdt_calc_response_and_checksum(), hex_log(), make_digest_auth(), open_input(), and param_write_hex().
Parse a string of hexadecimal strings.
Any space between the hexadecimal digits is ignored.
Definition at line 3815 of file utils.c.
Referenced by parse_fmtp_config(), and parse_playlist().
Set the time base and wrapping info for a given stream.
This will be used to interpret the stream's timestamps. If the new time base is invalid (numerator or denominator are non-positive), it leaves the stream unchanged.
Definition at line 3851 of file utils.c.
Referenced by add_av_stream1(), adp_read_header(), adts_aac_read_header(), adx_read_header(), afc_read_header(), aiff_read_header(), aiff_write_header(), amr_read_header(), ape_read_header(), aqt_read_header(), asf_read_stream_properties(), asf_write_header1(), asfrtp_parse_sdp_line(), ass_read_header(), ast_read_header(), audio_read_header(), audio_write_header(), avformat_new_stream(), avi_read_header(), avi_write_header(), avr_read_header(), bfi_read_header(), bmv_read_header(), cdata_read_header(), cdxl_read_packet(), celt_header(), cin_read_header(), create_audio_stream(), create_new_audio_stream(), create_stream(), dc1394_read_common(), decode_stream_header(), dfa_read_header(), dirac_header(), dshow_add_device(), dv_extract_audio_info(), dv_extract_video_info(), dxa_read_header(), ea_read_header(), epaf_read_header(), fbdev_read_header(), ff_framehash_write_header(), ff_raw_video_read_header(), ff_rm_read_mdpr_codecdata(), ff_voc_get_packet(), ffm2_read_header(), ffm_read_header(), ffm_write_header(), film_read_header(), flac_header(), flac_read_header(), flv_write_header(), g722_read_header(), g723_1_init(), g729_read_header(), get_packet_header(), gif_read_header(), gif_write_header(), grab_read_header(), gsm_read_header(), gxf_header(), gxf_write_header(), hls_read_header(), idcin_read_header(), iff_read_header(), ilbc_read_header(), img_read_header(), init_stream(), ipmovie_read_header(), ircam_read_header(), iss_read_header(), jacosub_read_header(), lavfi_read_header(), libquvi_read_header(), lmlm4_read_header(), loas_read_header(), lvf_read_header(), lxf_read_header(), matroska_read_header(), microdvd_read_header(), microdvd_write_header(), mkv_write_tracks(), mmf_read_header(), modplug_read_header(), mov_read_trak(), mov_write_header(), mp3_read_header(), mpc8_read_header(), mpc_read_header(), mpeg_mux_init(), mpegts_read_header(), mpegts_set_stream_info(), mpegts_write_header(), mpl2_read_header(), mpsub_read_header(), msnwc_tcp_read_header(), mtv_read_header(), mv_read_header(), mxf_parse_structural_metadata(), mxf_write_header(), mxg_read_header(), nc_read_header(), new_stream(), nist_read_header(), nsv_parse_NSVs_header(), nut_read_header(), nut_write_header(), nuv_header(), ogg_new_stream(), ogg_write_header(), ogm_dshow_header(), ogm_header(), old_dirac_header(), oma_read_header(), opus_header(), parse_audio_var(), parse_strk(), parse_video_var(), parse_vtrk(), pcm_read_header(), pjs_read_header(), pmp_header(), pulse_read_header(), pva_read_header(), pvf_read_header(), qt_rtp_parse_packet(), r3d_read_red1(), rawvideo_read_header(), read_frame(), read_gab2_sub(), read_header(), read_header_gme(), read_sl_header(), realtext_read_header(), redspark_read_header(), rl2_read_header(), roq_read_packet(), rpl_read_header(), rsd_read_header(), rso_read_header(), sami_read_header(), sbg_read_header(), seq_read_header(), siff_parse_vbv1(), skeleton_header(), smacker_read_header(), smjpeg_read_header(), smjpeg_write_header(), smush_read_header(), sol_read_header(), sox_read_header(), speex_header(), srt_read_header(), srt_write_header(), str_read_packet(), subviewer1_read_header(), subviewer_read_header(), swf_read_packet(), tak_read_header(), tedcaptions_read_header(), theora_header(), thp_read_header(), tmv_read_header(), tta_read_header(), v4l2_read_header(), vc1t_read_header(), vc1test_write_header(), vfw_read_header(), vid_read_packet(), vivo_read_header(), vmd_read_header(), vorbis_header(), vplayer_read_header(), vqf_read_header(), wc3_read_header(), webvtt_read_header(), webvtt_write_header(), write_header(), write_stream_data(), wsaud_read_header(), wsvqa_read_header(), wsvqa_read_packet(), wv_read_header(), x11grab_read_header(), xa_read_header(), xmv_read_header(), xwma_read_header(), yop_read_header(), and yuv4_read_header().
Parse a string with comma-separated key=value pairs.
The value strings may be quoted and may contain escaped characters within quoted strings.
Definition at line 3870 of file utils.c.
Referenced by ff_http_auth_handle_header(), and parse_playlist().
Find stream index based on format-specific stream ID.
Definition at line 3924 of file utils.c.
Referenced by get_sindex(), parse_chunks(), and pmt_cb().
Convert a date string in ISO8601 format to Unix timestamp.
Definition at line 3934 of file utils.c.
Referenced by dv_init_mux(), gxf_write_umf_material_description(), mkv_write_header(), mov_write_header(), and mxf_write_header().
Add side data to a packet for changing parameters to the given values.
Parameters set to 0 aren't included in the change.
Definition at line 3981 of file utils.c.
Referenced by flv_read_packet(), and load_ipmovie_packet().
Generate standard extradata for AVC-Intra based on width/height and field order.
Definition at line 4123 of file utils.c.
Referenced by mov_read_trak(), and mxf_parse_structural_metadata().