World of Might and Magic
0.2.0
Open reimplementation of Might and Magic 6 7 8 game engine
|
#include <avformat.h>
Format I/O context. New fields can be added to the end with minor version bumps. Removal, reordering and changes to existing fields require a major version bump. sizeof(AVFormatContext) must not be used outside libav*, use avformat_alloc_context() to create an AVFormatContext.
Fields can be accessed through AVOptions (av_opt*), the name string used matches the associated command line parameter name and can be found in libavformat/options_table.h. The AVOption/command line parameter names differ in some cases from the C structure field names for historic reasons or brevity.
См. определение в файле avformat.h строка 1344
const AVClass* AVFormatContext::av_class |
A class for logging and AVOptions. Set by avformat_alloc_context(). Exports (de)muxer private options if they exist.
См. определение в файле avformat.h строка 1349
ff_const59 struct AVInputFormat* AVFormatContext::iformat |
The input container format.
Demuxing only, set by avformat_open_input().
См. определение в файле avformat.h строка 1356
ff_const59 struct AVOutputFormat* AVFormatContext::oformat |
The output container format.
Muxing only, must be set by the caller before avformat_write_header().
См. определение в файле avformat.h строка 1363
void* AVFormatContext::priv_data |
Format private data. This is an AVOptions-enabled struct if and only if iformat/oformat.priv_class is not NULL.
См. определение в файле avformat.h строка 1372
AVIOContext* AVFormatContext::pb |
I/O context.
Do NOT set this field if AVFMT_NOFILE flag is set in iformat/oformat.flags. In such a case, the (de)muxer will handle I/O in some other way and this field will be NULL.
См. определение в файле avformat.h строка 1386
Используется в Movie::LoadFromLOD() и AudioBufferDataSource::Open().
int AVFormatContext::ctx_flags |
Flags signalling stream properties. A combination of AVFMTCTX_*. Set by libavformat.
См. определение в файле avformat.h строка 1393
unsigned int AVFormatContext::nb_streams |
Number of elements in AVFormatContext.streams.
Set by avformat_new_stream(), must not be modified by any other code.
См. определение в файле avformat.h строка 1400
AVStream** AVFormatContext::streams |
A list of all streams in the file. New streams are created with avformat_new_stream().
Freed by libavformat in avformat_free_context().
См. определение в файле avformat.h строка 1412
Используется в AVStreamWrapper::open() и AudioBaseDataSource::Open().
attribute_deprecated char AVFormatContext::filename[1024] |
input or output filename
muxing: may be set by the caller before avformat_write_header()
См. определение в файле avformat.h строка 1424
char* AVFormatContext::url |
input or output URL. Unlike the old filename field, this field has no length restriction.
Freed by libavformat in avformat_free_context().
См. определение в файле avformat.h строка 1440
int64_t AVFormatContext::start_time |
Position of the first frame of the component, in AV_TIME_BASE fractional seconds. NEVER set this value directly: It is deduced from the AVStream values.
Demuxing only, set by libavformat.
См. определение в файле avformat.h строка 1449
int64_t AVFormatContext::duration |
Duration of the stream, in AV_TIME_BASE fractional seconds. Only set this value if you know none of the individual stream durations and also do not set any of them. This is deduced from the AVStream values if not set.
Demuxing only, set by libavformat.
См. определение в файле avformat.h строка 1459
int64_t AVFormatContext::bit_rate |
Total stream bitrate in bit/s, 0 if not available. Never set it directly if the file_size and the duration are known as FFmpeg can compute it automatically.
См. определение в файле avformat.h строка 1466
unsigned int AVFormatContext::packet_size |
См. определение в файле avformat.h строка 1468
int AVFormatContext::max_delay |
См. определение в файле avformat.h строка 1469
int AVFormatContext::flags |
Flags modifying the (de)muxer behaviour. A combination of AVFMT_FLAG_*. Set by the user before avformat_open_input() / avformat_write_header().
См. определение в файле avformat.h строка 1475
int64_t AVFormatContext::probesize |
Maximum size of the data read from input for determining the input container format. Demuxing only, set by the caller before avformat_open_input().
См. определение в файле avformat.h строка 1510
int64_t AVFormatContext::max_analyze_duration |
Maximum duration (in AV_TIME_BASE units) of the data read from input in avformat_find_stream_info(). Demuxing only, set by the caller before avformat_find_stream_info(). Can be set to 0 to let avformat choose using a heuristic.
См. определение в файле avformat.h строка 1518
const uint8_t* AVFormatContext::key |
См. определение в файле avformat.h строка 1520
int AVFormatContext::keylen |
См. определение в файле avformat.h строка 1521
unsigned int AVFormatContext::nb_programs |
См. определение в файле avformat.h строка 1523
AVProgram** AVFormatContext::programs |
См. определение в файле avformat.h строка 1524
enum AVCodecID AVFormatContext::video_codec_id |
Forced video codec_id. Demuxing: Set by user.
См. определение в файле avformat.h строка 1530
enum AVCodecID AVFormatContext::audio_codec_id |
Forced audio codec_id. Demuxing: Set by user.
См. определение в файле avformat.h строка 1536
enum AVCodecID AVFormatContext::subtitle_codec_id |
Forced subtitle codec_id. Demuxing: Set by user.
См. определение в файле avformat.h строка 1542
unsigned int AVFormatContext::max_index_size |
Maximum amount of memory in bytes to use for the index of each stream. If the index exceeds this size, entries will be discarded as needed to maintain a smaller size. This can lead to slower or less accurate seeking (depends on demuxer). Demuxers for which a full in-memory index is mandatory will ignore this.
См. определение в файле avformat.h строка 1554
unsigned int AVFormatContext::max_picture_buffer |
Maximum amount of memory in bytes to use for buffering frames obtained from realtime capture devices.
См. определение в файле avformat.h строка 1560
unsigned int AVFormatContext::nb_chapters |
Number of chapters in AVChapter array. When muxing, chapters are normally written in the file header, so nb_chapters should normally be initialized before write_header is called. Some muxers (e.g. mov and mkv) can also write chapters in the trailer. To write chapters in the trailer, nb_chapters must be zero when write_header is called and non-zero when write_trailer is called.
См. определение в файле avformat.h строка 1573
AVChapter** AVFormatContext::chapters |
См. определение в файле avformat.h строка 1574
AVDictionary* AVFormatContext::metadata |
Metadata that applies to the whole file.
Freed by libavformat in avformat_free_context().
См. определение в файле avformat.h строка 1584
int64_t AVFormatContext::start_time_realtime |
Start time of the stream in real world time, in microseconds since the Unix epoch (00:00 1st January 1970). That is, pts=0 in the stream was captured at this real world time.
См. определение в файле avformat.h строка 1597
int AVFormatContext::fps_probe_size |
The number of frames used for determining the framerate in avformat_find_stream_info(). Demuxing only, set by the caller before avformat_find_stream_info().
См. определение в файле avformat.h строка 1604
int AVFormatContext::error_recognition |
Error recognition; higher values will detect more errors but may misdetect some more or less valid parts as errors. Demuxing only, set by the caller before avformat_open_input().
См. определение в файле avformat.h строка 1611
AVIOInterruptCB AVFormatContext::interrupt_callback |
Custom interrupt callbacks for the I/O layer.
demuxing: set by the user before avformat_open_input(). muxing: set by the user before avformat_write_header() (mainly useful for AVFMT_NOFILE formats). The callback should also be passed to avio_open2() if it's used to open the file.
См. определение в файле avformat.h строка 1622
int AVFormatContext::debug |
Flags to enable debugging.
См. определение в файле avformat.h строка 1627
int64_t AVFormatContext::max_interleave_delta |
Maximum buffering duration for interleaving.
To ensure all the streams are interleaved correctly, av_interleaved_write_frame() will wait until it has at least one packet for each stream before actually writing any packets to the output file. When some streams are "sparse" (i.e. there are large gaps between successive packets), this can result in excessive buffering.
This field specifies the maximum difference between the timestamps of the first and the last packet in the muxing queue, above which libavformat will output a packet regardless of whether it has queued a packet for all the streams.
Muxing only, set by the caller before avformat_write_header().
См. определение в файле avformat.h строка 1646
int AVFormatContext::strict_std_compliance |
Allow non-standard and experimental extension
См. определение в файле avformat.h строка 1652
int AVFormatContext::event_flags |
Flags for the user to detect events happening on the file. Flags must be cleared by the user once the event has been handled. A combination of AVFMT_EVENT_FLAG_*.
См. определение в файле avformat.h строка 1659
int AVFormatContext::max_ts_probe |
Maximum number of packets to read while waiting for the first timestamp. Decoding only.
См. определение в файле avformat.h строка 1666
int AVFormatContext::avoid_negative_ts |
Avoid negative timestamps during muxing. Any value of the AVFMT_AVOID_NEG_TS_* constants. Note, this only works when using av_interleaved_write_frame. (interleave_packet_per_dts is in use)
См. определение в файле avformat.h строка 1675
int AVFormatContext::ts_id |
Transport stream id. This will be moved into demuxer private options. Thus no API/ABI compatibility
См. определение в файле avformat.h строка 1684
int AVFormatContext::audio_preload |
Audio preload in microseconds. Note, not all formats support this and unpredictable things may happen if it is used when not supported.
См. определение в файле avformat.h строка 1692
int AVFormatContext::max_chunk_duration |
Max chunk time in microseconds. Note, not all formats support this and unpredictable things may happen if it is used when not supported.
См. определение в файле avformat.h строка 1700
int AVFormatContext::max_chunk_size |
Max chunk size in bytes Note, not all formats support this and unpredictable things may happen if it is used when not supported.
См. определение в файле avformat.h строка 1708
int AVFormatContext::use_wallclock_as_timestamps |
forces the use of wallclock timestamps as pts/dts of packets This has undefined results in the presence of B frames.
См. определение в файле avformat.h строка 1716
int AVFormatContext::avio_flags |
avio flags, used to force AVIO_FLAG_DIRECT.
См. определение в файле avformat.h строка 1723
enum AVDurationEstimationMethod AVFormatContext::duration_estimation_method |
The duration field can be estimated through various ways, and this field can be used to know how the duration was estimated.
См. определение в файле avformat.h строка 1731
int64_t AVFormatContext::skip_initial_bytes |
Skip initial bytes when opening stream
См. определение в файле avformat.h строка 1738
unsigned int AVFormatContext::correct_ts_overflow |
Correct single timestamp overflows
См. определение в файле avformat.h строка 1745
int AVFormatContext::seek2any |
Force seeking to any (also non key) frames.
См. определение в файле avformat.h строка 1752
int AVFormatContext::flush_packets |
Flush the I/O context after each packet.
См. определение в файле avformat.h строка 1759
int AVFormatContext::probe_score |
format probing score. The maximal score is AVPROBE_SCORE_MAX, its set when the demuxer probes the format.
См. определение в файле avformat.h строка 1768
int AVFormatContext::format_probesize |
number of bytes to read maximally to identify format.
См. определение в файле avformat.h строка 1775
char* AVFormatContext::codec_whitelist |
',' separated list of allowed decoders. If NULL then all are allowed
См. определение в файле avformat.h строка 1783
char* AVFormatContext::format_whitelist |
',' separated list of allowed demuxers. If NULL then all are allowed
См. определение в файле avformat.h строка 1791
AVFormatInternal* AVFormatContext::internal |
An opaque field for libavformat internal usage. Must not be accessed in any way by callers.
См. определение в файле avformat.h строка 1797
int AVFormatContext::io_repositioned |
IO repositioned flag. This is set by avformat when the underlaying IO context read pointer is repositioned, for example when doing byte based seeking. Demuxers can use the flag to detect such changes.
См. определение в файле avformat.h строка 1805
AVCodec* AVFormatContext::video_codec |
Forced video codec. This allows forcing a specific decoder, even when there are multiple with the same codec_id. Demuxing: Set by user
См. определение в файле avformat.h строка 1813
AVCodec* AVFormatContext::audio_codec |
Forced audio codec. This allows forcing a specific decoder, even when there are multiple with the same codec_id. Demuxing: Set by user
См. определение в файле avformat.h строка 1821
AVCodec* AVFormatContext::subtitle_codec |
Forced subtitle codec. This allows forcing a specific decoder, even when there are multiple with the same codec_id. Demuxing: Set by user
См. определение в файле avformat.h строка 1829
AVCodec* AVFormatContext::data_codec |
Forced data codec. This allows forcing a specific decoder, even when there are multiple with the same codec_id. Demuxing: Set by user
См. определение в файле avformat.h строка 1837
int AVFormatContext::metadata_header_padding |
Number of bytes to be written as padding in a metadata header. Demuxing: Unused. Muxing: Set by user via av_format_set_metadata_header_padding.
См. определение в файле avformat.h строка 1844
void* AVFormatContext::opaque |
User data. This is a place for some private data of the user.
См. определение в файле avformat.h строка 1850
av_format_control_message AVFormatContext::control_message_cb |
Callback used by devices to communicate with application.
См. определение в файле avformat.h строка 1855
int64_t AVFormatContext::output_ts_offset |
Output timestamp offset, in microseconds. Muxing: set by user
См. определение в файле avformat.h строка 1861
uint8_t* AVFormatContext::dump_separator |
dump format separator. can be ", " or "\n " or anything else
См. определение в файле avformat.h строка 1869
enum AVCodecID AVFormatContext::data_codec_id |
Forced Data codec_id. Demuxing: Set by user.
См. определение в файле avformat.h строка 1875
attribute_deprecated int(* AVFormatContext::open_cb) (struct AVFormatContext *s, AVIOContext **p, const char *url, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options) |
Called to open further IO contexts when needed for demuxing.
This can be set by the user application to perform security checks on the URLs before opening them. The function should behave like avio_open2(), AVFormatContext is provided as contextual information and to reach AVFormatContext.opaque.
If NULL then some simple checks are used together with avio_open2().
Must not be accessed directly from outside avformat. @See av_format_set_open_cb()
Demuxing: Set by user.
См. определение в файле avformat.h строка 1896
char* AVFormatContext::protocol_whitelist |
',' separated list of allowed protocols.
См. определение в файле avformat.h строка 1904
int(* AVFormatContext::io_open) (struct AVFormatContext *s, AVIOContext **pb, const char *url, int flags, AVDictionary **options) |
A callback for opening new IO streams.
Whenever a muxer or a demuxer needs to open an IO stream (typically from avformat_open_input() for demuxers, but for certain formats can happen at other times as well), it will call this callback to obtain an IO context.
s | the format context |
pb | on success, the newly opened IO context should be returned here |
url | the url to open |
flags | a combination of AVIO_FLAG_* |
options | a dictionary of additional options, with the same semantics as in avio_open2() |
См. определение в файле avformat.h строка 1926
void(* AVFormatContext::io_close) (struct AVFormatContext *s, AVIOContext *pb) |
A callback for closing the streams opened with AVFormatContext.io_open().
См. определение в файле avformat.h строка 1932
char* AVFormatContext::protocol_blacklist |
',' separated list of disallowed protocols.
См. определение в файле avformat.h строка 1939
int AVFormatContext::max_streams |
The maximum number of streams.
См. определение в файле avformat.h строка 1946
int AVFormatContext::skip_estimate_duration_from_pts |
Skip duration calcuation in estimate_timings_from_pts.
См. определение в файле avformat.h строка 1953