00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef AVFORMAT_AVFORMAT_H
00022 #define AVFORMAT_AVFORMAT_H
00023
00024 #define LIBAVFORMAT_VERSION_MAJOR 52
00025 #define LIBAVFORMAT_VERSION_MINOR 93
00026 #define LIBAVFORMAT_VERSION_MICRO 0
00027
00028 #define LIBAVFORMAT_VERSION_INT AV_VERSION_INT(LIBAVFORMAT_VERSION_MAJOR, \
00029 LIBAVFORMAT_VERSION_MINOR, \
00030 LIBAVFORMAT_VERSION_MICRO)
00031 #define LIBAVFORMAT_VERSION AV_VERSION(LIBAVFORMAT_VERSION_MAJOR, \
00032 LIBAVFORMAT_VERSION_MINOR, \
00033 LIBAVFORMAT_VERSION_MICRO)
00034 #define LIBAVFORMAT_BUILD LIBAVFORMAT_VERSION_INT
00035
00036 #define LIBAVFORMAT_IDENT "Lavf" AV_STRINGIFY(LIBAVFORMAT_VERSION)
00037
00042 #ifndef FF_API_MAX_STREAMS
00043 #define FF_API_MAX_STREAMS (LIBAVFORMAT_VERSION_MAJOR < 53)
00044 #endif
00045 #ifndef FF_API_OLD_METADATA
00046 #define FF_API_OLD_METADATA (LIBAVFORMAT_VERSION_MAJOR < 53)
00047 #endif
00048 #ifndef FF_API_URL_CLASS
00049 #define FF_API_URL_CLASS (LIBAVFORMAT_VERSION_MAJOR >= 53)
00050 #endif
00051 #ifndef FF_API_URL_RESETBUF
00052 #define FF_API_URL_RESETBUF (LIBAVFORMAT_VERSION_MAJOR < 53)
00053 #endif
00054 #ifndef FF_API_REGISTER_PROTOCOL
00055 #define FF_API_REGISTER_PROTOCOL (LIBAVFORMAT_VERSION_MAJOR < 53)
00056 #endif
00057 #ifndef FF_API_GUESS_FORMAT
00058 #define FF_API_GUESS_FORMAT (LIBAVFORMAT_VERSION_MAJOR < 53)
00059 #endif
00060 #ifndef FF_API_UDP_GET_FILE
00061 #define FF_API_UDP_GET_FILE (LIBAVFORMAT_VERSION_MAJOR < 53)
00062 #endif
00063 #ifndef FF_API_URL_SPLIT
00064 #define FF_API_URL_SPLIT (LIBAVFORMAT_VERSION_MAJOR < 53)
00065 #endif
00066 #ifndef FF_API_ALLOC_FORMAT_CONTEXT
00067 #define FF_API_ALLOC_FORMAT_CONTEXT (LIBAVFORMAT_VERSION_MAJOR < 53)
00068 #endif
00069 #ifndef FF_API_PARSE_FRAME_PARAM
00070 #define FF_API_PARSE_FRAME_PARAM (LIBAVFORMAT_VERSION_MAJOR < 53)
00071 #endif
00072 #ifndef FF_API_READ_SEEK
00073 #define FF_API_READ_SEEK (LIBAVFORMAT_VERSION_MAJOR < 54)
00074 #endif
00075 #ifndef FF_API_LAVF_UNUSED
00076 #define FF_API_LAVF_UNUSED (LIBAVFORMAT_VERSION_MAJOR < 53)
00077 #endif
00078 #ifndef FF_API_PARAMETERS_CODEC_ID
00079 #define FF_API_PARAMETERS_CODEC_ID (LIBAVFORMAT_VERSION_MAJOR < 53)
00080 #endif
00081 #ifndef FF_API_FIRST_FORMAT
00082 #define FF_API_FIRST_FORMAT (LIBAVFORMAT_VERSION_MAJOR < 53)
00083 #endif
00084 #ifndef FF_API_SYMVER
00085 #define FF_API_SYMVER (LIBAVFORMAT_VERSION_MAJOR < 53)
00086 #endif
00087
00092 unsigned avformat_version(void);
00093
00097 const char *avformat_configuration(void);
00098
00102 const char *avformat_license(void);
00103
00104 #include <time.h>
00105 #include <stdio.h>
00106 #include "libavcodec/avcodec.h"
00107
00108 #include "avio.h"
00109
00110 struct AVFormatContext;
00111
00112
00113
00114
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128
00129
00130
00131
00132
00133
00134
00135
00136
00137
00138
00139
00140
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168 #define AV_METADATA_MATCH_CASE 1
00169 #define AV_METADATA_IGNORE_SUFFIX 2
00170 #define AV_METADATA_DONT_STRDUP_KEY 4
00171 #define AV_METADATA_DONT_STRDUP_VAL 8
00172 #define AV_METADATA_DONT_OVERWRITE 16
00173
00174 typedef struct {
00175 char *key;
00176 char *value;
00177 }AVMetadataTag;
00178
00179 typedef struct AVMetadata AVMetadata;
00180 #if FF_API_OLD_METADATA
00181 typedef struct AVMetadataConv AVMetadataConv;
00182 #endif
00183
00192 AVMetadataTag *
00193 av_metadata_get(AVMetadata *m, const char *key, const AVMetadataTag *prev, int flags);
00194
00195 #if FF_API_OLD_METADATA
00196
00206 attribute_deprecated int av_metadata_set(AVMetadata **pm, const char *key, const char *value);
00207 #endif
00208
00219 int av_metadata_set2(AVMetadata **pm, const char *key, const char *value, int flags);
00220
00221 #if FF_API_OLD_METADATA
00222
00225 attribute_deprecated void av_metadata_conv(struct AVFormatContext *ctx, const AVMetadataConv *d_conv,
00226 const AVMetadataConv *s_conv);
00227 #endif
00228
00237 void av_metadata_copy(AVMetadata **dst, AVMetadata *src, int flags);
00238
00242 void av_metadata_free(AVMetadata **m);
00243
00244
00245
00246
00247
00256 int av_get_packet(ByteIOContext *s, AVPacket *pkt, int size);
00257
00258
00272 int av_append_packet(ByteIOContext *s, AVPacket *pkt, int size);
00273
00274
00275
00276
00281 typedef struct AVFrac {
00282 int64_t val, num, den;
00283 } AVFrac;
00284
00285
00286
00287
00288 struct AVCodecTag;
00289
00293 typedef struct AVProbeData {
00294 const char *filename;
00295 unsigned char *buf;
00296 int buf_size;
00297 } AVProbeData;
00298
00299 #define AVPROBE_SCORE_MAX 100
00300 #define AVPROBE_PADDING_SIZE 32
00301
00302 typedef struct AVFormatParameters {
00303 AVRational time_base;
00304 int sample_rate;
00305 int channels;
00306 int width;
00307 int height;
00308 enum PixelFormat pix_fmt;
00309 int channel;
00310 const char *standard;
00311 unsigned int mpeg2ts_raw:1;
00312 unsigned int mpeg2ts_compute_pcr:1;
00315 unsigned int initial_pause:1;
00317 unsigned int prealloced_context:1;
00318 #if FF_API_PARAMETERS_CODEC_ID
00319 attribute_deprecated enum CodecID video_codec_id;
00320 attribute_deprecated enum CodecID audio_codec_id;
00321 #endif
00322 } AVFormatParameters;
00323
00325 #define AVFMT_NOFILE 0x0001
00326 #define AVFMT_NEEDNUMBER 0x0002
00327 #define AVFMT_SHOW_IDS 0x0008
00328 #define AVFMT_RAWPICTURE 0x0020
00330 #define AVFMT_GLOBALHEADER 0x0040
00331 #define AVFMT_NOTIMESTAMPS 0x0080
00332 #define AVFMT_GENERIC_INDEX 0x0100
00333 #define AVFMT_TS_DISCONT 0x0200
00334 #define AVFMT_VARIABLE_FPS 0x0400
00335 #define AVFMT_NODIMENSIONS 0x0800
00336 #define AVFMT_NOSTREAMS 0x1000
00338 typedef struct AVOutputFormat {
00339 const char *name;
00345 const char *long_name;
00346 const char *mime_type;
00347 const char *extensions;
00351 int priv_data_size;
00352
00353 enum CodecID audio_codec;
00354 enum CodecID video_codec;
00355 int (*write_header)(struct AVFormatContext *);
00356 int (*write_packet)(struct AVFormatContext *, AVPacket *pkt);
00357 int (*write_trailer)(struct AVFormatContext *);
00361 int flags;
00365 int (*set_parameters)(struct AVFormatContext *, AVFormatParameters *);
00366 int (*interleave_packet)(struct AVFormatContext *, AVPacket *out,
00367 AVPacket *in, int flush);
00368
00373 const struct AVCodecTag * const *codec_tag;
00374
00375 enum CodecID subtitle_codec;
00377 #if FF_API_OLD_METADATA
00378 const AVMetadataConv *metadata_conv;
00379 #endif
00380
00381 const AVClass *priv_class;
00382
00383
00384 struct AVOutputFormat *next;
00385 } AVOutputFormat;
00386
00387 typedef struct AVInputFormat {
00392 const char *name;
00393
00399 const char *long_name;
00400
00404 int priv_data_size;
00405
00411 int (*read_probe)(AVProbeData *);
00412
00419 int (*read_header)(struct AVFormatContext *,
00420 AVFormatParameters *ap);
00421
00431 int (*read_packet)(struct AVFormatContext *, AVPacket *pkt);
00432
00437 int (*read_close)(struct AVFormatContext *);
00438
00439 #if FF_API_READ_SEEK
00440
00448 attribute_deprecated int (*read_seek)(struct AVFormatContext *,
00449 int stream_index, int64_t timestamp, int flags);
00450 #endif
00451
00455 int64_t (*read_timestamp)(struct AVFormatContext *s, int stream_index,
00456 int64_t *pos, int64_t pos_limit);
00457
00461 int flags;
00462
00468 const char *extensions;
00469
00473 int value;
00474
00479 int (*read_play)(struct AVFormatContext *);
00480
00485 int (*read_pause)(struct AVFormatContext *);
00486
00487 const struct AVCodecTag * const *codec_tag;
00488
00495 int (*read_seek2)(struct AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
00496
00497 #if FF_API_OLD_METADATA
00498 const AVMetadataConv *metadata_conv;
00499 #endif
00500
00501
00502 struct AVInputFormat *next;
00503 } AVInputFormat;
00504
00505 enum AVStreamParseType {
00506 AVSTREAM_PARSE_NONE,
00507 AVSTREAM_PARSE_FULL,
00508 AVSTREAM_PARSE_HEADERS,
00509 AVSTREAM_PARSE_TIMESTAMPS,
00510 AVSTREAM_PARSE_FULL_ONCE,
00511 };
00512
00513 typedef struct AVIndexEntry {
00514 int64_t pos;
00515 int64_t timestamp;
00516 #define AVINDEX_KEYFRAME 0x0001
00517 int flags:2;
00518 int size:30;
00519 int min_distance;
00520 } AVIndexEntry;
00521
00522 #define AV_DISPOSITION_DEFAULT 0x0001
00523 #define AV_DISPOSITION_DUB 0x0002
00524 #define AV_DISPOSITION_ORIGINAL 0x0004
00525 #define AV_DISPOSITION_COMMENT 0x0008
00526 #define AV_DISPOSITION_LYRICS 0x0010
00527 #define AV_DISPOSITION_KARAOKE 0x0020
00528
00534 #define AV_DISPOSITION_FORCED 0x0040
00535
00543 typedef struct AVStream {
00544 int index;
00545 int id;
00546 AVCodecContext *codec;
00555 AVRational r_frame_rate;
00556 void *priv_data;
00557
00558
00559 int64_t first_dts;
00560
00564 struct AVFrac pts;
00565
00571 AVRational time_base;
00572 int pts_wrap_bits;
00573
00574 int stream_copy;
00575 enum AVDiscard discard;
00576
00577
00582 float quality;
00583
00592 int64_t start_time;
00593
00599 int64_t duration;
00600
00601 #if FF_API_OLD_METADATA
00602 attribute_deprecated char language[4];
00603 #endif
00604
00605
00606 enum AVStreamParseType need_parsing;
00607 struct AVCodecParserContext *parser;
00608
00609 int64_t cur_dts;
00610 int last_IP_duration;
00611 int64_t last_IP_pts;
00612
00613 AVIndexEntry *index_entries;
00615 int nb_index_entries;
00616 unsigned int index_entries_allocated_size;
00617
00618 int64_t nb_frames;
00619
00620 #if FF_API_LAVF_UNUSED
00621 attribute_deprecated int64_t unused[4+1];
00622 #endif
00623
00624 #if FF_API_OLD_METADATA
00625 attribute_deprecated char *filename;
00626 #endif
00627
00628 int disposition;
00630 AVProbeData probe_data;
00631 #define MAX_REORDER_DELAY 16
00632 int64_t pts_buffer[MAX_REORDER_DELAY+1];
00633
00639 AVRational sample_aspect_ratio;
00640
00641 AVMetadata *metadata;
00642
00643
00644
00645 const uint8_t *cur_ptr;
00646 int cur_len;
00647 AVPacket cur_pkt;
00648
00649
00657 int64_t reference_dts;
00658
00663 #define MAX_PROBE_PACKETS 2500
00664 int probe_packets;
00665
00670 struct AVPacketList *last_in_packet_buffer;
00671
00675 AVRational avg_frame_rate;
00676
00680 int codec_info_nb_frames;
00681
00685 #define MAX_STD_TIMEBASES (60*12+5)
00686 struct {
00687 int64_t last_dts;
00688 int64_t duration_gcd;
00689 int duration_count;
00690 double duration_error[MAX_STD_TIMEBASES];
00691 int64_t codec_info_duration;
00692 } *info;
00693 } AVStream;
00694
00695 #define AV_PROGRAM_RUNNING 1
00696
00703 typedef struct AVProgram {
00704 int id;
00705 #if FF_API_OLD_METADATA
00706 attribute_deprecated char *provider_name;
00707 attribute_deprecated char *name;
00708 #endif
00709 int flags;
00710 enum AVDiscard discard;
00711 unsigned int *stream_index;
00712 unsigned int nb_stream_indexes;
00713 AVMetadata *metadata;
00714 } AVProgram;
00715
00716 #define AVFMTCTX_NOHEADER 0x0001
00719 typedef struct AVChapter {
00720 int id;
00721 AVRational time_base;
00722 int64_t start, end;
00723 #if FF_API_OLD_METADATA
00724 attribute_deprecated char *title;
00725 #endif
00726 AVMetadata *metadata;
00727 } AVChapter;
00728
00729 #if FF_API_MAX_STREAMS
00730 #define MAX_STREAMS 20
00731 #endif
00732
00740 typedef struct AVFormatContext {
00741 const AVClass *av_class;
00742
00743 struct AVInputFormat *iformat;
00744 struct AVOutputFormat *oformat;
00745 void *priv_data;
00746 ByteIOContext *pb;
00747 unsigned int nb_streams;
00748 #if FF_API_MAX_STREAMS
00749 AVStream *streams[MAX_STREAMS];
00750 #else
00751 AVStream **streams;
00752 #endif
00753 char filename[1024];
00754
00755 int64_t timestamp;
00756 #if FF_API_OLD_METADATA
00757 attribute_deprecated char title[512];
00758 attribute_deprecated char author[512];
00759 attribute_deprecated char copyright[512];
00760 attribute_deprecated char comment[512];
00761 attribute_deprecated char album[512];
00762 attribute_deprecated int year;
00763 attribute_deprecated int track;
00764 attribute_deprecated char genre[32];
00765 #endif
00766
00767 int ctx_flags;
00768
00774 struct AVPacketList *packet_buffer;
00775
00781 int64_t start_time;
00782
00789 int64_t duration;
00790
00794 int64_t file_size;
00795
00801 int bit_rate;
00802
00803
00804 AVStream *cur_st;
00805 #if FF_API_LAVF_UNUSED
00806 const uint8_t *cur_ptr_deprecated;
00807 int cur_len_deprecated;
00808 AVPacket cur_pkt_deprecated;
00809 #endif
00810
00811
00812 int64_t data_offset;
00813 int index_built;
00814
00815 int mux_rate;
00816 unsigned int packet_size;
00817 int preload;
00818 int max_delay;
00819
00820 #define AVFMT_NOOUTPUTLOOP -1
00821 #define AVFMT_INFINITEOUTPUTLOOP 0
00822
00825 int loop_output;
00826
00827 int flags;
00828 #define AVFMT_FLAG_GENPTS 0x0001
00829 #define AVFMT_FLAG_IGNIDX 0x0002
00830 #define AVFMT_FLAG_NONBLOCK 0x0004
00831 #define AVFMT_FLAG_IGNDTS 0x0008
00832 #define AVFMT_FLAG_NOFILLIN 0x0010
00833 #define AVFMT_FLAG_NOPARSE 0x0020
00834 #define AVFMT_FLAG_RTP_HINT 0x0040
00835
00836 int loop_input;
00837
00841 unsigned int probesize;
00842
00847 int max_analyze_duration;
00848
00849 const uint8_t *key;
00850 int keylen;
00851
00852 unsigned int nb_programs;
00853 AVProgram **programs;
00854
00859 enum CodecID video_codec_id;
00860
00865 enum CodecID audio_codec_id;
00866
00871 enum CodecID subtitle_codec_id;
00872
00883 unsigned int max_index_size;
00884
00889 unsigned int max_picture_buffer;
00890
00891 unsigned int nb_chapters;
00892 AVChapter **chapters;
00893
00897 int debug;
00898 #define FF_FDEBUG_TS 0x0001
00899
00906 struct AVPacketList *raw_packet_buffer;
00907 struct AVPacketList *raw_packet_buffer_end;
00908
00909 struct AVPacketList *packet_buffer_end;
00910
00911 AVMetadata *metadata;
00912
00917 #define RAW_PACKET_BUFFER_SIZE 2500000
00918 int raw_packet_buffer_remaining_size;
00919
00927 int64_t start_time_realtime;
00928 } AVFormatContext;
00929
00930 typedef struct AVPacketList {
00931 AVPacket pkt;
00932 struct AVPacketList *next;
00933 } AVPacketList;
00934
00935 #if FF_API_FIRST_FORMAT
00936 attribute_deprecated extern AVInputFormat *first_iformat;
00937 attribute_deprecated extern AVOutputFormat *first_oformat;
00938 #endif
00939
00945 AVInputFormat *av_iformat_next(AVInputFormat *f);
00946
00952 AVOutputFormat *av_oformat_next(AVOutputFormat *f);
00953
00954 enum CodecID av_guess_image2_codec(const char *filename);
00955
00956
00957
00958
00959
00960 void av_register_input_format(AVInputFormat *format);
00961 void av_register_output_format(AVOutputFormat *format);
00962 #if FF_API_GUESS_FORMAT
00963 attribute_deprecated AVOutputFormat *guess_stream_format(const char *short_name,
00964 const char *filename,
00965 const char *mime_type);
00966
00970 attribute_deprecated AVOutputFormat *guess_format(const char *short_name,
00971 const char *filename,
00972 const char *mime_type);
00973 #endif
00974
00987 AVOutputFormat *av_guess_format(const char *short_name,
00988 const char *filename,
00989 const char *mime_type);
00990
00994 enum CodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name,
00995 const char *filename, const char *mime_type,
00996 enum AVMediaType type);
00997
01007 void av_hex_dump(FILE *f, uint8_t *buf, int size);
01008
01021 void av_hex_dump_log(void *avcl, int level, uint8_t *buf, int size);
01022
01030 void av_pkt_dump(FILE *f, AVPacket *pkt, int dump_payload);
01031
01042 void av_pkt_dump_log(void *avcl, int level, AVPacket *pkt, int dump_payload);
01043
01053 void av_register_all(void);
01054
01062 enum CodecID av_codec_get_id(const struct AVCodecTag * const *tags, unsigned int tag);
01063
01071 unsigned int av_codec_get_tag(const struct AVCodecTag * const *tags, enum CodecID id);
01072
01073
01074
01078 AVInputFormat *av_find_input_format(const char *short_name);
01079
01086 AVInputFormat *av_probe_input_format(AVProbeData *pd, int is_opened);
01087
01099 AVInputFormat *av_probe_input_format2(AVProbeData *pd, int is_opened, int *score_max);
01100
01105 int av_open_input_stream(AVFormatContext **ic_ptr,
01106 ByteIOContext *pb, const char *filename,
01107 AVInputFormat *fmt, AVFormatParameters *ap);
01108
01121 int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,
01122 AVInputFormat *fmt,
01123 int buf_size,
01124 AVFormatParameters *ap);
01125
01126 #if FF_API_ALLOC_FORMAT_CONTEXT
01127
01130 attribute_deprecated AVFormatContext *av_alloc_format_context(void);
01131 #endif
01132
01138 AVFormatContext *avformat_alloc_context(void);
01139
01153 int av_find_stream_info(AVFormatContext *ic);
01154
01179 int av_find_best_stream(AVFormatContext *ic,
01180 enum AVMediaType type,
01181 int wanted_stream_nb,
01182 int related_stream,
01183 AVCodec **decoder_ret,
01184 int flags);
01185
01196 int av_read_packet(AVFormatContext *s, AVPacket *pkt);
01197
01222 int av_read_frame(AVFormatContext *s, AVPacket *pkt);
01223
01235 int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp,
01236 int flags);
01237
01264 int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
01265
01270 int av_read_play(AVFormatContext *s);
01271
01277 int av_read_pause(AVFormatContext *s);
01278
01283 void av_close_input_stream(AVFormatContext *s);
01284
01290 void av_close_input_file(AVFormatContext *s);
01291
01302 AVStream *av_new_stream(AVFormatContext *s, int id);
01303 AVProgram *av_new_program(AVFormatContext *s, int id);
01304
01318 AVChapter *ff_new_chapter(AVFormatContext *s, int id, AVRational time_base,
01319 int64_t start, int64_t end, const char *title);
01320
01330 void av_set_pts_info(AVStream *s, int pts_wrap_bits,
01331 unsigned int pts_num, unsigned int pts_den);
01332
01333 #define AVSEEK_FLAG_BACKWARD 1
01334 #define AVSEEK_FLAG_BYTE 2
01335 #define AVSEEK_FLAG_ANY 4
01336 #define AVSEEK_FLAG_FRAME 8
01337
01338 int av_find_default_stream_index(AVFormatContext *s);
01339
01348 int av_index_search_timestamp(AVStream *st, int64_t timestamp, int flags);
01349
01357 void ff_reduce_index(AVFormatContext *s, int stream_index);
01358
01365 int av_add_index_entry(AVStream *st, int64_t pos, int64_t timestamp,
01366 int size, int distance, int flags);
01367
01376 int av_seek_frame_binary(AVFormatContext *s, int stream_index,
01377 int64_t target_ts, int flags);
01378
01387 void av_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp);
01388
01396 int64_t av_gen_search(AVFormatContext *s, int stream_index,
01397 int64_t target_ts, int64_t pos_min,
01398 int64_t pos_max, int64_t pos_limit,
01399 int64_t ts_min, int64_t ts_max,
01400 int flags, int64_t *ts_ret,
01401 int64_t (*read_timestamp)(struct AVFormatContext *, int , int64_t *, int64_t ));
01402
01406 int av_set_parameters(AVFormatContext *s, AVFormatParameters *ap);
01407
01427 void av_url_split(char *proto, int proto_size,
01428 char *authorization, int authorization_size,
01429 char *hostname, int hostname_size,
01430 int *port_ptr,
01431 char *path, int path_size,
01432 const char *url);
01433
01441 int av_write_header(AVFormatContext *s);
01442
01455 int av_write_frame(AVFormatContext *s, AVPacket *pkt);
01456
01472 int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt);
01473
01489 int av_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
01490 AVPacket *pkt, int flush);
01491
01501 int av_write_trailer(AVFormatContext *s);
01502
01503 void dump_format(AVFormatContext *ic,
01504 int index,
01505 const char *url,
01506 int is_output);
01507
01508 #if FF_API_PARSE_FRAME_PARAM
01509
01513 attribute_deprecated int parse_image_size(int *width_ptr, int *height_ptr,
01514 const char *str);
01515
01520 attribute_deprecated int parse_frame_rate(int *frame_rate, int *frame_rate_base,
01521 const char *arg);
01522 #endif
01523
01551 int64_t parse_date(const char *datestr, int duration);
01552
01556 int64_t av_gettime(void);
01557
01558
01559 #define FFM_PACKET_SIZE 4096
01560 int64_t ffm_read_write_index(int fd);
01561 int ffm_write_write_index(int fd, int64_t pos);
01562 void ffm_set_write_index(AVFormatContext *s, int64_t pos, int64_t file_size);
01563
01570 int find_info_tag(char *arg, int arg_size, const char *tag1, const char *info);
01571
01584 int av_get_frame_filename(char *buf, int buf_size,
01585 const char *path, int number);
01586
01593 int av_filename_number_test(const char *filename);
01594
01609 int avf_sdp_create(AVFormatContext *ac[], int n_files, char *buff, int size);
01610
01617 int av_match_ext(const char *filename, const char *extensions);
01618
01619 #endif