#include "avformat.h"
#include "avio_internal.h"
#include "internal.h"
#include "libavcodec/internal.h"
#include "libavcodec/raw.h"
#include "libavutil/opt.h"
#include "libavutil/dict.h"
#include "libavutil/pixdesc.h"
#include "metadata.h"
#include "id3v2.h"
#include "libavutil/avstring.h"
#include "riff.h"
#include "audiointerleave.h"
#include "url.h"
#include <sys/time.h>
#include <time.h>
#include <strings.h>
#include <stdarg.h>
#include <assert.h>
#include "libavutil/parseutils.h"
Go to the source code of this file.
Defines | |
#define | LICENSE_PREFIX "libavformat license: " |
#define | PROBE_BUF_MIN 2048 |
size of probe buffer, for guessing file type from file contents | |
#define | PROBE_BUF_MAX (1<<20) |
#define | DURATION_MAX_READ_SIZE 250000 |
#define | DURATION_MAX_RETRY 3 |
#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. | |
const char * | avformat_configuration (void) |
Return the libavformat build-time configuration. | |
const char * | avformat_license (void) |
Return the libavformat license. | |
static void | av_frac_init (AVFrac *f, int64_t val, int64_t num, int64_t den) |
f = val + (num / den) + 0.5. | |
static void | av_frac_add (AVFrac *f, int64_t incr) |
Fractional addition to f: f = f + (incr / f->den). | |
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. | |
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. | |
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. | |
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. | |
enum CodecID | 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. | |
AVInputFormat * | av_find_input_format (const char *short_name) |
Find AVInputFormat based on the short name of the input format. | |
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. | |
int | av_append_packet (AVIOContext *s, AVPacket *pkt, int size) |
Read data and append it to the current content of the AVPacket. | |
int | av_filename_number_test (const char *filename) |
Check whether filename actually is a numbered sequence generator. | |
AVInputFormat * | av_probe_input_format3 (AVProbeData *pd, int is_opened, int *score_ret) |
Guess the file format. | |
AVInputFormat * | av_probe_input_format2 (AVProbeData *pd, int is_opened, int *score_max) |
Guess the file format. | |
AVInputFormat * | av_probe_input_format (AVProbeData *pd, int is_opened) |
Guess the file format. | |
static int | set_codec_from_probe_data (AVFormatContext *s, AVStream *st, AVProbeData *pd) |
static AVDictionary * | convert_format_parameters (AVFormatParameters *ap) |
int | av_open_input_stream (AVFormatContext **ic_ptr, AVIOContext *pb, const char *filename, AVInputFormat *fmt, AVFormatParameters *ap) |
Open a media file from an IO stream. | |
int | av_demuxer_open (AVFormatContext *ic, AVFormatParameters *ap) |
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. | |
int | av_open_input_file (AVFormatContext **ic_ptr, const char *filename, AVInputFormat *fmt, int buf_size, AVFormatParameters *ap) |
Open a media file as input. | |
static int | init_input (AVFormatContext *s, const char *filename) |
int | avformat_open_input (AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options) |
Open an input stream and read the header. | |
static AVPacket * | add_to_pktbuf (AVPacketList **packet_buffer, AVPacket *pkt, AVPacketList **plast_pktl) |
int | av_read_packet (AVFormatContext *s, AVPacket *pkt) |
Read a transport packet from a media file. | |
static int | get_audio_frame_size (AVCodecContext *enc, int size) |
Get the number of samples of an audio frame. | |
static void | compute_frame_duration (int *pnum, int *pden, AVStream *st, AVCodecParserContext *pc, AVPacket *pkt) |
Return the frame duration in seconds. | |
static int | is_intra_only (AVCodecContext *enc) |
static void | update_initial_timestamps (AVFormatContext *s, int stream_index, int64_t dts, int64_t pts) |
static void | update_initial_durations (AVFormatContext *s, AVStream *st, AVPacket *pkt) |
static void | compute_pkt_fields (AVFormatContext *s, AVStream *st, AVCodecParserContext *pc, AVPacket *pkt) |
static int | av_read_frame_internal (AVFormatContext *s, AVPacket *pkt) |
int | av_read_frame (AVFormatContext *s, AVPacket *pkt) |
Return the next frame of a stream. | |
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. | |
void | av_update_cur_dts (AVFormatContext *s, AVStream *ref_st, int64_t timestamp) |
Update cur_dts of all streams based on the given timestamp and AVStream. | |
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. | |
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. | |
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. | |
int | ff_index_search_timestamp (const AVIndexEntry *entries, int nb_entries, int64_t wanted_timestamp, int flags) |
Internal version of av_index_search_timestamp. | |
int | av_index_search_timestamp (AVStream *st, int64_t wanted_timestamp, int flags) |
Get the index for a specific timestamp. | |
int | av_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(). | |
int64_t | av_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(). | |
static int | av_seek_frame_byte (AVFormatContext *s, int stream_index, int64_t pos, int flags) |
static int | av_seek_frame_generic (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. | |
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. | |
static int | av_has_duration (AVFormatContext *ic) |
Return TRUE if the stream has accurate duration in any stream. | |
static void | av_update_stream_timings (AVFormatContext *ic) |
Estimate the stream timings from the one of each components. | |
static void | fill_all_stream_timings (AVFormatContext *ic) |
static void | av_estimate_timings_from_bit_rate (AVFormatContext *ic) |
static void | av_estimate_timings_from_pts (AVFormatContext *ic, int64_t old_offset) |
static void | av_estimate_timings (AVFormatContext *ic, int64_t old_offset) |
static int | has_codec_parameters (AVCodecContext *enc) |
static int | has_decode_delay_been_guessed (AVStream *st) |
static int | try_decode_frame (AVStream *st, AVPacket *avpkt, AVDictionary **options) |
unsigned int | ff_codec_get_tag (const AVCodecTag *tags, enum CodecID id) |
enum CodecID | ff_codec_get_id (const AVCodecTag *tags, unsigned int tag) |
unsigned int | av_codec_get_tag (const AVCodecTag *const *tags, enum CodecID id) |
enum CodecID | 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 | av_find_stream_info (AVFormatContext *ic) |
Read packets of a media file to get stream information. | |
int | avformat_find_stream_info (AVFormatContext *ic, AVDictionary **options) |
Read packets of a media file to get stream information. | |
static AVProgram * | find_program_from_stream (AVFormatContext *ic, int s) |
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. | |
int | av_read_play (AVFormatContext *s) |
Start playing a network-based stream (e.g. | |
int | av_read_pause (AVFormatContext *s) |
Pause a network-based stream (e.g. | |
void | av_close_input_stream (AVFormatContext *s) |
Free a AVFormatContext allocated by av_open_input_stream. | |
void | avformat_free_context (AVFormatContext *s) |
Free an AVFormatContext and all its streams. | |
void | av_close_input_file (AVFormatContext *s) |
Close a media file (but not its codecs). | |
AVStream * | av_new_stream (AVFormatContext *s, int id) |
Add a new stream to a media file. | |
AVProgram * | av_new_program (AVFormatContext *ac, int id) |
AVChapter * | ff_new_chapter (AVFormatContext *s, int id, AVRational time_base, int64_t start, int64_t end, const char *title) |
Add a new chapter. | |
int | av_set_parameters (AVFormatContext *s, AVFormatParameters *ap) |
media file output | |
int | avformat_alloc_output_context2 (AVFormatContext **avctx, AVOutputFormat *oformat, const char *format, const char *filename) |
Allocate an AVFormatContext for an output format. | |
AVFormatContext * | avformat_alloc_output_context (const char *format, AVOutputFormat *oformat, const char *filename) |
static int | validate_codec_tag (AVFormatContext *s, AVStream *st) |
int | av_write_header (AVFormatContext *s) |
Allocate the stream private data and write the stream header to an output media file. | |
int | avformat_write_header (AVFormatContext *s, AVDictionary **options) |
Allocate the stream private data and write the stream header to an output media file. | |
static int | compute_pkt_fields2 (AVFormatContext *s, AVStream *st, AVPacket *pkt) |
int | av_write_frame (AVFormatContext *s, AVPacket *pkt) |
Write a packet to an output media file. | |
void | ff_interleave_add_packet (AVFormatContext *s, AVPacket *pkt, int(*compare)(AVFormatContext *, AVPacket *, AVPacket *)) |
Add packet to AVFormatContext->packet_buffer list, determining its interleaved position using compare() function argument. | |
static int | ff_interleave_compare_dts (AVFormatContext *s, AVPacket *next, AVPacket *pkt) |
int | av_interleave_packet_per_dts (AVFormatContext *s, AVPacket *out, AVPacket *pkt, int flush) |
Interleave a packet per dts in an output media file. | |
static int | av_interleave_packet (AVFormatContext *s, AVPacket *out, AVPacket *in, int flush) |
Interleave an AVPacket correctly so it can be muxed. | |
int | av_interleaved_write_frame (AVFormatContext *s, AVPacket *pkt) |
Write a packet to an output media file ensuring correct interleaving. | |
int | av_write_trailer (AVFormatContext *s) |
Write the stream trailer to an output media file and free the file private data. | |
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 | dump_format (AVFormatContext *ic, int index, const char *url, int is_output) |
void | av_dump_format (AVFormatContext *ic, int index, const char *url, int is_output) |
int64_t | av_gettime (void) |
Get the current time in microseconds. | |
uint64_t | ff_ntp_time (void) |
Get the current time since NTP epoch in microseconds. | |
int64_t | parse_date (const char *timestr, int duration) |
Parse datestr and return a corresponding number of microseconds. | |
int | find_info_tag (char *arg, int arg_size, const char *tag1, const char *info) |
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. | |
static void | hex_dump_internal (void *avcl, FILE *f, int level, uint8_t *buf, int size) |
void | av_hex_dump (FILE *f, uint8_t *buf, int size) |
Send a nice hexadecimal dump of a buffer to the specified file stream. | |
void | av_hex_dump_log (void *avcl, int level, uint8_t *buf, int size) |
Send a nice hexadecimal dump of a buffer to the log. | |
static void | pkt_dump_internal (void *avcl, FILE *f, int level, AVPacket *pkt, int dump_payload, AVRational time_base) |
void | av_pkt_dump (FILE *f, AVPacket *pkt, int dump_payload) |
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. | |
void | av_pkt_dump_log (void *avcl, int level, AVPacket *pkt, int dump_payload) |
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. | |
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. | |
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. | |
void | av_set_pts_info (AVStream *s, int pts_wrap_bits, unsigned int pts_num, unsigned int pts_den) |
Set the pts for a given stream. | |
int | ff_url_join (char *str, int size, const char *proto, const char *authorization, const char *hostname, int port, const char *fmt,...) |
Assemble a URL string from components. | |
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. | |
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. | |
int | ff_find_stream_index (AVFormatContext *s, int id) |
Find stream index based on format-specific stream ID. | |
void | ff_make_absolute_url (char *buf, int size, const char *base, const char *rel) |
Variables | |
static AVInputFormat * | first_iformat = NULL |
head of registered input format linked list | |
static AVOutputFormat * | first_oformat = NULL |
head of registered output format linked list |
Definition in file utils.c.
#define DURATION_MAX_READ_SIZE 250000 |
#define DURATION_MAX_RETRY 3 |
#define LICENSE_PREFIX "libavformat license: " |
#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) |
#define PROBE_BUF_MAX (1<<20) |
#define PROBE_BUF_MIN 2048 |
size of probe buffer, for guessing file type from file contents
Definition at line 501 of file utils.c.
Referenced by av_probe_input_buffer().
static AVPacket* add_to_pktbuf | ( | AVPacketList ** | packet_buffer, | |
AVPacket * | pkt, | |||
AVPacketList ** | plast_pktl | |||
) | [static] |
Definition at line 699 of file utils.c.
Referenced by av_read_frame(), av_read_packet(), and avformat_find_stream_info().
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.
Update the entry if the list already contains it.
timestamp | timestamp in the time base of the given stream |
Definition at line 1474 of file utils.c.
Referenced by ape_read_header(), asf_build_simple_index(), asf_read_pts(), av_read_frame_internal(), avi_read_idx1(), clean_index(), find_and_decode_index(), flv_read_packet(), gxf_read_index(), matroska_parse_block(), matroska_read_header(), mov_read_trun(), mpc8_parse_seektable(), mpc_read_packet(), mpegps_read_pes_header(), nsv_parse_NSVs_header(), parse_keyframes_index(), pmp_header(), pva_read_header(), read_braindead_odml_indx(), read_header(), read_pakt_chunk(), read_part_of_packet(), rl2_read_header(), rm_read_dts(), rm_read_index(), rm_read_packet(), rpl_read_header(), tta_read_header(), write_packet(), wv_read_packet(), and xwma_read_header().
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.
pkt | packet | |
size | amount of data to read |
Definition at line 285 of file utils.c.
Referenced by dfa_read_packet(), wc3_read_header(), wc3_read_packet(), and wv_read_packet().
void av_close_input_file | ( | AVFormatContext * | s | ) |
Close a media file (but not its codecs).
s | media file handle |
Definition at line 2695 of file utils.c.
Referenced by avi_read_close(), build_feed_streams(), build_file_streams(), close_connection(), ff_wms_parse_sdp_a_line(), ffmpeg_exit(), free_variant_list(), http_prepare_data(), main(), open_input_stream(), opt_input_file(), probe_file(), rdt_free_context(), read_ffserver_streams(), read_thread(), sap_read_close(), and uninit().
void av_close_input_stream | ( | AVFormatContext * | s | ) |
Free a AVFormatContext allocated by av_open_input_stream.
s | context to free |
Definition at line 2645 of file utils.c.
Referenced by av_close_input_file(), ff_rtsp_close_streams(), and http_receive_data().
enum CodecID av_codec_get_id | ( | const AVCodecTag *const * | tags, | |
unsigned int | tag | |||
) |
unsigned int av_codec_get_tag | ( | const AVCodecTag *const * | tags, | |
enum CodecID | id | |||
) |
int av_demuxer_open | ( | AVFormatContext * | ic, | |
AVFormatParameters * | ap | |||
) |
void av_dump_format | ( | AVFormatContext * | ic, | |
int | index, | |||
const char * | url, | |||
int | is_output | |||
) |
Definition at line 3442 of file utils.c.
Referenced by dump_format(), main(), open_input_file(), opt_input_file(), read_thread(), and transcode().
static void av_estimate_timings | ( | AVFormatContext * | ic, | |
int64_t | old_offset | |||
) | [static] |
static void av_estimate_timings_from_bit_rate | ( | AVFormatContext * | ic | ) | [static] |
static void av_estimate_timings_from_pts | ( | AVFormatContext * | ic, | |
int64_t | old_offset | |||
) | [static] |
int av_filename_number_test | ( | const char * | filename | ) |
Check whether filename actually is a numbered sequence generator.
filename | possible numbered sequence string |
Definition at line 301 of file utils.c.
Referenced by av_guess_format(), avformat_open_input(), opt_output_file(), and read_probe().
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.
The best stream is determined according to various heuristics as the most likely to be what the user expects. If the decoder parameter is non-NULL, av_find_best_stream will find the default decoder for the stream's codec; streams for which no decoder can be found are ignored.
ic | media file handle | |
type | stream type: video, audio, subtitles, etc. | |
wanted_stream_nb | user-requested stream number, or -1 for automatic selection | |
related_stream | try to find a stream related (eg. in the same program) to this one, or -1 if none | |
decoder_ret | if non-NULL, returns the decoder for the selected stream | |
flags | flags; none are currently defined |
Definition at line 2572 of file utils.c.
Referenced by movie_init(), and read_thread().
int av_find_default_stream_index | ( | AVFormatContext * | s | ) |
AVInputFormat* av_find_input_format | ( | const char * | short_name | ) |
Find AVInputFormat based on the short name of the input format.
Definition at line 256 of file utils.c.
Referenced by http_receive_data(), movie_init(), opt_format(), opt_input_file(), parse_ffconfig(), and sap_read_header().
int av_find_stream_info | ( | AVFormatContext * | ic | ) |
Read packets of a media file to get stream information.
This is useful for file formats with no headers such as MPEG. This function also computes the real framerate in case of MPEG-2 repeat frame mode. The logical file position is not changed by this function; examined packets may be buffered for later processing.
ic | media file handle |
Definition at line 2255 of file utils.c.
Referenced by build_file_streams(), main(), movie_init(), open_input_file(), open_input_stream(), opt_input_file(), and read_thread().
static void av_frac_add | ( | AVFrac * | f, | |
int64_t | incr | |||
) | [static] |
Fractional addition to f: f = f + (incr / f->den).
f | fractional number | |
incr | increment, can be positive or negative |
Definition at line 100 of file utils.c.
Referenced by compute_pkt_fields2().
static void av_frac_init | ( | AVFrac * | f, | |
int64_t | val, | |||
int64_t | num, | |||
int64_t | den | |||
) | [static] |
f = val + (num / den) + 0.5.
'num' is normalized so that it is such as 0 <= num < den.
f | fractional number | |
val | integer value | |
num | must be >= 0 | |
den | must be >= 1 |
Definition at line 82 of file utils.c.
Referenced by avformat_write_header().
int64_t av_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().
This is not supposed to be called directly by a user application, but by demuxers.
target_ts | target timestamp in the time base of the given stream | |
stream_index | stream number |
Definition at line 1583 of file utils.c.
Referenced by av_seek_frame_binary(), and read_seek().
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.
Also handles the '0nd' format where 'n' is the total number of digits and '%'.
buf | destination buffer | |
buf_size | destination buffer size | |
path | numbered sequence string | |
number | frame number |
Definition at line 3553 of file utils.c.
Referenced by av_filename_number_test(), find_image_range(), and read_packet().
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.
pkt | packet | |
size | desired payload size |
Definition at line 267 of file utils.c.
Referenced by aea_read_packet(), aiff_read_packet(), apc_read_packet(), au_read_packet(), av_append_packet(), bfi_read_packet(), cdata_read_packet(), cin_read_packet(), daud_packet(), dfa_read_packet(), dxa_read_packet(), ea_read_packet(), ff_rm_parse_packet(), ff_rm_retrieve_cache(), film_read_packet(), flv_read_packet(), fourxm_read_packet(), gxf_packet(), idcin_read_packet(), iff_read_packet(), iss_read_packet(), lmlm4_read_packet(), load_ipmovie_packet(), mov_read_packet(), mp3_read_packet(), mpc8_read_packet(), mpegps_read_packet(), msnwc_tcp_read_packet(), mtv_read_packet(), mxf_decrypt_triplet(), mxf_get_d10_aes3_packet(), mxf_read_packet(), 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(), rso_read_packet(), seq_read_packet(), siff_read_packet(), sol_read_packet(), sox_read_packet(), swf_read_packet(), thp_read_packet(), tmv_read_packet(), tta_read_packet(), txd_read_packet(), vc1t_read_packet(), vid_read_packet(), voc_get_packet(), wc3_read_packet(), wsaud_read_packet(), xa_read_packet(), xwma_read_packet(), yop_read_packet(), and yuv4_read_packet().
int64_t av_gettime | ( | void | ) |
Get the current time in microseconds.
Definition at line 3521 of file utils.c.
Referenced by applehttp_read(), audio_read_packet(), bktr_getframe(), enqueue_packet(), fbdev_read_packet(), ff_ntp_time(), ff_rtsp_setup_output_streams(), get_external_clock(), get_video_clock(), get_video_frame(), getutime(), grab_read_header(), grab_read_packet(), http_server(), open_input_stream(), output_packet(), parse_playlist(), print_report(), process_callback(), read_data(), read_ffserver_streams(), rtsp_read_packet(), sap_write_header(), sap_write_packet(), sdl_audio_callback(), stream_toggle_pause(), transcode(), video_audio_display(), video_refresh(), x11grab_read_header(), and x11grab_read_packet().
enum CodecID 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.
Definition at line 235 of file utils.c.
Referenced by new_audio_stream(), new_subtitle_stream(), and new_video_stream().
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.
short_name | if non-NULL checks if short_name matches with the names of the registered formats | |
filename | if non-NULL checks if filename terminates with the extensions of the registered formats | |
mime_type | if non-NULL checks if mime_type matches with the MIME type of the registered formats |
Definition at line 200 of file utils.c.
Referenced by av_guess_format(), avformat_alloc_output_context2(), ff_rtp_chain_mux_open(), ffserver_guess_format(), parse_ffconfig(), and rtp_new_av_stream().
static int av_has_duration | ( | AVFormatContext * | ic | ) | [static] |
Return TRUE if the stream has accurate duration in any stream.
Definition at line 1840 of file utils.c.
Referenced by av_estimate_timings().
void av_hex_dump | ( | FILE * | f, | |
uint8_t * | buf, | |||
int | size | |||
) |
Send a nice hexadecimal dump of a buffer to the specified file stream.
f | The file stream pointer where the dump should be sent to. | |
buf | buffer | |
size | buffer size |
Definition at line 3637 of file utils.c.
Referenced by pkt_dump_internal().
void av_hex_dump_log | ( | void * | avcl, | |
int | level, | |||
uint8_t * | buf, | |||
int | size | |||
) |
Send a nice hexadecimal dump of a buffer to the log.
avcl | A pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct. | |
level | The importance level of the message, lower values signifying higher importance. | |
buf | buffer | |
size | buffer size |
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.
Definition at line 125 of file utils.c.
Referenced by av_find_input_format(), av_probe_input_format3(), opt_default(), opt_find(), opt_formats(), and probe().
int av_index_search_timestamp | ( | AVStream * | st, | |
int64_t | timestamp, | |||
int | flags | |||
) |
Get the index for a specific timestamp.
flags | if AVSEEK_FLAG_BACKWARD then the returned index will correspond to the timestamp which is <= the requested one, if backward is 0, then it will be >= if AVSEEK_FLAG_ANY seek to any frame, only keyframes otherwise |
Definition at line 1516 of file utils.c.
Referenced by ape_read_seek(), asf_read_seek(), av_seek_frame_binary(), av_seek_frame_generic(), avi_read_packet(), avi_read_seek(), gxf_seek(), matroska_read_seek(), mov_seek_stream(), mpc8_read_seek(), mpc_read_seek(), nsv_read_seek(), read_packet(), read_seek(), rl2_read_seek(), tta_read_seek(), write_packet(), and wv_read_seek().
static int av_interleave_packet | ( | AVFormatContext * | s, | |
AVPacket * | out, | |||
AVPacket * | in, | |||
int | flush | |||
) | [static] |
Interleave an AVPacket correctly so it can be muxed.
out | the interleaved packet will be output here | |
in | the input packet | |
flush | 1 if no further packets are available as input and all remaining packets should be output |
Definition at line 3238 of file utils.c.
Referenced by av_interleaved_write_frame(), and av_write_trailer().
int av_interleave_packet_per_dts | ( | AVFormatContext * | s, | |
AVPacket * | out, | |||
AVPacket * | pkt, | |||
int | flush | |||
) |
Interleave a packet per dts in an output media file.
Packets with pkt->destruct == av_destruct_packet will be freed inside this function, so they cannot be used after it. Note that calling av_free_packet() on them is still safe.
s | media file handle | |
out | the interleaved packet will be output here | |
pkt | the input packet | |
flush | 1 if no further packets are available as input and all remaining packets should be output |
Definition at line 3199 of file utils.c.
Referenced by av_interleave_packet(), and gxf_interleave_packet().
int av_interleaved_write_frame | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) |
Write a packet to an output media file ensuring correct interleaving.
The packet must contain one audio or video frame. If the packets are already correctly interleaved, the application should call av_write_frame() instead as it is slightly faster. It is also important to keep in mind that completely non-interleaved input will need huge amounts of memory to interleave with this, so it is preferable to interleave at the demuxer level.
s | media file handle | |
pkt | The packet, which contains the stream_index, buf/buf_size, dts/pts, ... |
Definition at line 3245 of file utils.c.
Referenced by write_audio_frame(), write_frame(), and write_video_frame().
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.
extensions | a comma-separated list of filename extensions |
Definition at line 155 of file utils.c.
Referenced by av_guess_format(), av_probe_input_format3(), http_parse_request(), ipod_get_codec_tag(), mpegts_probe(), and nsv_probe().
AVProgram* av_new_program | ( | AVFormatContext * | ac, | |
int | id | |||
) |
AVStream* av_new_stream | ( | AVFormatContext * | s, | |
int | id | |||
) |
Add a new stream to a media file.
Can only be called in the read_header() function. If the flag AVFMTCTX_NOHEADER is in the format context, then new streams can be added in read_packet too.
s | media file handle | |
id | file-format-dependent stream ID |
Definition at line 2704 of file utils.c.
Referenced by add_audio_stream(), add_dstream(), add_video_stream(), adts_aac_read_header(), aea_read_header(), aiff_read_header(), amr_read_header(), apc_read_header(), ape_read_header(), applehttp_read_header(), asf_read_stream_properties(), au_read_header(), audio_read_header(), avi_read_header(), avisynth_read_header(), avs_read_packet(), bfi_read_header(), cdata_read_header(), cin_read_header(), create_audio_stream(), create_stream(), daud_header(), dc1394_read_header(), decode_main_header(), dfa_read_header(), dshow_add_device(), dv_extract_audio_info(), dv_init_demux(), dxa_read_header(), ea_read_header(), fbdev_read_header(), ff_raw_audio_read_header(), ff_raw_read_header(), ff_raw_video_read_header(), ff_rtp_chain_mux_open(), ffm_read_header(), film_read_header(), flac_read_header(), flic_read_header(), fourxm_read_header(), get_attachment(), get_sindex(), grab_read_header(), idcin_read_header(), iff_read_header(), ipmovie_read_header(), iss_read_header(), lmlm4_read_header(), lxf_read_header(), matroska_read_header(), microdvd_read_header(), mmf_read_header(), mov_read_trak(), mp3_read_header(), mpc8_read_header(), mpc_read_header(), mpegps_read_packet(), mpegts_push_data(), mpegts_read_header(), mpegts_set_stream_info(), msnwc_tcp_read_header(), mtv_read_header(), mxf_parse_structural_metadata(), mxg_read_header(), nc_read_header(), new_audio_stream(), new_data_stream(), new_stream(), new_subtitle_stream(), new_video_stream(), nsv_parse_NSVs_header(), nut_read_header(), nuv_header(), ogg_new_stream(), oma_read_header(), pmp_header(), pmt_cb(), pva_read_header(), qcp_read_header(), r3d_read_red1(), read_desc_chunk(), read_header(), read_packet(), rl2_read_header(), rm_read_header(), rm_read_header_old(), roq_read_header(), roq_read_packet(), rpl_read_header(), rso_read_header(), sap_fetch_packet(), sap_read_header(), seq_read_header(), siff_parse_vbv1(), smacker_read_header(), sol_read_header(), sox_read_header(), spdif_read_packet(), srt_read_header(), str_read_packet(), swf_read_packet(), thp_read_header(), tmv_read_header(), tta_read_header(), txd_read_header(), v4l2_read_header(), vc1t_read_header(), vfw_read_header(), vid_read_header(), vmd_read_header(), voc_read_header(), vqf_read_header(), wc3_read_header(), wsaud_read_header(), wsvqa_read_header(), wv_read_header(), x11grab_read_header(), xa_read_header(), xwma_read_header(), yop_read_header(), and yuv4_read_header().
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.
Definition at line 131 of file utils.c.
Referenced by av_guess_format(), opt_default(), opt_find(), opt_formats(), and opt_help().
int av_open_input_file | ( | AVFormatContext ** | ic_ptr, | |
const char * | filename, | |||
AVInputFormat * | fmt, | |||
int | buf_size, | |||
AVFormatParameters * | ap | |||
) |
Open a media file as input.
The codecs are not opened. Only the file header (if present) is read.
ic_ptr | The opened media file handle is put here. | |
filename | filename to open | |
fmt | If non-NULL, force the file format to use. | |
buf_size | optional buffer size (zero if default is OK) | |
ap | Additional parameters needed when opening the file (NULL if default). |
Definition at line 578 of file utils.c.
Referenced by main(), opt_input_file(), and read_ffserver_streams().
int av_open_input_stream | ( | AVFormatContext ** | ic_ptr, | |
AVIOContext * | pb, | |||
const char * | filename, | |||
AVInputFormat * | fmt, | |||
AVFormatParameters * | ap | |||
) |
void av_pkt_dump | ( | FILE * | f, | |
AVPacket * | pkt, | |||
int | dump_payload | |||
) |
void av_pkt_dump_log | ( | void * | avcl, | |
int | level, | |||
AVPacket * | pkt, | |||
int | dump_payload | |||
) |
Send a nice dump of a packet to the log.
avcl | A pointer to an arbitrary struct of which the first field is a pointer to an AVClass struct. | |
level | The importance level of the message, lower values signifying higher importance. | |
pkt | packet to dump | |
dump_payload | True if the payload must be displayed, too. | |
st | AVStream that the packet belongs to |
Definition at line 3694 of file utils.c.
Referenced by transcode().
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.
Each time a probe returns with a score that is too low, the probe buffer size is increased and another attempt is made. When the maximum probe size is reached, the input format with the highest score is returned.
pb | the bytestream to probe | |
fmt | the input format is put here | |
filename | the filename of the stream | |
logctx | the log context | |
offset | the offset within the bytestream to probe from | |
max_probe_size | the maximum probe buffer size (zero for default) |
Definition at line 504 of file utils.c.
Referenced by applehttp_read_header(), and init_input().
AVInputFormat* av_probe_input_format | ( | AVProbeData * | pd, | |
int | is_opened | |||
) |
Guess the file format.
is_opened | Whether the file is already opened; determines whether demuxers with or without AVFMT_NOFILE are probed. |
Definition at line 356 of file utils.c.
Referenced by init_input().
AVInputFormat* av_probe_input_format2 | ( | AVProbeData * | pd, | |
int | is_opened, | |||
int * | score_max | |||
) |
Guess the file format.
is_opened | Whether the file is already opened; determines whether demuxers with or without AVFMT_NOFILE are probed. | |
score_max | A probe score larger that this is required to accept a detection, the variable is set to the actual detection score afterwards. If the score is <= AVPROBE_SCORE_MAX / 4 it is recommended to retry with a larger probe buffer. |
Definition at line 345 of file utils.c.
Referenced by av_probe_input_buffer(), av_probe_input_format(), and read_gab2_sub().
AVInputFormat* av_probe_input_format3 | ( | AVProbeData * | pd, | |
int | is_opened, | |||
int * | score_ret | |||
) |
Guess the file format.
is_opened | Whether the file is already opened; determines whether demuxers with or without AVFMT_NOFILE are probed. | |
score_ret | The score of the best detection. |
Definition at line 307 of file utils.c.
Referenced by av_probe_input_format2(), and set_codec_from_probe_data().
int av_read_frame | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) |
Return the next frame of a stream.
This function returns what is stored in the file, and does not validate that what is there are valid frames for the decoder. It will split what is stored in the file into frames and return one for each call. It will not omit invalid data between valid frames so as to give the decoder the maximum information possible for decoding.
The returned packet is valid until the next av_read_frame() or until av_close_input_file() and must be freed with av_free_packet. For video, the packet contains exactly one frame. For audio, it contains an integer number of frames if each frame has a known fixed size (e.g. PCM or ADPCM data). If the audio frames have a variable size (e.g. MPEG audio), then it contains one frame.
pkt->pts, pkt->dts and pkt->duration are always set to correct values in AVStream.time_base units (and guessed if the format cannot provide them). pkt->pts can be AV_NOPTS_VALUE if the video format has B-frames, so it is better to rely on pkt->dts if you do not decompress the payload.
Definition at line 1268 of file utils.c.
Referenced by applehttp_read_packet(), asf_read_pts(), av_seek_frame_generic(), http_prepare_data(), main(), movie_get_frame(), mpc_read_seek(), read_thread(), sap_fetch_packet(), search_hi_lo_keyframes(), show_packets(), transcode(), and wv_read_seek().
static int av_read_frame_internal | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) | [static] |
Definition at line 1123 of file utils.c.
Referenced by av_read_frame(), and avformat_find_stream_info().
int av_read_packet | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) |
Read a transport packet from a media file.
This function is obsolete and should never be used. Use av_read_frame() instead.
s | media file handle | |
pkt | is filled |
Definition at line 716 of file utils.c.
Referenced by asfrtp_parse_packet(), av_estimate_timings_from_pts(), av_read_frame_internal(), extract_mpeg4_header(), get_subtitle_pkt(), read_gab2_sub(), and seek_subtitle().
int av_read_pause | ( | AVFormatContext * | s | ) |
Pause a network-based stream (e.g.
RTSP stream).
Use av_read_play() to resume it.
Definition at line 2636 of file utils.c.
Referenced by read_thread().
int av_read_play | ( | AVFormatContext * | s | ) |
Start playing a network-based stream (e.g.
RTSP stream) at the current position.
Definition at line 2627 of file utils.c.
Referenced by read_thread().
void av_register_input_format | ( | AVInputFormat * | format | ) |
void av_register_output_format | ( | AVOutputFormat * | format | ) |
int av_seek_frame | ( | AVFormatContext * | s, | |
int | stream_index, | |||
int64_t | timestamp, | |||
int | flags | |||
) |
Seek to the keyframe at timestamp.
'timestamp' in 'stream_index'.
stream_index | If stream_index is (-1), a default stream is selected, and timestamp is automatically converted from AV_TIME_BASE units to the stream specific time_base. | |
timestamp | Timestamp in AVStream.time_base units or, if no stream is specified, in AV_TIME_BASE units. | |
flags | flags which select direction and seeking mode |
Definition at line 1774 of file utils.c.
Referenced by avformat_seek_file(), movie_init(), open_input_stream(), and opt_input_file().
int av_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().
This is not supposed to be called directly by a user application, but by demuxers.
target_ts | target timestamp in the time base of the given stream | |
stream_index | stream number |
Definition at line 1523 of file utils.c.
Referenced by asf_read_seek(), av_seek_frame(), ogg_read_seek(), and read_seek().
static int av_seek_frame_byte | ( | AVFormatContext * | s, | |
int | stream_index, | |||
int64_t | pos, | |||
int | flags | |||
) | [static] |
static int av_seek_frame_generic | ( | AVFormatContext * | s, | |
int | stream_index, | |||
int64_t | timestamp, | |||
int | flags | |||
) | [static] |
int av_set_parameters | ( | AVFormatContext * | s, | |
AVFormatParameters * | ap | |||
) |
media file output
Definition at line 2806 of file utils.c.
Referenced by ff_rtp_chain_mux_open(), and opt_output_file().
void av_set_pts_info | ( | AVStream * | s, | |
int | pts_wrap_bits, | |||
unsigned int | pts_num, | |||
unsigned int | pts_den | |||
) |
Set the pts for a given stream.
If the new values would be invalid (<= 0), it leaves the AVStream unchanged.
s | stream | |
pts_wrap_bits | number of bits effectively used by the pts (used for wrap control, 33 is the value for MPEG) | |
pts_num | numerator to convert to seconds (MPEG: 1) | |
pts_den | denominator to convert to seconds (MPEG: 90000) |
Definition at line 3810 of file utils.c.
Referenced by add_av_stream1(), adts_aac_read_header(), aiff_read_header(), aiff_write_header(), amr_read_header(), ape_read_header(), asf_read_stream_properties(), asf_write_header1(), asfrtp_parse_sdp_line(), au_read_header(), audio_read_header(), av_new_stream(), avi_read_header(), avi_write_header(), avisynth_read_header(), bfi_read_header(), cdata_read_header(), celt_header(), cin_read_header(), create_audio_stream(), create_stream(), dc1394_read_header(), 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(), fbdev_read_header(), ff_raw_read_header(), ff_raw_video_read_header(), ff_rm_read_mdpr_codecdata(), ffm_read_header(), ffm_write_header(), film_read_header(), flac_header(), flac_read_header(), flic_read_header(), flv_write_header(), fourxm_read_header(), get_packet_header(), grab_read_header(), gxf_header(), gxf_write_header(), idcin_read_header(), iff_read_header(), ipmovie_read_header(), iss_read_header(), lmlm4_read_header(), lxf_read_header(), matroska_read_header(), microdvd_read_header(), mkv_write_tracks(), mmf_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(), msnwc_tcp_read_header(), mtv_read_header(), mxf_parse_structural_metadata(), mxf_write_header(), mxg_read_header(), nc_read_header(), new_stream(), nsv_parse_NSVs_header(), nut_read_header(), nuv_header(), ogg_new_stream(), ogg_write_header(), ogm_header(), old_dirac_header(), oma_read_header(), pmp_header(), pva_read_header(), qt_rtp_parse_packet(), r3d_read_red1(), read_gab2_sub(), read_header(), rl2_read_header(), roq_read_header(), roq_read_packet(), rpl_read_header(), rso_read_header(), seq_read_header(), siff_parse_vbv1(), skeleton_header(), smacker_read_header(), sol_read_header(), sox_read_header(), speex_header(), srt_read_header(), str_read_packet(), swf_read_packet(), 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_header(), vmd_read_header(), vorbis_header(), vqf_read_header(), wc3_read_header(), write_header(), wsaud_read_header(), wsvqa_read_header(), wv_read_header(), x11grab_read_header(), xa_read_header(), xwma_read_header(), yop_read_header(), and yuv4_read_header().
void av_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).
timestamp | new dts expressed in time_base of param ref_st | |
ref_st | reference stream giving time_base of param timestamp |
Definition at line 1403 of file utils.c.
Referenced by av_seek_frame_binary(), av_seek_frame_byte(), av_seek_frame_generic(), matroska_read_seek(), and mxf_read_seek().
static void av_update_stream_timings | ( | AVFormatContext * | ic | ) | [static] |
Estimate the stream timings from the one of each components.
Also computes the global bitrate if possible.
Definition at line 1858 of file utils.c.
Referenced by av_estimate_timings(), and fill_all_stream_timings().
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.
The pointers to buffers for storing individual components may be null, in order to ignore that component. Buffers for components not found are set to empty strings. If the port is not found, it is set to a negative value.
proto | the buffer for the protocol | |
proto_size | the size of the proto buffer | |
authorization | the buffer for the authorization | |
authorization_size | the size of the authorization buffer | |
hostname | the buffer for the host name | |
hostname_size | the size of the hostname buffer | |
port_ptr | a pointer to store the port number in | |
path | the buffer for the path | |
path_size | the size of the path buffer | |
url | the URL to split |
Definition at line 3700 of file utils.c.
Referenced by ff_udp_set_remote_url(), find_rtp_session_with_url(), gopher_open(), http_open_cnx(), mms_open(), mmsh_open(), resetup_tcp(), rtmp_open(), rtp_open(), rtp_set_remote_url(), rtsp_cmd_describe(), rtsp_cmd_setup(), sap_read_header(), sap_write_header(), tcp_open(), and udp_open().
int av_write_frame | ( | AVFormatContext * | s, | |
AVPacket * | pkt | |||
) |
Write a packet to an output media file.
The packet shall contain one audio or video frame. The packet must be correctly interleaved according to the container specification, if not then av_interleaved_write_frame must be used.
s | media file handle | |
pkt | The packet, which contains the stream_index, buf/buf_size, dts/pts, ... |
Definition at line 3138 of file utils.c.
Referenced by ff_write_chained(), and http_prepare_data().
int av_write_header | ( | AVFormatContext * | s | ) |
Allocate the stream private data and write the stream header to an output media file.
s | media file handle |
Definition at line 2920 of file utils.c.
Referenced by main(), and transcode().
int av_write_trailer | ( | AVFormatContext * | s | ) |
Write the stream trailer to an output media file and free the file private data.
May only be called after a successful call to av_write_header.
s | media file handle |
Definition at line 3279 of file utils.c.
Referenced by close_connection(), ff_mov_close_hinting(), ff_rtsp_undo_setup(), http_prepare_data(), main(), and sap_write_close().
AVFormatContext* avformat_alloc_output_context | ( | const char * | format, | |
AVOutputFormat * | oformat, | |||
const char * | filename | |||
) |
int avformat_alloc_output_context2 | ( | AVFormatContext ** | ctx, | |
AVOutputFormat * | oformat, | |||
const char * | format_name, | |||
const char * | filename | |||
) |
Allocate an AVFormatContext for an output format.
avformat_free_context() can be used to free the context and everything allocated by the framework within it.
*ctx | is set to the created format context, or to NULL in case of failure | |
oformat | format to use for allocating the context, if NULL format_name and filename are used instead | |
format_name | the name of output format to use for allocating the context, if NULL filename is used instead | |
filename | the name of the filename to use for allocating the context, may be NULL |
Definition at line 2823 of file utils.c.
Referenced by avformat_alloc_output_context(), main(), and opt_output_file().
const char* avformat_configuration | ( | void | ) |
int avformat_find_stream_info | ( | AVFormatContext * | ic, | |
AVDictionary ** | options | |||
) |
Read packets of a media file to get stream information.
This is useful for file formats with no headers such as MPEG. This function also computes the real framerate in case of MPEG-2 repeat frame mode. The logical file position is not changed by this function; examined packets may be buffered for later processing.
ic | media file handle | |
options | If non-NULL, an ic.nb_streams long array of pointers to dictionaries, where i-th member contains options for codec corresponding to i-th stream. On return each dictionary will be filled with options that were not found. |
Definition at line 2261 of file utils.c.
Referenced by av_find_stream_info().
void avformat_free_context | ( | AVFormatContext * | s | ) |
Free an AVFormatContext and all its streams.
s | context to free |
Definition at line 2653 of file utils.c.
Referenced by av_close_input_stream(), avformat_alloc_output_context2(), avformat_open_input(), ff_mov_close_hinting(), ff_rtp_chain_mux_open(), ff_rtsp_undo_setup(), ffmpeg_exit(), main(), opt_input_file(), and sap_write_close().
const char* avformat_license | ( | void | ) |
int avformat_open_input | ( | AVFormatContext ** | ps, | |
const char * | filename, | |||
AVInputFormat * | fmt, | |||
AVDictionary ** | options | |||
) |
Open an input stream and read the header.
The codecs are not opened. The stream must be closed with av_close_input_file().
ps | Pointer to user-supplied AVFormatContext (allocated by avformat_alloc_context). May be a pointer to NULL, in which case an AVFormatContext is allocated by this function and written into ps. Note that a user-supplied AVFormatContext will be freed on failure. | |
filename | Name of the stream to open. | |
fmt | If non-NULL, this parameter forces a specific input format. Otherwise the format is autodetected. | |
options | A dictionary filled with AVFormatContext and demuxer-private options. On return this parameter will be destroyed and replaced with a dict containing options that were not found. May be NULL. |
Definition at line 622 of file utils.c.
Referenced by applehttp_read_header(), av_open_input_file(), av_open_input_stream(), build_feed_streams(), build_file_streams(), ff_wms_parse_sdp_a_line(), http_receive_data(), main(), movie_init(), open_input_file(), open_input_stream(), rdt_new_context(), read_gab2_sub(), read_thread(), and sap_read_header().
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.
Seeking will be done so that the point from which all active streams can be presented successfully will be closest to ts and within min/max_ts. Active streams are all streams that have AVStream.discard < AVDISCARD_ALL.
If flags contain AVSEEK_FLAG_BYTE, then all timestamps are in bytes and are the file position (this may not be supported by all demuxers). If flags contain AVSEEK_FLAG_FRAME, then all timestamps are in frames in the stream with stream_index (this may not be supported by all demuxers). Otherwise all timestamps are in units of the stream selected by stream_index or if stream_index is -1, in AV_TIME_BASE units. If flags contain AVSEEK_FLAG_ANY, then non-keyframes are treated as keyframes (this may not be supported by all demuxers).
stream_index | index of the stream which is used as time base reference | |
min_ts | smallest acceptable timestamp | |
ts | target timestamp | |
max_ts | largest acceptable timestamp | |
flags | flags |
Definition at line 1811 of file utils.c.
Referenced by main(), read_thread(), and seek_subtitle().
unsigned avformat_version | ( | void | ) |
int avformat_write_header | ( | AVFormatContext * | s, | |
AVDictionary ** | options | |||
) |
Allocate the stream private data and write the stream header to an output media file.
s | Media file handle, must be allocated with avformat_alloc_context(). Its oformat field must be set to the desired output format; Its pb field must be set to an already openened AVIOContext. | |
options | An AVDictionary filled with AVFormatContext and muxer-private options. On return this parameter will be destroyed and replaced with a dict containing options that were not found. May be NULL. |
Definition at line 2926 of file utils.c.
Referenced by av_write_header(), build_feed_streams(), ff_rtp_chain_mux_open(), http_prepare_data(), and rtp_new_av_stream().
static void compute_chapters_end | ( | AVFormatContext * | s | ) | [static] |
static void compute_frame_duration | ( | int * | pnum, | |
int * | pden, | |||
AVStream * | st, | |||
AVCodecParserContext * | pc, | |||
AVPacket * | pkt | |||
) | [static] |
Return the frame duration in seconds.
Return 0 if not available.
Definition at line 833 of file utils.c.
Referenced by compute_pkt_fields(), and compute_pkt_fields2().
static void compute_pkt_fields | ( | AVFormatContext * | s, | |
AVStream * | st, | |||
AVCodecParserContext * | pc, | |||
AVPacket * | pkt | |||
) | [static] |
static int compute_pkt_fields2 | ( | AVFormatContext * | s, | |
AVStream * | st, | |||
AVPacket * | pkt | |||
) | [static] |
Definition at line 3063 of file utils.c.
Referenced by av_interleaved_write_frame(), and av_write_frame().
static AVDictionary* convert_format_parameters | ( | AVFormatParameters * | ap | ) | [static] |
Definition at line 398 of file utils.c.
Referenced by av_open_input_file(), and av_open_input_stream().
void dump_format | ( | AVFormatContext * | ic, | |
int | index, | |||
const char * | url, | |||
int | is_output | |||
) |
Definition at line 3433 of file utils.c.
Referenced by transcode().
static void dump_metadata | ( | void * | ctx, | |
AVDictionary * | m, | |||
const char * | indent | |||
) | [static] |
static void dump_stream_format | ( | AVFormatContext * | ic, | |
int | i, | |||
int | index, | |||
int | is_output | |||
) | [static] |
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 1428 of file utils.c.
Referenced by av_add_index_entry(), and read_header().
enum CodecID ff_codec_get_id | ( | const AVCodecTag * | tags, | |
unsigned int | tag | |||
) |
Definition at line 2174 of file utils.c.
Referenced by asf_read_stream_properties(), au_read_header(), av_codec_get_id(), avi_read_header(), avisynth_read_header(), decode_stream_header(), ff_mov_read_stsd_entries(), ff_mp4_read_dec_config_descr(), ff_rm_read_mdpr_codecdata(), get_aiff_header(), get_codec_data(), 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(), swf_read_packet(), and voc_get_packet().
unsigned int ff_codec_get_tag | ( | const AVCodecTag * | tags, | |
enum CodecID | id | |||
) |
Definition at line 2164 of file utils.c.
Referenced by av_codec_get_tag(), caf_write_header(), gxf_write_header(), ipod_get_codec_tag(), mkv_write_codecprivate(), mkv_write_tracks(), mov_find_codec_tag(), mov_get_codec_tag(), mov_write_esds_tag(), mp4_get_codec_tag(), and swf_write_video().
char* ff_data_to_hex | ( | char * | buff, | |
const uint8_t * | src, | |||
int | s, | |||
int | lowercase | |||
) |
Definition at line 3761 of file utils.c.
Referenced by ff_rdt_calc_response_and_checksum(), make_digest_auth(), and open_input().
int ff_find_stream_index | ( | AVFormatContext * | s, | |
int | id | |||
) |
Find stream index based on format-specific stream ID.
Definition at line 3945 of file utils.c.
Referenced by get_sindex(), and parse_chunks().
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.
data | if non-null, the parsed data is written to this pointer | |
p | the string to parse |
Definition at line 3782 of file utils.c.
Referenced by parse_fmtp_config(), and parse_playlist().
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 1482 of file utils.c.
Referenced by av_index_search_timestamp(), ff_add_index_entry(), and read_seek().
void ff_interleave_add_packet | ( | AVFormatContext * | s, | |
AVPacket * | pkt, | |||
int(*)(AVFormatContext *, AVPacket *, AVPacket *) | compare | |||
) |
Add packet to AVFormatContext->packet_buffer list, determining its interleaved position using compare() function argument.
Definition at line 3151 of file utils.c.
Referenced by av_interleave_packet_per_dts(), and ff_audio_rechunk_interleave().
static int ff_interleave_compare_dts | ( | AVFormatContext * | s, | |
AVPacket * | next, | |||
AVPacket * | pkt | |||
) | [static] |
void ff_make_absolute_url | ( | char * | buf, | |
int | size, | |||
const char * | base, | |||
const char * | rel | |||
) |
AVChapter* ff_new_chapter | ( | AVFormatContext * | s, | |
int | id, | |||
AVRational | time_base, | |||
int64_t | start, | |||
int64_t | end, | |||
const char * | title | |||
) |
Add a new chapter.
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 |
Definition at line 2778 of file utils.c.
Referenced by asf_read_marker(), decode_info_header(), matroska_read_header(), mov_read_chapters(), mov_read_chpl(), ogm_chapter(), and read_chapter().
uint64_t ff_ntp_time | ( | void | ) |
Get the current time since NTP epoch in microseconds.
Definition at line 3528 of file 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.
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 3891 of file 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 | |||
) |
void ff_read_frame_flush | ( | AVFormatContext * | s | ) |
Flush the frame reader.
Definition at line 1371 of file utils.c.
Referenced by av_seek_frame(), av_seek_frame_generic(), avformat_seek_file(), ff_restore_parser_state(), and search_hi_lo_keyframes().
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 1415 of file utils.c.
Referenced by av_read_frame_internal(), and mpegps_read_pes_header().
int ff_url_join | ( | char * | str, | |
int | size, | |||
const char * | proto, | |||
const char * | authorization, | |||
const char * | hostname, | |||
int | port, | |||
const char * | fmt, | |||
... | ||||
) |
Assemble a URL string from components.
This is the reverse operation of av_url_split.
Note, this requires networking to be initialized, so the caller must ensure ff_network_init has been called.
str | the buffer to fill with the url | |
size | the size of the str buffer | |
proto | the protocol identifier, if null, the separator after the identifier is left out, too | |
authorization | an optional authorization string, may be null. An empty string is treated the same as a null string. | |
hostname | the host name string | |
port | the port number, left out from the string if negative | |
fmt | a generic format string for everything to add after the host/port, may be null |
Definition at line 3828 of file utils.c.
Referenced by build_udp_url(), ff_rtsp_setup_output_streams(), gen_connect(), gopher_open(), http_open_cnx(), mms_open(), mmsh_open(), rtmp_open(), rtp_set_remote_url(), sap_read_header(), and sap_write_header().
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.
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 |
Definition at line 3873 of file utils.c.
Referenced by ff_mov_add_hinted_packet(), rtsp_write_packet(), and sap_write_packet().
static void fill_all_stream_timings | ( | AVFormatContext * | ic | ) | [static] |
Definition at line 1911 of file utils.c.
Referenced by av_estimate_timings(), and av_estimate_timings_from_pts().
int find_info_tag | ( | char * | arg, | |
int | arg_size, | |||
const char * | tag1, | |||
const char * | info | |||
) |
static AVProgram* find_program_from_stream | ( | AVFormatContext * | ic, | |
int | s | |||
) | [static] |
static void flush_packet_queue | ( | AVFormatContext * | s | ) | [static] |
Definition at line 1323 of file utils.c.
Referenced by av_close_input_stream(), av_estimate_timings_from_pts(), and ff_read_frame_flush().
static int get_audio_frame_size | ( | AVCodecContext * | enc, | |
int | size | |||
) | [static] |
Get the number of samples of an audio frame.
Return -1 on error.
Definition at line 803 of file utils.c.
Referenced by compute_frame_duration(), and compute_pkt_fields2().
static int get_std_framerate | ( | int | i | ) | [static] |
static int has_codec_parameters | ( | AVCodecContext * | enc | ) | [static] |
Definition at line 2092 of file utils.c.
Referenced by avformat_find_stream_info(), and try_decode_frame().
static int has_decode_delay_been_guessed | ( | AVStream * | st | ) | [static] |
Definition at line 2118 of file utils.c.
Referenced by avformat_find_stream_info(), and try_decode_frame().
static void hex_dump_internal | ( | void * | avcl, | |
FILE * | f, | |||
int | level, | |||
uint8_t * | buf, | |||
int | size | |||
) | [static] |
static int init_input | ( | AVFormatContext * | s, | |
const char * | filename | |||
) | [static] |
static int is_intra_only | ( | AVCodecContext * | enc | ) | [static] |
static int match_format | ( | const char * | name, | |
const char * | names | |||
) | [static] |
int64_t parse_date | ( | const char * | datestr, | |
int | duration | |||
) |
Parse datestr and return a corresponding number of microseconds.
datestr | String representing a date or a duration. See av_parse_time() for the syntax of the provided string. |
static void pkt_dump_internal | ( | void * | avcl, | |
FILE * | f, | |||
int | level, | |||
AVPacket * | pkt, | |||
int | dump_payload, | |||
AVRational | time_base | |||
) | [static] |
Definition at line 3647 of file utils.c.
Referenced by av_pkt_dump(), av_pkt_dump2(), av_pkt_dump_log(), and av_pkt_dump_log2().
static void print_fps | ( | double | d, | |
const char * | postfix | |||
) | [static] |
static int set_codec_from_probe_data | ( | AVFormatContext * | s, | |
AVStream * | st, | |||
AVProbeData * | pd | |||
) | [static] |
static int tb_unreliable | ( | AVCodecContext * | c | ) | [static] |
static int try_decode_frame | ( | AVStream * | st, | |
AVPacket * | avpkt, | |||
AVDictionary ** | options | |||
) | [static] |
static void update_initial_durations | ( | AVFormatContext * | s, | |
AVStream * | st, | |||
AVPacket * | pkt | |||
) | [static] |
static void update_initial_timestamps | ( | AVFormatContext * | s, | |
int | stream_index, | |||
int64_t | dts, | |||
int64_t | pts | |||
) | [static] |
static int validate_codec_tag | ( | AVFormatContext * | s, | |
AVStream * | st | |||
) | [static] |
Check that tag + id is in the table If neither is in the table -> OK If tag is in the table with another id -> FAIL If id is in the table with another tag -> FAIL unless strict < normal
Definition at line 2886 of file utils.c.
Referenced by avformat_write_header().
AVInputFormat* first_iformat = NULL [static] |
AVOutputFormat* first_oformat = NULL [static] |