一、函数
AVRational | av_codec_get_pkt_timebase (const AVCodecContext *avctx) |
void | av_codec_set_pkt_timebase (AVCodecContext *avctx, AVRational val) |
const AVCodecDescriptor * | av_codec_get_codec_descriptor (const AVCodecContext *avctx) |
void | av_codec_set_codec_descriptor (AVCodecContext *avctx, const AVCodecDescriptor *desc) |
unsigned | av_codec_get_codec_properties (const AVCodecContext *avctx) |
int | av_codec_get_lowres (const AVCodecContext *avctx) |
void | av_codec_set_lowres (AVCodecContext *avctx, int val) |
int | av_codec_get_seek_preroll (const AVCodecContext *avctx) |
void | av_codec_set_seek_preroll (AVCodecContext *avctx, int val) |
uint16_t * | av_codec_get_chroma_intra_matrix (const AVCodecContext *avctx) |
void | av_codec_set_chroma_intra_matrix (AVCodecContext *avctx, uint16_t *val) |
int | av_codec_get_max_lowres (const AVCodec *codec) |
AVCodec * | av_codec_next (const AVCodec *c) |
unsigned | avcodec_version (void) |
const char * | avcodec_configuration (void) |
const char * | avcodec_license (void) |
void | avcodec_register (AVCodec *codec) |
警告:此函数或avcodec_register_all()必须在任何其他libavcodec函数之前调用。
void | avcodec_register_all (void) |
如果您不调用此函数,您可以使用单独的注册功能来精确选择要支持的格式。
AVCodecContext * | avcodec_alloc_context3 (const AVCodec *codec) |
结果应该使用avcodec_free_context()来释放。
参数:codec:如果非NULL,则分配专用数据并初始化给定编解码器的默认值。 然后使用不同的编解码器调用avcodec_open2()是非法的。 如果为NULL,则编解码器特定的默认值将不会被初始化,这可能导致次优的默认设置(这对于编码器,例如libx264)很重要。
返回:AVCodecContext填入默认值或失败时为NULL。
void | avcodec_free_context (AVCodecContext **avctx) |
int | avcodec_get_context_defaults3 (AVCodecContext *s, const AVCodec *codec) |
const AVClass * | avcodec_get_class (void) |
它可以与AV_OPT_SEARCH_FAKE_OBJ结合使用来检查选项。
const AVClass * | avcodec_get_frame_class (void) |
获取AVClass AVFrame。
它可以与AV_OPT_SEARCH_FAKE_OBJ结合使用来检查选项。
const AVClass * | avcodec_get_subtitle_rect_class (void) |
它可以与AV_OPT_SEARCH_FAKE_OBJ结合使用来检查选项。
attribute_deprecated int | avcodec_copy_context (AVCodecContext *dest, const AVCodecContext *src) |
所得到的目标编解码器上下文将被打开,即您需要调用avcodec_open2(),然后才能使用此AVCodecContext对视频/音频数据进行解码/编码。
参数:dest:目标编解码器上下文,应使用avcodec_alloc_context3(NULL)初始化,否则将初始化
src:源编解码器上下文
返回:AVERROR()发生错误(例如内存分配错误),0成功
AVCodecParameters * | avcodec_parameters_alloc (void) |
返回的结构必须与avcodec_parameters_free()一起释放。
void | avcodec_parameters_free (AVCodecParameters **par) |
int | avcodec_parameters_copy (AVCodecParameters *dst, const AVCodecParameters *src) |
dst中的任何分配的字段被释放,并被src中相应字段的新分配的副本替换。
返回:成功返回零,失败返回负值
int | avcodec_parameters_from_context (AVCodecParameters *par, const AVCodecContext *codec) |
par中任何分配的字段都被释放,并被编码解码器中相应字段的重复替换。
返回:成功返回零,失败返回负值
int | avcodec_parameters_to_context (AVCodecContext *codec, const AVCodecParameters *par) |
二编解码器中具有par中对应字段的任何已分配字段将被释放,并替换为参数中相应字段的重复。 编解码器中没有对方的参数中的字段未被触发。
返回:成功返回零,失败返回负值
int | avcodec_open2 (AVCodecContext *avctx, const AVCodec *codec, AVDictionary **options) |
在使用此函数之前,上下文必须使用avcodec_alloc_context3()分配。
函数avcodec_find_decoder_by_name(),avcodec_find_encoder_by_name(),avcodec_find_decoder()和avcodec_find_encoder()提供了一种检索编解码器的简单方法。
警告:这个功能不是线程安全的!
注意:在使用解码例程(如avcodec_receive_frame())之前,始终调用此函数。
参数:avctx:初始化的上下文。
codec:打开这个上下文的编解码器。 如果非空编解码器先前传递给avcodec_alloc_context3()或此上下文,则该参数必须为NULL或等于先前传递的编解码器。
options:填写AVCodecContext和编解码器私有选项的字典。 返回时,此对象将填充未找到的选项。
返回:成功返回零,失败返回负值
int | avcodec_close (AVCodecContext *avctx) |
在尚未打开的AVCodecContext上调用此函数将使用非NULL编解码器释放avcodec_alloc_context3()中分配的编解码器特定数据。 随后的调用什么都不做。
void | avsubtitle_free (AVSubtitle *sub) |
参数:sub:用来释放的AVSubtitle