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 853 #define AV_PTS_WRAP_IGNORE 0 854 #define AV_PTS_WRAP_ADD_OFFSET 1 855 #define AV_PTS_WRAP_SUB_OFFSET -1 872 #if FF_API_LAVF_AVCTX 978 #define AVSTREAM_EVENT_FLAG_METADATA_UPDATED 0x0001 990 #if FF_API_LAVF_FFSERVER 999 char *recommended_encoder_configuration;
1023 #define MAX_STD_TIMEBASES (30*12+30+3+6) 1029 int64_t duration_gcd;
1031 int64_t rfps_duration_sum;
1032 double (*duration_error)[2][MAX_STD_TIMEBASES];
1033 int64_t codec_info_duration;
1034 int64_t codec_info_duration_fields;
1035 int frame_delay_evidence;
1044 int64_t last_duration;
1049 int64_t fps_first_dts;
1050 int fps_first_dts_idx;
1051 int64_t fps_last_dts;
1052 int fps_last_dts_idx;
1068 int64_t last_IP_pts;
1069 int last_IP_duration;
1079 int codec_info_nb_frames;
1090 #define MAX_REORDER_DELAY 16 1091 int64_t pts_buffer[MAX_REORDER_DELAY+1];
1095 int nb_index_entries;
1096 unsigned int index_entries_allocated_size;
1103 int stream_identifier;
1105 int64_t interleaver_chunk_size;
1106 int64_t interleaver_chunk_duration;
1120 int skip_to_keyframe;
1134 int64_t start_skip_samples;
1142 int64_t first_discard_sample;
1149 int64_t last_discard_sample;
1155 int nb_decoded_frames;
1161 int64_t mux_ts_offset;
1166 int64_t pts_wrap_reference;
1178 int pts_wrap_behavior;
1183 int update_initial_durations_done;
1188 int64_t pts_reorder_error[MAX_REORDER_DELAY+1];
1189 uint8_t pts_reorder_error_count[MAX_REORDER_DELAY+1];
1194 int64_t last_dts_for_order_check;
1195 uint8_t dts_ordered;
1196 uint8_t dts_misordered;
1201 int inject_global_side_data;
1217 #if FF_API_FORMAT_GET_SET 1222 attribute_deprecated
1224 attribute_deprecated
1226 #if FF_API_LAVF_FFSERVER 1227 attribute_deprecated
1228 char* av_stream_get_recommended_encoder_configuration(
const AVStream *s);
1229 attribute_deprecated
1230 void av_stream_set_recommended_encoder_configuration(
AVStream *s,
char *configuration);
1243 #define AV_PROGRAM_RUNNING 1 1255 unsigned int *stream_index;
1256 unsigned int nb_stream_indexes;
1273 int64_t pts_wrap_reference;
1274 int pts_wrap_behavior;
1277 #define AVFMTCTX_NOHEADER 0x0001 1279 #define AVFMTCTX_UNSEEKABLE 0x0002 1285 typedef struct AVChapter { 1297 void *data,
size_t data_size);
1384 unsigned int nb_streams;
1398 #if FF_API_FORMAT_FILENAME 1407 attribute_deprecated
1408 char filename[1024];
1452 unsigned int packet_size;
1460 #define AVFMT_FLAG_GENPTS 0x0001 1461 #define AVFMT_FLAG_IGNIDX 0x0002 1462 #define AVFMT_FLAG_NONBLOCK 0x0004 1463 #define AVFMT_FLAG_IGNDTS 0x0008 1464 #define AVFMT_FLAG_NOFILLIN 0x0010 1465 #define AVFMT_FLAG_NOPARSE 0x0020 1466 #define AVFMT_FLAG_NOBUFFER 0x0040 1467 #define AVFMT_FLAG_CUSTOM_IO 0x0080 1468 #define AVFMT_FLAG_DISCARD_CORRUPT 0x0100 1469 #define AVFMT_FLAG_FLUSH_PACKETS 0x0200 1476 #define AVFMT_FLAG_BITEXACT 0x0400 1477 #define AVFMT_FLAG_MP4A_LATM 0x8000 1478 #define AVFMT_FLAG_SORT_DTS 0x10000 1479 #define AVFMT_FLAG_PRIV_OPT 0x20000 1480 #if FF_API_LAVF_KEEPSIDE_FLAG 1481 #define AVFMT_FLAG_KEEP_SIDE_DATA 0x40000 1483 #define AVFMT_FLAG_FAST_SEEK 0x80000 1484 #define AVFMT_FLAG_SHORTEST 0x100000 1485 #define AVFMT_FLAG_AUTO_BSF 0x200000 1500 int64_t max_analyze_duration;
1505 unsigned int nb_programs;
1536 unsigned int max_index_size;
1542 unsigned int max_picture_buffer;
1555 unsigned int nb_chapters;
1579 int64_t start_time_realtime;
1593 int error_recognition;
1610 #define FF_FDEBUG_TS 0x0001 1628 int64_t max_interleave_delta;
1634 int strict_std_compliance;
1642 #define AVFMT_EVENT_FLAG_METADATA_UPDATED 0x0001 1657 int avoid_negative_ts;
1658 #define AVFMT_AVOID_NEG_TS_AUTO -1 1659 #define AVFMT_AVOID_NEG_TS_MAKE_NON_NEGATIVE 1 1660 #define AVFMT_AVOID_NEG_TS_MAKE_ZERO 2 1682 int max_chunk_duration;
1698 int use_wallclock_as_timestamps;
1720 int64_t skip_initial_bytes;
1727 unsigned int correct_ts_overflow;
1757 int format_probesize;
1765 char *codec_whitelist;
1773 char *format_whitelist;
1787 int io_repositioned;
1826 int metadata_header_padding;
1843 int64_t output_ts_offset;
1851 uint8_t *dump_separator;
1859 #if FF_API_OLD_OPEN_CALLBACKS 1877 attribute_deprecated
1931 #if FF_API_FORMAT_GET_SET 1936 attribute_deprecated
1938 attribute_deprecated
1940 attribute_deprecated
1942 attribute_deprecated
1944 attribute_deprecated
1946 attribute_deprecated
1948 attribute_deprecated
1950 attribute_deprecated
1952 attribute_deprecated
1954 attribute_deprecated
1956 attribute_deprecated
1957 void av_format_set_metadata_header_padding(
AVFormatContext *s,
int c);
1958 attribute_deprecated
1960 attribute_deprecated
1962 attribute_deprecated
1964 attribute_deprecated
1966 #if FF_API_OLD_OPEN_CALLBACKS 1967 attribute_deprecated AVOpenCallback av_format_get_open_cb(
const AVFormatContext *s);
1968 attribute_deprecated
void av_format_set_open_cb(
AVFormatContext *s, AVOpenCallback callback);
2024 attribute_deprecated
2025 void av_register_all(
void);
2027 attribute_deprecated
2029 attribute_deprecated
2061 attribute_deprecated
2069 attribute_deprecated
2150 uint8_t *data,
size_t size);
2197 const char *format_name,
const char *filename);
2258 const char *url,
void *logctx,
2259 unsigned int offset,
unsigned int max_probe_size);
2265 const char *url,
void *logctx,
2266 unsigned int offset,
unsigned int max_probe_size);
2289 attribute_deprecated
2327 void av_program_add_stream_index(
AVFormatContext *ac,
int progid,
unsigned int idx);
2355 int wanted_stream_nb,
2472 #define AVSEEK_FLAG_BACKWARD 1 2473 #define AVSEEK_FLAG_BYTE 2 2474 #define AVSEEK_FLAG_ANY 4 2475 #define AVSEEK_FLAG_FRAME 8 2482 #define AVSTREAM_INIT_IN_WRITE_HEADER 0 2483 #define AVSTREAM_INIT_IN_INIT_OUTPUT 1 2502 av_warn_unused_result
2524 av_warn_unused_result
2673 const char *filename,
2680 const char *filename,
const char *
mime_type,
2699 int64_t *dts, int64_t *wall);
2820 int size,
int distance,
int flags);
2843 char *authorization,
int authorization_size,
2844 char *hostname,
int hostname_size,
2846 char *path,
int path_size,
2866 #define AV_FRAME_FILENAME_FLAGS_MULTIPLE 1 2882 const char *path,
int number,
int flags);
2884 int av_get_frame_filename(
char *
buf,
int buf_size,
2885 const char *path,
int number);
2921 int av_match_ext(
const char *filename,
const char *extensions);
2934 int std_compliance);
3028 attribute_deprecated
3033 enum AVTimebaseSource {
3034 AVFMT_TBCF_AUTO = -1,
3037 #if FF_API_R_FRAME_RATE 3038 AVFMT_TBCF_R_FRAMERATE,
3054 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:4691
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:1922
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:1143
This structure describes decoded (raw) audio or video data.
Definition: frame.h:218
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:2038
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:4985
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:3408
This struct describes the properties of an encoded stream.
Definition: avcodec.h:3876
Format I/O context.
Definition: avformat.h:1342
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:5008
const struct AVCodecTag * avformat_get_mov_audio_tags(void)
Definition: isom.c:652
const struct AVCodecTag * avformat_get_riff_video_tags(void)
Definition: riff.c:576
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:5685
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:5029
AVStream * avformat_new_stream(AVFormatContext *s, const AVCodec *c)
Add a new stream to a media file.
Definition: utils.c:4441
uint8_t * av_stream_get_side_data(const AVStream *stream, enum AVPacketSideDataType type, int *size)
Get side information from stream.
Definition: utils.c:5405
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:1473
Definition: avformat.h:1999
char * protocol_whitelist
',' separated list of allowed protocols.
Definition: avformat.h:1900
int avformat_network_init(void)
Do global initialization of network libraries.
Definition: utils.c:4922
const struct AVCodecTag * avformat_get_riff_audio_tags(void)
Definition: riff.c:581
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:492
const struct AVCodecTag * avformat_get_mov_video_tags(void)
Definition: isom.c:647
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:561
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:4169
AVRational av_stream_get_codec_timebase(const AVStream *st)
Get the internal codec timebase from a stream.
Definition: utils.c:5747
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:320
AVProgram * av_find_program_from_stream(AVFormatContext *ic, AVProgram *last, int s)
Find the programs which belong to a given stream.
Definition: utils.c:4152
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:2147
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:1438
int av_read_play(AVFormatContext *s)
Start playing a network-based stream (e.g.
Definition: utils.c:4236
New fields can be added to the end with minor version bumps.
Definition: avformat.h:1260
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:1846
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:4904
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:4245
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:5420
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:1942
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:5456
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:509
Definition: avcodec.h:5032
Definition: avcodec.h:5662
Stream structure.
Definition: avformat.h:873
int avformat_network_deinit(void)
Undo the initialization done by avformat_network_init.
Definition: utils.c:4934
Definition: avcodec.h:1373
Libavcodec external API header.
AVIOContext * pb
I/O context.
Definition: avformat.h:1384
main external API structure.
Definition: avcodec.h:1518
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:4631
void(* io_close)(struct AVFormatContext *s, AVIOContext *pb)
A callback for closing the streams opened with AVFormatContext.io_open().
Definition: avformat.h:1928
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:4375
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:1767
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:2528
int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp, int flags)
Seek to the keyframe at timestamp.
Definition: utils.c:2505
Definition: avformat.h:1299
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:3550
void avformat_close_input(AVFormatContext **s)
Close an opened input AVFormatContext.
Definition: utils.c:4413
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:785
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:1935
int avformat_flush(AVFormatContext *s)
Discard all internally buffered data.
Definition: utils.c:2585
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:1407