首次提交,可运行。但有两问题:1.画质不佳, 2.无音频
This commit is contained in:
41
FrameConvert.h
Normal file
41
FrameConvert.h
Normal file
@@ -0,0 +1,41 @@
|
||||
#pragma once
|
||||
|
||||
extern "C"
|
||||
{
|
||||
#include<libavutil/pixfmt.h>
|
||||
#include<libswscale/swscale.h>
|
||||
}
|
||||
|
||||
typedef uint8_t *FrameData[8];
|
||||
typedef int FrameLinesize[8];
|
||||
|
||||
class FrameConvert
|
||||
{
|
||||
AVPixelFormat src_fmt,dst_fmt;
|
||||
uint32_t width,height;
|
||||
|
||||
SwsContext *ctx;
|
||||
|
||||
FrameData dst_data;
|
||||
FrameLinesize dst_linesize;
|
||||
|
||||
private:
|
||||
|
||||
friend FrameConvert *InitFrameConvert(enum AVPixelFormat dst,enum AVPixelFormat src,const uint32_t w,const uint32_t h);
|
||||
|
||||
FrameConvert(SwsContext *sc,enum AVPixelFormat dst,enum AVPixelFormat src,const uint32_t w,const uint32_t h);
|
||||
|
||||
public:
|
||||
|
||||
~FrameConvert();
|
||||
|
||||
void Convert(const FrameData &src_data,const FrameLinesize &src_linesize);
|
||||
|
||||
const FrameData &GetData()const{return dst_data;}
|
||||
const FrameLinesize &GetLinesize()const{return dst_linesize;}
|
||||
|
||||
const uint8_t *GetData(const int index)const{return dst_data[index];}
|
||||
const int GetLinesize(const int index)const{return dst_linesize[index];}
|
||||
};//class FrameConvert
|
||||
|
||||
FrameConvert *InitFrameConvert(enum AVPixelFormat dst,enum AVPixelFormat src,const uint32_t w,const uint32_t h);
|
Reference in New Issue
Block a user