必须使用av_frame_alloc()函数分配, av_frame_free()函数释放
typedef struct AVFrame {
#define AV_NUM_DATA_POINTERS 8
uint8_t *data[AV_NUM_DATA_POINTERS]; // 数据存储
int linesize[AV_NUM_DATA_POINTERS]; // 对于视频 每一行有多少字节,会进行对齐
uint8_t **extended_data; // 对于视频,指向data
int width, height; // 视频像素宽高
int nb_samples; // 音频相关
int format; // 视频enum AVPixelFormat, 音频 AVSampleFormat
int key_frame; // 是否是关键帧
enum AVPictureType pict_type; // 帧类型,P、B、I、SI等
AVRational sample_aspect_ratio; // 视频帧的宽高比
int64_t pts; // 显示时间戳
#if FF_API_PKT_PTS
attribute_deprecated
int64_t pkt_pts;
#endif
int64_t pkt_dts; // 解码时间戳,从AVPACKET copy来的,如果没有pts,用此代替
int coded_picture_number; //比特流顺序中的图片序号
int display_picture_number; //展示顺序中的图片序号
int quality; // 质量
void *opaque;
#if FF_API_ERROR_FRAME
attribute_deprecated
uint64_t error[AV_NUM_DATA_POINTERS];
#endif
i