C/C++编程:libavcodec库学习

编码/解码库

模组

API

avcodec_alloc_context3

签名

AVCodecContext* avcodec_alloc_context3	(	const AVCodec * 	codec	)	

功能

  • 分配一个AVCodecContext,并将其字段设置为默认值。
  • 结果由avcodec_free_context()释放

参数

  • 如果非null,分配私有数据并初始化给定编解码器的默认值。使用不同的编解码器调用avcodec_open2()是非法的。
  • 如果为NULL,那么特定于编解码器的默认值将不会被初始化,这可能会导致默认设置不理想(这对于编码器(例如libx264)尤为重要)。

返回值

  • 一个用默认值填充的AVCodecContext,失败时为NULL。

avcodec_free_context

签名

void avcodec_free_context	(	AVCodecContext ** 	avctx	)	

功能

  • 释放编解码器上下文以及与之关联的所有内容,然后将NULL写入提供的指针。

avcodec_parameters_from_context

签名

int avcodec_parameters_from_context	(	AVCodecParameters * 	par,const AVCodecContext * 	codec )	

功能

  • 根据提供的解编码器上下文中的值填充参数结构
  • par中任何已分配的字段都将被释放,并替换为编解码器中相应字段的副本。

返回值

  • 成功时>= 0,失败时为负的AVERROR代码

avcodec_parameters_to_context

签名

int avcodec_parameters_to_context	(	AVCodecContext * 	codec,const AVCodecParameters * 	par )		

功能

  • 根据提供的编解码器参数的值填充编解码器上下文。
  • 在编解码器中,任何在par中有对应字段的已分配字段将被释放,并被替换为par中对应字段的副本。在编解码器中,没有对应字段的字段将不被修改。

返回值

  • 成功时>= 0,失败时为负的AVERROR代码

猜你喜欢

转载自blog.csdn.net/zhizhengguan/article/details/115247699