项目环境配置与上一篇博客http://blog.csdn.net/adelin100/article/details/52869239相同。
一:具体的解码流程:
1.读取码流数据
2.解析数据,是否尚未解析出一个包就已经用完?是返回1,否继续
3.是否解析出一个完整的包?是则继续,否则返回上一步继续解析
4.调用avcodec_decode_video2进行解码
5.是否解码出一帧完整的图像?是则继续,否则返回上一步继续解码
6.写出图像数据 -> 返回步骤2继续解析。
二:解码的代码
包含的头文件VideoEncoder.h
#ifndef _VIDEO_DECODING_HEAD
#define _VIDEO_DECODING_HEAD
extern "C"{
#include "libavcodec/avcodec.h"
#include "libavutil/opt.h"
#include "libavutil/channel_layout.h"
#include "libavutil/common.h"
#inc