#include <stdint.h>
#include "config_components.h"
#include "libavutil/avassert.h"
#include "libavutil/avstring.h"
#include "libavutil/dict.h"
#include "libavutil/internal.h"
#include "libavutil/intreadwrite.h"
#include "libavutil/mathematics.h"
#include "libavutil/mem.h"
#include "libavutil/opt.h"
#include "libavutil/pixfmt.h"
#include "libavutil/time.h"
#include "libavutil/timestamp.h"
#include "libavcodec/avcodec.h"
#include "libavcodec/bsf.h"
#include "libavcodec/codec_desc.h"
#include "libavcodec/internal.h"
#include "libavcodec/packet_internal.h"
#include "libavcodec/raw.h"
#include "avformat.h"
#include "avio_internal.h"
#include "demux.h"
#include "id3v2.h"
#include "internal.h"
#include "url.h"
static int64_t wrap_timestamp(const AVStream *st, int64_t timestamp)
{ … }
int64_t ff_wrap_timestamp(const AVStream *st, int64_t timestamp)
{ … }
static const AVCodec *find_probe_decoder(AVFormatContext *s, const AVStream *st, enum AVCodecID codec_id)
{ … }
static int set_codec_from_probe_data(AVFormatContext *s, AVStream *st,
AVProbeData *pd)
{ … }
static int init_input(AVFormatContext *s, const char *filename,
AVDictionary **options)
{ … }
static int update_stream_avctx(AVFormatContext *s)
{ … }
int avformat_open_input(AVFormatContext **ps, const char *filename,
const AVInputFormat *fmt, AVDictionary **options)
{ … }
void avformat_close_input(AVFormatContext **ps)
{ … }
static void force_codec_ids(AVFormatContext *s, AVStream *st)
{ … }
static int probe_codec(AVFormatContext *s, AVStream *st, const AVPacket *pkt)
{ … }
static int update_wrap_reference(AVFormatContext *s, AVStream *st, int stream_index, AVPacket *pkt)
{ … }
static void update_timestamps(AVFormatContext *s, AVStream *st, AVPacket *pkt)
{ … }
static int handle_new_packet(AVFormatContext *s, AVPacket *pkt, int allow_passthrough)
{ … }
int ff_buffer_packet(AVFormatContext *s, AVPacket *pkt)
{ … }
int ff_read_packet(AVFormatContext *s, AVPacket *pkt)
{ … }
static void compute_frame_duration(AVFormatContext *s, int *pnum, int *pden,
AVStream *st, AVCodecParserContext *pc,
AVPacket *pkt)
{ … }
static int has_decode_delay_been_guessed(AVStream *st)
{ … }
static PacketListEntry *get_next_pkt(AVFormatContext *s, AVStream *st,
PacketListEntry *pktl)
{ … }
static int64_t select_from_pts_buffer(AVStream *st, int64_t *pts_buffer, int64_t dts)
{ … }
static void update_dts_from_pts(AVFormatContext *s, int stream_index,
PacketListEntry *pkt_buffer)
{ … }
static void update_initial_timestamps(AVFormatContext *s, int stream_index,
int64_t dts, int64_t pts, AVPacket *pkt)
{ … }
static void update_initial_durations(AVFormatContext *s, AVStream *st,
int stream_index, int64_t duration)
{ … }
static void compute_pkt_fields(AVFormatContext *s, AVStream *st,
AVCodecParserContext *pc, AVPacket *pkt,
int64_t next_dts, int64_t next_pts)
{ … }
static int parse_packet(AVFormatContext *s, AVPacket *pkt,
int stream_index, int flush)
{ … }
static int64_t ts_to_samples(AVStream *st, int64_t ts)
{ … }
static int codec_close(FFStream *sti)
{ … }
static int extract_extradata(FFFormatContext *si, AVStream *st, const AVPacket *pkt);
static int read_frame_internal(AVFormatContext *s, AVPacket *pkt)
{ … }
int av_read_frame(AVFormatContext *s, AVPacket *pkt)
{ … }
static int has_duration(AVFormatContext *ic)
{ … }
static void update_stream_timings(AVFormatContext *ic)
{ … }
static void fill_all_stream_timings(AVFormatContext *ic)
{ … }
static void estimate_timings_from_bit_rate(AVFormatContext *ic)
{ … }
#define DURATION_DEFAULT_MAX_READ_SIZE …
#define DURATION_DEFAULT_MAX_RETRY …
#define DURATION_MAX_RETRY …
static void estimate_timings_from_pts(AVFormatContext *ic, int64_t old_offset)
{ … }
static const char *const duration_name[] = …;
static const char *duration_estimate_name(enum AVDurationEstimationMethod method)
{ … }
static void estimate_timings(AVFormatContext *ic, int64_t old_offset)
{ … }
static int determinable_frame_size(const AVCodecContext *avctx)
{ … }
static int has_codec_parameters(const AVStream *st, const char **errmsg_ptr)
{ … }
static int try_decode_frame(AVFormatContext *s, AVStream *st,
const AVPacket *pkt, AVDictionary **options)
{ … }
static int chapter_start_cmp(const void *p1, const void *p2)
{ … }
static int compute_chapters_end(AVFormatContext *s)
{ … }
static int get_std_framerate(int i)
{ … }
static int tb_unreliable(AVFormatContext *ic, AVStream *st)
{ … }
int ff_rfps_add_frame(AVFormatContext *ic, AVStream *st, int64_t ts)
{ … }
void ff_rfps_calculate(AVFormatContext *ic)
{ … }
static int extract_extradata_check(AVStream *st)
{ … }
static int extract_extradata_init(AVStream *st)
{ … }
static int extract_extradata(FFFormatContext *si, AVStream *st, const AVPacket *pkt)
{ … }
int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options)
{ … }