FFmpeg
|
Format I/O context. More...
#include <avformat.h>
Data Fields | |
const AVClass * | av_class |
A class for logging and AVOptions. More... | |
const struct AVInputFormat * | iformat |
The input container format. More... | |
const struct AVOutputFormat * | oformat |
The output container format. More... | |
void * | priv_data |
Format private data. More... | |
AVIOContext * | pb |
I/O context. More... | |
int | ctx_flags |
Flags signalling stream properties. More... | |
unsigned int | nb_streams |
Number of elements in AVFormatContext.streams. More... | |
AVStream ** | streams |
A list of all streams in the file. More... | |
unsigned int | nb_stream_groups |
Number of elements in AVFormatContext.stream_groups. More... | |
AVStreamGroup ** | stream_groups |
A list of all stream groups in the file. More... | |
unsigned int | nb_chapters |
Number of chapters in AVChapter array. More... | |
AVChapter ** | chapters |
char * | url |
input or output URL. More... | |
int64_t | start_time |
Position of the first frame of the component, in AV_TIME_BASE fractional seconds. More... | |
int64_t | duration |
Duration of the stream, in AV_TIME_BASE fractional seconds. More... | |
int64_t | bit_rate |
Total stream bitrate in bit/s, 0 if not available. More... | |
unsigned int | packet_size |
int | max_delay |
int | flags |
Flags modifying the (de)muxer behaviour. More... | |
int64_t | probesize |
Maximum number of bytes read from input in order to determine stream properties. More... | |
int64_t | max_analyze_duration |
Maximum duration (in AV_TIME_BASE units) of the data read from input in avformat_find_stream_info(). More... | |
const uint8_t * | key |
int | keylen |
unsigned int | nb_programs |
AVProgram ** | programs |
enum AVCodecID | video_codec_id |
Forced video codec_id. More... | |
enum AVCodecID | audio_codec_id |
Forced audio codec_id. More... | |
enum AVCodecID | subtitle_codec_id |
Forced subtitle codec_id. More... | |
enum AVCodecID | data_codec_id |
Forced Data codec_id. More... | |
AVDictionary * | metadata |
Metadata that applies to the whole file. More... | |
int64_t | start_time_realtime |
Start time of the stream in real world time, in microseconds since the Unix epoch (00:00 1st January 1970). More... | |
int | fps_probe_size |
The number of frames used for determining the framerate in avformat_find_stream_info(). More... | |
int | error_recognition |
Error recognition; higher values will detect more errors but may misdetect some more or less valid parts as errors. More... | |
AVIOInterruptCB | interrupt_callback |
Custom interrupt callbacks for the I/O layer. More... | |
int | debug |
Flags to enable debugging. More... | |
int | max_streams |
The maximum number of streams. More... | |
unsigned int | max_index_size |
Maximum amount of memory in bytes to use for the index of each stream. More... | |
unsigned int | max_picture_buffer |
Maximum amount of memory in bytes to use for buffering frames obtained from realtime capture devices. More... | |
int64_t | max_interleave_delta |
Maximum buffering duration for interleaving. More... | |
int | max_ts_probe |
Maximum number of packets to read while waiting for the first timestamp. More... | |
int | max_chunk_duration |
Max chunk time in microseconds. More... | |
int | 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. More... | |
int | max_probe_packets |
Maximum number of packets that can be probed. More... | |
int | strict_std_compliance |
Allow non-standard and experimental extension. More... | |
int | event_flags |
Flags indicating events happening on the file, a combination of AVFMT_EVENT_FLAG_*. More... | |
int | avoid_negative_ts |
Avoid negative timestamps during muxing. More... | |
int | audio_preload |
Audio preload in microseconds. More... | |
int | 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. More... | |
int | skip_estimate_duration_from_pts |
Skip duration calcuation in estimate_timings_from_pts. More... | |
int | avio_flags |
avio flags, used to force AVIO_FLAG_DIRECT. More... | |
enum AVDurationEstimationMethod | 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. More... | |
int64_t | skip_initial_bytes |
Skip initial bytes when opening stream. More... | |
unsigned int | correct_ts_overflow |
Correct single timestamp overflows. More... | |
int | seek2any |
Force seeking to any (also non key) frames. More... | |
int | flush_packets |
Flush the I/O context after each packet. More... | |
int | probe_score |
format probing score. More... | |
int | format_probesize |
Maximum number of bytes read from input in order to identify the input format. More... | |
char * | codec_whitelist |
',' separated list of allowed decoders. More... | |
char * | format_whitelist |
',' separated list of allowed demuxers. More... | |
char * | protocol_whitelist |
',' separated list of allowed protocols. More... | |
char * | protocol_blacklist |
',' separated list of disallowed protocols. More... | |
int | io_repositioned |
IO repositioned flag. More... | |
const struct AVCodec * | video_codec |
Forced video codec. More... | |
const struct AVCodec * | audio_codec |
Forced audio codec. More... | |
const struct AVCodec * | subtitle_codec |
Forced subtitle codec. More... | |
const struct AVCodec * | data_codec |
Forced data codec. More... | |
int | metadata_header_padding |
Number of bytes to be written as padding in a metadata header. More... | |
void * | opaque |
User data. More... | |
av_format_control_message | control_message_cb |
Callback used by devices to communicate with application. More... | |
int64_t | output_ts_offset |
Output timestamp offset, in microseconds. More... | |
uint8_t * | dump_separator |
dump format separator. More... | |
int(* | io_open )(struct AVFormatContext *s, AVIOContext **pb, const char *url, int flags, AVDictionary **options) |
A callback for opening new IO streams. More... | |
int(* | io_close2 )(struct AVFormatContext *s, AVIOContext *pb) |
A callback for closing the streams opened with AVFormatContext.io_open(). More... | |
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.
Definition at line 1255 of file avformat.h.
const AVClass* AVFormatContext::av_class |
A class for logging and AVOptions.
Set by avformat_alloc_context(). Exports (de)muxer private options if they exist.
Definition at line 1260 of file avformat.h.
Referenced by av_bsf_alloc(), av_hwdevice_ctx_alloc(), and av_hwframe_ctx_alloc().
const struct AVInputFormat* AVFormatContext::iformat |
The input container format.
Demuxing only, set by avformat_open_input().
Definition at line 1267 of file avformat.h.
Referenced by assert_file_overwrite(), av_dump_format(), avformat_find_stream_info(), dump_stream_format(), dump_stream_group(), estimate_timings(), hls_read_packet(), ifile_open(), rawvideo_read_header(), read_thread(), show_format(), show_stream(), show_stream_group(), and ts_discontinuity_detect().
const struct AVOutputFormat* AVFormatContext::oformat |
The output container format.
Muxing only, must be set by the caller before avformat_write_header().
Definition at line 1274 of file avformat.h.
Referenced by add_stream(), av_dump_format(), create_streams(), dash_check_bitstream(), dash_init(), dump_stream_format(), dump_stream_group(), ff_rtp_chain_mux_open(), ff_rtp_get_payload_type(), hds_write_header(), hls_mux_init(), hls_start(), hls_write_packet(), init_fps(), ism_write_header(), log_slave(), main(), map_auto_audio(), map_auto_data(), map_auto_subtitle(), map_auto_video(), mpeg_mux_init(), mpegts_init(), mux_fixup_ts(), new_stream_video(), of_open(), open_output_file(), ost_add(), rtp_mpegts_write_header(), seg_check_bitstream(), seg_write_packet(), segment_mux_init(), segment_start(), and streamcopy_init().
void* AVFormatContext::priv_data |
Format private data.
This is an AVOptions-enabled struct if and only if iformat/oformat.priv_class is not NULL.
Definition at line 1283 of file avformat.h.
Referenced by add_display_matrix(), add_file(), add_video_stream(), alloc_and_insert_node(), android_camera_read_close(), android_camera_read_header(), android_camera_read_packet(), apng_write_header(), apng_write_packet(), apng_write_trailer(), at_write_header(), at_write_packet(), at_write_trailer(), av1_frame_split_close(), av1_frame_split_filter(), av1_frame_split_flush(), av1_frame_split_init(), av1_parser_close(), av1_parser_init(), av1_parser_parse(), av_bsf_alloc(), av_bsf_free(), av_bsf_list_finalize(), avformat_find_stream_info(), bsf_child_next(), camera_dev_disconnected(), camera_dev_error(), cbs_av1_close(), cbs_av1_flush(), cbs_av1_read_unit(), cbs_av1_write_obu(), cbs_h2645_replace_ps(), cbs_h2645_split_fragment(), cbs_h264_close(), cbs_h264_flush(), cbs_h265_close(), cbs_h265_flush(), cbs_h266_close(), cbs_h266_flush(), cbs_vp9_flush(), cdef_params(), cine_read_packet(), cine_read_seek(), close_slaves(), color_config(), concat_parse_script(), concat_read_close(), concat_read_header(), concat_read_packet(), concat_seek(), convert_timestamp(), create_capture_session(), create_image_reader(), create_subcc_packet(), create_subcc_streams(), dec_ref_pic_marking(), decklink_input_callback::decklink_input_callback(), decklink_select_input(), decklink_setup_audio(), decklink_setup_video(), decklink_write_audio_packet(), decklink_write_data_packet(), decklink_write_subtitle_packet(), decklink_write_video_packet(), detect_stream_specific(), device_init(), device_open(), dfpwm_dec_frame(), dfpwm_dec_init(), dfpwm_enc_frame(), dfpwm_enc_init(), dshow_add_device(), dshow_cycle_devices(), dshow_cycle_formats(), dshow_cycle_pins(), dshow_list_device_options(), dshow_open_device(), dshow_read_header(), dshow_set_audio_buffer_size(), dshow_should_set_format(), dts2pts_close(), dts2pts_filter(), dts2pts_flush(), dts2pts_init(), dump_extradata(), dv_error_marker_filter(), dv_error_marker_init(), efi_read(), encode_nals(), extract_extradata_av1(), extract_extradata_close(), extract_extradata_filter(), extract_extradata_h2645(), extract_extradata_init(), extract_extradata_mpeg12(), extract_extradata_mpeg4(), extract_extradata_vc1(), failing_deinit(), fbdev_read_close(), fbdev_read_header(), fbdev_read_packet(), ff_alsa_open(), ff_cbs_close(), ff_cbs_init(), ff_decklink_cleanup(), ff_decklink_init_device(), ff_decklink_list_formats(), ff_decklink_read_close(), ff_decklink_read_header(), ff_decklink_read_packet(), ff_decklink_set_configs(), ff_decklink_set_format(), ff_decklink_write_header(), ff_decklink_write_trailer(), ff_dshow_try_setup_crossbar_options(), ff_frame_thread_free(), ff_rtp_get_payload_type(), ff_rtp_send_h261(), ff_rtp_send_vp9(), fifo_consumer_thread(), fifo_deinit(), fifo_init(), fifo_mux_init(), fifo_test_header(), fifo_test_packet(), fifo_test_trailer(), fifo_thread_attempt_recovery(), fifo_thread_flush_output(), fifo_thread_process_recovery_failure(), fifo_thread_recover(), fifo_thread_write_header(), fifo_thread_write_packet(), fifo_thread_write_trailer(), fifo_write_header(), fifo_write_packet(), fifo_write_trailer(), film_deinit(), film_grain_params(), film_init(), film_write_header(), film_write_packet(), flush(), flush_packet(), frame_header_obu(), frame_size(), frame_size_with_refs(), frm_read_packet(), gdv_read_header(), gdv_read_packet(), get_current_fragment(), get_image_format(), get_metadata(), get_next_nb_samples(), get_sensor_orientation(), get_system_header_size(), get_vcd_padding_size(), h264_extradata_to_annexb(), h264_filter(), h264_flush(), h264_init(), h264_mp4toannexb_close(), h264_mp4toannexb_filter(), h264_mp4toannexb_flush(), h264_queue_frame(), h264_redundant_pps_fixup_slice(), hevc_mp4toannexb_filter(), hevc_mp4toannexb_init(), hls_start(), hls_write_packet(), image_available(), init(), init_convert_timestamp(), kmsgrab_get_fb(), kmsgrab_read_close(), kmsgrab_read_header(), kmsgrab_read_packet(), laf_read_close(), laf_read_header(), laf_read_packet(), laf_read_seek(), lavfi_read_close(), lavfi_read_header(), lavfi_read_packet(), list_formats(), list_standards(), loop_filter_params(), lr_params(), match_framerate(), match_streams(), match_streams_exact_id(), match_streams_one_to_one(), match_video_size(), mmap_init(), mmap_read_frame(), mmap_start(), mpeg4_unpack_bframes_filter(), mpeg_mux_init(), mpeg_mux_write_packet(), mv_read_header(), mv_read_packet(), mv_read_seek(), noise(), noise_init(), obu_header(), open_camera(), open_file(), open_next_file(), opus_decode_flush(), opus_find_frame_end(), opus_header(), opus_packet(), opus_parse(), output_packet(), parse_audio_var(), parse_device_name(), parse_global_var(), parse_nal_units(), picture_coding_extension(), picture_display_extension(), picture_header(), pps(), pps_range_extension(), pred_weight_table(), put_pack_header(), put_padding_packet(), put_system_header(), put_vcd_padding_sector(), quantization_params(), rawvideo_read_header(), rcwt_flush_cluster(), rcwt_write_header(), rcwt_write_packet(), read_close(), read_data(), read_header(), read_packet(), read_seek(), read_tx_mode(), real_seek(), rechunk_filter(), reconfig_encoder(), ref_pic_list_modification(), ref_pic_list_struct(), remove_extradata(), render_size(), rv10_write_header(), sbg_read_header(), scalability_structure(), scan_file(), scc_write_header(), scc_write_packet(), sds_read_header(), sds_read_packet(), segment_start(), segmentation_params(), SEI_FUNC(), send_packet(), send_picture(), sequence_extension(), sequence_header(), set_frame_refs(), setts_filter(), setts_init(), setup_crossbar_options(), setup_frame(), setup_roi(), show_stream(), showinfo_filter(), skip_mode_params(), slice_header(), slice_segment_header(), smush_read_header(), smush_read_packet(), sps(), srt_write_header(), srt_write_packet(), superres_params(), synth_frame(), synth_superframe(), tedcaptions_read_close(), tedcaptions_read_header(), tedcaptions_read_packet(), tedcaptions_read_seek(), tee_process_slave_failure(), tee_write_header(), tee_write_packet(), tee_write_trailer(), temporal_delimiter_obu(), theora_gptopts(), tile_group_obu(), tile_info(), truehd_core_filter(), truehd_core_flush(), try_seek(), ttml_write_header(), ttml_write_packet(), ttml_write_trailer(), uncompressed_header(), uninit(), update_init_section(), v4l2_get_device_list(), v4l2_read_close(), v4l2_read_header(), v4l2_set_parameters(), decklink_input_callback::VideoInputFormatChanged(), decklink_input_callback::VideoInputFrameArrived(), vp9_superframe_close(), vp9_superframe_filter(), vp9_superframe_flush(), vp9_superframe_init(), vp9_superframe_split_filter(), vp9_superframe_split_flush(), vp9_superframe_split_init(), vp9_superframe_split_uninit(), vvc_mp4toannexb_filter(), vvc_mp4toannexb_init(), wait_for_image_format(), wmavoice_decode_end(), wmavoice_decode_init(), wmavoice_decode_packet(), wmavoice_flush(), write_headers(), write_streamheader(), wsaud_write_header(), wsaud_write_packet(), wsaud_write_trailer(), wv_read_block_header(), wv_write_packet(), wv_write_trailer(), and X264_frame().
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.
Definition at line 1297 of file avformat.h.
Referenced by apng_write_header(), apng_write_trailer(), asfrtp_parse_packet(), avformat_find_stream_info(), avi_read_close(), chunk_end(), chunk_start(), cine_read_header(), cine_read_packet(), cine_read_seek(), close_demux_for_component(), close_slave(), concat_parse_script(), dash_flush(), dash_free(), dash_init(), dash_write_packet(), dnxhd_encode_block(), dnxhd_encode_dc(), dnxhd_encode_thread(), efi_read(), estimate_timings(), estimate_timings_from_bit_rate(), estimate_timings_from_pts(), event_loop(), ff_mov_add_hinted_packet(), ff_mov_close_hinting(), ff_mov_generate_squashed_ttml_packet(), ff_rtp_chain_mux_open(), ff_rtsp_tcp_write_packet(), ff_rtsp_undo_setup(), ff_sauce_read(), ff_wms_parse_sdp_a_line(), fifo_thread_write_trailer(), film_write_packet(), finish(), flush_dynbuf(), flush_packet(), free_playlist_list(), free_representation(), frm_read_header(), frm_read_packet(), gdv_read_header(), gdv_read_packet(), hds_flush(), hds_free(), hds_write_header(), hls_mux_init(), hls_read_header(), hls_start(), hls_write_packet(), hls_write_trailer(), init_fps(), ism_flush(), ism_free(), ism_write_header(), laf_read_header(), laf_read_packet(), LLVMFuzzerTestOneInput(), main(), microdvd_write_packet(), mpegts_write_packet_internal(), msnwc_tcp_read_header(), msnwc_tcp_read_packet(), mv_read_header(), mv_read_packet(), mv_read_seek(), mxf_parse_handle_essence(), mxf_read_local_tags(), mxf_seek_to_previous_partition(), of_open(), open_output_file(), parse_audio_var(), parse_global_var(), parse_playlist(), parse_video_var(), put_vcd_padding_sector(), rcwt_flush_cluster(), rcwt_write_header(), rdt_parse_packet(), read_gab2_sub(), read_header(), read_packet(), read_seek(), read_table(), read_thread(), reopen_demux_for_component(), rtp_mpegts_write_close(), rtp_mpegts_write_header(), rtp_mpegts_write_packet(), rv10_write_header(), sap_read_header(), sap_write_close(), sbg_read_header(), scc_write_header(), scc_write_packet(), sds_read_header(), sds_read_packet(), seg_free(), seg_init(), seg_write_header(), seg_write_packet(), seg_write_trailer(), segment_end(), segment_start(), show_format(), smush_read_header(), smush_read_packet(), srt_write_packet(), tedcaptions_read_header(), ttml_write_header(), ttml_write_packet(), ttml_write_trailer(), update_stream_timings(), var_read_metadata(), webm_chunk_deinit(), webm_chunk_init(), webm_chunk_write_header(), webm_chunk_write_packet(), webm_chunk_write_trailer(), webvtt_write_header(), webvtt_write_packet(), write_header(), write_muxed_file(), write_packet_header(), wsaud_write_header(), wsaud_write_init(), wsaud_write_packet(), wsaud_write_trailer(), wv_write_packet(), and wv_write_trailer().
int AVFormatContext::ctx_flags |
Flags signalling stream properties.
A combination of AVFMTCTX_*. Set by libavformat.
Definition at line 1304 of file avformat.h.
Referenced by avformat_find_stream_info(), handle_packet(), hls_read_header(), hls_read_packet(), sap_read_header(), and tb_unreliable().
unsigned int AVFormatContext::nb_streams |
Number of elements in AVFormatContext.streams.
Set by avformat_new_stream(), must not be modified by any other code.
Definition at line 1311 of file avformat.h.
Referenced by add_stream(), asfrtp_parse_sdp_line(), at_write_header(), av_dump_format(), av_find_best_stream(), av_program_add_stream_index(), avformat_find_stream_info(), close_slave(), concat_parse_script(), concat_read_header(), copy_metadata(), create_streams(), create_subcc_streams(), estimate_timings(), estimate_timings_from_bit_rate(), estimate_timings_from_pts(), ff_decklink_write_header(), ff_metadata_conv_ctx(), ff_nut_reset_ts(), ff_rdt_parse_open(), ff_rfps_calculate(), fifo_mux_init(), fifo_thread_write_header(), fill_all_stream_timings(), film_init(), find_stream(), get_system_header_size(), handle_file(), handle_id3(), has_duration(), hds_write_header(), hls_read_header(), hls_read_packet(), id3_has_changed_values(), ifile_open(), init_filters(), laf_read_header(), laf_read_packet(), log_slave(), main(), match_streams(), match_streams_exact_id(), match_streams_one_to_one(), movie_common_init(), mpeg_mux_deinit(), mpeg_mux_end(), mpeg_mux_init(), mv_read_packet(), mv_read_seek(), mxf_compute_index_tables(), mxf_parse_structural_metadata(), of_add_metadata(), of_parse_group_token(), open_demux_for_component(), open_input_file(), open_output_file(), open_slave(), open_track_resource_context(), output_packet(), probe_file(), put_system_header(), read_gab2_sub(), read_interval_packets(), read_packet(), read_thread(), real_seek(), remove_decoded_packets(), reopen_demux_for_component(), rv10_write_header(), sap_fetch_packet(), sap_read_header(), seg_init(), set_disposition_bits(), set_dispositions(), setup_sync_queues(), show_format(), stream_component_close(), stream_component_open(), tee_write_header(), update_stream_timings(), update_streams_from_subdemuxer(), write_headers(), write_index(), and write_mainheader().
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().
Definition at line 1323 of file avformat.h.
Referenced by apng_write_header(), asfrtp_parse_packet(), asfrtp_parse_sdp_line(), at_write_header(), av_find_best_stream(), avformat_find_stream_info(), cine_read_packet(), copy_metadata(), create_subcc_streams(), dash_check_bitstream(), dash_read_packet(), decklink_write_audio_packet(), decklink_write_video_packet(), dump_stream_format(), dv_parse_sdp_line(), encode_write(), encode_write_frame(), estimate_timings(), estimate_timings_from_bit_rate(), estimate_timings_from_pts(), ff_alsa_open(), ff_decklink_write_header(), ff_decklink_write_packet(), ff_load_image(), ff_metadata_conv_ctx(), ff_mov_init_hinting(), ff_rdt_parse_open(), ff_rfps_calculate(), ff_rtp_chain_mux_open(), ff_sauce_read(), ff_write_chained(), fifo_mux_init(), fifo_thread_attempt_recovery(), fifo_thread_write_header(), fifo_thread_write_packet(), fill_all_stream_timings(), fill_timing_for_id3_timestamped_stream(), film_init(), film_write_header(), film_write_packet(), find_stream(), flush_packet(), frm_read_packet(), get_private_data(), get_system_header_size(), get_timebase(), handle_file(), has_duration(), hds_write_header(), hevc_parse_sdp_line(), hls_read_header(), hls_read_packet(), hls_write_header(), id3_has_changed_values(), ifile_open(), imf_read_packet(), init_convert_timestamp(), init_filters(), laf_read_packet(), lavfi_read_header(), lavfi_read_packet(), log_packet(), log_slave(), main(), match_streams_exact_id(), match_streams_one_to_one(), mov_read_chapters(), mov_write_ttml_document_from_queue(), mov_write_udta_sdp(), movie_common_init(), mpeg_mux_deinit(), mpeg_mux_end(), mpeg_mux_init(), mpeg_mux_write_packet(), mpegts_push_data(), mpegts_write_packet_internal(), mv_read_packet(), mv_read_seek(), mxf_compute_index_tables(), mxf_parse_structural_metadata(), mxf_set_audio_pts(), next_duration(), of_add_metadata(), of_parse_group_token(), open_codec_context(), open_demux_for_component(), open_input_file(), open_output_file(), open_slave(), open_track_resource_context(), opt_map(), opt_target(), opus_header(), opus_packet(), output_packet(), output_segment_list(), pmt_cb(), probe_file(), put_system_header(), rcwt_write_header(), read_gab2_sub(), read_packet(), read_seek(), read_thread(), real_seek(), remove_decoded_packets(), reopen_demux_for_component(), rtp_mpegts_write_header(), rtp_mpegts_write_packet(), sap_fetch_packet(), sap_read_header(), sap_write_header(), sbg_read_packet(), sbg_read_seek2(), scc_write_header(), seek_test(), seg_check_bitstream(), seg_init(), set_disposition_bits(), srt_write_header(), stream_component_close(), stream_component_open(), tee_write_packet(), ttml_write_header(), update_stream_extradata(), update_stream_timings(), update_streams_from_subdemuxer(), v4l2_set_parameters(), video_decode(), video_decode_example(), webm_chunk_write_header(), webvtt_write_header(), write_headers(), write_hls_media_playlist(), and wsaud_write_header().
unsigned int AVFormatContext::nb_stream_groups |
Number of elements in AVFormatContext.stream_groups.
Set by avformat_stream_group_create(), must not be modified by any other code.
Definition at line 1330 of file avformat.h.
Referenced by av_dump_format(), dump_stream_group(), of_parse_group_token(), of_parse_iamf_submixes(), show_format(), and show_stream_groups().
AVStreamGroup** AVFormatContext::stream_groups |
A list of all stream groups in the file.
New groups are created with avformat_stream_group_create(), and filled with avformat_stream_group_add_stream().
Freed by libavformat in avformat_free_context().
Definition at line 1342 of file avformat.h.
Referenced by dump_stream_group(), of_parse_group_token(), of_parse_iamf_submixes(), and show_stream_groups().
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.
Definition at line 1355 of file avformat.h.
Referenced by av_dump_format(), copy_chapters(), copy_meta(), event_loop(), ff_metadata_conv_ctx(), of_add_metadata(), ogm_chapter(), parse_forced_key_frames(), show_chapters(), and write_headers().
AVChapter** AVFormatContext::chapters |
Definition at line 1356 of file avformat.h.
Referenced by av_dump_format(), copy_chapters(), ff_metadata_conv_ctx(), of_add_metadata(), ogm_chapter(), parse_forced_key_frames(), show_chapters(), and write_chapter().
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().
Definition at line 1371 of file avformat.h.
Referenced by add_file(), append_single_file(), assert_file_overwrite(), at_write_header(), create_streams(), dash_init(), decklink_setup_video(), destroy_context(), fbdev_read_header(), ff_alsa_open(), ff_decklink_list_formats(), ff_decklink_read_header(), ff_decklink_write_header(), ff_rtsp_setup_output_streams(), fifo_init(), fifo_thread_write_header(), hls_append_segment(), hls_delete_old_segments(), hls_mux_init(), hls_rename_temp_file(), hls_start(), hls_write_packet(), hls_write_trailer(), lavfi_read_header(), log_slave(), map_auto_audio(), map_auto_data(), map_auto_video(), of_open(), open_input_file(), parse_device_name(), read_header(), seg_init(), seg_write_header(), seg_write_packet(), segment_end(), segment_start(), set_segment_filename(), show_format(), sls_flag_file_rename(), sls_flag_use_localtime_filename(), sls_flags_filename_process(), tee_write_header(), v4l2_read_header(), and webm_chunk_init().
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.
Definition at line 1380 of file avformat.h.
Referenced by av_dump_format(), estimate_timings(), event_loop(), fill_all_stream_timings(), ifile_open(), movie_common_init(), read_packets(), read_thread(), rewind_file(), show_format(), and update_stream_timings().
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.
Definition at line 1390 of file avformat.h.
Referenced by av_dump_format(), concat_read_header(), estimate_timings(), estimate_timings_from_bit_rate(), event_loop(), fill_all_stream_timings(), get_best_effort_duration(), has_duration(), ifile_open(), libjxl_receive_frame(), of_open(), opus_find_frame_end(), process_command(), request_frame(), show_format(), update_stream_timings(), and xfade_opencl_config_output().
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.
Definition at line 1397 of file avformat.h.
Referenced by av_dump_format(), estimate_timings(), estimate_timings_from_bit_rate(), event_loop(), get_bit_rate(), LLVMFuzzerTestOneInput(), psy_3gpp_init(), reconfig_encoder(), show_format(), and update_stream_timings().
unsigned int AVFormatContext::packet_size |
Definition at line 1399 of file avformat.h.
Referenced by dss_723_1_read_packet(), dss_read_seek(), mpeg_mux_init(), and rawvideo_read_header().
int AVFormatContext::max_delay |
Definition at line 1400 of file avformat.h.
Referenced by ff_rtp_chain_mux_open(), fifo_mux_init(), hls_mux_init(), mpeg_mux_init(), of_open(), output_packet(), rtp_mpegts_write_header(), sap_read_header(), segment_mux_init(), and webm_chunk_init().
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().
Definition at line 1406 of file avformat.h.
Referenced by aic_decode_frame(), android_camera_read_packet(), aribcaption_decode(), avfilter_init_dict(), avformat_find_stream_info(), check_output_yuv2gbrp(), check_yuv2yuv1(), check_yuv2yuvX(), dash_init(), decode_frame(), decode_frame_header(), decode_slice_thread(), deint_vaapi_build_filter_params(), device_open(), dnxhd_decode_macroblock(), fbdev_read_header(), fbdev_read_packet(), ff_alsa_open(), ff_rtp_chain_mux_open(), ff_vaapi_encode_init(), ff_vk_decode_flush(), fic_decode_frame(), fifo_mux_init(), find_slice_quant(), hds_write_header(), hls_read_header(), hqx_decode_frame(), ifile_open(), imm5_init(), init_fps(), libjxl_receive_frame(), main(), mlp_encode_init(), mov_write_isml_manifest(), mss1_decode_frame(), nvenc_check_capabilities(), nvenc_map_preset(), nvenc_setup_device(), nvenc_setup_encoder(), nvenc_setup_h264_config(), nvenc_setup_rate_control(), of_open(), open_file(), open_slave(), open_track_resource_context(), psy_3gpp_init(), read_packet(), read_thread(), reopen_demux_for_component(), segment_mux_init(), set_enable_expr(), setup_frame(), tdsc_init(), vaapi_decode_find_best_format(), vaapi_encode_init_gop_structure(), vaapi_encode_init_rate_control(), vaapi_encode_init_slice_structure(), vaapi_encode_set_output_property(), vaapi_frames_init(), vble_decode_frame(), vpx_init(), webm_chunk_init(), write_major_sync(), and X264_frame().
int64_t AVFormatContext::probesize |
Maximum number of bytes read from input in order to determine stream properties.
Used when reading the global header and in avformat_find_stream_info().
Demuxing only, set by the caller before avformat_open_input().
Definition at line 1442 of file avformat.h.
Referenced by avformat_find_stream_info(), hls_read_header(), lavfi_read_header(), and reopen_demux_for_component().
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.
Definition at line 1450 of file avformat.h.
Referenced by avformat_find_stream_info(), hls_read_header(), and reopen_demux_for_component().
const uint8_t* AVFormatContext::key |
Definition at line 1452 of file avformat.h.
Referenced by av_tea_init(), av_xtea_init(), av_xtea_le_init(), tea_crypt_ecb(), xtea_crypt_ecb(), and xtea_le_crypt_ecb().
int AVFormatContext::keylen |
Definition at line 1453 of file avformat.h.
unsigned int AVFormatContext::nb_programs |
Definition at line 1455 of file avformat.h.
Referenced by av_dump_format(), av_find_program_from_stream(), av_new_program(), av_program_add_stream_index(), clear_avprogram(), discard_pid(), discard_unused_programs(), ff_metadata_conv_ctx(), of_add_metadata(), pat_cb(), show_format(), show_programs(), and update_stream_timings().
AVProgram** AVFormatContext::programs |
Definition at line 1456 of file avformat.h.
Referenced by av_dump_format(), av_find_program_from_stream(), av_new_program(), av_program_add_stream_index(), clear_avprogram(), discard_pid(), discard_unused_programs(), ff_metadata_conv_ctx(), of_add_metadata(), pat_cb(), show_programs(), and update_stream_timings().
enum AVCodecID AVFormatContext::video_codec_id |
Forced video codec_id.
Demuxing: Set by user.
Definition at line 1462 of file avformat.h.
Referenced by device_try_init(), dshow_cycle_formats(), dshow_read_header(), dshow_should_set_format(), ifile_open(), mmap_read_frame(), and v4l2_read_header().
enum AVCodecID AVFormatContext::audio_codec_id |
Forced audio codec_id.
Demuxing: Set by user.
Definition at line 1468 of file avformat.h.
Referenced by ifile_open().
enum AVCodecID AVFormatContext::subtitle_codec_id |
Forced subtitle codec_id.
Demuxing: Set by user.
Definition at line 1474 of file avformat.h.
Referenced by ifile_open().
enum AVCodecID AVFormatContext::data_codec_id |
Forced Data codec_id.
Demuxing: Set by user.
Definition at line 1480 of file avformat.h.
Referenced by ifile_open().
AVDictionary* AVFormatContext::metadata |
Metadata that applies to the whole file.
Freed by libavformat in avformat_free_context().
Definition at line 1490 of file avformat.h.
Referenced by av_dump_format(), copy_meta(), ff_decklink_read_packet(), ff_metadata_conv_ctx(), ff_sauce_read(), ff_wms_parse_sdp_a_line(), fifo_mux_init(), handle_id3(), hls_mux_init(), hls_read_header(), hls_read_packet(), main(), metadata_obu(), mxf_parse_structural_metadata(), of_add_metadata(), open_slave(), read_header(), read_string(), read_thread(), read_uint16(), read_uint32(), read_uint64(), read_uint8(), rtp_mpegts_write_header(), rv10_write_header(), scan_file(), segment_mux_init(), show_format(), var_read_metadata(), and webm_chunk_init().
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.
Definition at line 1503 of file avformat.h.
Referenced by ff_rtp_chain_mux_open().
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().
Definition at line 1510 of file avformat.h.
Referenced by avformat_find_stream_info().
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().
Definition at line 1517 of file avformat.h.
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.
Definition at line 1528 of file avformat.h.
Referenced by avformat_find_stream_info(), dash_init(), ff_rtp_chain_mux_open(), fifo_mux_init(), fifo_test_packet(), hds_write_header(), hls_mux_init(), hls_read_header(), ifile_open(), ism_seek(), ism_write_header(), lavfi_read_header(), LLVMFuzzerTestOneInput(), of_open(), open_file(), open_slave(), read_thread(), reopen_demux_for_component(), sap_read_header(), segment_mux_init(), and webm_chunk_init().
int AVFormatContext::debug |
Flags to enable debugging.
Definition at line 1533 of file avformat.h.
Referenced by amf_load_library(), ff_amf_encode_close(), and LLVMFuzzerTestOneInput().
int AVFormatContext::max_streams |
The maximum number of streams.
Definition at line 1541 of file avformat.h.
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.
Definition at line 1553 of file avformat.h.
unsigned int AVFormatContext::max_picture_buffer |
Maximum amount of memory in bytes to use for buffering frames obtained from realtime capture devices.
Definition at line 1559 of file avformat.h.
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().
Definition at line 1577 of file avformat.h.
int AVFormatContext::max_ts_probe |
Maximum number of packets to read while waiting for the first timestamp.
Decoding only.
Definition at line 1583 of file avformat.h.
Referenced by avformat_find_stream_info().
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.
Definition at line 1591 of file avformat.h.
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.
Definition at line 1599 of file avformat.h.
int AVFormatContext::max_probe_packets |
Maximum number of packets that can be probed.
Definition at line 1606 of file avformat.h.
int AVFormatContext::strict_std_compliance |
Allow non-standard and experimental extension.
Definition at line 1612 of file avformat.h.
Referenced by dash_init(), ff_rtp_chain_mux_open(), hls_mux_init(), LLVMFuzzerTestOneInput(), mov_write_video_tag(), open_slave(), and webm_chunk_init().
int AVFormatContext::event_flags |
Flags indicating events happening on the file, a combination of AVFMT_EVENT_FLAG_*.
Definition at line 1625 of file avformat.h.
Referenced by hls_read_packet().
int AVFormatContext::avoid_negative_ts |
Avoid negative timestamps during muxing.
Any value of the AVFMT_AVOID_NEG_TS_* constants. Note, this works better when using av_interleaved_write_frame().
Definition at line 1642 of file avformat.h.
Referenced by dash_init(), seg_init(), and webm_chunk_init().
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.
Definition at line 1654 of file avformat.h.
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.
Definition at line 1662 of file avformat.h.
int AVFormatContext::skip_estimate_duration_from_pts |
Skip duration calcuation in estimate_timings_from_pts.
Definition at line 1669 of file avformat.h.
Referenced by estimate_timings_from_pts().
int AVFormatContext::avio_flags |
avio flags, used to force AVIO_FLAG_DIRECT.
Definition at line 1676 of file avformat.h.
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.
Definition at line 1684 of file avformat.h.
Referenced by estimate_timings().
int64_t AVFormatContext::skip_initial_bytes |
Skip initial bytes when opening stream.
Definition at line 1691 of file avformat.h.
unsigned int AVFormatContext::correct_ts_overflow |
Correct single timestamp overflows.
Definition at line 1698 of file avformat.h.
int AVFormatContext::seek2any |
Force seeking to any (also non key) frames.
Definition at line 1705 of file avformat.h.
int AVFormatContext::flush_packets |
Flush the I/O context after each packet.
Definition at line 1712 of file avformat.h.
Referenced by webm_chunk_init().
int AVFormatContext::probe_score |
format probing score.
The maximal score is AVPROBE_SCORE_MAX, its set when the demuxer probes the format.
Definition at line 1721 of file avformat.h.
Referenced by show_format().
int AVFormatContext::format_probesize |
Maximum number of bytes read from input in order to identify the input format.
Only used when the format is not set explicitly by the caller.
Demuxing only, set by the caller before avformat_open_input().
Definition at line 1732 of file avformat.h.
char* AVFormatContext::codec_whitelist |
',' separated list of allowed decoders.
If NULL then all are allowed
Definition at line 1740 of file avformat.h.
Referenced by avformat_find_stream_info(), and ff_copy_whiteblacklists().
char* AVFormatContext::format_whitelist |
',' separated list of allowed demuxers.
If NULL then all are allowed
Definition at line 1748 of file avformat.h.
Referenced by ff_copy_whiteblacklists().
char* AVFormatContext::protocol_whitelist |
',' separated list of allowed protocols.
Definition at line 1755 of file avformat.h.
Referenced by ff_copy_whiteblacklists(), ism_seek(), and lavfi_read_header().
char* AVFormatContext::protocol_blacklist |
',' separated list of disallowed protocols.
Definition at line 1762 of file avformat.h.
Referenced by ff_copy_whiteblacklists(), and ism_seek().
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.
Definition at line 1770 of file avformat.h.
const struct 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
Definition at line 1778 of file avformat.h.
Referenced by ifile_open().
const struct 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
Definition at line 1786 of file avformat.h.
Referenced by dss_read_header(), dss_read_packet(), dss_read_seek(), and ifile_open().
const struct 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
Definition at line 1794 of file avformat.h.
Referenced by ifile_open().
const struct 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
Definition at line 1802 of file avformat.h.
Referenced by ifile_open().
int AVFormatContext::metadata_header_padding |
Number of bytes to be written as padding in a metadata header.
Demuxing: Unused. Muxing: Set by user.
Definition at line 1809 of file avformat.h.
void* AVFormatContext::opaque |
User data.
This is a place for some private data of the user.
Definition at line 1815 of file avformat.h.
Referenced by dash_init(), fifo_mux_init(), hls_mux_init(), open_slave(), program_opencl_config_output(), and segment_mux_init().
av_format_control_message AVFormatContext::control_message_cb |
Callback used by devices to communicate with application.
Definition at line 1820 of file avformat.h.
int64_t AVFormatContext::output_ts_offset |
Output timestamp offset, in microseconds.
Muxing: set by user
Definition at line 1826 of file avformat.h.
uint8_t* AVFormatContext::dump_separator |
dump format separator.
can be ", " or "\n " or anything else
Definition at line 1834 of file avformat.h.
Referenced by dump_stream_format(), and dump_stream_group().
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() |
Definition at line 1856 of file avformat.h.
Referenced by dash_init(), fifo_mux_init(), hls_mux_init(), hls_read_header(), open_slave(), open_track_resource_context(), read_header(), reopen_demux_for_component(), seg_write_header(), and segment_mux_init().
int(* AVFormatContext::io_close2) (struct AVFormatContext *s, AVIOContext *pb) |
A callback for closing the streams opened with AVFormatContext.io_open().
Using this is preferred over io_close, because this can return an error. Therefore this callback is used instead of io_close by the generic libavformat code if io_close is NULL or the default.
s | the format context |
pb | IO context to be closed and freed |
Definition at line 1870 of file avformat.h.
Referenced by dash_init(), fifo_mux_init(), hls_mux_init(), open_slave(), open_track_resource_context(), and segment_mux_init().