AVInputFormat结构体源码介绍
来源:互联网 发布:获取网站整站源码工具 编辑:程序博客网 时间:2024/05/29 17:14
本文对AVInputFormat结构体源码进行了简单介绍
typedef struct AVInputFormat { /** * 格式名列表.也可以分配一个新名字. */ const char *name; /** * 对格式的一个描述性名字,增加可读性. */ const char *long_name; /** * 可用的flag有: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_SHOW_IDS, * AVFMT_GENERIC_INDEX, AVFMT_TS_DISCONT, AVFMT_NOBINSEARCH, * AVFMT_NOGENSEARCH, AVFMT_NO_BYTE_SEEK, AVFMT_SEEK_TO_PTS. */ int flags; /** * 如果定义了extention那么就不会再检测了,通常不定义,因为定义的不靠谱 */ const char *extensions; const struct AVCodecTag * const *codec_tag; const AVClass *priv_class; ///< AVClass for the private context /** * 一个模拟类型列表.用来在probe的时候check匹配的类型 * @see av_probe_input_format2 */ const char *mime_type; /***************************************************************** * No fields below this line are part of the public API. They * may not be used outside of libavformat and can be changed and * removed at will. * New public fields should be added right above. ***************************************************************** */ struct AVInputFormat *next; /** * Raw demuxers store their codec ID here. */ int raw_codec_id; /** * Size of private data so that it can be allocated in the wrapper. */ int priv_data_size; /** * tell一个文件是否可以按照这个格式来解析. * 就是保证提供的buffer够大. */ int (*read_probe)(AVProbeData *); /** * read格式头信息,initialize the AVFormatContext * structure. Return 0 if OK. 'avformat_new_stream' should be * called to create new streams. */ int (*read_header)(struct AVFormatContext *); /** * 读一个packet放入pkt. pts and flags are also * set. 'avformat_new_stream' can be called only if the flag * AVFMTCTX_NOHEADER is used and only in the calling thread (not in a * background thread). * @return 0 on success, < 0 on error. * When returning an error, pkt must not have been allocated * or must be freed before returning */ int (*read_packet)(struct AVFormatContext *, AVPacket *pkt); /** * Close the stream. The AVFormatContext and AVStreams are not * freed by this function */ int (*read_close)(struct AVFormatContext *); /** * seek到一个给定的时间戳相对于stream_index的frames * @param stream_index Must not be -1. * @param flags Selects which direction should be preferred if no exact * match is available. * @return >= 0 on success (but not necessarily the new offset) */ int (*read_seek)(struct AVFormatContext *, int stream_index, int64_t timestamp, int flags); /** * 得到下一个时间戳in stream[stream_index].time_base units. * @return the timestamp or AV_NOPTS_VALUE if an error occurred */ int64_t (*read_timestamp)(struct AVFormatContext *s, int stream_index, int64_t *pos, int64_t pos_limit); /** * Start/resume playing - only meaningful if using a network-based format * (RTSP). */ int (*read_play)(struct AVFormatContext *); /** * Pause playing - only meaningful if using a network-based format * (RTSP). */ int (*read_pause)(struct AVFormatContext *); /** * Seek to timestamp ts. * Seeking will be done so that the point from which all active streams * can be presented successfully will be closest to ts and within min/max_ts. * Active streams are all streams that have AVStream.discard < AVDISCARD_ALL. */ int (*read_seek2)(struct AVFormatContext *s, int stream_index, int64_t min_ts, int64_t ts, int64_t max_ts, int flags); /** * Returns device list with it properties. * @see avdevice_list_devices() for more details. */ int (*get_device_list)(struct AVFormatContext *s, struct AVDeviceInfoList *device_list); /** * Initialize device capabilities submodule(子模块). * @see avdevice_capabilities_create() for more details. */ int (*create_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps); /** * Free device capabilities submodule. * @see avdevice_capabilities_free() for more details. */ int (*free_device_capabilities)(struct AVFormatContext *s, struct AVDeviceCapabilitiesQuery *caps);} AVInputFormat;
0 0
- AVInputFormat结构体源码介绍
- AVInputFormat结构体
- ffmpeg之AVInputFormat结构体
- ffmpeg中对AVInputFormat结构体中函数的调用
- AVDictionary结构体相关源码介绍
- AVDictionary结构体相关源码介绍
- android源码树结构介绍
- Bootloader介绍和Uboot源码结构
- cm源码下载和源码结构介绍,recovery的编译。
- Faster RCNN 源码解读(3.1) -- RPN源码结构介绍
- WNDCLASS 结构体介绍
- file_operations结构体介绍
- file结构体介绍
- IplImage结构体介绍
- ffmpeg数据结构-AVInputFormat
- 提供Android源码结构介绍的2个地址
- cocos2d-X学习之引擎源码目录结构介绍
- cocos2d-X学习之引擎源码目录结构介绍
- 深入推荐引擎相关算法 - 协同过滤
- Android拍照或选择本地图片并剪裁图片设置成头像
- 孙子算经 序
- Android Studio阅读android 源码
- 举着伞真是累
- AVInputFormat结构体源码介绍
- Redis操作命令总结
- 关于EL中属性不匹配Property 'Name' not found on type
- ci 框架 index.php以及 js css 路径问题
- 简单的实现迷宫问题
- oracle中的检查点Ckpt和SCN号
- Linux应用层直接操作GPIO
- 常用vi命令总结
- 图的最短路径 Ford算法 解决负权问题