1 Star 0 Fork 1

小飞not/ffmpeg_sample-H264_to_cv-Mat

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
H264Decoder.h 1.17 KB
一键复制 编辑 原始数据 按行查看 历史
hiro 提交于 2017-07-03 18:28 . add some H264 frame and a sample
//
// Created by curi on 17-6-28.
//
#ifndef OPENCVIDEO_MASTER_H264DECODER_H
#define OPENCVIDEO_MASTER_H264DECODER_H
//#define __STDC_CONSTANT_MACROS
#include <stdio.h>
#include <unistd.h>
// Opencv
#include <opencv/cv.h>
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/objdetect.hpp>
extern "C" {
//#include "libavutil/avutil.h"
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
//新版里的图像转换结构需要引入的头文件
#include "libswscale/swscale.h"
};
#if LIBAVCODEC_VERSION_INT < AV_VERSION_INT(55,28,1)
#define av_frame_alloc avcodec_alloc_frame
#endif
class H264Decoder {
public :
H264Decoder();
// ~H264Decoder(); TODO
void init();
void decode(unsigned char *inputbuf, size_t size);
void play();
cv::Mat getMat();
private:
const AVCodec *codec;
AVCodecContext *c = nullptr;
int frame_count;
AVFrame *frame;
AVPacket avpkt;
AVFrame *pFrameBGR;
int BGRsize;
uint8_t *out_buffer = nullptr;
struct SwsContext *img_convert_ctx;
cv::Mat pCvMat;
bool matReady;
};
#endif //OPENCVIDEO_MASTER_H264DECODER_H
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
1
https://gitee.com/xiaofeinot/ffmpeg_sample-H264_to_cv-Mat.git
git@gitee.com:xiaofeinot/ffmpeg_sample-H264_to_cv-Mat.git
xiaofeinot
ffmpeg_sample-H264_to_cv-Mat
ffmpeg_sample-H264_to_cv-Mat
master

搜索帮助

0d507c66 1850385 C8b1a773 1850385