12.AVCodecContext 结构体

AVCodecContext 结构体

typedef struct AVCodecContext
{
	int bit_rate;
	
	int frame_number;
	
	//扩展数据,如 mov 格式中 audio trak 中 aac 格式中 esds 的附加解码信息。
	unsigned char *extradata;
	
	//扩展数据的 size
	int extradata_size;
	
	//视频的原始的宽度与高度
	int width, height; // 此逻辑段仅针对视频
	
	//视频一帧图像的格式,如 YUV420
	enum PixelFormat pix_fmt;
	
	//音频的采样率
	int sample_rate;
	
	//音频的声道的数目
	int channels;
	
	int bits_per_sample;
	
	int block_align;
	
	// 指向相应的解码器,如:ff_h264_decoder
	struct AVCodec *codec;
	
	//指向具体相应的解码器的 context,如 H264Context
	void *priv_data;
	
	//公共操作函数
	int(*get_buffer)(struct AVCodecContext *c, AVFrame *pic);
	void(*release_buffer)(struct AVCodecContext *c, AVFrame *pic);
	int(*reget_buffer)(struct AVCodecContext *c, AVFrame *pic);
	
	...
	
}AVCodecContext;

说明:
AVCodecContext 结构表示程序运行的当前 Codec 使用的上下文,
着重于所有 Codec 共有的属性(并且是在程序运行时才能确定其值)和关联其他结构的字段。
extradata 和 extradata_size 两个字段表述了相应 Codec 使用的私有数据;
codec 字段关联相应的编解码器;
priv_data 字段关联各个具体编解码器独有的属性 context,
和 AVCodec 结构中的 priv_data_size 配对使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值