FFmpeg
|
Miscellaneous utility functions related to both muxing and demuxing (or neither). More...
Modules | |
RIFF FourCCs | |
Get the tables mapping RIFF FourCCs to libavcodec AVCodecIDs. | |
Functions | |
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. | |
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. | |
void | av_pkt_dump2 (FILE *f, const AVPacket *pkt, int dump_payload, const AVStream *st) |
Send a nice dump of a packet to the specified file stream. | |
void | av_pkt_dump_log2 (void *avcl, int level, const AVPacket *pkt, int dump_payload, const AVStream *st) |
Send a nice dump of a packet to the log. | |
enum AVCodecID | av_codec_get_id (const struct AVCodecTag *const *tags, unsigned int tag) |
Get the AVCodecID for the given codec tag tag. | |
unsigned int | av_codec_get_tag (const struct AVCodecTag *const *tags, enum AVCodecID id) |
Get the codec tag for the given codec id id. | |
int | av_codec_get_tag2 (const struct AVCodecTag *const *tags, enum AVCodecID id, unsigned int *tag) |
Get the codec tag for the given codec id. | |
int | av_find_default_stream_index (AVFormatContext *s) |
int | av_index_search_timestamp (AVStream *st, int64_t timestamp, int flags) |
Get the index for a specific timestamp. | |
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. | |
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. | |
void | av_dump_format (AVFormatContext *ic, int index, const char *url, int is_output) |
Print detailed information about the input or output format, such as duration, bitrate, streams, container, programs, metadata, side data, codec and time base. | |
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. | |
int | av_filename_number_test (const char *filename) |
Check whether filename actually is a numbered sequence generator. | |
int | av_sdp_create (AVFormatContext *ac[], int n_files, char *buf, int size) |
Generate an SDP for an RTP session. | |
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. | |
int | avformat_query_codec (const AVOutputFormat *ofmt, enum AVCodecID codec_id, int std_compliance) |
Test if the given container can store a codec. | |
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. | |
AVRational | av_guess_frame_rate (AVFormatContext *ctx, AVStream *stream, AVFrame *frame) |
Guess the frame rate, based on both the container and codec information. | |
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. | |
int | avformat_queue_attached_pictures (AVFormatContext *s) |
Miscellaneous utility functions related to both muxing and demuxing (or neither).
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 72 of file dump.c.
Referenced by pkt_dump_internal().
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 |
Definition at line 77 of file dump.c.
Referenced by asf_read_header().
void av_pkt_dump_log2 | ( | void * | avcl, |
int | level, | ||
const AVPacket * | pkt, | ||
int | dump_payload, | ||
const AVStream * | st | ||
) |
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 111 of file dump.c.
Referenced by process_input().
enum AVCodecID av_codec_get_id | ( | const struct AVCodecTag *const * | tags, |
unsigned int | tag | ||
) |
Get the AVCodecID for the given codec tag tag.
If no codec id is found returns AV_CODEC_ID_NONE.
tags | list of supported codec_id-codec_tag pairs, as stored in AVInputFormat.codec_tag and AVOutputFormat.codec_tag |
tag | codec tag to match to a codec ID |
Referenced by decode_stream_header(), dshow_add_device(), dshow_cycle_formats(), segment_mux_init(), and transcode_init().
unsigned int av_codec_get_tag | ( | const struct AVCodecTag *const * | tags, |
enum AVCodecID | id | ||
) |
Get the codec tag for the given codec id id.
If no codec tag is found returns 0.
tags | list of supported codec_id-codec_tag pairs, as stored in AVInputFormat.codec_tag and AVOutputFormat.codec_tag |
id | codec ID to match to a codec tag |
Referenced by avformat_query_codec(), init_muxer(), segment_mux_init(), and set_codec_str().
int av_codec_get_tag2 | ( | const struct AVCodecTag *const * | tags, |
enum AVCodecID | id, | ||
unsigned int * | tag | ||
) |
Get the codec tag for the given codec id.
tags | list of supported codec_id - codec_tag pairs, as stored in AVInputFormat.codec_tag and AVOutputFormat.codec_tag |
id | codec id that should be searched for in the list |
tag | A pointer to the found tag |
Referenced by av_codec_get_tag(), and transcode_init().
int av_find_default_stream_index | ( | AVFormatContext * | s | ) |
Definition at line 1574 of file utils.c.
Referenced by seek_frame_internal(), and update_wrap_reference().
int av_index_search_timestamp | ( | AVStream * | st, |
int64_t | timestamp, | ||
int | flags | ||
) |
Get the index for a specific timestamp.
st | stream that the timestamp belongs to |
timestamp | timestamp to retrieve the index for |
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 1770 of file utils.c.
Referenced by ape_read_seek(), asf_read_seek(), avi_read_packet(), avi_read_seek(), ff_seek_frame_binary(), gxf_seek(), img_read_seek(), matroska_read_seek(), mov_seek_stream(), mp3_seek(), mpc8_read_seek(), mpc_read_seek(), mv_read_seek(), nsv_read_seek(), nut_write_packet(), read_packet(), read_seek(), rl2_read_seek(), seek_frame_generic(), tta_read_seek(), voc_read_seek(), webm_clusters_start_with_keyframe(), and wv_read_seek().
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 1728 of file utils.c.
Referenced by ape_read_header(), asf_build_simple_index(), asf_read_pts(), av_read_frame(), avi_read_idx1(), avi_sync(), cine_read_header(), clean_index(), ff_img_read_packet(), ff_voc_get_packet(), find_and_decode_index(), flv_read_packet(), gxf_read_index(), matroska_add_index_entries(), matroska_parse_block(), mov_read_trun(), mpc8_parse_seektable(), mpc_read_packet(), mpegps_read_pes_header(), mpegts_get_dts(), mv_read_header(), nsv_parse_NSVs_header(), nut_write_packet(), nuv_read_dts(), parse_keyframes_index(), pmp_header(), pva_read_header(), read_braindead_odml_indx(), read_frame_internal(), read_header(), read_index(), read_pakt_chunk(), read_part_of_packet(), read_xing_toc(), rl2_read_header(), rm_read_dts(), rm_read_index(), rm_read_packet(), rpl_read_header(), tta_read_header(), wv_read_packet(), and xwma_read_header().
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 3867 of file utils.c.
Referenced by ff_rtp_set_remote_url(), ff_udp_set_remote_url(), find_rtp_session_with_url(), ftp_open(), gopher_open(), http_open_cnx_internal(), icecast_open(), libssh_open(), mms_open(), mmsh_open_internal(), parse_command_line(), resetup_tcp(), rtmp_http_open(), rtmp_open(), rtmpe_open(), rtp_open(), rtsp_cmd_describe(), rtsp_cmd_setup(), rtsp_listen(), sap_read_header(), sap_write_header(), sctp_open(), srtp_open(), tcp_open(), tls_open(), and udp_open().
void av_dump_format | ( | AVFormatContext * | ic, |
int | index, | ||
const char * | url, | ||
int | is_output | ||
) |
Print detailed information about the input or output format, such as duration, bitrate, streams, container, programs, metadata, side data, codec and time base.
ic | the context to analyze |
index | index of the stream to dump information about |
url | the URL to print, such as source or destination file |
is_output | Select whether the specified context is an input(0) or output(1) |
Definition at line 428 of file dump.c.
Referenced by main(), open_input_file(), open_output_file(), read_thread(), and transcode_init().
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 3812 of file utils.c.
Referenced by av_filename_number_test(), ff_img_read_packet(), find_image_range(), hls_start(), set_segment_filename(), and write_packet().
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 257 of file utils.c.
Referenced by av_guess_format(), avformat_open_input(), img_read_probe(), and open_output_file().
int av_sdp_create | ( | AVFormatContext * | ac[], |
int | n_files, | ||
char * | buf, | ||
int | size | ||
) |
Generate an SDP for an RTP session.
Note, this overwrites the id values of AVStreams in the muxer contexts for getting unique dynamic payload types.
ac | array of AVFormatContexts describing the RTP streams. If the array is composed by only one context, such context can contain multiple AVStreams (one AVStream per RTP stream). Otherwise, all the contexts in the array (an AVCodecContext per RTP stream) must contain only one AVStream. |
n_files | number of AVCodecContexts contained in ac |
buf | buffer where the SDP will be stored (must be allocated by the caller) |
size | the size of the buffer |
Definition at line 819 of file sdp.c.
Referenced by ff_rtsp_setup_output_streams(), prepare_sdp_description(), print_sdp(), and sap_write_header().
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.
filename | file name to check against the given extensions |
extensions | a comma-separated list of filename extensions |
Definition at line 81 of file format.c.
Referenced by av_guess_format(), av_probe_input_format3(), http_parse_request(), img_read_probe(), ipod_get_codec_tag(), modplug_probe(), mpegts_write_header(), nsv_probe(), and seg_write_header().
int avformat_query_codec | ( | const AVOutputFormat * | ofmt, |
enum AVCodecID | codec_id, | ||
int | std_compliance | ||
) |
Test if the given container can store a codec.
ofmt | container to check for compatibility |
codec_id | codec to potentially store in container |
std_compliance | standards compliance level, one of FF_COMPLIANCE_* |
Definition at line 4087 of file utils.c.
Referenced by open_output_file().
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.
Since the frame aspect ratio is set by the codec but the stream aspect ratio is set by the demuxer, these two may not be equal. This function tries to return the value that you should use if you would like to display the frame.
Basic logic is to use the stream aspect ratio if it is set to something sane otherwise use the frame aspect ratio. This way a container setting, which is usually easy to modify can override the coded value in the frames.
format | the format context which the stream is part of |
stream | the stream which the frame is part of |
frame | the frame with the aspect ratio to be determined |
Definition at line 4167 of file utils.c.
Referenced by get_video_frame(), read_thread(), show_frame(), and show_stream().
AVRational av_guess_frame_rate | ( | AVFormatContext * | ctx, |
AVStream * | stream, | ||
AVFrame * | frame | ||
) |
Guess the frame rate, based on both the container and codec information.
ctx | the format context which the stream is part of |
stream | the stream which the frame is part of |
frame | the frame for which the frame rate should be determined, may be NULL |
Definition at line 4190 of file utils.c.
Referenced by configure_input_video_filter(), and video_thread().
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.
See the "stream specifiers" chapter in the documentation for the syntax of spec.
Definition at line 4211 of file utils.c.
Referenced by check_stream_specifier(), find_stream(), open_slave(), probe_file(), read_thread(), and select_reference_stream().
int avformat_queue_attached_pictures | ( | AVFormatContext * | s | ) |
Definition at line 378 of file utils.c.
Referenced by av_seek_frame(), avformat_open_input(), avformat_seek_file(), and hls_read_header().