FFmpeg解码H264视频流

    解码H264视频流数据,支持输出RGB24或YUV420格式,非解码视频文件;

代码如下:

FFmpegVideoDecoder.h

#include <libavcodec/avcodec.h>
 
/**
 视频流解码器初始化
 @param ctx 解码参数结构体AVCodecParameters
 @see FFmpeg_H264DecoderInit,此为解码H264视频流
 @return 初始化成功返回0,否则<0
 */
int FFmpeg_VideoDecoderInit(AVCodecParameters *ctx);
 
/**
 H264视频流解码器初始化
 @return 初始化成功返回0,否则<0
 */
int FFmpeg_H264DecoderInit(void);
 
/**
 释放解码器
 @return 初始化成功返回0,否则<0
 */
int FFmpeg_VideoDecoderRelease(void);
 
//return 0:暂未收到解码数据,-1:解码失败,1:解码成功
 
/**
 解码视频流数据
 @param inbuf 视频裸流数据
 @param inbufSize 视频裸流数据大小
 @param framePara 接收帧参数数组:{width,height,linesize1,linesiz2,linesize3}
 @param outRGBBuf 输出RGB数据(若已申请内存)
 @param outYUVBuf 输出YUV数据(若已申请内存)
 @return 成功返回解码数据帧大小,否则<=0
 */
int FFmpeg_H264Decode(unsigned char * inbuf, int inbufSize, int *framePara, unsigned ch

版权声明:本文为fanyun_01原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。