FFmpeg
|
Go to the source code of this file.
Data Structures | |
struct | FFIOContext |
Functions | |
static av_always_inline FFIOContext * | ffiocontext (AVIOContext *ctx) |
void | ffio_init_context (FFIOContext *s, unsigned char *buffer, int buffer_size, int write_flag, void *opaque, int(*read_packet)(void *opaque, uint8_t *buf, int buf_size), int(*write_packet)(void *opaque, uint8_t *buf, int buf_size), int64_t(*seek)(void *opaque, int64_t offset, int whence)) |
int | ffio_read_indirect (AVIOContext *s, unsigned char *buf, int size, const unsigned char **data) |
Read size bytes from AVIOContext, returning a pointer. More... | |
void | ffio_fill (AVIOContext *s, int b, int64_t count) |
static av_always_inline void | ffio_wfourcc (AVIOContext *pb, const uint8_t *s) |
int | ffio_rewind_with_probe_data (AVIOContext *s, unsigned char **buf, int buf_size) |
Rewind the AVIOContext using the specified buffer containing the first buf_size bytes of the file. More... | |
uint64_t | ffio_read_varlen (AVIOContext *bc) |
int | ffio_read_size (AVIOContext *s, unsigned char *buf, int size) |
Read size bytes from AVIOContext into buf. More... | |
int | ffio_realloc_buf (AVIOContext *s, int buf_size) |
Reallocate a given buffer for AVIOContext. More... | |
int | ffio_ensure_seekback (AVIOContext *s, int64_t buf_size) |
Ensures that the requested seekback buffer size will be available. More... | |
int | ffio_limit (AVIOContext *s, int size) |
void | ffio_init_checksum (AVIOContext *s, unsigned long(*update_checksum)(unsigned long c, const uint8_t *p, unsigned int len), unsigned long checksum) |
unsigned long | ffio_get_checksum (AVIOContext *s) |
unsigned long | ff_crc04C11DB7_update (unsigned long checksum, const uint8_t *buf, unsigned int len) |
unsigned long | ff_crcEDB88320_update (unsigned long checksum, const uint8_t *buf, unsigned int len) |
unsigned long | ff_crcA001_update (unsigned long checksum, const uint8_t *buf, unsigned int len) |
int | ffio_open_dyn_packet_buf (AVIOContext **s, int max_packet_size) |
Open a write only packetized memory stream with a maximum packet size of 'max_packet_size'. More... | |
int | ffio_fdopen (AVIOContext **s, URLContext *h) |
Create and initialize a AVIOContext for accessing the resource referenced by the URLContext h. More... | |
URLContext * | ffio_geturlcontext (AVIOContext *s) |
Return the URLContext associated with the AVIOContext. More... | |
int | ffio_copy_url_options (AVIOContext *pb, AVDictionary **avio_opts) |
Read url related dictionary options from the AVIOContext and write to the given dictionary. More... | |
int | ffio_open_null_buf (AVIOContext **s) |
Open a write-only fake memory stream. More... | |
int | ffio_open_whitelist (AVIOContext **s, const char *url, int flags, const AVIOInterruptCB *int_cb, AVDictionary **options, const char *whitelist, const char *blacklist) |
int | ffio_close_null_buf (AVIOContext *s) |
Close a null buffer. More... | |
void | ffio_reset_dyn_buf (AVIOContext *s) |
Reset a dynamic buffer. More... | |
void | ffio_free_dyn_buf (AVIOContext **s) |
Free a dynamic buffer. More... | |
int64_t | ff_read_line_to_bprint_overwrite (AVIOContext *s, struct AVBPrint *bp) |
Read a whole line of text from AVIOContext to an AVBPrint buffer overwriting its contents. More... | |
int64_t | ff_read_string_to_bprint_overwrite (AVIOContext *s, struct AVBPrint *bp, int64_t max_len) |
Read a whole null-terminated string of text from AVIOContext to an AVBPrint buffer overwriting its contents. More... | |
Variables | |
const AVClass | ff_avio_class |
|
static |
Definition at line 82 of file avio_internal.h.
Referenced by append_packet_chunked(), avformat_find_stream_info(), avio_close(), avio_read(), avio_seek(), avio_size(), avio_write_marker(), ff_configure_buffers_for_index(), ffio_limit(), ffio_realloc_buf(), ffio_reset_dyn_buf(), fill_buffer(), mp3_read_header(), set_buf_size(), thp_read_header(), and writeout().
void ffio_init_context | ( | FFIOContext * | s, |
unsigned char * | buffer, | ||
int | buffer_size, | ||
int | write_flag, | ||
void * | opaque, | ||
int(*)(void *opaque, uint8_t *buf, int buf_size) | read_packet, | ||
int(*)(void *opaque, uint8_t *buf, int buf_size) | write_packet, | ||
int64_t(*)(void *opaque, int64_t offset, int whence) | seek | ||
) |
Definition at line 81 of file aviobuf.c.
Referenced by asf_write_header(), asfrtp_parse_packet(), avio_alloc_context(), ff_av1_filter_obus_buf(), ff_parse_mpeg2_descriptor(), ff_text_init_buf(), ffio_reset_dyn_buf(), flush_packet(), handle_id3(), hls_read_header(), id3v2_parse(), init_MP4DescrParseContext(), init_packetizer(), intercept_id3(), m4sl_cb(), mms_put_utf16(), mov_read_cmov(), mpjpeg_read_probe(), ogg_write_vorbiscomment(), qt_rtp_parse_packet(), rdt_load_mdpr(), rdt_parse_packet(), reopen_demux_for_component(), sap_read_header(), track_header(), track_index(), and url_open_dyn_buf_internal().
int ffio_read_indirect | ( | AVIOContext * | s, |
unsigned char * | buf, | ||
int | size, | ||
const unsigned char ** | data | ||
) |
Read size bytes from AVIOContext, returning a pointer.
Note that the data pointed at by the returned pointer is only valid until the next call that references the same IO context.
s | IO context |
buf | pointer to buffer into which to assemble the requested data if it is not available in contiguous addresses in the underlying buffer |
size | number of bytes requested |
data | address at which to store pointer: this will be a a direct pointer into the underlying buffer if the requested number of bytes are available at contiguous addresses, otherwise will be a copy of buf |
Definition at line 701 of file aviobuf.c.
Referenced by read_packet().
void ffio_fill | ( | AVIOContext * | s, |
int | b, | ||
int64_t | count | ||
) |
Definition at line 218 of file aviobuf.c.
Referenced by amv_write_alist(), amv_write_vlist(), ast_write_packet(), avi_write_header(), avio_close_dyn_buf(), ff_ape_write_tag(), ff_id3v2_finish(), film_init(), flac_write_block_padding(), flush_packet(), gxf_write_flt_packet(), gxf_write_padding(), gxf_write_umf_media_description(), gxf_write_umf_media_dv(), gxf_write_umf_media_timecode(), ico_write_packet(), ircam_write_header(), mkv_assemble_codecprivate(), mov_write_avid_tag(), mov_write_mvhd_tag(), mov_write_tfrf_tag(), mov_write_traf_tag(), mov_write_trailer(), mov_write_video_tag(), mp3_write_xing(), mxf_write_klv_fill(), mxf_write_structural_component(), oma_write_header(), output_immediate(), put_ebml_size_unknown(), put_ebml_void(), put_padding_packet(), put_payload_parsing_info(), put_vcd_padding_sector(), put_videoinfoheader2(), put_xiph_size(), sox_write_header(), spdif_write_packet(), write_image_header(), write_odml_master(), write_trailer(), and wsaud_write_header().
|
static |
Definition at line 116 of file avio_internal.h.
Referenced by aiff_write_header(), amv_start_tag(), amv_write_alist(), amv_write_header(), amv_write_packet_internal(), amv_write_trailer(), amv_write_vlist(), ast_write_header(), ast_write_packet(), avi_start_new_riff(), avi_write_header(), avi_write_idx1(), avi_write_ix(), avi_write_trailer(), avif_write_trailer(), caf_write_header(), caf_write_trailer(), ff_mov_cenc_write_sinf_tag(), ff_mov_write_packet(), ff_riff_write_info(), ff_riff_write_info_tag(), ff_start_tag(), mov_cenc_write_saio_tag(), mov_cenc_write_saiz_tag(), mov_cenc_write_schi_tag(), mov_cenc_write_senc_tag(), mov_flush_fragment(), mov_preroll_write_stbl_atoms(), mov_write_3gp_udta_tag(), mov_write_ac3_tag(), mov_write_amr_tag(), mov_write_audio_tag(), mov_write_auxC_tag(), mov_write_av1c_tag(), mov_write_avcc_tag(), mov_write_avid_tag(), mov_write_btrt_tag(), mov_write_ccst_tag(), mov_write_chan_tag(), mov_write_chpl_tag(), mov_write_clap_tag(), mov_write_clli_tag(), mov_write_colr_tag(), mov_write_covr(), mov_write_ctts_tag(), mov_write_d263_tag(), mov_write_dfla_tag(), mov_write_dinf_tag(), mov_write_dmlp_tag(), mov_write_dops_tag(), mov_write_dpxe_tag(), mov_write_dref_tag(), mov_write_dvc1_tag(), mov_write_dvcc_dvvc_tag(), mov_write_eac3_tag(), mov_write_edts_tag(), mov_write_enda_tag(), mov_write_enda_tag_be(), mov_write_esds_tag(), mov_write_fiel_tag(), mov_write_ftyp_tag(), mov_write_ftyp_tag_internal(), mov_write_gama_tag(), mov_write_glbl_tag(), mov_write_gmhd_tag(), mov_write_gpmd_tag(), mov_write_hdlr_tag(), mov_write_hmhd_tag(), mov_write_hvcc_tag(), mov_write_iinf_tag(), mov_write_iloc_tag(), mov_write_ilst_tag(), mov_write_int8_metadata(), mov_write_iods_tag(), mov_write_ipco_tag(), mov_write_ipma_tag(), mov_write_iprp_tag(), mov_write_iref_tag(), mov_write_isml_manifest(), mov_write_ispe_tag(), mov_write_itunes_hdlr_tag(), mov_write_loci_tag(), mov_write_mdat_tag(), mov_write_mdcv_tag(), mov_write_mdhd_tag(), mov_write_mdia_tag(), mov_write_mdta_hdlr_tag(), mov_write_mdta_ilst_tag(), mov_write_mdta_keys_tag(), mov_write_meta_tag(), mov_write_mfhd_tag(), mov_write_mfra_tag(), mov_write_minf_tag(), mov_write_moof_tag_internal(), mov_write_moov_tag(), mov_write_mvex_tag(), mov_write_mvhd_tag(), mov_write_nmhd_tag(), mov_write_pasp_tag(), mov_write_pitm_tag(), mov_write_pixi_tag(), mov_write_prft_tag(), mov_write_raw_metadata_tag(), mov_write_rtp_tag(), mov_write_sdtp_tag(), mov_write_sidx_tag(), mov_write_smhd_tag(), mov_write_source_reference_tag(), mov_write_st3d_tag(), mov_write_stbl_tag(), mov_write_stco_tag(), mov_write_sthd_tag(), mov_write_string_data_tag(), mov_write_string_tag(), mov_write_stsc_tag(), mov_write_stsd_tag(), mov_write_stss_tag(), mov_write_stsz_tag(), mov_write_stts_tag(), mov_write_sv3d_tag(), mov_write_tapt_tag(), mov_write_tcmi_tag(), mov_write_tfdt_tag(), mov_write_tfhd_tag(), mov_write_tfra_tag(), mov_write_tfrf_tag(), mov_write_tfxd_tag(), mov_write_tkhd_tag(), mov_write_tmcd_tag(), mov_write_tmpo_tag(), mov_write_track_kind(), mov_write_track_metadata(), mov_write_track_udta_tag(), mov_write_traf_tag(), mov_write_trailer(), mov_write_trak_tag(), mov_write_tref_tag(), mov_write_trex_tag(), mov_write_trkn_tag(), mov_write_trun_tag(), mov_write_udta_sdp(), mov_write_udta_tag(), mov_write_uuid_tag_ipod(), mov_write_uuid_tag_psp(), mov_write_uuidprof_tag(), mov_write_uuidusmt_tag(), mov_write_video_tag(), mov_write_vmhd_tag(), mov_write_vpcc_tag(), mov_write_wave_tag(), mov_write_wfex_tag(), mp3_write_xing(), oma_write_header(), rv10_write_header(), sox_write_header(), update_odml_entry(), write_odml_master(), and write_styp().
int ffio_rewind_with_probe_data | ( | AVIOContext * | s, |
unsigned char ** | buf, | ||
int | buf_size | ||
) |
Rewind the AVIOContext using the specified buffer containing the first buf_size bytes of the file.
Used after probing to avoid seeking. Joins buf and s->buffer, taking any overlap into consideration.
s | The read-only AVIOContext to rewind |
buf | The probe buffer containing the first buf_size bytes of the file |
buf_size | The size of buf |
Definition at line 1180 of file aviobuf.c.
Referenced by av_probe_input_buffer2(), and ff_img_read_header().
uint64_t ffio_read_varlen | ( | AVIOContext * | bc | ) |
Definition at line 945 of file aviobuf.c.
Referenced by decode_frame_header(), decode_info_header(), decode_main_header(), decode_stream_header(), decode_syncpoint(), find_and_decode_index(), get_fourcc(), get_packetheader(), get_s(), get_str(), load_sb_block(), mpc8_get_chunk_header(), mpc8_handle_chunk(), mpc8_read_header(), read_sm_data(), track_header(), track_index(), viv_read_header(), and viv_read_packet().
int ffio_read_size | ( | AVIOContext * | s, |
unsigned char * | buf, | ||
int | size | ||
) |
Read size bytes from AVIOContext into buf.
Check that exactly size bytes have been read.
Definition at line 691 of file aviobuf.c.
Referenced by aax_read_header(), apng_read_header(), append_extradata(), codec2_read_header(), ff_get_extradata(), ff_get_guid(), mov_parse_uuid_spherical(), mov_read_atom_into_extradata(), mov_read_chpl(), mov_read_cmov(), mov_read_colr(), mov_read_custom(), mov_read_ddts(), mov_read_dref(), mov_read_dvcc_dvvc(), mov_read_ftyp(), mov_read_hdlr(), mov_read_pssh(), mov_read_sample_encryption_info(), mov_read_stsz(), mov_read_udta_string(), mov_read_uuid(), nuv_packet(), read_header(), read_packet(), read_part_of_packet(), smacker_read_header(), and smacker_read_packet().
int ffio_realloc_buf | ( | AVIOContext * | s, |
int | buf_size | ||
) |
Reallocate a given buffer for AVIOContext.
s | the AVIOContext to realloc. |
buf_size | required new buffer size. |
Definition at line 1135 of file aviobuf.c.
Referenced by ff_configure_buffers_for_index().
int ffio_ensure_seekback | ( | AVIOContext * | s, |
int64_t | buf_size | ||
) |
Ensures that the requested seekback buffer size will be available.
Will ensure that when reading sequentially up to buf_size, seeking within the current pos and pos+buf_size is possible. Once the stream position moves outside this window or another ffio_ensure_seekback call requests a buffer outside this window this guarantee is lost.
Definition at line 1055 of file aviobuf.c.
Referenced by apng_read_header(), apng_read_packet(), dhav_read_header(), id3v2_parse(), id3v2_read_internal(), ivr_read_header(), mlp_read_header(), mov_read_wave(), mp3_read_header(), mpegps_read_packet(), mpegps_read_pes_header(), mpegts_read_header(), mpegts_resync(), mpjpeg_read_packet(), ogg_read_page(), rm_read_header(), set_spdif(), sga_read_packet(), subviewer_read_header(), and wsvqa_read_packet().
int ffio_limit | ( | AVIOContext * | s, |
int | size | ||
) |
Definition at line 1093 of file aviobuf.c.
Referenced by append_packet_chunked(), asf_read_stream_properties(), cin_read_packet(), rm_assemble_video_frame(), roq_read_packet(), siff_read_packet(), and vmd_read_packet().
void ffio_init_checksum | ( | AVIOContext * | s, |
unsigned long(*)(unsigned long c, const uint8_t *p, unsigned int len) | update_checksum, | ||
unsigned long | checksum | ||
) |
Definition at line 620 of file aviobuf.c.
Referenced by get_packetheader(), mp3_parse_vbr_tags(), nut_write_packet(), ogg_read_page(), put_packet(), tak_read_header(), tta_read_header(), and tta_write_header().
unsigned long ffio_get_checksum | ( | AVIOContext * | s | ) |
Definition at line 612 of file aviobuf.c.
Referenced by decode_info_header(), decode_main_header(), decode_stream_header(), decode_syncpoint(), find_and_decode_index(), get_packetheader(), mp3_parse_info_tag(), nut_write_packet(), ogg_read_page(), put_packet(), tak_read_header(), tta_read_header(), and tta_write_trailer().
unsigned long ff_crc04C11DB7_update | ( | unsigned long | checksum, |
const uint8_t * | buf, | ||
unsigned int | len | ||
) |
Definition at line 594 of file aviobuf.c.
Referenced by get_packetheader(), nut_write_packet(), ogg_read_page(), and put_packet().
unsigned long ff_crcEDB88320_update | ( | unsigned long | checksum, |
const uint8_t * | buf, | ||
unsigned int | len | ||
) |
Definition at line 600 of file aviobuf.c.
Referenced by tta_read_header(), and tta_write_header().
unsigned long ff_crcA001_update | ( | unsigned long | checksum, |
const uint8_t * | buf, | ||
unsigned int | len | ||
) |
Definition at line 606 of file aviobuf.c.
Referenced by mp3_parse_vbr_tags().
int ffio_open_dyn_packet_buf | ( | AVIOContext ** | s, |
int | max_packet_size | ||
) |
Open a write only packetized memory stream with a maximum packet size of 'max_packet_size'.
The stream is stored in a memory buffer with a big-endian 4 byte header giving the packet size in bytes.
s | new IO context |
max_packet_size | maximum packet size (must be > 0) |
Definition at line 1488 of file aviobuf.c.
Referenced by ff_mov_add_hinted_packet(), ff_rtp_chain_mux_open(), and ff_rtsp_tcp_write_packet().
int ffio_fdopen | ( | AVIOContext ** | s, |
URLContext * | h | ||
) |
Create and initialize a AVIOContext for accessing the resource referenced by the URLContext h.
s | Used to return the pointer to the created AVIOContext. In case of failure the pointed to value is set to NULL. |
Definition at line 956 of file aviobuf.c.
Referenced by avio_accept(), ff_rtp_chain_mux_open(), and ffio_open_whitelist().
URLContext* ffio_geturlcontext | ( | AVIOContext * | s | ) |
Return the URLContext associated with the AVIOContext.
s | IO context |
Definition at line 1012 of file aviobuf.c.
Referenced by dashenc_io_close(), dashenc_io_open(), hlsenc_io_close(), hlsenc_io_open(), and open_url_keepalive().
int ffio_copy_url_options | ( | AVIOContext * | pb, |
AVDictionary ** | avio_opts | ||
) |
Read url related dictionary options from the AVIOContext and write to the given dictionary.
Definition at line 1023 of file aviobuf.c.
Referenced by dash_read_header(), hls_read_header(), and imf_read_header().
int ffio_open_null_buf | ( | AVIOContext ** | s | ) |
Open a write-only fake memory stream.
The written data is not stored anywhere - this is only used for measuring the amount of data written.
s | new IO context |
Definition at line 1578 of file aviobuf.c.
Referenced by get_moov_size(), get_sidx_size(), mov_write_moof_tag(), and mov_write_sidx_tags().
int ffio_open_whitelist | ( | AVIOContext ** | s, |
const char * | url, | ||
int | flags, | ||
const AVIOInterruptCB * | int_cb, | ||
AVDictionary ** | options, | ||
const char * | whitelist, | ||
const char * | blacklist | ||
) |
Definition at line 1228 of file aviobuf.c.
Referenced by avio_open2(), import_pem(), io_open_default(), and parse_playlist().
int ffio_close_null_buf | ( | AVIOContext * | s | ) |
Close a null buffer.
s | an IO context opened by ffio_open_null_buf |
Definition at line 1588 of file aviobuf.c.
Referenced by get_moov_size(), get_sidx_size(), mov_write_moof_tag(), and mov_write_sidx_tags().
void ffio_reset_dyn_buf | ( | AVIOContext * | s | ) |
Reset a dynamic buffer.
Resets everything, but keeps the allocated buffer for later use.
Definition at line 1517 of file aviobuf.c.
Referenced by asf_write_header1(), asf_write_markers(), end_ebml_master_crc32(), mkv_assemble_cues(), mkv_update_codecprivate(), mkv_write_tag(), mkv_write_track(), mkv_write_trailer(), put_packet(), and put_str16().
void ffio_free_dyn_buf | ( | AVIOContext ** | s | ) |
Free a dynamic buffer.
s | a pointer to an IO context opened by avio_open_dyn_buf() |
Definition at line 1556 of file aviobuf.c.
Referenced by ac3_close_context(), ac3_handle_packet(), asf_write_header1(), asfrtp_close_context(), asfrtp_parse_packet(), dash_free(), decode_str(), dv_close_context(), dv_handle_packet(), end_ebml_master_crc32(), ff_ape_write_tag(), ff_hevc_annexb2mp4_buf(), ff_id3v2_write_apic(), ff_isom_write_av1c(), ff_isom_write_avcc(), ff_mov_close_hinting(), ff_mov_generate_squashed_ttml_packet(), ff_rtp_chain_mux_open(), ff_rtsp_undo_setup(), film_deinit(), h261_close_context(), h261_handle_packet(), h263_close_context(), h263_handle_packet(), hls_write_trailer(), id3v2_put_priv(), id3v2_put_ttag(), jpeg_close_context(), jpeg_parse_packet(), latm_close_context(), latm_parse_packet(), mkv_deinit(), mkv_write_attachments(), mkv_write_chapters(), mkv_write_trailer(), mov_flush_fragment(), mov_flush_fragment_interleaving(), mov_free(), mov_write_mfra_tag(), mov_write_track_udta_tag(), mov_write_udta_tag(), mpa_robust_close_context(), mpa_robust_parse_packet(), mpegts_write_packet_internal(), nut_write_packet(), nut_write_trailer(), rtp_mpegts_write_close(), rtp_mpegts_write_header(), set_codec_str(), svq3_close_context(), svq3_parse_packet(), tta_deinit(), vc2hq_handle_frame_fragment(), vc2hq_handle_packet(), vp8_broken_sequence(), vp8_close_context(), vp8_handle_packet(), vp9_close_context(), vp9_handle_packet(), webm_chunk_deinit(), write_chapter(), write_ctoc(), write_headers(), xiph_close_context(), and xiph_handle_packet().
int64_t ff_read_line_to_bprint_overwrite | ( | AVIOContext * | s, |
struct AVBPrint * | bp | ||
) |
Read a whole line of text from AVIOContext to an AVBPrint buffer overwriting its contents.
Stop reading after reaching a \r, a \n, a \r\n, a \0 or EOF. The line ending characters are NOT included in the buffer, but they are skipped on the input.
s | the read-only AVIOContext |
bp | the AVBPrint buffer |
Definition at line 884 of file aviobuf.c.
Referenced by concat_parse_script().
int64_t ff_read_string_to_bprint_overwrite | ( | AVIOContext * | s, |
struct AVBPrint * | bp, | ||
int64_t | max_len | ||
) |
Read a whole null-terminated string of text from AVIOContext to an AVBPrint buffer overwriting its contents.
Stop reading after reaching the maximum length, a \0 or EOF.
s | the read-only AVIOContext |
bp | the AVBPrint buffer |
max_len | the maximum length to be read from the AVIOContext. Negative (< 0) values signal that there is no known maximum length applicable. A maximum length of zero means that the AVIOContext is not touched, and the function returns with a read length of zero. In all cases the AVBprint is cleared. |
Definition at line 889 of file aviobuf.c.
Referenced by mov_read_kind().
const AVClass ff_avio_class |
Definition at line 67 of file aviobuf.c.
Referenced by ffio_fdopen(), and format_child_class_iterate().