21 #ifndef AVFORMAT_AVFORMAT_H 22 #define AVFORMAT_AVFORMAT_H 321 #include "libavutil/log.h" 449 const char *filename;
455 #define AVPROBE_SCORE_RETRY (AVPROBE_SCORE_MAX/4) 456 #define AVPROBE_SCORE_STREAM_RETRY (AVPROBE_SCORE_MAX/4-1) 458 #define AVPROBE_SCORE_EXTENSION 50 459 #define AVPROBE_SCORE_MIME 75 460 #define AVPROBE_SCORE_MAX 100 462 #define AVPROBE_PADDING_SIZE 32 464 #define AVFMT_NOFILE 0x0001 466 #define AVFMT_NEEDNUMBER 0x0002 467 #define AVFMT_SHOW_IDS 0x0008 468 #define AVFMT_GLOBALHEADER 0x0040 469 #define AVFMT_NOTIMESTAMPS 0x0080 470 #define AVFMT_GENERIC_INDEX 0x0100 471 #define AVFMT_TS_DISCONT 0x0200 472 #define AVFMT_VARIABLE_FPS 0x0400 473 #define AVFMT_NODIMENSIONS 0x0800 474 #define AVFMT_NOSTREAMS 0x1000 475 #define AVFMT_NOBINSEARCH 0x2000 476 #define AVFMT_NOGENSEARCH 0x4000 477 #define AVFMT_NO_BYTE_SEEK 0x8000 478 #define AVFMT_ALLOW_FLUSH 0x10000 479 #define AVFMT_TS_NONSTRICT 0x20000 482 #define AVFMT_TS_NEGATIVE 0x40000 491 #define AVFMT_SEEK_TO_PTS 0x4000000 497 typedef struct AVOutputFormat { 504 const char *long_name;
506 const char *extensions;
563 int (*query_codec)(
enum AVCodecID id,
int std_compliance);
566 int64_t *dts, int64_t *wall);
571 void *data,
size_t data_size);
645 const char *long_name;
659 const char *extensions;
731 int stream_index, int64_t timestamp,
int flags);
738 int64_t *pos, int64_t pos_limit);
758 int (*read_seek2)(
struct AVFormatContext *s,
int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts,
int flags);
801 #define AVINDEX_KEYFRAME 0x0001 802 #define AVINDEX_DISCARD_FRAME 0x0002 810 #define AV_DISPOSITION_DEFAULT 0x0001 811 #define AV_DISPOSITION_DUB 0x0002 812 #define AV_DISPOSITION_ORIGINAL 0x0004 813 #define AV_DISPOSITION_COMMENT 0x0008 814 #define AV_DISPOSITION_LYRICS 0x0010 815 #define AV_DISPOSITION_KARAOKE 0x0020 822 #define AV_DISPOSITION_FORCED 0x0040 823 #define AV_DISPOSITION_HEARING_IMPAIRED 0x0080 824 #define AV_DISPOSITION_VISUAL_IMPAIRED 0x0100 825 #define AV_DISPOSITION_CLEAN_EFFECTS 0x0200 833 #define AV_DISPOSITION_ATTACHED_PIC 0x0400 838 #define AV_DISPOSITION_TIMED_THUMBNAILS 0x0800 845 #define AV_DISPOSITION_CAPTIONS 0x10000 846 #define AV_DISPOSITION_DESCRIPTIONS 0x20000 847 #define AV_DISPOSITION_METADATA 0x40000 848 #define AV_DISPOSITION_DEPENDENT 0x80000 849 #define AV_DISPOSITION_STILL_IMAGE 0x100000 854 #define AV_PTS_WRAP_IGNORE 0 855 #define AV_PTS_WRAP_ADD_OFFSET 1 856 #define AV_PTS_WRAP_SUB_OFFSET -1 873 #if FF_API_LAVF_AVCTX 979 #define AVSTREAM_EVENT_FLAG_METADATA_UPDATED 0x0001 991 #if FF_API_LAVF_FFSERVER 1000 char *recommended_encoder_configuration;
1024 #define MAX_STD_TIMEBASES (30*12+30+3+6) 1030 int64_t duration_gcd;
1032 int64_t rfps_duration_sum;
1033 double (*duration_error)[2][MAX_STD_TIMEBASES];
1034 int64_t codec_info_duration;
1035 int64_t codec_info_duration_fields;
1036 int frame_delay_evidence;
1045 int64_t last_duration;
1050 int64_t fps_first_dts;
1051 int fps_first_dts_idx;
1052 int64_t fps_last_dts;
1053 int fps_last_dts_idx;
1069 int64_t last_IP_pts;
1070 int last_IP_duration;
1080 int codec_info_nb_frames;
1091 #define MAX_REORDER_DELAY 16 1092 int64_t pts_buffer[MAX_REORDER_DELAY+1];
1096 int nb_index_entries;
1097 unsigned int index_entries_allocated_size;
1104 int stream_identifier;
1113 int64_t interleaver_chunk_size;
1114 int64_t interleaver_chunk_duration;
1128 int skip_to_keyframe;
1142 int64_t start_skip_samples;
1150 int64_t first_discard_sample;
1157 int64_t last_discard_sample;
1163 int nb_decoded_frames;
1169 int64_t mux_ts_offset;
1174 int64_t pts_wrap_reference;
1186 int pts_wrap_behavior;
1191 int update_initial_durations_done;
1196 int64_t pts_reorder_error[MAX_REORDER_DELAY+1];
1197 uint8_t pts_reorder_error_count[MAX_REORDER_DELAY+1];
1202 int64_t last_dts_for_order_check;
1203 uint8_t dts_ordered;
1204 uint8_t dts_misordered;
1209 int inject_global_side_data;
1225 #if FF_API_FORMAT_GET_SET 1230 attribute_deprecated
1232 attribute_deprecated
1234 #if FF_API_LAVF_FFSERVER 1235 attribute_deprecated
1236 char* av_stream_get_recommended_encoder_configuration(
const AVStream *s);
1237 attribute_deprecated
1238 void av_stream_set_recommended_encoder_configuration(
AVStream *s,
char *configuration);
1251 #define AV_PROGRAM_RUNNING 1 1263 unsigned int *stream_index;
1264 unsigned int nb_stream_indexes;
1282 int64_t pts_wrap_reference;
1283 int pts_wrap_behavior;
1286 #define AVFMTCTX_NOHEADER 0x0001 1288 #define AVFMTCTX_UNSEEKABLE 0x0002 1294 typedef struct AVChapter { 1306 void *data,
size_t data_size);
1393 unsigned int nb_streams;
1407 #if FF_API_FORMAT_FILENAME 1416 attribute_deprecated
1417 char filename[1024];
1461 unsigned int packet_size;
1469 #define AVFMT_FLAG_GENPTS 0x0001 1470 #define AVFMT_FLAG_IGNIDX 0x0002 1471 #define AVFMT_FLAG_NONBLOCK 0x0004 1472 #define AVFMT_FLAG_IGNDTS 0x0008 1473 #define AVFMT_FLAG_NOFILLIN 0x0010 1474 #define AVFMT_FLAG_NOPARSE 0x0020 1475 #define AVFMT_FLAG_NOBUFFER 0x0040 1476 #define AVFMT_FLAG_CUSTOM_IO 0x0080 1477 #define AVFMT_FLAG_DISCARD_CORRUPT 0x0100 1478 #define AVFMT_FLAG_FLUSH_PACKETS 0x0200 1485 #define AVFMT_FLAG_BITEXACT 0x0400 1486 #if FF_API_LAVF_MP4A_LATM 1487 #define AVFMT_FLAG_MP4A_LATM 0x8000 1489 #define AVFMT_FLAG_SORT_DTS 0x10000 1490 #define AVFMT_FLAG_PRIV_OPT 0x20000 1491 #if FF_API_LAVF_KEEPSIDE_FLAG 1492 #define AVFMT_FLAG_KEEP_SIDE_DATA 0x40000 1494 #define AVFMT_FLAG_FAST_SEEK 0x80000 1495 #define AVFMT_FLAG_SHORTEST 0x100000 1496 #define AVFMT_FLAG_AUTO_BSF 0x200000 1511 int64_t max_analyze_duration;
1516 unsigned int nb_programs;
1547 unsigned int max_index_size;
1553 unsigned int max_picture_buffer;
1566 unsigned int nb_chapters;
1590 int64_t start_time_realtime;
1604 int error_recognition;
1621 #define FF_FDEBUG_TS 0x0001 1639 int64_t max_interleave_delta;
1645 int strict_std_compliance;
1653 #define AVFMT_EVENT_FLAG_METADATA_UPDATED 0x0001 1668 int avoid_negative_ts;
1669 #define AVFMT_AVOID_NEG_TS_AUTO -1 1670 #define AVFMT_AVOID_NEG_TS_MAKE_NON_NEGATIVE 1 1671 #define AVFMT_AVOID_NEG_TS_MAKE_ZERO 2 1693 int max_chunk_duration;
1709 int use_wallclock_as_timestamps;
1731 int64_t skip_initial_bytes;
1738 unsigned int correct_ts_overflow;
1768 int format_probesize;
1776 char *codec_whitelist;
1784 char *format_whitelist;
1798 int io_repositioned;
1837 int metadata_header_padding;
1854 int64_t output_ts_offset;
1862 uint8_t *dump_separator;
1870 #if FF_API_OLD_OPEN_CALLBACKS 1888 attribute_deprecated
1949 #if FF_API_FORMAT_GET_SET 1954 attribute_deprecated
1956 attribute_deprecated
1958 attribute_deprecated
1960 attribute_deprecated
1962 attribute_deprecated
1964 attribute_deprecated
1966 attribute_deprecated
1968 attribute_deprecated
1970 attribute_deprecated
1972 attribute_deprecated
1974 attribute_deprecated
1975 void av_format_set_metadata_header_padding(
AVFormatContext *s,
int c);
1976 attribute_deprecated
1978 attribute_deprecated
1980 attribute_deprecated
1982 attribute_deprecated
1984 #if FF_API_OLD_OPEN_CALLBACKS 1985 attribute_deprecated AVOpenCallback av_format_get_open_cb(
const AVFormatContext *s);
1986 attribute_deprecated
void av_format_set_open_cb(
AVFormatContext *s, AVOpenCallback callback);
2042 attribute_deprecated
2043 void av_register_all(
void);
2045 attribute_deprecated
2047 attribute_deprecated
2079 attribute_deprecated
2087 attribute_deprecated
2168 uint8_t *data,
size_t size);
2215 const char *format_name,
const char *filename);
2276 const char *url,
void *logctx,
2277 unsigned int offset,
unsigned int max_probe_size);
2283 const char *url,
void *logctx,
2284 unsigned int offset,
unsigned int max_probe_size);
2307 attribute_deprecated
2345 void av_program_add_stream_index(
AVFormatContext *ac,
int progid,
unsigned int idx);
2373 int wanted_stream_nb,
2490 #define AVSEEK_FLAG_BACKWARD 1 2491 #define AVSEEK_FLAG_BYTE 2 2492 #define AVSEEK_FLAG_ANY 4 2493 #define AVSEEK_FLAG_FRAME 8 2500 #define AVSTREAM_INIT_IN_WRITE_HEADER 0 2501 #define AVSTREAM_INIT_IN_INIT_OUTPUT 1 2520 av_warn_unused_result
2542 av_warn_unused_result
2691 const char *filename,
2698 const char *filename,
const char *
mime_type,
2717 int64_t *dts, int64_t *wall);
2838 int size,
int distance,
int flags);
2861 char *authorization,
int authorization_size,
2862 char *hostname,
int hostname_size,
2864 char *path,
int path_size,
2884 #define AV_FRAME_FILENAME_FLAGS_MULTIPLE 1 2900 const char *path,
int number,
int flags);
2902 int av_get_frame_filename(
char *
buf,
int buf_size,
2903 const char *path,
int number);
2939 int av_match_ext(
const char *filename,
const char *extensions);
2952 int std_compliance);
3046 attribute_deprecated
3051 enum AVTimebaseSource {
3052 AVFMT_TBCF_AUTO = -1,
3055 #if FF_API_R_FRAME_RATE 3056 AVFMT_TBCF_R_FRAMERATE,
3072 enum AVTimebaseSource copy_tb);
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.
Definition: utils.c:4728
int(* io_open)(struct AVFormatContext *s, AVIOContext **pb, const char *url, int flags, AVDictionary **options)
A callback for opening new IO streams.
Definition: avformat.h:1933
Bytestream IO Context.
Definition: avio.h:161
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.
Definition: dump.c:108
AVPacketSideDataType
Definition: avcodec.h:1175
This structure describes decoded (raw) audio or video data.
Definition: frame.h:268
int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt)
Write a packet to an output media file ensuring correct interleaving.
Definition: mux.c:1185
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.
Definition: utils.c:2039
int av_write_frame(AVFormatContext *s, AVPacket *pkt)
Write a packet to an output media file.
Definition: mux.c:878
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...
Definition: utils.c:5056
int av_get_output_timestamp(struct AVFormatContext *s, int stream, int64_t *dts, int64_t *wall)
Get timing information for the data currently output.
Definition: mux.c:1302
AVInputFormat * av_probe_input_format3(AVProbeData *pd, int is_opened, int *score_ret)
Guess the file format.
Definition: format.c:128
int av_write_uncoded_frame_query(AVFormatContext *s, int stream_index)
Test whether a muxer supports uncoded frame.
Definition: mux.c:1379
AVCodec.
Definition: avcodec.h:3468
This struct describes the properties of an encoded stream.
Definition: avcodec.h:3936
Format I/O context.
Definition: avformat.h:1351
AVRational av_guess_frame_rate(AVFormatContext *ctx, AVStream *stream, AVFrame *frame)
Guess the frame rate, based on both the container and codec information.
Definition: utils.c:5079
const struct AVCodecTag * avformat_get_mov_audio_tags(void)
Definition: isom.c:662
const struct AVCodecTag * avformat_get_riff_video_tags(void)
Definition: riff.c:584
enum AVCodecID av_codec_get_id(const struct AVCodecTag *const *tags, unsigned int tag)
Get the AVCodecID for the given codec tag tag.
unsigned avformat_version(void)
Return the LIBAVFORMAT_VERSION_INT constant.
Definition: utils.c:66
const char * avformat_license(void)
Return the libavformat license.
Definition: utils.c:77
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.
Definition: utils.c:5717
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.
Definition: utils.c:5261
AVStream * avformat_new_stream(AVFormatContext *s, const AVCodec *c)
Add a new stream to a media file.
Definition: utils.c:4455
uint8_t * av_stream_get_side_data(const AVStream *stream, enum AVPacketSideDataType type, int *size)
Get side information from stream.
Definition: utils.c:5437
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.
Definition: internal.h:44
AVFormatContext * avformat_alloc_context(void)
Allocate an AVFormatContext.
Definition: options.c:144
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.
Definition: dump.c:113
const char * avformat_configuration(void)
Return the libavformat build-time configuration.
Definition: utils.c:72
int flags
Flags modifying the (de)muxer behaviour.
Definition: avformat.h:1482
Definition: avformat.h:2017
char * protocol_whitelist
',' separated list of allowed protocols.
Definition: avformat.h:1911
int avformat_network_init(void)
Do global initialization of network libraries.
Definition: utils.c:4993
const struct AVCodecTag * avformat_get_riff_audio_tags(void)
Definition: riff.c:589
int av_sdp_create(AVFormatContext *ac[], int n_files, char *buf, int size)
Generate an SDP for an RTP session.
Definition: sdp.c:841
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.
Definition: format.c:38
const AVClass * avformat_get_class(void)
Get the AVClass for AVFormatContext.
Definition: options.c:168
int av_probe_input_buffer2(AVIOContext *pb, AVInputFormat **fmt, const char *url, void *logctx, unsigned int offset, unsigned int max_probe_size)
Probe a bytestream to determine the input format.
Definition: format.c:222
const AVOutputFormat * av_muxer_iterate(void **opaque)
Iterate over all registered muxers.
Definition: allformats.c:503
const struct AVCodecTag * avformat_get_mov_video_tags(void)
Definition: isom.c:657
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.
Definition: dump.c:563
Callback for checking whether to abort blocking functions.
Definition: avio.h:58
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.
Definition: utils.c:4183
AVRational av_stream_get_codec_timebase(const AVStream *st)
Get the internal codec timebase from a stream.
Definition: utils.c:5779
int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt, const char *url, void *logctx, unsigned int offset, unsigned int max_probe_size)
Like av_probe_input_buffer2() but returns 0 on success.
Definition: format.c:312
AVProgram * av_find_program_from_stream(AVFormatContext *ic, AVProgram *last, int s)
Find the programs which belong to a given stream.
Definition: utils.c:4166
AVCodecID
Identify the syntax and semantics of the bitstream.
Definition: avcodec.h:215
Definition: internal.h:149
int av_index_search_timestamp(AVStream *st, int64_t timestamp, int flags)
Get the index for a specific timestamp.
Definition: utils.c:2148
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.
Definition: dump.c:74
char * url
input or output URL.
Definition: avformat.h:1447
int av_read_play(AVFormatContext *s)
Start playing a network-based stream (e.g.
Definition: utils.c:4250
int skip_estimate_duration_from_pts
Skip duration calcuation in estimate_timings_from_pts.
Definition: avformat.h:1960
New fields can be added to the end with minor version bumps.
Definition: avformat.h:1268
AVInputFormat * av_probe_input_format2(AVProbeData *pd, int is_opened, int *score_max)
Guess the file format.
Definition: format.c:205
void * opaque
User data.
Definition: avformat.h:1857
int avformat_query_codec(const AVOutputFormat *ofmt, enum AVCodecID codec_id, int std_compliance)
Test if the given container can store a codec.
Definition: utils.c:4975
const char * mime_type
mime_type, when known.
Definition: avformat.h:452
int buf_size
Size of buf except extra allocated bytes.
Definition: avformat.h:451
unsigned char * buf
Buffer must have AVPROBE_PADDING_SIZE of extra allocated bytes filled with zero.
Definition: avformat.h:450
int av_read_pause(AVFormatContext *s)
Pause a network-based stream (e.g.
Definition: utils.c:4259
AVInputFormat * av_find_input_format(const char *short_name)
Find AVInputFormat based on the short name of the input format.
Definition: format.c:118
av_warn_unused_result int avformat_write_header(AVFormatContext *s, AVDictionary **options)
Allocate the stream private data and write the stream header to an output media file.
Definition: mux.c:508
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.
Definition: utils.c:5452
enum AVCodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name, const char *filename, const char *mime_type, enum AVMediaType type)
Guess the codec ID based upon muxer and filename.
Definition: format.c:87
int max_streams
The maximum number of streams.
Definition: avformat.h:1953
Definition: avformat.h:802
uint8_t * av_stream_new_side_data(AVStream *stream, enum AVPacketSideDataType type, int size)
Allocate new information from stream.
Definition: utils.c:5488
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 par...
Definition: format.c:51
av_warn_unused_result int avformat_init_output(AVFormatContext *s, AVDictionary **options)
Allocate the stream private data and initialize the codec, but do not write the header.
Definition: mux.c:488
const AVInputFormat * av_demuxer_iterate(void **opaque)
Iterate over all registered demuxers.
Definition: allformats.c:520
Definition: avcodec.h:5092
Definition: avcodec.h:5722
Stream structure.
Definition: avformat.h:874
int avformat_network_deinit(void)
Undo the initialization done by avformat_network_init.
Definition: utils.c:5005
Definition: avcodec.h:1411
Libavcodec external API header.
AVIOContext * pb
I/O context.
Definition: avformat.h:1393
main external API structure.
Definition: avcodec.h:1556
int av_filename_number_test(const char *filename)
Check whether filename actually is a numbered sequence generator.
Definition: utils.c:327
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.
Definition: utils.c:4668
void(* io_close)(struct AVFormatContext *s, AVIOContext *pb)
A callback for closing the streams opened with AVFormatContext.io_open().
Definition: avformat.h:1939
Describe the class of an AVClass context structure.
Definition: log.h:67
Rational number (pair of numerator and denominator).
Definition: rational.h:58
AVMediaType
Definition: avutil.h:199
void avformat_free_context(AVFormatContext *s)
Free an AVFormatContext and all its streams.
Definition: utils.c:4389
This structure contains the data a format has to probe a file.
Definition: avformat.h:448
int av_read_frame(AVFormatContext *s, AVPacket *pkt)
Return the next frame of a stream.
Definition: utils.c:1768
List of devices.
Definition: avdevice.h:460
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.
Definition: utils.c:2529
int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
Seek to the keyframe at timestamp.
Definition: utils.c:2506
Definition: avformat.h:1308
int av_interleaved_write_uncoded_frame(AVFormatContext *s, int stream_index, AVFrame *frame)
Write an uncoded frame to an output media file.
Definition: mux.c:1373
int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
Read packets of a media file to get stream information.
Definition: utils.c:3564
void avformat_close_input(AVFormatContext **s)
Close an opened input AVFormatContext.
Definition: utils.c:4427
int av_write_uncoded_frame(AVFormatContext *s, int stream_index, AVFrame *frame)
Write an uncoded frame to an output media file.
Definition: mux.c:1367
int avformat_open_input(AVFormatContext **ps, const char *url, AVInputFormat *fmt, AVDictionary **options)
Open an input stream and read the header.
Definition: utils.c:537
AVDiscard
Definition: avcodec.h:798
int av_write_trailer(AVFormatContext *s)
Write the stream trailer to an output media file and free the file private data.
Definition: mux.c:1247
char * protocol_blacklist
',' separated list of disallowed protocols.
Definition: avformat.h:1946
int avformat_flush(AVFormatContext *s)
Discard all internally buffered data.
Definition: utils.c:2586
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.
Definition: dump.c:79
unsigned int av_codec_get_tag(const struct AVCodecTag *const *tags, enum AVCodecID id)
Get the codec tag for the given codec id id.
AVInputFormat * av_probe_input_format(AVProbeData *pd, int is_opened)
Guess the file format.
Definition: format.c:216
Following API allows user to probe device capabilities (supported codecs, pixel formats, sample formats, resolutions, channel counts, etc).
Definition: avdevice.h:400
This structure stores compressed data.
Definition: avcodec.h:1445