FFmpeg
|
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.
Macros | |
#define | LICENSE_PREFIX "libavformat license: " |
#define | RELATIVE_TS_BASE (INT64_MAX - (1LL<<48)) |
#define | MAKE_ACCESSORS(str, name, type, field) |
#define | SANE_CHUNK_SIZE (50000000) |
#define | PROBE_BUF_MIN 2048 |
size of probe buffer, for guessing file type from file contents More... | |
#define | PROBE_BUF_MAX (1<<20) |
#define | DURATION_MAX_READ_SIZE 250000LL |
#define | DURATION_MAX_RETRY 4 |
#define | FAIL(errmsg) |
#define | PRINT(...) do { if (!f) av_log(avcl, level, __VA_ARGS__); else fprintf(f, __VA_ARGS__); } while(0) |
#define | PRINT(...) do { if (!f) av_log(avcl, level, __VA_ARGS__); else fprintf(f, __VA_ARGS__); } while(0) |
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... | |
static int | is_relative (int64_t ts) |
static int64_t | wrap_timestamp (AVStream *st, int64_t timestamp) |
Wrap a given time stamp, if there is an indication for an overflow. More... | |
AVInputFormat * | av_iformat_next (AVInputFormat *f) |
If f is NULL, returns the first registered input format, if f is non-NULL, returns the next registered input format after f or NULL if f is the last one. More... | |
AVOutputFormat * | av_oformat_next (AVOutputFormat *f) |
If f is NULL, returns the first registered output format, if f is non-NULL, returns the next registered output format after f or NULL if f is the last one. More... | |
void | av_register_input_format (AVInputFormat *format) |
void | av_register_output_format (AVOutputFormat *format) |
int | av_match_ext (const char *filename, const char *extensions) |
Return a positive value if the given filename has one of the given extensions, 0 otherwise. More... | |
static int | match_format (const char *name, const char *names) |
AVOutputFormat * | av_guess_format (const char *short_name, const char *filename, const char *mime_type) |
Return the output format in the list of registered output formats which best matches the provided parameters, or return NULL if there is no match. More... | |
enum AVCodecID | av_guess_codec (AVOutputFormat *fmt, const char *short_name, const char *filename, const char *mime_type, enum AVMediaType type) |
Guess the codec ID based upon muxer and filename. More... | |
AVInputFormat * | av_find_input_format (const char *short_name) |
Find AVInputFormat based on the short name of the input format. More... | |
int | ffio_limit (AVIOContext *s, int size) |
static int | append_packet_chunked (AVIOContext *s, AVPacket *pkt, int size) |
int | av_get_packet (AVIOContext *s, AVPacket *pkt, int size) |
Allocate and read the payload of a packet and initialize its fields with default values. More... | |
int | av_append_packet (AVIOContext *s, AVPacket *pkt, int size) |
Read data and append it to the current content of the AVPacket. More... | |
int | av_filename_number_test (const char *filename) |
Check whether filename actually is a numbered sequence generator. More... | |
AVInputFormat * | av_probe_input_format3 (AVProbeData *pd, int is_opened, int *score_ret) |
Guess the file format. More... | |
AVInputFormat * | av_probe_input_format2 (AVProbeData *pd, int is_opened, int *score_max) |
Guess the file format. More... | |
AVInputFormat * | av_probe_input_format (AVProbeData *pd, int is_opened) |
Guess the file format. More... | |
static int | set_codec_from_probe_data (AVFormatContext *s, AVStream *st, AVProbeData *pd) |
int | av_demuxer_open (AVFormatContext *ic) |
int | av_probe_input_buffer (AVIOContext *pb, AVInputFormat **fmt, const char *filename, void *logctx, unsigned int offset, unsigned int max_probe_size) |
Probe a bytestream to determine the input format. More... | |
static int | init_input (AVFormatContext *s, const char *filename, AVDictionary **options) |
static AVPacket * | add_to_pktbuf (AVPacketList **packet_buffer, AVPacket *pkt, AVPacketList **plast_pktl) |
int | avformat_queue_attached_pictures (AVFormatContext *s) |
int | avformat_open_input (AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options) |
Open an input stream and read the header. More... | |
static void | force_codec_ids (AVFormatContext *s, AVStream *st) |
static void | probe_codec (AVFormatContext *s, AVStream *st, const AVPacket *pkt) |
int | ff_read_packet (AVFormatContext *s, AVPacket *pkt) |
Read a transport packet from a media file. More... | |
static int | determinable_frame_size (AVCodecContext *avctx) |
int | ff_get_audio_frame_size (AVCodecContext *enc, int size, int mux) |
Get the number of samples of an audio frame. More... | |
void | ff_compute_frame_duration (int *pnum, int *pden, AVStream *st, AVCodecParserContext *pc, AVPacket *pkt) |
Return the frame duration in seconds. More... | |
static int | is_intra_only (AVCodecContext *enc) |
static int | has_decode_delay_been_guessed (AVStream *st) |
static AVPacketList * | get_next_pkt (AVFormatContext *s, AVStream *st, AVPacketList *pktl) |
static int | update_wrap_reference (AVFormatContext *s, AVStream *st, int stream_index) |
static void | update_initial_timestamps (AVFormatContext *s, int stream_index, int64_t dts, int64_t pts, AVPacket *pkt) |
static void | update_initial_durations (AVFormatContext *s, AVStream *st, int stream_index, int duration) |
static void | compute_pkt_fields (AVFormatContext *s, AVStream *st, AVCodecParserContext *pc, AVPacket *pkt) |
static void | free_packet_buffer (AVPacketList **pkt_buf, AVPacketList **pkt_buf_end) |
static int | parse_packet (AVFormatContext *s, AVPacket *pkt, int stream_index) |
Parse a packet, add all split parts to parse_queue. More... | |
static int | read_from_packet_buffer (AVPacketList **pkt_buffer, AVPacketList **pkt_buffer_end, AVPacket *pkt) |
static int | read_frame_internal (AVFormatContext *s, AVPacket *pkt) |
int | av_read_frame (AVFormatContext *s, AVPacket *pkt) |
Return the next frame of a stream. More... | |
static void | flush_packet_queue (AVFormatContext *s) |
int | av_find_default_stream_index (AVFormatContext *s) |
void | ff_read_frame_flush (AVFormatContext *s) |
Flush the frame reader. More... | |
void | ff_update_cur_dts (AVFormatContext *s, AVStream *ref_st, int64_t timestamp) |
Update cur_dts of all streams based on the given timestamp and AVStream. More... | |
void | ff_reduce_index (AVFormatContext *s, int stream_index) |
Ensure the index uses less memory than the maximum specified in AVFormatContext.max_index_size by discarding entries if it grows too large. More... | |
int | ff_add_index_entry (AVIndexEntry **index_entries, int *nb_index_entries, unsigned int *index_entries_allocated_size, int64_t pos, int64_t timestamp, int size, int distance, int flags) |
Internal version of av_add_index_entry. More... | |
int | av_add_index_entry (AVStream *st, int64_t pos, int64_t timestamp, int size, int distance, int flags) |
Add an index entry into a sorted list. More... | |
int | ff_index_search_timestamp (const AVIndexEntry *entries, int nb_entries, int64_t wanted_timestamp, int flags) |
Internal version of av_index_search_timestamp. More... | |
int | av_index_search_timestamp (AVStream *st, int64_t wanted_timestamp, int flags) |
Get the index for a specific timestamp. More... | |
static int64_t | ff_read_timestamp (AVFormatContext *s, int stream_index, int64_t *ppos, int64_t pos_limit, int64_t(*read_timestamp)(struct AVFormatContext *, int, int64_t *, int64_t)) |
int | ff_seek_frame_binary (AVFormatContext *s, int stream_index, int64_t target_ts, int flags) |
Perform a binary search using av_index_search_timestamp() and AVInputFormat.read_timestamp(). More... | |
int64_t | ff_gen_search (AVFormatContext *s, int stream_index, int64_t target_ts, int64_t pos_min, int64_t pos_max, int64_t pos_limit, int64_t ts_min, int64_t ts_max, int flags, int64_t *ts_ret, int64_t(*read_timestamp)(struct AVFormatContext *, int, int64_t *, int64_t)) |
Perform a binary search using read_timestamp(). More... | |
static int | seek_frame_byte (AVFormatContext *s, int stream_index, int64_t pos, int flags) |
static int | seek_frame_generic (AVFormatContext *s, int stream_index, int64_t timestamp, int flags) |
static int | seek_frame_internal (AVFormatContext *s, int stream_index, int64_t timestamp, int flags) |
int | av_seek_frame (AVFormatContext *s, int stream_index, int64_t timestamp, int flags) |
Seek to the keyframe at timestamp. More... | |
int | avformat_seek_file (AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags) |
Seek to timestamp ts. More... | |
static int | has_duration (AVFormatContext *ic) |
Return TRUE if the stream has accurate duration in any stream. More... | |
static void | update_stream_timings (AVFormatContext *ic) |
Estimate the stream timings from the one of each components. More... | |
static void | fill_all_stream_timings (AVFormatContext *ic) |
static void | estimate_timings_from_bit_rate (AVFormatContext *ic) |
static void | estimate_timings_from_pts (AVFormatContext *ic, int64_t old_offset) |
static void | estimate_timings (AVFormatContext *ic, int64_t old_offset) |
static int | has_codec_parameters (AVStream *st, const char **errmsg_ptr) |
static int | try_decode_frame (AVStream *st, AVPacket *avpkt, AVDictionary **options) |
unsigned int | ff_codec_get_tag (const AVCodecTag *tags, enum AVCodecID id) |
enum AVCodecID | ff_codec_get_id (const AVCodecTag *tags, unsigned int tag) |
enum AVCodecID | ff_get_pcm_codec_id (int bps, int flt, int be, int sflags) |
Select a PCM codec based on the given parameters. More... | |
unsigned int | av_codec_get_tag (const AVCodecTag *const *tags, enum AVCodecID id) |
int | av_codec_get_tag2 (const AVCodecTag *const *tags, enum AVCodecID id, unsigned int *tag) |
enum AVCodecID | av_codec_get_id (const AVCodecTag *const *tags, unsigned int tag) |
static void | compute_chapters_end (AVFormatContext *s) |
static int | get_std_framerate (int i) |
static int | tb_unreliable (AVCodecContext *c) |
int | avformat_find_stream_info (AVFormatContext *ic, AVDictionary **options) |
Read packets of a media file to get stream information. More... | |
AVProgram * | av_find_program_from_stream (AVFormatContext *ic, AVProgram *last, int s) |
Find the programs which belong to a given stream. More... | |
int | av_find_best_stream (AVFormatContext *ic, enum AVMediaType type, int wanted_stream_nb, int related_stream, AVCodec **decoder_ret, int flags) |
Find the "best" stream in the file. More... | |
int | av_read_play (AVFormatContext *s) |
Start playing a network-based stream (e.g. More... | |
int | av_read_pause (AVFormatContext *s) |
Pause a network-based stream (e.g. More... | |
void | ff_free_stream (AVFormatContext *s, AVStream *st) |
void | avformat_free_context (AVFormatContext *s) |
Free an AVFormatContext and all its streams. More... | |
void | avformat_close_input (AVFormatContext **ps) |
Close an opened input AVFormatContext. More... | |
AVStream * | avformat_new_stream (AVFormatContext *s, const AVCodec *c) |
Add a new stream to a media file. More... | |
AVProgram * | av_new_program (AVFormatContext *ac, int id) |
AVChapter * | avpriv_new_chapter (AVFormatContext *s, int id, AVRational time_base, int64_t start, int64_t end, const char *title) |
Add a new chapter. More... | |
void | ff_program_add_stream_index (AVFormatContext *ac, int progid, unsigned int idx) |
static void | print_fps (double d, const char *postfix) |
static void | dump_metadata (void *ctx, AVDictionary *m, const char *indent) |
static void | dump_stream_format (AVFormatContext *ic, int i, int index, int is_output) |
void | av_dump_format (AVFormatContext *ic, int index, const char *url, int is_output) |
uint64_t | ff_ntp_time (void) |
Get the current time since NTP epoch in microseconds. More... | |
int | av_get_frame_filename (char *buf, int buf_size, const char *path, int number) |
Return in 'buf' the path with 'd' replaced by a number. More... | |
static void | hex_dump_internal (void *avcl, FILE *f, int level, const uint8_t *buf, int size) |
void | av_hex_dump (FILE *f, const uint8_t *buf, int size) |
Send a nice hexadecimal dump of a buffer to the specified file stream. More... | |
void | av_hex_dump_log (void *avcl, int level, const uint8_t *buf, int size) |
Send a nice hexadecimal dump of a buffer to the log. More... | |
static void | pkt_dump_internal (void *avcl, FILE *f, int level, AVPacket *pkt, int dump_payload, AVRational time_base) |
void | av_pkt_dump2 (FILE *f, AVPacket *pkt, int dump_payload, AVStream *st) |
Send a nice dump of a packet to the specified file stream. More... | |
void | av_pkt_dump_log2 (void *avcl, int level, AVPacket *pkt, int dump_payload, AVStream *st) |
Send a nice dump of a packet to the log. More... | |
void | av_url_split (char *proto, int proto_size, char *authorization, int authorization_size, char *hostname, int hostname_size, int *port_ptr, char *path, int path_size, const char *url) |
Split a URL string into components. More... | |
char * | ff_data_to_hex (char *buff, const uint8_t *src, int s, int lowercase) |
int | ff_hex_to_data (uint8_t *data, const char *p) |
Parse a string of hexadecimal strings. More... | |
void | avpriv_set_pts_info (AVStream *s, int pts_wrap_bits, unsigned int pts_num, unsigned int pts_den) |
Set the time base and wrapping info for a given stream. More... | |
int | ff_url_join (char *str, int size, const char *proto, const char *authorization, const char *hostname, int port, const char *fmt,...) |
int | ff_write_chained (AVFormatContext *dst, int dst_stream, AVPacket *pkt, AVFormatContext *src) |
Write a packet to another muxer than the one the user originally intended. More... | |
void | ff_parse_key_value (const char *str, ff_parse_key_val_cb callback_get_buf, void *context) |
Parse a string with comma-separated key=value pairs. More... | |
int | ff_find_stream_index (AVFormatContext *s, int id) |
Find stream index based on format-specific stream ID. More... | |
void | ff_make_absolute_url (char *buf, int size, const char *base, const char *rel) |
Convert a relative url into an absolute url, given a base url. More... | |
int64_t | ff_iso8601_to_unix_time (const char *datestr) |
Convert a date string in ISO8601 format to Unix timestamp. More... | |
int | avformat_query_codec (AVOutputFormat *ofmt, enum AVCodecID codec_id, int std_compliance) |
Test if the given container can store a codec. More... | |
int | avformat_network_init (void) |
Do global initialization of network components. More... | |
int | avformat_network_deinit (void) |
Undo the initialization done by avformat_network_init. More... | |
int | ff_add_param_change (AVPacket *pkt, int32_t channels, uint64_t channel_layout, int32_t sample_rate, int32_t width, int32_t height) |
Add side data to a packet for changing parameters to the given values. More... | |
const struct AVCodecTag * | avformat_get_riff_video_tags (void) |
const struct AVCodecTag * | avformat_get_riff_audio_tags (void) |
AVRational | av_guess_sample_aspect_ratio (AVFormatContext *format, AVStream *stream, AVFrame *frame) |
Guess the sample aspect ratio of a frame, based on both the stream and the frame aspect ratio. More... | |
AVRational | av_guess_frame_rate (AVFormatContext *format, AVStream *st, AVFrame *frame) |
Guess the frame rate, based on both the container and codec information. More... | |
int | avformat_match_stream_specifier (AVFormatContext *s, AVStream *st, const char *spec) |
Check if the stream st contained in s is matched by the stream specifier spec. More... | |
void | ff_generate_avci_extradata (AVStream *st) |
Generate standard extradata for AVC-Intra based on width/height and field order. More... | |
static int | match_host_pattern (const char *pattern, const char *hostname) |
int | ff_http_match_no_proxy (const char *no_proxy, const char *hostname) |
Variables | |
static AVInputFormat * | first_iformat = NULL |
head of registered input format linked list More... | |
static AVOutputFormat * | first_oformat = NULL |
head of registered output format linked list More... | |
Detailed Description
various utility functions for use within FFmpeg
Definition in file libavformat/utils.c.
Macro Definition Documentation
#define DURATION_MAX_READ_SIZE 250000LL |
Definition at line 2349 of file libavformat/utils.c.
Referenced by estimate_timings_from_pts().
#define DURATION_MAX_RETRY 4 |
Definition at line 2350 of file libavformat/utils.c.
Referenced by estimate_timings_from_pts().
#define FAIL | ( | errmsg | ) |
Referenced by has_codec_parameters().
#define LICENSE_PREFIX "libavformat license: " |
Referenced by avformat_license().
Definition at line 102 of file libavformat/utils.c.
#define PRINT | ( | ... | ) | do { if (!f) av_log(avcl, level, __VA_ARGS__); else fprintf(f, __VA_ARGS__); } while(0) |
Referenced by hex_dump_internal(), and pkt_dump_internal().
#define PRINT | ( | ... | ) | do { if (!f) av_log(avcl, level, __VA_ARGS__); else fprintf(f, __VA_ARGS__); } while(0) |
#define PROBE_BUF_MAX (1<<20) |
Definition at line 469 of file libavformat/utils.c.
Referenced by av_probe_input_buffer().
#define PROBE_BUF_MIN 2048 |
size of probe buffer, for guessing file type from file contents
Definition at line 468 of file libavformat/utils.c.
Referenced by av_probe_input_buffer().
#define RELATIVE_TS_BASE (INT64_MAX - (1LL<<48)) |
Definition at line 75 of file libavformat/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().
#define SANE_CHUNK_SIZE (50000000) |
Definition at line 259 of file libavformat/utils.c.
Referenced by append_packet_chunked().
Function Documentation
|
static |
Definition at line 581 of file libavformat/utils.c.
Referenced by av_read_frame(), avformat_find_stream_info(), avformat_queue_attached_pictures(), ff_read_packet(), and parse_packet().
|
static |
Definition at line 285 of file libavformat/utils.c.
Referenced by av_append_packet(), and av_get_packet().
int av_append_packet | ( | AVIOContext * | s, |
AVPacket * | pkt, | ||
int | size | ||
) |
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.
- Parameters
-
pkt packet size amount of data to read
- Returns
- >0 (read size) if OK, AVERROR_xxx otherwise, previous data will not be lost even if an error occurs.
Definition at line 338 of file libavformat/utils.c.
Referenced by dfa_read_packet(), ea_read_packet(), read_packet(), vivo_read_packet(), wc3_read_header(), wc3_read_packet(), and wv_read_packet().
enum AVCodecID av_codec_get_id | ( | const AVCodecTag *const * | tags, |
unsigned int | tag | ||
) |
Definition at line 2684 of file libavformat/utils.c.
unsigned int av_codec_get_tag | ( | const AVCodecTag *const * | tags, |
enum AVCodecID | id | ||
) |
Definition at line 2659 of file libavformat/utils.c.
Referenced by avformat_query_codec().
int av_codec_get_tag2 | ( | const AVCodecTag *const * | tags, |
enum AVCodecID | id, | ||
unsigned int * | tag | ||
) |
Definition at line 2667 of file libavformat/utils.c.
Referenced by av_codec_get_tag().
int av_get_packet | ( | AVIOContext * | s, |
AVPacket * | pkt, | ||
int | size | ||
) |
Allocate and read the payload of a packet and initialize its fields with default values.
- Parameters
-
pkt packet size desired payload size
- Returns
- >0 (read size) if OK, AVERROR_xxx otherwise
Definition at line 328 of file libavformat/utils.c.
Referenced by 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(), avi_read_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(), rl2_read_packet(), roq_read_packet(), rpl_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().
AVChapter* avpriv_new_chapter | ( | AVFormatContext * | s, |
int | id, | ||
AVRational | time_base, | ||
int64_t | start, | ||
int64_t | end, | ||
const char * | title | ||
) |
Add a new chapter.
- Parameters
-
s media file handle id unique ID for this chapter start chapter start time in time_base units end chapter end time in time_base units title chapter title
- Returns
- AVChapter or NULL on error
Definition at line 3449 of file libavformat/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().
void avpriv_set_pts_info | ( | AVStream * | s, |
int | pts_wrap_bits, | ||
unsigned int | pts_num, | ||
unsigned int | pts_den | ||
) |
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.
- Parameters
-
s stream pts_wrap_bits number of bits effectively used by the pts (used for wrap control) pts_num time base numerator pts_den time base denominator
Definition at line 3952 of file libavformat/utils.c.
Referenced by add_av_stream1(), 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_hex_to_data(), 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(), flic_read_header(), flv_write_header(), fourxm_read_header(), g722_read_header(), g723_1_init(), g729_read_header(), get_packet_header(), get_sockaddr(), 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_rate(), 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_video_var(), 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_sl_header(), realtext_read_header(), rl2_read_header(), roq_read_packet(), rpl_read_header(), rso_read_header(), rtp_write_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(), 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().
|
static |
Definition at line 2694 of file libavformat/utils.c.
Referenced by avformat_find_stream_info().
|
static |
Definition at line 1145 of file libavformat/utils.c.
Referenced by parse_packet(), and read_frame_internal().
|
static |
Definition at line 854 of file libavformat/utils.c.
Referenced by has_codec_parameters().
|
static |
Definition at line 3508 of file libavformat/utils.c.
Referenced by av_dump_format(), and dump_stream_format().
|
static |
Definition at line 3535 of file libavformat/utils.c.
Referenced by av_dump_format().
|
static |
Definition at line 2430 of file libavformat/utils.c.
Referenced by avformat_find_stream_info().
|
static |
Definition at line 2312 of file libavformat/utils.c.
Referenced by estimate_timings().
|
static |
Definition at line 2353 of file libavformat/utils.c.
Referenced by estimate_timings().
int ff_add_index_entry | ( | AVIndexEntry ** | index_entries, |
int * | nb_index_entries, | ||
unsigned int * | index_entries_allocated_size, | ||
int64_t | pos, | ||
int64_t | timestamp, | ||
int | size, | ||
int | distance, | ||
int | flags | ||
) |
Internal version of av_add_index_entry.
Definition at line 1716 of file libavformat/utils.c.
Referenced by av_add_index_entry(), and read_header().
int ff_add_param_change | ( | AVPacket * | pkt, |
int32_t | channels, | ||
uint64_t | channel_layout, | ||
int32_t | sample_rate, | ||
int32_t | width, | ||
int32_t | height | ||
) |
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 4217 of file libavformat/utils.c.
Referenced by flv_read_packet(), and load_ipmovie_packet().
enum AVCodecID ff_codec_get_id | ( | const AVCodecTag * | tags, |
unsigned int | tag | ||
) |
Definition at line 2614 of file libavformat/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(), rso_read_header(), smjpeg_read_header(), and swf_read_packet().
unsigned int ff_codec_get_tag | ( | const AVCodecTag * | tags, |
enum AVCodecID | id | ||
) |
Definition at line 2604 of file libavformat/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().
void ff_compute_frame_duration | ( | int * | pnum, |
int * | pden, | ||
AVStream * | st, | ||
AVCodecParserContext * | pc, | ||
AVPacket * | pkt | ||
) |
Return the frame duration in seconds.
Return 0 if not available.
Definition at line 897 of file libavformat/utils.c.
Referenced by compute_pkt_fields(), and compute_pkt_fields2().
char* ff_data_to_hex | ( | char * | buff, |
const uint8_t * | src, | ||
int | s, | ||
int | lowercase | ||
) |
Definition at line 3895 of file libavformat/utils.c.
Referenced by do_llnw_auth(), ff_rdt_calc_response_and_checksum(), hex_log(), make_digest_auth(), open_input(), and param_write_hex().
int ff_find_stream_index | ( | AVFormatContext * | s, |
int | id | ||
) |
Find stream index based on format-specific stream ID.
- Returns
- stream index, or < 0 on error
Definition at line 4091 of file libavformat/utils.c.
Referenced by get_sindex(), parse_chunks(), and pmt_cb().
void ff_free_stream | ( | AVFormatContext * | s, |
AVStream * | st | ||
) |
Definition at line 3269 of file libavformat/utils.c.
Referenced by avformat_free_context(), and ff_rm_read_mdpr_codecdata().
int64_t ff_gen_search | ( | AVFormatContext * | s, |
int | stream_index, | ||
int64_t | target_ts, | ||
int64_t | pos_min, | ||
int64_t | pos_max, | ||
int64_t | pos_limit, | ||
int64_t | ts_min, | ||
int64_t | ts_max, | ||
int | flags, | ||
int64_t * | ts_ret, | ||
int64_t(*)(struct AVFormatContext *, int, int64_t *, int64_t) | read_timestamp | ||
) |
Perform a binary search using read_timestamp().
- Parameters
-
target_ts target timestamp in the time base of the given stream stream_index stream number
Definition at line 1889 of file libavformat/utils.c.
Referenced by ff_seek_frame_binary(), and read_seek().
Generate standard extradata for AVC-Intra based on width/height and field order.
Definition at line 4368 of file libavformat/utils.c.
Referenced by mov_read_trak(), and mxf_parse_structural_metadata().
int ff_get_audio_frame_size | ( | AVCodecContext * | enc, |
int | size, | ||
int | mux | ||
) |
Get the number of samples of an audio frame.
Return -1 on error.
Definition at line 868 of file libavformat/utils.c.
Referenced by compute_pkt_fields2(), and ff_compute_frame_duration().
enum AVCodecID ff_get_pcm_codec_id | ( | int | bps, |
int | flt, | ||
int | be, | ||
int | sflags | ||
) |
Select a PCM codec based on the given parameters.
- Parameters
-
bps bits-per-sample flt floating-point be big-endian sflags signed flags. each bit corresponds to one byte of bit depth. e.g. the 1st bit indicates if 8-bit should be signed or unsigned, the 2nd bit indicates if 16-bit should be signed or unsigned, etc... This is useful for formats such as WAVE where only 8-bit is unsigned and all other bit depths are signed.
- Returns
- a PCM codec id or AV_CODEC_ID_NONE
Definition at line 2628 of file libavformat/utils.c.
Referenced by ff_mov_get_lpcm_codec_id(), get_codec_data(), nist_read_header(), and pvf_read_header().
int ff_hex_to_data | ( | uint8_t * | data, |
const char * | p | ||
) |
Parse a string of hexadecimal strings.
Any space between the hexadecimal digits is ignored.
- Parameters
-
data if non-null, the parsed data is written to this pointer p the string to parse
- Returns
- the number of bytes written (or to be written, if data is null)
Definition at line 3916 of file libavformat/utils.c.
Referenced by parse_fmtp_config(), and parse_playlist().
int ff_http_match_no_proxy | ( | const char * | no_proxy, |
const char * | hostname | ||
) |
Definition at line 4487 of file libavformat/utils.c.
Referenced by http_open_cnx(), test(), and tls_open().
int ff_index_search_timestamp | ( | const AVIndexEntry * | entries, |
int | nb_entries, | ||
int64_t | wanted_timestamp, | ||
int | flags | ||
) |
Internal version of av_index_search_timestamp.
Definition at line 1777 of file libavformat/utils.c.
Referenced by av_index_search_timestamp(), ff_add_index_entry(), mxf_read_seek(), and read_seek().
int64_t ff_iso8601_to_unix_time | ( | const char * | datestr | ) |
Convert a date string in ISO8601 format to Unix timestamp.
Definition at line 4170 of file libavformat/utils.c.
Referenced by dv_init_mux(), gxf_write_umf_material_description(), mkv_write_header(), mov_write_header(), and mxf_write_header().
void ff_make_absolute_url | ( | char * | buf, |
int | size, | ||
const char * | base, | ||
const char * | rel | ||
) |
Convert a relative url into an absolute url, given a base url.
- Parameters
-
buf the buffer where output absolute url is written size the size of buf base the base url, may be equal to buf. rel the new url, which is interpreted relative to base
Definition at line 4101 of file libavformat/utils.c.
Referenced by add_file(), new_variant(), parse_playlist(), and test().
uint64_t ff_ntp_time | ( | void | ) |
Get the current time since NTP epoch in microseconds.
Definition at line 3679 of file libavformat/utils.c.
Referenced by rtp_write_header(), and rtp_write_packet().
void ff_parse_key_value | ( | const char * | str, |
ff_parse_key_val_cb | callback_get_buf, | ||
void * | context | ||
) |
Parse a string with comma-separated key=value pairs.
The value strings may be quoted and may contain escaped characters within quoted strings.
- Parameters
-
str the string to parse callback_get_buf function that returns where to store the unescaped value string. context the opaque context pointer to pass to callback_get_buf
Definition at line 4037 of file libavformat/utils.c.
Referenced by ff_http_auth_handle_header(), and parse_playlist().
void ff_program_add_stream_index | ( | AVFormatContext * | ac, |
int | progid, | ||
unsigned int | idx | ||
) |
Definition at line 3473 of file libavformat/utils.c.
Referenced by hls_read_header(), and pmt_cb().
void ff_read_frame_flush | ( | AVFormatContext * | s | ) |
Flush the frame reader.
Definition at line 1663 of file libavformat/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().
int ff_read_packet | ( | AVFormatContext * | s, |
AVPacket * | pkt | ||
) |
Read a transport packet from a media file.
- Parameters
-
s media file handle pkt is filled
- Returns
- 0 if OK, AVERROR_xxx on error
Definition at line 769 of file libavformat/utils.c.
Referenced by asfrtp_parse_packet(), estimate_timings_from_pts(), get_subtitle_pkt(), read_frame_internal(), read_gab2_sub(), and seek_subtitle().
|
static |
Definition at line 1818 of file libavformat/utils.c.
Referenced by ff_gen_search().
void ff_reduce_index | ( | AVFormatContext * | s, |
int | stream_index | ||
) |
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 1703 of file libavformat/utils.c.
Referenced by av_read_frame(), mpegps_read_pes_header(), mpegts_get_dts(), and read_frame_internal().
int ff_seek_frame_binary | ( | AVFormatContext * | s, |
int | stream_index, | ||
int64_t | target_ts, | ||
int | flags | ||
) |
Perform a binary search using av_index_search_timestamp() and AVInputFormat.read_timestamp().
- Parameters
-
target_ts target timestamp in the time base of the given stream stream_index stream number
Definition at line 1827 of file libavformat/utils.c.
Referenced by asf_read_seek(), ogg_read_seek(), rm_read_seek(), and seek_frame_internal().
void ff_update_cur_dts | ( | AVFormatContext * | s, |
AVStream * | ref_st, | ||
int64_t | timestamp | ||
) |
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).
- Parameters
-
timestamp new dts expressed in time_base of param ref_st ref_st reference stream giving time_base of param timestamp
Definition at line 1690 of file libavformat/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().
int ff_url_join | ( | char * | str, |
int | size, | ||
const char * | proto, | ||
const char * | authorization, | ||
const char * | hostname, | ||
int | port, | ||
const char * | fmt, | ||
... | |||
) |
Definition at line 3971 of file libavformat/utils.c.
int ff_write_chained | ( | AVFormatContext * | dst, |
int | dst_stream, | ||
AVPacket * | pkt, | ||
AVFormatContext * | src | ||
) |
Write a packet to another muxer than the one the user originally intended.
Useful when chaining muxers, where one muxer internally writes a received packet to another muxer.
- Parameters
-
dst the muxer to write the packet to dst_stream the stream index within dst to write the packet to pkt the packet to be written src the muxer the packet originally was intended for
- Returns
- the value av_write_frame returned
Definition at line 4015 of file libavformat/utils.c.
Referenced by ff_mov_add_hinted_packet(), hls_write_packet(), ism_write_packet(), rtsp_write_packet(), sap_write_packet(), and seg_write_packet().
int ffio_limit | ( | AVIOContext * | s, |
int | size | ||
) |
Definition at line 261 of file libavformat/utils.c.
Referenced by append_packet_chunked(), asf_read_stream_properties(), cin_read_packet(), ebml_parse_elem(), ffio_wfourcc(), film_read_packet(), rm_assemble_video_frame(), roq_read_packet(), siff_read_packet(), and vmd_read_packet().
|
static |
Definition at line 2295 of file libavformat/utils.c.
Referenced by estimate_timings(), and estimate_timings_from_pts().
|
static |
Definition at line 1628 of file libavformat/utils.c.
Referenced by avformat_close_input(), estimate_timings_from_pts(), and ff_read_frame_flush().
|
static |
Definition at line 709 of file libavformat/utils.c.
Referenced by ff_read_packet(), and probe_codec().
|
static |
Definition at line 1295 of file libavformat/utils.c.
Referenced by flush_packet_queue().
|
static |
Definition at line 974 of file libavformat/utils.c.
Referenced by update_initial_durations(), and update_initial_timestamps().
|
static |
Definition at line 2715 of file libavformat/utils.c.
Referenced by avformat_find_stream_info().
|
static |
Definition at line 2476 of file libavformat/utils.c.
Referenced by avformat_find_stream_info(), and try_decode_frame().
|
static |
Definition at line 956 of file libavformat/utils.c.
Referenced by compute_pkt_fields(), try_decode_frame(), and update_initial_timestamps().
|
static |
Return TRUE if the stream has accurate duration in any stream.
- Returns
- TRUE if the stream has accurate duration for at least one component.
Definition at line 2206 of file libavformat/utils.c.
Referenced by estimate_timings().
|
static |
Definition at line 3739 of file libavformat/utils.c.
Referenced by av_hex_dump(), and av_hex_dump_log().
|
static |
Definition at line 553 of file libavformat/utils.c.
Referenced by avformat_open_input().
|
static |
Definition at line 940 of file libavformat/utils.c.
Referenced by compute_pkt_fields().
|
static |
Definition at line 77 of file libavformat/utils.c.
Referenced by av_read_frame(), avformat_find_stream_info(), compute_pkt_fields(), ff_add_index_entry(), and update_initial_timestamps().
|
static |
Definition at line 170 of file libavformat/utils.c.
Referenced by av_find_input_format(), and av_guess_format().
|
static |
Definition at line 4463 of file libavformat/utils.c.
Referenced by ff_http_match_no_proxy().
|
static |
Parse a packet, add all split parts to parse_queue.
- Parameters
-
pkt packet to parse, NULL when flushing the parser at end of stream
Definition at line 1311 of file libavformat/utils.c.
Referenced by read_frame_internal().
|
static |
Definition at line 3778 of file libavformat/utils.c.
Referenced by av_pkt_dump2(), and av_pkt_dump_log2().
|
static |
Definition at line 3501 of file libavformat/utils.c.
Referenced by dump_stream_format().
|
static |
Definition at line 724 of file libavformat/utils.c.
Referenced by ff_read_packet().
|
static |
Definition at line 1427 of file libavformat/utils.c.
Referenced by av_read_frame(), and avformat_find_stream_info().
|
static |
Definition at line 1412 of file libavformat/utils.c.
Referenced by av_read_frame(), and read_frame_internal().
|
static |
Definition at line 2012 of file libavformat/utils.c.
Referenced by seek_frame_internal().
|
static |
Definition at line 2028 of file libavformat/utils.c.
Referenced by seek_frame_internal().
|
static |
Definition at line 2092 of file libavformat/utils.c.
Referenced by av_seek_frame().
|
static |
Definition at line 414 of file libavformat/utils.c.
Referenced by probe_codec().
|
static |
Definition at line 2728 of file libavformat/utils.c.
Referenced by avformat_find_stream_info().
|
static |
Definition at line 2522 of file libavformat/utils.c.
Referenced by avformat_find_stream_info().
|
static |
Definition at line 1099 of file libavformat/utils.c.
Referenced by compute_pkt_fields().
|
static |
Definition at line 1042 of file libavformat/utils.c.
Referenced by compute_pkt_fields().
|
static |
Estimate the stream timings from the one of each components.
Also computes the global bitrate if possible.
Definition at line 2226 of file libavformat/utils.c.
Referenced by estimate_timings(), and fill_all_stream_timings().
|
static |
Definition at line 983 of file libavformat/utils.c.
Referenced by update_initial_timestamps().
|
static |
Wrap a given time stamp, if there is an indication for an overflow.
- Parameters
-
st stream timestamp the time stamp to wrap
- Returns
- resulting time stamp
Definition at line 88 of file libavformat/utils.c.
Referenced by av_add_index_entry(), ff_read_packet(), ff_read_timestamp(), and update_initial_timestamps().
Variable Documentation
|
static |
head of registered input format linked list
Definition at line 109 of file libavformat/utils.c.
Referenced by av_iformat_next(), and av_register_input_format().
|
static |
head of registered output format linked list
Definition at line 111 of file libavformat/utils.c.
Referenced by av_oformat_next(), and av_register_output_format().
Generated on Mon Nov 18 2024 06:52:09 for FFmpeg by 1.8.11