FFmpeg
Macros | Functions | Variables
utils.c File Reference
#include <stdint.h>
#include "config.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/bprint.h"
#include "libavutil/dict.h"
#include "libavutil/internal.h"
#include "libavutil/intmath.h"
#include "libavutil/opt.h"
#include "libavutil/parseutils.h"
#include "libavutil/pixfmt.h"
#include "libavutil/thread.h"
#include "libavutil/time.h"
#include "libavcodec/bsf.h"
#include "libavcodec/bytestream.h"
#include "libavcodec/internal.h"
#include "libavcodec/packet_internal.h"
#include "avformat.h"
#include "avio_internal.h"
#include "internal.h"
#include "libavutil/ffversion.h"

Go to the source code of this file.

Macros

#define LICENSE_PREFIX   "libavformat license: "
 
#define SANE_CHUNK_SIZE   (50000000)
 
#define READ_BLOCK
 

Functions

unsigned avformat_version (void)
 Return the LIBAVFORMAT_VERSION_INT constant. More...
 
const char * avformat_configuration (void)
 Return the libavformat build-time configuration. More...
 
const char * avformat_license (void)
 Return the libavformat license. More...
 
int ff_lock_avformat (void)
 
int ff_unlock_avformat (void)
 
int64_t av_stream_get_end_pts (const AVStream *st)
 Returns the pts of the last muxed packet + its duration. More...
 
struct AVCodecParserContextav_stream_get_parser (const AVStream *st)
 
void avpriv_stream_set_need_parsing (AVStream *st, enum AVStreamParseType type)
 
void av_format_inject_global_side_data (AVFormatContext *s)
 This function will cause global side data to be injected in the next packet of each stream as well as after any subsequent seek. More...
 
int ff_copy_whiteblacklists (AVFormatContext *dst, const AVFormatContext *src)
 Copies the whilelists from one context to the other. More...
 
const AVCodecff_find_decoder (AVFormatContext *s, const AVStream *st, enum AVCodecID codec_id)
 
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...
 
int avformat_queue_attached_pictures (AVFormatContext *s)
 
int ff_add_attached_pic (AVFormatContext *s, AVStream *st0, AVIOContext *pb, AVBufferRef **buf, int size)
 Add an attached pic to an AVStream. More...
 
int ff_is_intra_only (enum AVCodecID id)
 
void ff_flush_packet_queue (AVFormatContext *s)
 
int av_find_default_stream_index (AVFormatContext *s)
 
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)
 
int ff_alloc_extradata (AVCodecParameters *par, int size)
 Allocate extradata with additional AV_INPUT_BUFFER_PADDING_SIZE at end which is always set to 0. More...
 
int ff_get_extradata (AVFormatContext *s, AVCodecParameters *par, AVIOContext *pb, int size)
 Allocate extradata with additional AV_INPUT_BUFFER_PADDING_SIZE at end which is always set to 0 and fill it from pb. More...
 
AVProgramav_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, const 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...
 
int ff_stream_encode_params_copy (AVStream *dst, const AVStream *src)
 Copy encoding parameters from source to destination stream. More...
 
int ff_stream_side_data_copy (AVStream *dst, const AVStream *src)
 Copy side data from source to destination stream. More...
 
static void free_stream (AVStream **pst)
 
void ff_free_stream (AVFormatContext *s, AVStream *st)
 
void avformat_free_context (AVFormatContext *s)
 Free an AVFormatContext and all its streams. More...
 
const AVClassav_stream_get_class (void)
 Get the AVClass for AVStream. More...
 
AVStreamavformat_new_stream (AVFormatContext *s, const AVCodec *c)
 Add a new stream to a media file. More...
 
AVProgramav_new_program (AVFormatContext *ac, int id)
 
AVChapteravpriv_new_chapter (AVFormatContext *s, int64_t id, AVRational time_base, int64_t start, int64_t end, const char *title)
 Add a new chapter. More...
 
void av_program_add_stream_index (AVFormatContext *ac, int progid, unsigned idx)
 
uint64_t ff_ntp_time (void)
 Get the current time since NTP epoch in microseconds. More...
 
uint64_t ff_get_formatted_ntp_time (uint64_t ntp_time_us)
 Get the NTP time stamp formatted as per the RFC-5905. More...
 
uint64_t ff_parse_ntp_time (uint64_t ntp_ts)
 Parse the NTP time in micro seconds (since NTP epoch). More...
 
int av_get_frame_filename2 (char *buf, int buf_size, const char *path, int number, int flags)
 Return in 'buf' the path with 'd' replaced by a number. More...
 
int av_get_frame_filename (char *buf, int buf_size, const char *path, int number)
 
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...
 
int ff_mkdir_p (const char *path)
 Automatically create sub-directories. More...
 
char * ff_data_to_hex (char *buff, const uint8_t *src, int s, int lowercase)
 Write hexadecimal string corresponding to given binary data. More...
 
int ff_hex_to_data (uint8_t *data, const char *p)
 Parse a string of hexadecimal strings. More...
 
void avpriv_set_pts_info (AVStream *st, int pts_wrap_bits, unsigned int pts_num, unsigned int pts_den)
 Set the time base and wrapping info for a given stream. 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 (const AVFormatContext *s, int id)
 Find stream index based on format-specific stream ID. More...
 
int avformat_query_codec (const 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 libraries. 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...
 
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...
 
static int match_stream_specifier (const AVFormatContext *s, const AVStream *st, const char *spec, const char **indexptr, const AVProgram **p)
 Matches a stream specifier (but ignores requested index). 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...
 
int ff_generate_avci_extradata (AVStream *st)
 Generate standard extradata for AVC-Intra based on width/height and field order. More...
 
uint8_t * av_stream_get_side_data (const AVStream *st, enum AVPacketSideDataType type, size_t *size)
 Get side information from stream. More...
 
int av_stream_add_side_data (AVStream *st, enum AVPacketSideDataType type, uint8_t *data, size_t size)
 Wrap an existing array as stream side data. More...
 
uint8_t * av_stream_new_side_data (AVStream *st, enum AVPacketSideDataType type, size_t size)
 Allocate new information from stream. More...
 
int ff_stream_add_bitstream_filter (AVStream *st, const char *name, const char *args)
 Add a bitstream filter to a stream. More...
 
int ff_format_output_open (AVFormatContext *s, const char *url, AVDictionary **options)
 Utility function to open IO stream of output format. More...
 
void ff_format_io_close_default (AVFormatContext *s, AVIOContext *pb)
 
int ff_format_io_close (AVFormatContext *s, AVIOContext **pb)
 
int ff_is_http_proto (const char *filename)
 Utility function to check if the file uses http or https protocol. More...
 
int ff_parse_creation_time_metadata (AVFormatContext *s, int64_t *timestamp, int return_seconds)
 Parse creation_time in AVFormatContext metadata if exists and warn if the parsing fails. More...
 
int ff_standardize_creation_time (AVFormatContext *s)
 Standardize creation_time metadata in AVFormatContext to an ISO-8601 timestamp string. More...
 
int ff_get_packet_palette (AVFormatContext *s, AVPacket *pkt, int ret, uint32_t *palette)
 Retrieves the palette from a packet, either from side data, or appended to the video data in the packet itself (raw video only). More...
 
int ff_bprint_to_codecpar_extradata (AVCodecParameters *par, struct AVBPrint *buf)
 Finalize buf into extradata and set its size appropriately. More...
 
int avformat_transfer_internal_stream_timing_info (const AVOutputFormat *ofmt, AVStream *ost, const AVStream *ist, enum AVTimebaseSource copy_tb)
 Transfer internal timing information from one stream to another. More...
 
AVRational av_stream_get_codec_timebase (const AVStream *st)
 Get the internal codec timebase from a stream. More...
 
void ff_format_set_url (AVFormatContext *s, char *url)
 Set AVFormatContext url field to the provided pointer. More...
 
static int option_is_disposition (const AVOption *opt)
 
int av_disposition_from_string (const char *disp)
 
const char * av_disposition_to_string (int disposition)
 
int ff_format_shift_data (AVFormatContext *s, int64_t read_start, int shift_size)
 Make shift_size amount of space at read_start by shifting data in the output at read_start until the current IO position. More...
 

Variables

const char av_format_ffversion [] = "FFmpeg version " FFMPEG_VERSION
 
static AVMutex avformat_mutex = AV_MUTEX_INITIALIZER
 
static const AVOption stream_options []
 
static const AVClass stream_class
 

Detailed Description

various utility functions for use within FFmpeg

Definition in file utils.c.

Macro Definition Documentation

◆ LICENSE_PREFIX

#define LICENSE_PREFIX   "libavformat license: "

◆ SANE_CHUNK_SIZE

#define SANE_CHUNK_SIZE   (50000000)

Definition at line 154 of file utils.c.

◆ READ_BLOCK

#define READ_BLOCK
Value:
do { \
read_size[read_buf_id] = avio_read(read_pb, read_buf[read_buf_id], shift_size); \
read_buf_id ^= 1; \
} while (0)

Function Documentation

◆ ff_lock_avformat()

int ff_lock_avformat ( void  )

◆ ff_unlock_avformat()

int ff_unlock_avformat ( void  )

◆ av_stream_get_end_pts()

int64_t av_stream_get_end_pts ( const AVStream st)

Returns the pts of the last muxed packet + its duration.

the retuned value is undefined when used with a demuxer.

Definition at line 87 of file utils.c.

Referenced by do_video_stats(), and print_report().

◆ av_stream_get_parser()

struct AVCodecParserContext* av_stream_get_parser ( const AVStream st)

Definition at line 95 of file utils.c.

Referenced by process_input_packet().

◆ avpriv_stream_set_need_parsing()

void avpriv_stream_set_need_parsing ( AVStream st,
enum AVStreamParseType  type 
)

Definition at line 100 of file utils.c.

Referenced by v4l2_read_header().

◆ av_format_inject_global_side_data()

void av_format_inject_global_side_data ( AVFormatContext s)

This function will cause global side data to be injected in the next packet of each stream as well as after any subsequent seek.

Definition at line 105 of file utils.c.

Referenced by read_thread().

◆ ff_copy_whiteblacklists()

int ff_copy_whiteblacklists ( AVFormatContext dst,
const AVFormatContext src 
)

Copies the whilelists from one context to the other.

Definition at line 115 of file utils.c.

Referenced by ff_wms_parse_sdp_a_line(), hls_read_header(), ism_write_header(), open_file(), open_track_resource_context(), rdt_init(), read_gab2_sub(), reopen_demux_for_component(), and sap_read_header().

◆ ff_find_decoder()

const AVCodec* ff_find_decoder ( AVFormatContext s,
const AVStream st,
enum AVCodecID  codec_id 
)

Definition at line 135 of file utils.c.

Referenced by av_find_best_stream(), and find_probe_decoder().

◆ append_packet_chunked()

static int append_packet_chunked ( AVIOContext s,
AVPacket pkt,
int  size 
)
static

Definition at line 158 of file utils.c.

Referenced by av_append_packet(), and av_get_packet().

◆ av_get_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.

Parameters
sassociated IO context
pktpacket
sizedesired payload size
Returns
>0 (read size) if OK, AVERROR_xxx otherwise

Definition at line 197 of file utils.c.

Referenced by aa_read_packet(), aal_read_packet(), aax_read_packet(), ace_read_packet(), adp_read_packet(), ads_read_packet(), adts_aac_read_packet(), adx_read_packet(), aea_read_packet(), afc_read_packet(), aiff_read_packet(), aix_read_packet(), apc_read_packet(), aptx_hd_read_packet(), aptx_read_packet(), argo_brp_read_packet(), asf_read_header(), asf_read_subpayload(), ast_read_packet(), av_append_packet(), avi_read_packet(), bfi_read_packet(), cdata_read_packet(), cdxl_read_packet(), cin_read_packet(), cine_read_packet(), codec2_read_packet(), dat_read_packet(), daud_packet(), dcstr_read_packet(), dfa_read_packet(), dhav_read_packet(), dsf_read_packet(), dxa_read_packet(), ea_read_packet(), ff_add_attached_pic(), 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(), fsb_read_packet(), g726_read_packet(), g729_read_packet(), gdv_read_packet(), genh_read_packet(), gif_read_packet(), gsm_read_packet(), gxf_packet(), hca_read_packet(), hnm_read_packet(), idcin_read_packet(), iff_read_packet(), ifv_read_packet(), ilbc_read_packet(), ingenient_read_packet(), iss_read_packet(), lmlm4_read_packet(), load_ipmovie_packet(), lvf_read_packet(), mmf_read_packet(), mods_read_packet(), mov_read_packet(), mp3_read_packet(), mpc8_read_packet(), mpegps_read_packet(), mpjpeg_read_packet(), msf_read_packet(), msnwc_tcp_read_packet(), msp_read_packet(), mtaf_read_packet(), mtv_read_packet(), musx_read_packet(), mv_read_packet(), mxf_decrypt_triplet(), mxf_get_d10_aes3_packet(), mxf_get_eia608_packet(), mxf_read_packet(), nc_read_packet(), nsv_read_chunk(), nuv_packet(), pmp_packet(), pp_bnk_read_packet(), pva_read_packet(), qcp_read_packet(), r3d_read_reda(), r3d_read_redv(), raw_read_packet(), rawvideo_read_packet(), read_dst_frame(), read_packet(), redspark_read_packet(), rl2_read_packet(), roq_read_packet(), rpl_read_packet(), rsd_read_packet(), s337m_read_packet(), scd_read_packet(), sdr2_read_packet(), seq_read_packet(), ser_read_packet(), siff_read_packet(), simbiosis_imx_read_packet(), smacker_read_packet(), smjpeg_read_packet(), smush_read_packet(), sol_read_packet(), sup_read_packet(), svag_read_packet(), svs_read_packet(), swf_read_packet(), thp_read_packet(), threedostr_read_packet(), tmv_read_packet(), tta_read_packet(), txd_read_packet(), v210_read_packet(), vag_read_packet(), vc1t_read_packet(), vid_read_packet(), viv_read_packet(), vivo_read_packet(), vpk_read_packet(), wc3_read_packet(), wsaud_read_packet(), wsvqa_read_packet(), xa_read_packet(), xmv_fetch_audio_packet(), xmv_fetch_video_packet(), xvag_read_packet(), xwma_read_packet(), yop_read_packet(), and yuv4_read_packet().

◆ av_append_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
sassociated IO context
pktpacket
sizeamount 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 213 of file utils.c.

Referenced by adts_aac_read_packet(), apng_read_packet(), dfa_read_packet(), ea_read_packet(), handle_id3(), moflex_read_packet(), mpjpeg_read_packet(), msp_read_packet(), read_packet(), sup_read_packet(), vivo_read_packet(), wc3_read_header(), wc3_read_packet(), and wsvqa_read_packet().

◆ ff_add_attached_pic()

int ff_add_attached_pic ( AVFormatContext s,
AVStream st,
AVIOContext pb,
AVBufferRef **  buf,
int  size 
)

Add an attached pic to an AVStream.

Parameters
stif set, the stream to add the attached pic to; if unset, a new stream will be added to s.
pbAVIOContext to read data from if buf is unset.
bufif set, it contains the data and size information to be used for the attached pic; if unset, data is read from pb.
sizethe size of the data to read if buf is unset.
Returns
0 on success, < 0 on error. On error, this function removes the stream it has added (if any).

Definition at line 250 of file utils.c.

Referenced by ape_tag_read_field(), asf_read_picture(), ff_flac_parse_picture(), ff_id3v2_parse_apic(), get_attachment(), mov_read_chapters(), and mov_read_covr().

◆ ff_is_intra_only()

int ff_is_intra_only ( enum AVCodecID  id)

Definition at line 287 of file utils.c.

Referenced by compute_pkt_fields(), and init_muxer().

◆ ff_flush_packet_queue()

void ff_flush_packet_queue ( AVFormatContext s)

Definition at line 299 of file utils.c.

Referenced by avformat_free_context(), estimate_timings_from_pts(), and ff_read_frame_flush().

◆ ff_codec_get_tag()

unsigned int ff_codec_get_tag ( const AVCodecTag tags,
enum AVCodecID  id 
)

◆ ff_codec_get_id()

enum AVCodecID ff_codec_get_id ( const AVCodecTag tags,
unsigned int  tag 
)

◆ ff_get_pcm_codec_id()

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
bpsbits-per-sample
fltfloating-point
bebig-endian
sflagssigned 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 368 of file utils.c.

Referenced by avr_read_header(), ff_mov_get_lpcm_codec_id(), ff_wav_codec_get_id(), get_codec_data(), nist_read_header(), and pvf_read_header().

◆ av_codec_get_tag()

unsigned int av_codec_get_tag ( const AVCodecTag *const *  tags,
enum AVCodecID  id 
)

Definition at line 417 of file utils.c.

◆ av_codec_get_tag2()

int av_codec_get_tag2 ( const AVCodecTag *const *  tags,
enum AVCodecID  id,
unsigned int tag 
)

Definition at line 425 of file utils.c.

Referenced by av_codec_get_tag(), and avformat_query_codec().

◆ av_codec_get_id()

enum AVCodecID av_codec_get_id ( const AVCodecTag *const *  tags,
unsigned int  tag 
)

Definition at line 441 of file utils.c.

◆ ff_alloc_extradata()

int ff_alloc_extradata ( AVCodecParameters par,
int  size 
)

Allocate extradata with additional AV_INPUT_BUFFER_PADDING_SIZE at end which is always set to 0.

Previously allocated extradata in par will be freed.

Parameters
sizesize of extradata
Returns
0 if OK, AVERROR_xxx on error

Definition at line 451 of file utils.c.

Referenced by ace_read_header(), adts_write_packet(), afc_read_header(), ape_read_header(), apng_read_header(), celt_header(), codec2_read_header(), codec2raw_read_header(), concat_parse_script(), copy_stream_props(), dfa_read_header(), encode_intervals(), ff_generate_avci_extradata(), ff_get_extradata(), ff_parse_mpeg2_descriptor(), flac_header(), flv_set_video_codec(), flv_write_packet(), fsb_read_header(), genh_read_header(), hca_read_header(), hcom_read_header(), hevc_parse_sdp_line(), hnm_read_header(), iff_read_header(), latm_write_packet(), microdvd_read_header(), mkv_check_new_extra_data(), mov_create_chapter_track(), mov_read_dops(), mov_rewrite_dvd_sub_extradata(), msf_read_header(), mxf_parse_structural_metadata(), nist_read_header(), ogm_header(), oma_read_header(), opus_header(), opus_write_extradata(), parse_fmtp_config(), parse_packed_headers(), qdm2_parse_config(), read_header(), read_kuki_chunk(), redspark_read_header(), rsd_read_header(), seg_write_packet(), smacker_read_header(), smush_read_header(), speex_header(), svq3_parse_packet(), track_header(), tta_read_header(), update_stream_extradata(), vmd_read_header(), vqf_read_header(), wsvqa_read_packet(), wv_read_header(), xmv_process_packet_header(), and xwma_read_header().

◆ ff_get_extradata()

int ff_get_extradata ( AVFormatContext s,
AVCodecParameters par,
AVIOContext pb,
int  size 
)

◆ ff_stream_encode_params_copy()

int ff_stream_encode_params_copy ( AVStream dst,
const AVStream src 
)

Copy encoding parameters from source to destination stream.

Parameters
dstpointer to destination AVStream
srcpointer to source AVStream
Returns
>=0 on success, AVERROR code on error

Definition at line 586 of file utils.c.

Referenced by fifo_mux_init(), open_slave(), segment_mux_init(), and webm_chunk_init().

◆ ff_stream_side_data_copy()

int ff_stream_side_data_copy ( AVStream dst,
const AVStream src 
)

Copy side data from source to destination stream.

Parameters
dstpointer to destination AVStream
srcpointer to source AVStream
Returns
>=0 on success, AVERROR code on error

Definition at line 614 of file utils.c.

Referenced by copy_stream_props(), and ff_stream_encode_params_copy().

◆ free_stream()

static void free_stream ( AVStream **  pst)
static

Definition at line 644 of file utils.c.

Referenced by avformat_free_context(), avformat_new_stream(), and ff_free_stream().

◆ ff_free_stream()

void ff_free_stream ( AVFormatContext s,
AVStream st 
)

Definition at line 680 of file utils.c.

Referenced by avi_read_header(), ff_add_attached_pic(), and ff_rm_read_mdpr_codecdata().

◆ avpriv_new_chapter()

AVChapter* avpriv_new_chapter ( AVFormatContext s,
int64_t  id,
AVRational  time_base,
int64_t  start,
int64_t  end,
const char *  title 
)

Add a new chapter.

Parameters
smedia file handle
idunique ID for this chapter
startchapter start time in time_base units
endchapter end time in time_base units
titlechapter title
Returns
AVChapter or NULL on error

Definition at line 883 of file utils.c.

Referenced by aa_read_header(), asf_read_marker(), concat_parse_script(), decode_info_header(), ff_id3v2_parse_chapters(), flac_read_header(), mov_metadata_hmmt(), mov_read_chapters(), mov_read_chpl(), ogm_chapter(), read_chapter(), and read_header().

◆ av_program_add_stream_index()

void av_program_add_stream_index ( AVFormatContext ac,
int  progid,
unsigned  idx 
)

Definition at line 924 of file utils.c.

◆ ff_ntp_time()

uint64_t ff_ntp_time ( void  )

Get the current time since NTP epoch in microseconds.

Definition at line 951 of file utils.c.

Referenced by mov_write_prft_tag(), rtp_write_header(), rtp_write_packet(), and rtp_write_trailer().

◆ ff_get_formatted_ntp_time()

uint64_t ff_get_formatted_ntp_time ( uint64_t  ntp_time_us)

Get the NTP time stamp formatted as per the RFC-5905.

Parameters
ntp_timeNTP time in micro seconds (since NTP epoch)
Returns
the formatted NTP time stamp

Definition at line 956 of file utils.c.

Referenced by mov_write_prft_tag().

◆ ff_parse_ntp_time()

uint64_t ff_parse_ntp_time ( uint64_t  ntp_ts)

Parse the NTP time in micro seconds (since NTP epoch).

Parameters
ntp_tsNTP time stamp formatted as per the RFC-5905.
Returns
the time in micro seconds (since NTP epoch)

Definition at line 978 of file utils.c.

Referenced by rtp_set_prft().

◆ ff_mkdir_p()

int ff_mkdir_p ( const char *  path)

Automatically create sub-directories.

Parameters
pathwill create sub-directories by path
Returns
0, or < 0 on error

Definition at line 1113 of file utils.c.

Referenced by format_name(), and hls_start().

◆ ff_data_to_hex()

char* ff_data_to_hex ( char *  buf,
const uint8_t *  src,
int  size,
int  lowercase 
)

Write hexadecimal string corresponding to given binary data.

The string is zero-terminated.

Parameters
bufthe output string is written here; needs to be at least 2 * size + 1 bytes long.
srcthe input data to be transformed.
sizethe size (in byte) of src.
lowercasedetermines whether to use the range [0-9a-f] or [0-9A-F].
Returns
buf.

Definition at line 1147 of file utils.c.

Referenced by aa_read_header(), do_encrypt(), do_llnw_auth(), ff_rdt_calc_response_and_checksum(), hex_log(), hls_encryption_start(), hls_read_header(), make_digest_auth(), md5_close(), mov_read_adrm(), open_input(), param_write_hex(), and tak_read_header().

◆ ff_hex_to_data()

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
dataif non-null, the parsed data is written to this pointer
pthe string to parse
Returns
the number of bytes written (or to be written, if data is null)

Definition at line 1168 of file utils.c.

Referenced by concat_parse_script(), parse_fmtp_config(), and parse_playlist().

◆ avpriv_set_pts_info()

void avpriv_set_pts_info ( AVStream st,
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
ststream
pts_wrap_bitsnumber of bits effectively used by the pts (used for wrap control)
pts_numtime base numerator
pts_dentime base denominator

Definition at line 1196 of file utils.c.

Referenced by aa_read_header(), aax_read_header(), ace_read_header(), acm_read_header(), add_video_stream(), adp_read_header(), ads_read_header(), adts_aac_read_header(), adx_read_header(), afc_read_header(), aiff_read_header(), aiff_write_header(), aix_read_header(), ape_read_header(), apng_read_header(), aqt_read_header(), argo_brp_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(), av1_read_header(), avformat_new_stream(), avi_read_header(), avi_write_header(), avisynth_create_stream_audio(), avisynth_create_stream_video(), avr_read_header(), bfi_read_header(), binka_read_header(), bmv_read_header(), cdata_read_header(), cdxl_read_packet(), celt_header(), cin_read_header(), cine_read_header(), codec2_read_header_common(), copy_stream_props(), create_audio_stream(), create_new_audio_stream(), create_stream(), dat_read_packet(), dc1394_read_common(), dcstr_read_header(), decklink_setup_audio(), decklink_setup_video(), decode_stream_header(), derf_read_header(), dfa_read_header(), dhav_read_packet(), dirac_header(), dsf_read_header(), dshow_add_device(), dss_read_header(), dtshd_read_header(), dv_extract_audio_info(), dv_extract_video_info(), dxa_read_header(), ea_read_header(), epaf_read_header(), fbdev_read_header(), ff_argo_asf_fill_stream(), ff_decklink_read_header(), ff_img_read_header(), ff_raw_video_read_header(), ff_rm_read_mdpr_codecdata(), ff_voc_get_packet(), film_read_header(), fits_read_header(), flac_header(), flac_read_header(), flv_init(), fsb_read_header(), fwse_read_header(), g722_read_header(), g723_1_init(), g729_read_header(), gdigrab_read_header(), gdv_read_header(), genh_read_header(), get_audio_config(), get_packet_header(), get_video_config(), gif_read_header(), gif_write_header(), grab_read_header(), gsm_read_header(), gxf_header(), gxf_write_header(), hca_read_header(), hcom_read_header(), hls_write_header(), hnm_read_header(), idcin_read_header(), iff_read_header(), ifv_read_header(), ilbc_read_header(), init_audio(), init_muxer(), init_stream(), init_video_stream(), ipmovie_read_header(), ipu_read_header(), ircam_read_header(), iss_read_header(), jacosub_read_header(), kmsgrab_read_header(), lavfi_read_header(), lmlm4_read_header(), loas_read_header(), lrc_read_header(), lrc_write_header(), lvf_read_header(), lxf_read_header(), mcc_read_header(), microdvd_read_header(), microdvd_write_header(), mkv_init(), mlp_read_header(), mmf_read_header(), modplug_read_header(), mods_read_header(), moflex_read_sync(), mov_init(), mov_read_trak(), mp3_read_header(), mpc8_read_header(), mpc_read_header(), mpeg_mux_init(), mpegts_init(), mpegts_read_header(), mpegts_set_stream_info(), mpjpeg_read_header(), mpl2_read_header(), mpsub_read_header(), msf_read_header(), msnwc_tcp_read_header(), mtaf_read_header(), mtv_read_header(), musx_read_header(), mv_read_header(), mxf_init(), mxf_parse_structural_metadata(), mxg_read_header(), nc_read_header(), new_stream(), nist_read_header(), nsv_parse_NSVs_header(), nut_write_header(), nuv_header(), ogg_build_vp8_headers(), ogg_init(), ogg_new_stream(), ogm_dshow_header(), ogm_header(), old_dirac_header(), old_flac_header(), oma_read_header(), open_demux_for_component(), opus_header(), parse_audio_var(), parse_strk(), parse_video_var(), parse_vtrk(), pcm_read_header(), pjs_read_header(), pmp_header(), pp_bnk_read_header(), pulse_read_header(), pulse_write_header(), pva_read_header(), pvf_read_header(), qt_rtp_parse_packet(), r3d_read_red1(), r3d_read_reda(), rawvideo_read_header(), read_frame(), read_gab2_sub(), read_header(), read_header_gme(), read_header_openmpt(), read_header_vs(), read_sl_header(), realtext_read_header(), redspark_read_header(), rl2_read_header(), roq_read_packet(), rpl_read_header(), rsd_read_header(), rso_read_header(), rtp_write_header(), sami_read_header(), sbg_read_header(), scc_read_header(), scc_write_header(), scd_read_track(), sdr2_read_header(), sds_read_header(), seg_init(), seq_read_header(), ser_read_header(), set_context_streams_from_tracks(), set_stream_info_from_input_stream(), sga_audio_packet(), sga_video_packet(), siff_parse_vbv1(), simbiosis_imx_read_header(), 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(), stl_read_header(), str_read_packet(), subviewer1_read_header(), subviewer_read_header(), sup_read_header(), sup_write_header(), svag_read_header(), svs_read_header(), swf_read_packet(), tak_read_header(), tedcaptions_read_header(), theora_header(), thp_read_header(), threedostr_read_header(), tmv_read_header(), track_header(), tta_init(), tta_read_header(), ttml_write_header(), txd_read_header(), ty_read_header(), v210_read_header(), v4l2_read_header(), vag_read_header(), vc1t_read_header(), vc1test_write_header(), vfw_read_header(), vid_read_packet(), vivo_read_header(), vmd_read_header(), vorbis_header(), vp8_header(), vpk_read_header(), vplayer_read_header(), vqf_read_header(), wc3_read_header(), webm_chunk_init(), webp_init(), webvtt_read_header(), webvtt_write_header(), write_header(), write_stream_data(), wsaud_read_header(), wsvqa_read_header(), wsvqa_read_packet(), wv_read_header(), wve_read_header(), xa_read_header(), xmv_process_packet_header(), xvag_read_header(), xwma_read_header(), yop_read_header(), and yuv4_read_header().

◆ ff_parse_key_value()

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
strthe string to parse
callback_get_buffunction that returns where to store the unescaped value string.
contextthe opaque context pointer to pass to callback_get_buf

Definition at line 1222 of file utils.c.

Referenced by ff_http_auth_handle_header(), and parse_playlist().

◆ ff_find_stream_index()

int ff_find_stream_index ( const AVFormatContext s,
int  id 
)

Find stream index based on format-specific stream ID.

Returns
stream index, or < 0 on error

Definition at line 1276 of file utils.c.

Referenced by get_sindex(), parse_chunks(), pmt_cb(), and scte_data_cb().

◆ ff_add_param_change()

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 1323 of file utils.c.

Referenced by flv_read_packet(), load_ipmovie_packet(), and swf_read_packet().

◆ match_stream_specifier()

static int match_stream_specifier ( const AVFormatContext s,
const AVStream st,
const char *  spec,
const char **  indexptr,
const AVProgram **  p 
)
static

Matches a stream specifier (but ignores requested index).

Parameters
indexptrset to point to the requested stream index if there is one
Returns
<0 on error 0 if st is NOT a matching stream >0 if st is a matching stream

Definition at line 1419 of file utils.c.

Referenced by avformat_match_stream_specifier().

◆ ff_generate_avci_extradata()

int ff_generate_avci_extradata ( AVStream st)

Generate standard extradata for AVC-Intra based on width/height and field order.

Definition at line 1587 of file utils.c.

Referenced by mov_read_trak(), and mxf_parse_structural_metadata().

◆ ff_stream_add_bitstream_filter()

int ff_stream_add_bitstream_filter ( AVStream st,
const char *  name,
const char *  args 
)

Add a bitstream filter to a stream.

Parameters
stoutput stream to add a filter to
namethe name of the filter to add
argsfilter-specific argument string
Returns
>0 on success; AVERROR code on failure

Definition at line 1790 of file utils.c.

Referenced by flv_check_bitstream(), gxf_write_header(), ivf_init(), latm_check_bitstream(), mkv_check_bitstream(), mov_check_bitstream(), mpegts_check_bitstream(), and mxf_init().

◆ ff_format_output_open()

int ff_format_output_open ( AVFormatContext s,
const char *  url,
AVDictionary **  options 
)

Utility function to open IO stream of output format.

Parameters
sAVFormatContext
urlURL or file name to open for writing @options optional options which will be passed to io_open callback
Returns
>=0 on success, negative AVERROR in case of failure

Definition at line 1833 of file utils.c.

Referenced by fifo_thread_write_header(), and open_slave().

◆ ff_format_io_close_default()

void ff_format_io_close_default ( AVFormatContext s,
AVIOContext pb 
)

Definition at line 1843 of file utils.c.

Referenced by avformat_alloc_context(), and ff_format_io_close().

◆ ff_format_io_close()

int ff_format_io_close ( AVFormatContext s,
AVIOContext **  pb 
)

◆ ff_is_http_proto()

int ff_is_http_proto ( const char *  filename)

Utility function to check if the file uses http or https protocol.

Parameters
sAVFormatContext
filenameURL or file name to open for writing

Definition at line 1861 of file utils.c.

Referenced by dashenc_delete_file(), dashenc_io_close(), dashenc_io_open(), hls_init(), hlsenc_io_close(), hlsenc_io_open(), and set_http_options().

◆ ff_parse_creation_time_metadata()

int ff_parse_creation_time_metadata ( AVFormatContext s,
int64_t *  timestamp,
int  return_seconds 
)

Parse creation_time in AVFormatContext metadata if exists and warn if the parsing fails.

Parameters
sAVFormatContext
timestampparsed timestamp in microseconds, only set on successful parsing
return_secondsset this to get the number of seconds in timestamp instead of microseconds
Returns
1 if OK, 0 if the metadata was not present, AVERROR(EINVAL) on parse error

Definition at line 1866 of file utils.c.

Referenced by asf_write_header1(), dv_init_mux(), ff_standardize_creation_time(), gxf_write_umf_material_description(), mkv_write_header(), mov_write_header(), and mxf_init().

◆ ff_standardize_creation_time()

int ff_standardize_creation_time ( AVFormatContext s)

Standardize creation_time metadata in AVFormatContext to an ISO-8601 timestamp string.

Parameters
sAVFormatContext
Returns
<0 on error

Definition at line 1883 of file utils.c.

Referenced by caf_write_header(), ff_ape_write_tag(), ff_id3v2_write_metadata(), lrc_write_header(), smjpeg_write_header(), write_globalinfo(), write_metadata(), and write_table_entries_attrib().

◆ ff_get_packet_palette()

int ff_get_packet_palette ( AVFormatContext s,
AVPacket pkt,
int  ret,
uint32_t *  palette 
)

Retrieves the palette from a packet, either from side data, or appended to the video data in the packet itself (raw video only).

It is commonly used after a call to ff_reshuffle_raw_rgb().

Use 0 for the ret parameter to check for side data only.

Parameters
pktpointer to packet before calling ff_reshuffle_raw_rgb()
retreturn value from ff_reshuffle_raw_rgb(), or 0
palettepointer to palette buffer
Returns
negative error code or 1 if the packet has a palette, else 0

Definition at line 1892 of file utils.c.

Referenced by avi_write_packet(), and mov_write_packet().

◆ ff_bprint_to_codecpar_extradata()

int ff_bprint_to_codecpar_extradata ( AVCodecParameters par,
struct AVBPrint *  buf 
)

Finalize buf into extradata and set its size appropriately.

Definition at line 1916 of file utils.c.

Referenced by ass_read_header(), jacosub_read_header(), sami_read_header(), and subviewer_read_header().

◆ ff_format_set_url()

void ff_format_set_url ( AVFormatContext s,
char *  url 
)

Set AVFormatContext url field to the provided pointer.

The pointer must point to a valid string. The existing url field is freed if necessary. Also set the legacy filename field to the same string which was provided in url.

Definition at line 2003 of file utils.c.

Referenced by hls_start(), parse_playlist(), sap_write_header(), set_segment_filename(), sls_flag_use_localtime_filename(), sls_flags_filename_process(), and webm_chunk_init().

◆ option_is_disposition()

static int option_is_disposition ( const AVOption opt)
static

Definition at line 2010 of file utils.c.

Referenced by av_disposition_from_string(), and av_disposition_to_string().

◆ av_disposition_from_string()

int av_disposition_from_string ( const char *  disp)
Returns
The AV_DISPOSITION_* flag corresponding to disp or a negative error code if disp does not correspond to a known stream disposition.

Definition at line 2016 of file utils.c.

◆ av_disposition_to_string()

const char* av_disposition_to_string ( int  disposition)
Parameters
dispositiona combination of AV_DISPOSITION_* values
Returns
The string description corresponding to the lowest set bit in disposition. NULL when the lowest set bit does not correspond to a known disposition or when disposition is 0.

Definition at line 2024 of file utils.c.

Referenced by show_dispositions().

◆ ff_format_shift_data()

int ff_format_shift_data ( AVFormatContext s,
int64_t  read_start,
int  shift_size 
)

Make shift_size amount of space at read_start by shifting data in the output at read_start until the current IO position.

The underlying IO context must be seekable.

Definition at line 2039 of file utils.c.

Referenced by shift_data(), and write_header().

Variable Documentation

◆ av_format_ffversion

const char av_format_ffversion[] = "FFmpeg version " FFMPEG_VERSION

Definition at line 51 of file utils.c.

◆ avformat_mutex

AVMutex avformat_mutex = AV_MUTEX_INITIALIZER
static

Definition at line 53 of file utils.c.

Referenced by ff_lock_avformat(), and ff_unlock_avformat().

◆ stream_options

const AVOption stream_options[]
static
Initial value:
= {
{ "disposition", NULL, 0x42, AV_OPT_TYPE_FLAGS, { .i64 = 0 },
.flags = AV_OPT_FLAG_ENCODING_PARAM, .unit = "disposition" },
{ "default", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_DEFAULT }, .unit = "disposition" },
{ "dub", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_DUB }, .unit = "disposition" },
{ "original", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_ORIGINAL }, .unit = "disposition" },
{ "comment", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_COMMENT }, .unit = "disposition" },
{ "lyrics", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_LYRICS }, .unit = "disposition" },
{ "karaoke", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_KARAOKE }, .unit = "disposition" },
{ "forced", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_FORCED }, .unit = "disposition" },
{ "hearing_impaired", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_HEARING_IMPAIRED }, .unit = "disposition" },
{ "visual_impaired", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_VISUAL_IMPAIRED }, .unit = "disposition" },
{ "clean_effects", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_CLEAN_EFFECTS }, .unit = "disposition" },
{ "attached_pic", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_ATTACHED_PIC }, .unit = "disposition" },
{ "timed_thumbnails", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_TIMED_THUMBNAILS }, .unit = "disposition" },
{ "captions", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_CAPTIONS }, .unit = "disposition" },
{ "descriptions", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_DESCRIPTIONS }, .unit = "disposition" },
{ "metadata", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_METADATA }, .unit = "disposition" },
{ "dependent", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_DEPENDENT }, .unit = "disposition" },
{ "still_image", .type = AV_OPT_TYPE_CONST, { .i64 = AV_DISPOSITION_STILL_IMAGE }, .unit = "disposition" },
{ NULL }
}

Definition at line 733 of file utils.c.

Referenced by av_disposition_from_string(), and av_disposition_to_string().

◆ stream_class

const AVClass stream_class
static
Initial value:
= {
.class_name = "AVStream",
.item_name = av_default_item_name,
.option = stream_options,
}

Definition at line 756 of file utils.c.

Referenced by av_stream_get_class(), and avformat_new_stream().

AV_DISPOSITION_ATTACHED_PIC
#define AV_DISPOSITION_ATTACHED_PIC
The stream is stored in the file as an attached picture/"cover art" (e.g.
Definition: avformat.h:873
AV_DISPOSITION_DEFAULT
#define AV_DISPOSITION_DEFAULT
The stream should be chosen by default among other streams of the same type, unless the user has expl...
Definition: avformat.h:820
AV_DISPOSITION_STILL_IMAGE
#define AV_DISPOSITION_STILL_IMAGE
The video stream contains still images.
Definition: avformat.h:905
AV_DISPOSITION_FORCED
#define AV_DISPOSITION_FORCED
Track should be used during playback by default.
Definition: avformat.h:853
AV_DISPOSITION_TIMED_THUMBNAILS
#define AV_DISPOSITION_TIMED_THUMBNAILS
The stream is sparse, and contains thumbnail images, often corresponding to chapter markers.
Definition: avformat.h:878
AV_DISPOSITION_CLEAN_EFFECTS
#define AV_DISPOSITION_CLEAN_EFFECTS
The audio stream contains music and sound effects without voice.
Definition: avformat.h:865
AV_OPT_FLAG_ENCODING_PARAM
#define AV_OPT_FLAG_ENCODING_PARAM
a generic parameter which can be set by the user for muxing or encoding
Definition: opt.h:277
LIBAVUTIL_VERSION_INT
#define LIBAVUTIL_VERSION_INT
Definition: version.h:85
NULL
#define NULL
Definition: coverity.c:32
AV_DISPOSITION_COMMENT
#define AV_DISPOSITION_COMMENT
The stream is a commentary track.
Definition: avformat.h:838
av_default_item_name
const char * av_default_item_name(void *ptr)
Return the context name.
Definition: log.c:235
AV_DISPOSITION_METADATA
#define AV_DISPOSITION_METADATA
The subtitle stream contains time-aligned metadata that is not intended to be directly presented to t...
Definition: avformat.h:895
stream_options
static const AVOption stream_options[]
Definition: utils.c:733
AV_DISPOSITION_ORIGINAL
#define AV_DISPOSITION_ORIGINAL
The stream is in original language.
Definition: avformat.h:834
AV_DISPOSITION_CAPTIONS
#define AV_DISPOSITION_CAPTIONS
The subtitle stream contains captions, providing a transcription and possibly a translation of audio.
Definition: avformat.h:884
AV_DISPOSITION_DUB
#define AV_DISPOSITION_DUB
The stream is not in original language.
Definition: avformat.h:828
AV_DISPOSITION_HEARING_IMPAIRED
#define AV_DISPOSITION_HEARING_IMPAIRED
The stream is intended for hearing impaired audiences.
Definition: avformat.h:857
AV_DISPOSITION_KARAOKE
#define AV_DISPOSITION_KARAOKE
The stream contains karaoke audio.
Definition: avformat.h:846
AV_DISPOSITION_DEPENDENT
#define AV_DISPOSITION_DEPENDENT
The audio stream is intended to be mixed with another stream before presentation.
Definition: avformat.h:901
AV_DISPOSITION_VISUAL_IMPAIRED
#define AV_DISPOSITION_VISUAL_IMPAIRED
The stream is intended for visually impaired audiences.
Definition: avformat.h:861
AV_DISPOSITION_DESCRIPTIONS
#define AV_DISPOSITION_DESCRIPTIONS
The subtitle stream contains a textual description of the video content.
Definition: avformat.h:890
avio_read
int avio_read(AVIOContext *s, unsigned char *buf, int size)
Read size bytes from AVIOContext into buf.
Definition: aviobuf.c:641
AV_OPT_TYPE_FLAGS
@ AV_OPT_TYPE_FLAGS
Definition: opt.h:223
AV_OPT_TYPE_CONST
@ AV_OPT_TYPE_CONST
Definition: opt.h:233
AV_DISPOSITION_LYRICS
#define AV_DISPOSITION_LYRICS
The stream contains song lyrics.
Definition: avformat.h:842