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
00028 unsigned avformat_version(void);
00029
00033 const char *avformat_configuration(void);
00034
00038 const char *avformat_license(void);
00039
00040 #include <time.h>
00041 #include <stdio.h>
00042 #include "libavcodec/avcodec.h"
00043 #include "libavutil/dict.h"
00044
00045 #include "avio.h"
00046 #include "libavformat/version.h"
00047
00048 struct AVFormatContext;
00049
00050
00117 #if FF_API_OLD_METADATA2
00118
00125 #define AV_METADATA_MATCH_CASE AV_DICT_MATCH_CASE
00126 #define AV_METADATA_IGNORE_SUFFIX AV_DICT_IGNORE_SUFFIX
00127 #define AV_METADATA_DONT_STRDUP_KEY AV_DICT_DONT_STRDUP_KEY
00128 #define AV_METADATA_DONT_STRDUP_VAL AV_DICT_DONT_STRDUP_VAL
00129 #define AV_METADATA_DONT_OVERWRITE AV_DICT_DONT_OVERWRITE
00130
00131 typedef attribute_deprecated AVDictionary AVMetadata;
00132 typedef attribute_deprecated AVDictionaryEntry AVMetadataTag;
00133
00134 typedef struct AVMetadataConv AVMetadataConv;
00135
00144 attribute_deprecated AVDictionaryEntry *
00145 av_metadata_get(AVDictionary *m, const char *key, const AVDictionaryEntry *prev, int flags);
00146
00147 #if FF_API_OLD_METADATA
00148
00158 attribute_deprecated int av_metadata_set(AVMetadata **pm, const char *key, const char *value);
00159 #endif
00160
00171 attribute_deprecated int av_metadata_set2(AVDictionary **pm, const char *key, const char *value, int flags);
00172
00176 attribute_deprecated void av_metadata_conv(struct AVFormatContext *ctx, const AVMetadataConv *d_conv,
00177 const AVMetadataConv *s_conv);
00178
00187 attribute_deprecated void av_metadata_copy(AVDictionary **dst, AVDictionary *src, int flags);
00188
00192 attribute_deprecated void av_metadata_free(AVDictionary **m);
00196 #endif
00197
00198
00199
00200
00201
00210 int av_get_packet(AVIOContext *s, AVPacket *pkt, int size);
00211
00212
00226 int av_append_packet(AVIOContext *s, AVPacket *pkt, int size);
00227
00228
00229
00230
00235 typedef struct AVFrac {
00236 int64_t val, num, den;
00237 } AVFrac;
00238
00239
00240
00241
00242 struct AVCodecTag;
00243
00247 typedef struct AVProbeData {
00248 const char *filename;
00249 unsigned char *buf;
00250 int buf_size;
00251 } AVProbeData;
00252
00253 #define AVPROBE_SCORE_MAX 100
00254 #define AVPROBE_PADDING_SIZE 32
00255
00256 typedef struct AVFormatParameters {
00257 #if FF_API_FORMAT_PARAMETERS
00258 attribute_deprecated AVRational time_base;
00259 attribute_deprecated int sample_rate;
00260 attribute_deprecated int channels;
00261 attribute_deprecated int width;
00262 attribute_deprecated int height;
00263 attribute_deprecated enum PixelFormat pix_fmt;
00264 attribute_deprecated int channel;
00265 attribute_deprecated const char *standard;
00266 attribute_deprecated unsigned int mpeg2ts_raw:1;
00268 attribute_deprecated unsigned int mpeg2ts_compute_pcr:1;
00269 attribute_deprecated unsigned int initial_pause:1;
00271 attribute_deprecated unsigned int prealloced_context:1;
00272 #endif
00273 #if FF_API_PARAMETERS_CODEC_ID
00274 attribute_deprecated enum CodecID video_codec_id;
00275 attribute_deprecated enum CodecID audio_codec_id;
00276 #endif
00277 } AVFormatParameters;
00278
00280 #define AVFMT_NOFILE 0x0001
00281 #define AVFMT_NEEDNUMBER 0x0002
00282 #define AVFMT_SHOW_IDS 0x0008
00283 #define AVFMT_RAWPICTURE 0x0020
00285 #define AVFMT_GLOBALHEADER 0x0040
00286 #define AVFMT_NOTIMESTAMPS 0x0080
00287 #define AVFMT_GENERIC_INDEX 0x0100
00288 #define AVFMT_TS_DISCONT 0x0200
00289 #define AVFMT_VARIABLE_FPS 0x0400
00290 #define AVFMT_NODIMENSIONS 0x0800
00291 #define AVFMT_NOSTREAMS 0x1000
00292 #define AVFMT_NOBINSEARCH 0x2000
00293 #define AVFMT_NOGENSEARCH 0x4000
00294 #define AVFMT_TS_NONSTRICT 0x8000
00298 typedef struct AVOutputFormat {
00299 const char *name;
00305 const char *long_name;
00306 const char *mime_type;
00307 const char *extensions;
00311 int priv_data_size;
00312
00313 enum CodecID audio_codec;
00314 enum CodecID video_codec;
00315 int (*write_header)(struct AVFormatContext *);
00316 int (*write_packet)(struct AVFormatContext *, AVPacket *pkt);
00317 int (*write_trailer)(struct AVFormatContext *);
00323 int flags;
00324
00325 void *dummy;
00326
00327 int (*interleave_packet)(struct AVFormatContext *, AVPacket *out,
00328 AVPacket *in, int flush);
00329
00334 const struct AVCodecTag * const *codec_tag;
00335
00336 enum CodecID subtitle_codec;
00338 #if FF_API_OLD_METADATA2
00339 const AVMetadataConv *metadata_conv;
00340 #endif
00341
00342 const AVClass *priv_class;
00343
00344
00345 struct AVOutputFormat *next;
00346 } AVOutputFormat;
00347
00348 typedef struct AVInputFormat {
00353 const char *name;
00354
00360 const char *long_name;
00361
00365 int priv_data_size;
00366
00372 int (*read_probe)(AVProbeData *);
00373
00380 int (*read_header)(struct AVFormatContext *,
00381 AVFormatParameters *ap);
00382
00392 int (*read_packet)(struct AVFormatContext *, AVPacket *pkt);
00393
00398 int (*read_close)(struct AVFormatContext *);
00399
00400 #if FF_API_READ_SEEK
00401
00409 attribute_deprecated int (*read_seek)(struct AVFormatContext *,
00410 int stream_index, int64_t timestamp, int flags);
00411 #endif
00412
00416 int64_t (*read_timestamp)(struct AVFormatContext *s, int stream_index,
00417 int64_t *pos, int64_t pos_limit);
00418
00422 int flags;
00423
00429 const char *extensions;
00430
00434 int value;
00435
00440 int (*read_play)(struct AVFormatContext *);
00441
00446 int (*read_pause)(struct AVFormatContext *);
00447
00448 const struct AVCodecTag * const *codec_tag;
00449
00456 int (*read_seek2)(struct AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
00457
00458 #if FF_API_OLD_METADATA2
00459 const AVMetadataConv *metadata_conv;
00460 #endif
00461
00462 const AVClass *priv_class;
00463
00464
00465 struct AVInputFormat *next;
00466 } AVInputFormat;
00467
00468 enum AVStreamParseType {
00469 AVSTREAM_PARSE_NONE,
00470 AVSTREAM_PARSE_FULL,
00471 AVSTREAM_PARSE_HEADERS,
00472 AVSTREAM_PARSE_TIMESTAMPS,
00473 AVSTREAM_PARSE_FULL_ONCE,
00474 };
00475
00476 typedef struct AVIndexEntry {
00477 int64_t pos;
00478 int64_t timestamp;
00479 #define AVINDEX_KEYFRAME 0x0001
00480 int flags:2;
00481 int size:30;
00482 int min_distance;
00483 } AVIndexEntry;
00484
00485 #define AV_DISPOSITION_DEFAULT 0x0001
00486 #define AV_DISPOSITION_DUB 0x0002
00487 #define AV_DISPOSITION_ORIGINAL 0x0004
00488 #define AV_DISPOSITION_COMMENT 0x0008
00489 #define AV_DISPOSITION_LYRICS 0x0010
00490 #define AV_DISPOSITION_KARAOKE 0x0020
00491
00497 #define AV_DISPOSITION_FORCED 0x0040
00498 #define AV_DISPOSITION_HEARING_IMPAIRED 0x0080
00499 #define AV_DISPOSITION_VISUAL_IMPAIRED 0x0100
00500 #define AV_DISPOSITION_CLEAN_EFFECTS 0x0200
00509 typedef struct AVStream {
00510 int index;
00511 int id;
00512 AVCodecContext *codec;
00521 AVRational r_frame_rate;
00522 void *priv_data;
00523
00524
00525 int64_t first_dts;
00526
00530 struct AVFrac pts;
00531
00539 AVRational time_base;
00540 int pts_wrap_bits;
00541
00542 int stream_copy;
00543 enum AVDiscard discard;
00544
00545
00550 float quality;
00551
00560 int64_t start_time;
00561
00567 int64_t duration;
00568
00569 #if FF_API_OLD_METADATA
00570 attribute_deprecated char language[4];
00571 #endif
00572
00573
00574 enum AVStreamParseType need_parsing;
00575 struct AVCodecParserContext *parser;
00576
00577 int64_t cur_dts;
00578 int last_IP_duration;
00579 int64_t last_IP_pts;
00580
00581 AVIndexEntry *index_entries;
00583 int nb_index_entries;
00584 unsigned int index_entries_allocated_size;
00585
00586 int64_t nb_frames;
00587
00588 #if FF_API_LAVF_UNUSED
00589 attribute_deprecated int64_t unused[4+1];
00590 #endif
00591
00592 #if FF_API_OLD_METADATA
00593 attribute_deprecated char *filename;
00594 #endif
00595
00596 int disposition;
00598 AVProbeData probe_data;
00599 #define MAX_REORDER_DELAY 16
00600 int64_t pts_buffer[MAX_REORDER_DELAY+1];
00601
00607 AVRational sample_aspect_ratio;
00608
00609 AVDictionary *metadata;
00610
00611
00612
00613 const uint8_t *cur_ptr;
00614 int cur_len;
00615 AVPacket cur_pkt;
00616
00617
00625 int64_t reference_dts;
00626
00631 #define MAX_PROBE_PACKETS 2500
00632 int probe_packets;
00633
00638 struct AVPacketList *last_in_packet_buffer;
00639
00643 AVRational avg_frame_rate;
00644
00648 int codec_info_nb_frames;
00649
00655 int stream_identifier;
00656
00660 #define MAX_STD_TIMEBASES (60*12+5)
00661 struct {
00662 int64_t last_dts;
00663 int64_t duration_gcd;
00664 int duration_count;
00665 double duration_error[MAX_STD_TIMEBASES];
00666 int64_t codec_info_duration;
00667 } *info;
00668
00673 int request_probe;
00674 } AVStream;
00675
00676 #define AV_PROGRAM_RUNNING 1
00677
00684 typedef struct AVProgram {
00685 int id;
00686 #if FF_API_OLD_METADATA
00687 attribute_deprecated char *provider_name;
00688 attribute_deprecated char *name;
00689 #endif
00690 int flags;
00691 enum AVDiscard discard;
00692 unsigned int *stream_index;
00693 unsigned int nb_stream_indexes;
00694 AVDictionary *metadata;
00695
00696 int program_num;
00697 int pmt_pid;
00698 int pcr_pid;
00699 } AVProgram;
00700
00701 #define AVFMTCTX_NOHEADER 0x0001
00704 typedef struct AVChapter {
00705 int id;
00706 AVRational time_base;
00707 int64_t start, end;
00708 #if FF_API_OLD_METADATA
00709 attribute_deprecated char *title;
00710 #endif
00711 AVDictionary *metadata;
00712 } AVChapter;
00713
00714 #if FF_API_MAX_STREAMS
00715 #define MAX_STREAMS 20
00716 #endif
00717
00725 typedef struct AVFormatContext {
00726 const AVClass *av_class;
00727
00728 struct AVInputFormat *iformat;
00729 struct AVOutputFormat *oformat;
00730 void *priv_data;
00731 AVIOContext *pb;
00732 unsigned int nb_streams;
00733 #if FF_API_MAX_STREAMS
00734 AVStream *streams[MAX_STREAMS];
00735 #else
00736 AVStream **streams;
00737 #endif
00738 char filename[1024];
00739
00740 int64_t timestamp;
00741 #if FF_API_OLD_METADATA
00742 attribute_deprecated char title[512];
00743 attribute_deprecated char author[512];
00744 attribute_deprecated char copyright[512];
00745 attribute_deprecated char comment[512];
00746 attribute_deprecated char album[512];
00747 attribute_deprecated int year;
00748 attribute_deprecated int track;
00749 attribute_deprecated char genre[32];
00750 #endif
00751
00752 int ctx_flags;
00753
00759 struct AVPacketList *packet_buffer;
00760
00766 int64_t start_time;
00767
00774 int64_t duration;
00775
00779 int64_t file_size;
00780
00786 int bit_rate;
00787
00788
00789 AVStream *cur_st;
00790 #if FF_API_LAVF_UNUSED
00791 const uint8_t *cur_ptr_deprecated;
00792 int cur_len_deprecated;
00793 AVPacket cur_pkt_deprecated;
00794 #endif
00795
00796
00797 int64_t data_offset;
00798 #if FF_API_INDEX_BUILT
00799 attribute_deprecated int index_built;
00800 #endif
00801
00802 int mux_rate;
00803 unsigned int packet_size;
00804 int preload;
00805 int max_delay;
00806
00807 #define AVFMT_NOOUTPUTLOOP -1
00808 #define AVFMT_INFINITEOUTPUTLOOP 0
00809
00812 int loop_output;
00813
00814 int flags;
00815 #define AVFMT_FLAG_GENPTS 0x0001
00816 #define AVFMT_FLAG_IGNIDX 0x0002
00817 #define AVFMT_FLAG_NONBLOCK 0x0004
00818 #define AVFMT_FLAG_IGNDTS 0x0008
00819 #define AVFMT_FLAG_NOFILLIN 0x0010
00820 #define AVFMT_FLAG_NOPARSE 0x0020
00821 #if FF_API_FLAG_RTP_HINT
00822 #define AVFMT_FLAG_RTP_HINT 0x0040
00823 #endif
00824 #define AVFMT_FLAG_CUSTOM_IO 0x0080
00825 #define AVFMT_FLAG_MP4A_LATM 0x8000
00826 #define AVFMT_FLAG_SORT_DTS 0x10000
00827 #define AVFMT_FLAG_PRIV_OPT 0x20000
00828 #define AVFMT_FLAG_KEEP_SIDE_DATA 0x40000
00829
00830 int loop_input;
00831
00835 unsigned int probesize;
00836
00841 int max_analyze_duration;
00842
00843 const uint8_t *key;
00844 int keylen;
00845
00846 unsigned int nb_programs;
00847 AVProgram **programs;
00848
00853 enum CodecID video_codec_id;
00854
00859 enum CodecID audio_codec_id;
00860
00865 enum CodecID subtitle_codec_id;
00866
00877 unsigned int max_index_size;
00878
00883 unsigned int max_picture_buffer;
00884
00885 unsigned int nb_chapters;
00886 AVChapter **chapters;
00887
00891 int debug;
00892 #define FF_FDEBUG_TS 0x0001
00893
00900 struct AVPacketList *raw_packet_buffer;
00901 struct AVPacketList *raw_packet_buffer_end;
00902
00903 struct AVPacketList *packet_buffer_end;
00904
00905 AVDictionary *metadata;
00906
00911 #define RAW_PACKET_BUFFER_SIZE 2500000
00912 int raw_packet_buffer_remaining_size;
00913
00921 int64_t start_time_realtime;
00922
00926 int fps_probe_size;
00927
00932 int ts_id;
00933 } AVFormatContext;
00934
00935 typedef struct AVPacketList {
00936 AVPacket pkt;
00937 struct AVPacketList *next;
00938 } AVPacketList;
00939
00940 #if FF_API_FIRST_FORMAT
00941 attribute_deprecated extern AVInputFormat *first_iformat;
00942 attribute_deprecated extern AVOutputFormat *first_oformat;
00943 #endif
00944
00950 AVInputFormat *av_iformat_next(AVInputFormat *f);
00951
00957 AVOutputFormat *av_oformat_next(AVOutputFormat *f);
00958
00959 #if FF_API_GUESS_IMG2_CODEC
00960 attribute_deprecated enum CodecID av_guess_image2_codec(const char *filename);
00961 #endif
00962
00963
00964
00965
00966
00967 void av_register_input_format(AVInputFormat *format);
00968 void av_register_output_format(AVOutputFormat *format);
00969 #if FF_API_GUESS_FORMAT
00970 attribute_deprecated AVOutputFormat *guess_stream_format(const char *short_name,
00971 const char *filename,
00972 const char *mime_type);
00973
00977 attribute_deprecated AVOutputFormat *guess_format(const char *short_name,
00978 const char *filename,
00979 const char *mime_type);
00980 #endif
00981
00994 AVOutputFormat *av_guess_format(const char *short_name,
00995 const char *filename,
00996 const char *mime_type);
00997
01001 enum CodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name,
01002 const char *filename, const char *mime_type,
01003 enum AVMediaType type);
01004
01014 void av_hex_dump(FILE *f, uint8_t *buf, int size);
01015
01028 void av_hex_dump_log(void *avcl, int level, uint8_t *buf, int size);
01029
01038 void av_pkt_dump2(FILE *f, AVPacket *pkt, int dump_payload, AVStream *st);
01039
01040
01052 void av_pkt_dump_log2(void *avcl, int level, AVPacket *pkt, int dump_payload,
01053 AVStream *st);
01054
01055 #if FF_API_PKT_DUMP
01056 attribute_deprecated void av_pkt_dump(FILE *f, AVPacket *pkt, int dump_payload);
01057 attribute_deprecated void av_pkt_dump_log(void *avcl, int level, AVPacket *pkt,
01058 int dump_payload);
01059 #endif
01060
01070 void av_register_all(void);
01071
01079 enum CodecID av_codec_get_id(const struct AVCodecTag * const *tags, unsigned int tag);
01080
01088 unsigned int av_codec_get_tag(const struct AVCodecTag * const *tags, enum CodecID id);
01089
01090
01091
01095 AVInputFormat *av_find_input_format(const char *short_name);
01096
01103 AVInputFormat *av_probe_input_format(AVProbeData *pd, int is_opened);
01104
01116 AVInputFormat *av_probe_input_format2(AVProbeData *pd, int is_opened, int *score_max);
01117
01125 AVInputFormat *av_probe_input_format3(AVProbeData *pd, int is_opened, int *score_ret);
01126
01142 int av_probe_input_buffer(AVIOContext *pb, AVInputFormat **fmt,
01143 const char *filename, void *logctx,
01144 unsigned int offset, unsigned int max_probe_size);
01145
01146 #if FF_API_FORMAT_PARAMETERS
01147
01152 attribute_deprecated int av_open_input_stream(AVFormatContext **ic_ptr,
01153 AVIOContext *pb, const char *filename,
01154 AVInputFormat *fmt, AVFormatParameters *ap);
01155
01170 attribute_deprecated int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,
01171 AVInputFormat *fmt,
01172 int buf_size,
01173 AVFormatParameters *ap);
01174 #endif
01175
01195 int avformat_open_input(AVFormatContext **ps, const char *filename, AVInputFormat *fmt, AVDictionary **options);
01196
01197 #if FF_API_ALLOC_FORMAT_CONTEXT
01198
01201 attribute_deprecated AVFormatContext *av_alloc_format_context(void);
01202 #endif
01203 int av_demuxer_open(AVFormatContext *ic, AVFormatParameters *ap);
01204
01210 AVFormatContext *avformat_alloc_context(void);
01211
01212 #if FF_API_ALLOC_OUTPUT_CONTEXT
01213
01216 attribute_deprecated
01217 AVFormatContext *avformat_alloc_output_context(const char *format,
01218 AVOutputFormat *oformat,
01219 const char *filename);
01220 #endif
01221
01238 int avformat_alloc_output_context2(AVFormatContext **ctx, AVOutputFormat *oformat,
01239 const char *format_name, const char *filename);
01240
01241 #if FF_API_FORMAT_PARAMETERS
01242
01257 int av_find_stream_info(AVFormatContext *ic);
01258 #endif
01259
01281 int avformat_find_stream_info(AVFormatContext *ic, AVDictionary **options);
01282
01307 int av_find_best_stream(AVFormatContext *ic,
01308 enum AVMediaType type,
01309 int wanted_stream_nb,
01310 int related_stream,
01311 AVCodec **decoder_ret,
01312 int flags);
01313
01324 int av_read_packet(AVFormatContext *s, AVPacket *pkt);
01325
01350 int av_read_frame(AVFormatContext *s, AVPacket *pkt);
01351
01363 int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp,
01364 int flags);
01365
01392 int avformat_seek_file(AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags);
01393
01398 int av_read_play(AVFormatContext *s);
01399
01405 int av_read_pause(AVFormatContext *s);
01406
01411 void av_close_input_stream(AVFormatContext *s);
01412
01418 void av_close_input_file(AVFormatContext *s);
01419
01424 void avformat_free_context(AVFormatContext *s);
01425
01436 AVStream *av_new_stream(AVFormatContext *s, int id);
01437 AVProgram *av_new_program(AVFormatContext *s, int id);
01438
01449 void av_set_pts_info(AVStream *s, int pts_wrap_bits,
01450 unsigned int pts_num, unsigned int pts_den);
01451
01452 #define AVSEEK_FLAG_BACKWARD 1
01453 #define AVSEEK_FLAG_BYTE 2
01454 #define AVSEEK_FLAG_ANY 4
01455 #define AVSEEK_FLAG_FRAME 8
01456
01457 int av_find_default_stream_index(AVFormatContext *s);
01458
01467 int av_index_search_timestamp(AVStream *st, int64_t timestamp, int flags);
01468
01475 int av_add_index_entry(AVStream *st, int64_t pos, int64_t timestamp,
01476 int size, int distance, int flags);
01477
01486 int av_seek_frame_binary(AVFormatContext *s, int stream_index,
01487 int64_t target_ts, int flags);
01488
01497 void av_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp);
01498
01506 int64_t av_gen_search(AVFormatContext *s, int stream_index,
01507 int64_t target_ts, int64_t pos_min,
01508 int64_t pos_max, int64_t pos_limit,
01509 int64_t ts_min, int64_t ts_max,
01510 int flags, int64_t *ts_ret,
01511 int64_t (*read_timestamp)(struct AVFormatContext *, int , int64_t *, int64_t ));
01512
01516 #if FF_API_FORMAT_PARAMETERS
01517
01520 attribute_deprecated int av_set_parameters(AVFormatContext *s, AVFormatParameters *ap);
01521 #endif
01522
01542 void av_url_split(char *proto, int proto_size,
01543 char *authorization, int authorization_size,
01544 char *hostname, int hostname_size,
01545 int *port_ptr,
01546 char *path, int path_size,
01547 const char *url);
01548
01564 int avformat_write_header(AVFormatContext *s, AVDictionary **options);
01565
01566 #if FF_API_FORMAT_PARAMETERS
01567
01578 attribute_deprecated int av_write_header(AVFormatContext *s);
01579 #endif
01580
01593 int av_write_frame(AVFormatContext *s, AVPacket *pkt);
01594
01610 int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt);
01611
01627 int av_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out,
01628 AVPacket *pkt, int flush);
01629
01639 int av_write_trailer(AVFormatContext *s);
01640
01641 #if FF_API_DUMP_FORMAT
01642
01645 attribute_deprecated void dump_format(AVFormatContext *ic,
01646 int index,
01647 const char *url,
01648 int is_output);
01649 #endif
01650
01651 void av_dump_format(AVFormatContext *ic,
01652 int index,
01653 const char *url,
01654 int is_output);
01655
01656 #if FF_API_PARSE_FRAME_PARAM
01657
01661 attribute_deprecated int parse_image_size(int *width_ptr, int *height_ptr,
01662 const char *str);
01663
01668 attribute_deprecated int parse_frame_rate(int *frame_rate, int *frame_rate_base,
01669 const char *arg);
01670 #endif
01671
01672 #if FF_API_PARSE_DATE
01673
01680 attribute_deprecated
01681 int64_t parse_date(const char *datestr, int duration);
01682 #endif
01683
01687 int64_t av_gettime(void);
01688
01689 #if FF_API_FIND_INFO_TAG
01690
01693 attribute_deprecated int find_info_tag(char *arg, int arg_size, const char *tag1, const char *info);
01694 #endif
01695
01708 int av_get_frame_filename(char *buf, int buf_size,
01709 const char *path, int number);
01710
01717 int av_filename_number_test(const char *filename);
01718
01733 int av_sdp_create(AVFormatContext *ac[], int n_files, char *buf, int size);
01734
01735 #if FF_API_SDP_CREATE
01736 attribute_deprecated int avf_sdp_create(AVFormatContext *ac[], int n_files, char *buff, int size);
01737 #endif
01738
01745 int av_match_ext(const char *filename, const char *extensions);
01746
01747 #endif