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 配对使用。