⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 avformat.h

📁 一个用于智能手机的多媒体库适合S60 WinCE的跨平台开发库
💻 H
📖 第 1 页 / 共 2 页
字号:
    /* decoding: duration of the stream, in AV_TIME_BASE fractional       seconds. */    int64_t duration;    char language[4]; /* ISO 639 3-letter language code (empty string if undefined) */    /* av_read_frame() support */    int need_parsing;                  ///< 1->full parsing needed, 2->only parse headers dont repack    struct AVCodecParserContext *parser;    int64_t cur_dts;    int last_IP_duration;    int64_t last_IP_pts;    /* av_seek_frame() support */    AVIndexEntry *index_entries; /* only used if the format does not                                    support seeking natively */    int nb_index_entries;    unsigned int index_entries_allocated_size;    int64_t nb_frames;                 ///< number of frames in this stream if known or 0#define MAX_REORDER_DELAY 4    int64_t pts_buffer[MAX_REORDER_DELAY+1];} AVStream;#define AVFMTCTX_NOHEADER      0x0001 /* signal that no header is present                                         (streams are added dynamically) */#define MAX_STREAMS 20/* format I/O context */typedef struct AVFormatContext {    const AVClass *av_class; /* set by av_alloc_format_context */    /* can only be iformat or oformat, not both at the same time */    struct AVInputFormat *iformat;    struct AVOutputFormat *oformat;    void *priv_data;    ByteIOContext pb;    unsigned int nb_streams;    AVStream *streams[MAX_STREAMS];    char filename[1024]; /* input or output filename */    /* stream info */    int64_t timestamp;    char title[512];    char author[512];    char copyright[512];    char comment[512];    char album[512];    int year;  /* ID3 year, 0 if none */    int track; /* track number, 0 if none */    char genre[32]; /* ID3 genre */    int ctx_flags; /* format specific flags, see AVFMTCTX_xx */    /* private data for pts handling (do not modify directly) */    /* This buffer is only needed when packets were already buffered but       not decoded, for example to get the codec parameters in mpeg       streams */    struct AVPacketList *packet_buffer;    /* decoding: 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.  */    int64_t start_time;    /* decoding: duration of the stream, in AV_TIME_BASE fractional       seconds. NEVER set this value directly: it is deduced from the       AVStream values.  */    int64_t duration;    /* decoding: total file size. 0 if unknown */    int64_t file_size;    /* decoding: 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. */    int bit_rate;    /* av_read_frame() support */    AVStream *cur_st;    const uint8_t *cur_ptr;    int cur_len;    AVPacket cur_pkt;    /* av_seek_frame() support */    int64_t data_offset; /* offset of the first packet */    int index_built;    int mux_rate;    int packet_size;    int preload;    int max_delay;#define AVFMT_NOOUTPUTLOOP -1#define AVFMT_INFINITEOUTPUTLOOP 0    /* number of times to loop output in formats that support it */    int loop_output;    int flags;#define AVFMT_FLAG_GENPTS       0x0001 ///< generate pts if missing even if it requires parsing future frames#define AVFMT_FLAG_IGNIDX       0x0002 ///< ignore index    int loop_input;    /* decoding: size of data to probe; encoding unused */    unsigned int probesize;    /**     * maximum duration in AV_TIME_BASE units over which the input should be analyzed in av_find_stream_info()     */    int max_analyze_duration;} AVFormatContext;typedef struct AVPacketList {    AVPacket pkt;    struct AVPacketList *next;} AVPacketList;extern AVInputFormat *first_iformat;extern AVOutputFormat *first_oformat;enum CodecID av_guess_image2_codec(const char *filename);/* XXX: use automatic init with either ELF sections or C file parser *//* modules *//* utils.c */void av_register_input_format(AVInputFormat *format);void av_register_output_format(AVOutputFormat *format);AVOutputFormat *guess_stream_format(const char *short_name,                                    const char *filename, const char *mime_type);AVOutputFormat *guess_format(const char *short_name,                             const char *filename, const char *mime_type);enum CodecID av_guess_codec(AVOutputFormat *fmt, const char *short_name,                            const char *filename, const char *mime_type, enum CodecType type);void av_hex_dump(FILE *f, uint8_t *buf, int size);void av_pkt_dump(FILE *f, AVPacket *pkt, int dump_payload);void av_register_all(void);/* codec tag <-> codec id */enum CodecID av_codec_get_id(const struct AVCodecTag **tags, unsigned int tag);unsigned int av_codec_get_tag(const struct AVCodecTag **tags, enum CodecID id);/* media file input */AVInputFormat *av_find_input_format(const char *short_name);AVInputFormat *av_probe_input_format(AVProbeData *pd, int is_opened);int av_open_input_stream(AVFormatContext **ic_ptr,                         ByteIOContext *pb, const char *filename,                         AVInputFormat *fmt, AVFormatParameters *ap);int av_open_input_file(AVFormatContext **ic_ptr, const char *filename,                       AVInputFormat *fmt,                       int buf_size,                       AVFormatParameters *ap);/* no av_open for output, so applications will need this: */AVFormatContext *av_alloc_format_context(void);#define AVERROR_UNKNOWN     (-1)  /* unknown error */#define AVERROR_IO          (-2)  /* i/o error */#define AVERROR_NUMEXPECTED (-3)  /* number syntax expected in filename */#define AVERROR_INVALIDDATA (-4)  /* invalid data found */#define AVERROR_NOMEM       (-5)  /* not enough memory */#define AVERROR_NOFMT       (-6)  /* unknown format */#define AVERROR_NOTSUPP     (-7)  /* operation not supported */int av_find_stream_info(AVFormatContext *ic);int av_read_packet(AVFormatContext *s, AVPacket *pkt);int av_read_frame(AVFormatContext *s, AVPacket *pkt);int av_seek_frame(AVFormatContext *s, int stream_index, int64_t timestamp, int flags);int av_read_play(AVFormatContext *s);int av_read_pause(AVFormatContext *s);void av_close_input_file(AVFormatContext *s);AVStream *av_new_stream(AVFormatContext *s, int id);void av_set_pts_info(AVStream *s, int pts_wrap_bits,                     int pts_num, int pts_den);#define AVSEEK_FLAG_BACKWARD 1 ///< seek backward#define AVSEEK_FLAG_BYTE     2 ///< seeking based on position in bytes#define AVSEEK_FLAG_ANY      4 ///< seek to any frame, even non keyframesint av_find_default_stream_index(AVFormatContext *s);int av_index_search_timestamp(AVStream *st, int64_t timestamp, int flags);int av_add_index_entry(AVStream *st,                       int64_t pos, int64_t timestamp, int size, int distance, int flags);int av_seek_frame_binary(AVFormatContext *s, int stream_index, int64_t target_ts, int flags);void av_update_cur_dts(AVFormatContext *s, AVStream *ref_st, int64_t timestamp);int64_t av_gen_search(AVFormatContext *s, int stream_index, int64_t target_ts, int64_t pos_min, int64_t pos_max, int64_t pos_limit, int64_t ts_min, int64_t ts_max, int flags, int64_t *ts_ret, int64_t (*read_timestamp)(struct AVFormatContext *, int , int64_t *, int64_t ));/* media file output */int av_set_parameters(AVFormatContext *s, AVFormatParameters *ap);int av_write_header(AVFormatContext *s);int av_write_frame(AVFormatContext *s, AVPacket *pkt);int av_interleaved_write_frame(AVFormatContext *s, AVPacket *pkt);int av_interleave_packet_per_dts(AVFormatContext *s, AVPacket *out, AVPacket *pkt, int flush);int av_write_trailer(AVFormatContext *s);void dump_format(AVFormatContext *ic,                 int index,                 const char *url,                 int is_output);int parse_image_size(int *width_ptr, int *height_ptr, const char *str);int parse_frame_rate(int *frame_rate, int *frame_rate_base, const char *arg);int64_t parse_date(const char *datestr, int duration);int64_t av_gettime(void);/* ffm specific for ffserver */#define FFM_PACKET_SIZE 4096offset_t ffm_read_write_index(int fd);void ffm_write_write_index(int fd, offset_t pos);void ffm_set_write_index(AVFormatContext *s, offset_t pos, offset_t file_size);int find_info_tag(char *arg, int arg_size, const char *tag1, const char *info);int av_get_frame_filename(char *buf, int buf_size,                          const char *path, int number);int av_filename_number_test(const char *filename);/* grab specific */int video_grab_init(void);int audio_init(void);/* DV1394 */int dv1394_init(void);int dc1394_init(void);#ifdef HAVE_AV_CONFIG_H#include "os_support.h"int strstart(const char *str, const char *val, const char **ptr);int stristart(const char *str, const char *val, const char **ptr);void pstrcpy(char *buf, int buf_size, const char *str);char *pstrcat(char *buf, int buf_size, const char *s);void __dynarray_add(unsigned long **tab_ptr, int *nb_ptr, unsigned long elem);#ifdef __GNUC__#define dynarray_add(tab, nb_ptr, elem)\do {\    typeof(tab) _tab = (tab);\    typeof(elem) _elem = (elem);\    (void)sizeof(**_tab == _elem); /* check that types are compatible */\    __dynarray_add((unsigned long **)_tab, nb_ptr, (unsigned long)_elem);\} while(0)#else#define dynarray_add(tab, nb_ptr, elem)\do {\    __dynarray_add((unsigned long **)(tab), nb_ptr, (unsigned long)(elem));\} while(0)#endiftime_t mktimegm(struct tm *tm);struct tm *brktimegm(time_t secs, struct tm *tm);const char *small_strptime(const char *p, const char *fmt,                           struct tm *dt);struct in_addr;int resolve_host(struct in_addr *sin_addr, const char *hostname);void url_split(char *proto, int proto_size,               char *authorization, int authorization_size,               char *hostname, int hostname_size,               int *port_ptr,               char *path, int path_size,               const char *url);int match_ext(const char *filename, const char *extensions);#endif /* HAVE_AV_CONFIG_H */#ifdef __cplusplus}#endif#endif /* AVFORMAT_H */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -