今天继续讲解ffmpeg结构体AvCodec和AVIOContext以便加深对ffmpge的理解
一 . AVCodec的讲解
AVCodec结构体是有关codec的结构体。在文件"libavcodec/avcodec.h" 中。
其中解码相关的变量都很直观:
const char *name:Codec的名字,此例子中为h264。
enum AVMediaType type:媒体类型:视频。
enum AVCodecID id:Codec的ID,比如AV_CODEC_ID_H264。
重要的是其中的几个函数指针:decode()等,将在以后介绍。
二 .AVIOContext的讲解
解码某mpeg-4码流(raw format),AVFormat中的AVIOContext *pb的值如图:
其中和视频解码相关的重要结构体包括:
unsigned char *buffer:指向数据开始的位置。一般就是指向文件的开头。如上图中的buffer,其前几个数据为00 00 01 b0,正是此mpeg-4文件的开头。
int buffer_size:buffer的最大值,一般为0x8000即32768.
unsigned char *buf_ptr:当前在