猜测输入文件格式
来源:互联网 发布:mac恢复系统硬盘拔掉又 编辑:程序博客网 时间:2024/06/11 21:07
typedef struct AVOutputFormat {
const char *name;
/**
* Descriptive name for the format, meant to be more human-readable
* than \p name. You \e should use the NULL_IF_CONFIG_SMALL() macro
* to define it.
*/
const char *long_name;
const char *mime_type;
const char *extensions; /**< comma-separated filename extensions */
/** size of private data so that it can be allocated in the wrapper */
int priv_data_size;
/* output support */
enum CodecID audio_codec; /**< default audio codec */
enum CodecID video_codec; /**< default video codec */
int (*write_header)(struct AVFormatContext *);
int (*write_packet)(struct AVFormatContext *, AVPacket *pkt);
int (*write_trailer)(struct AVFormatContext *);
/** can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER, AVFMT_GLOBALHEADER */
int flags;
/** Currently only used to set pixel format if not YUV420P. */
int (*set_parameters)(struct AVFormatContext *, AVFormatParameters *);
int (*interleave_packet)(struct AVFormatContext *, AVPacket *out,
AVPacket *in, int flush);
/**
* List of supported codec_id-codec_tag pairs, ordered by "better
* choice first". The arrays are all terminated by CODEC_ID_NONE.
*/
const struct AVCodecTag * const *codec_tag;
enum CodecID subtitle_codec; /**< default subtitle codec */
const AVMetadataConv *metadata_conv;
/* private fields */
struct AVOutputFormat *next;
} AVOutputFormat;
typedef struct AVInputFormat {
const char *name;
/**
* Descriptive name for the format, meant to be more human-readable
* than \p name. You \e should use the NULL_IF_CONFIG_SMALL() macro
* to define it.
*/
const char *long_name;
/** Size of private data so that it can be allocated in the wrapper. */
int priv_data_size;
/**
* Tell if a given file has a chance of being parsed as this format.
* The buffer provided is guaranteed to be AVPROBE_PADDING_SIZE bytes
* big so you do not have to check for that unless you need more.
*/
int (*read_probe)(AVProbeData *);
/** Read the format header and initialize the AVFormatContext
structure. Return 0 if OK. 'ap' if non-NULL contains
additional parameters. Only used in raw format right
now. 'av_new_stream' should be called to create new streams. */
int (*read_header)(struct AVFormatContext *,
AVFormatParameters *ap);
/** Read one packet and put it in 'pkt'. pts and flags are also
set. 'av_new_stream' can be called only if the flag
AVFMTCTX_NOHEADER is used.
@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 *);
#if LIBAVFORMAT_VERSION_MAJOR < 53
/**
* Seek to a given timestamp relative to the frames in
* stream component stream_index.
* @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);
#endif
/**
* Gets the next timestamp 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);
/** Can use flags: AVFMT_NOFILE, AVFMT_NEEDNUMBER. */
int flags;
/** If extensions are defined, then no probe is done. You should
usually not use extension format guessing because it is not
reliable enough */
const char *extensions;
/** General purpose read-only value that the format can use. */
int value;
/** 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 *);
const struct AVCodecTag * const *codec_tag;
/**
* 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);
const AVMetadataConv *metadata_conv;
/* private fields */
struct AVInputFormat *next;
} AVInputFormat;
来源:http://www.cnitblog.com/seedshopezhong/articles/64917.html
- 猜测输入文件格式
- hadoop多文件格式输入
- hadoop多文件格式输入
- VW输入文件格式
- (转)hadoop多文件格式输入
- 自定义输入文件格式类InputFormat
- Hadoop:自定义输入文件格式类InputFormat
- hadoop多文件格式输入(MultipleInputs)
- 哥德巴赫猜测
- 猜测扑克牌
- 猜测首府
- 猜测价格
- [codeforces156B]猜测
- 猜测多项式
- 文件格式
- 文件格式
- 文件格式
- 文件格式
- redis:string类型的原理及实现
- JDK1.6_023的版本及升级注意事项
- 关于flash builder 4 命名空间问题 【xmlns】
- CPU原理
- [Android]获取未安装的APK图标
- 猜测输入文件格式
- android背景图片更换——经典例子
- Commons-logging + Log4j 入门指南
- swt 全局快捷键
- javascript中静态方法、实例方法、内部方法和原型的一点见解
- python的那点事(2) ——Pyscripter为什么总报错?UnicodeEncodeError: 'ascii' codec can't encode characters in posit
- apache+php+mysql配置问题总结
- 我与油脂
- [Android]应用语言切换的三种方法