代码拉取完成,页面将自动刷新
#pragma once
#pragma include_alias( "dxtrans.h", "qedit.h" )
#define __IDxtCompositor_INTERFACE_DEFINED__
#define __IDxtAlphaSetter_INTERFACE_DEFINED__
#define __IDxtJpeg_INTERFACE_DEFINED__
#define __IDxtKey_INTERFACE_DEFINED__
#include "qedit.h"
//---------------ṹ-----------------
#include <vector>
using namespace std;
struct GrabDataInfo
{
BYTE *pData;
int nDataSize;
double dSampleTime;
GrabDataInfo()
{
pData = NULL;
nDataSize = 0;
dSampleTime = 0.0;
};
GrabDataInfo(const GrabDataInfo &other)
{
*this = other;
};
GrabDataInfo& operator = (const GrabDataInfo& other)
{
pData = other.pData;
nDataSize = other.nDataSize;
dSampleTime = other.dSampleTime;
return *this;
};
};
typedef vector<GrabDataInfo> ASGrabDataInfoArray;
//---------------ṹ-----------------
class CSampleGrabberCB :
public ISampleGrabberCB
{
public:
CSampleGrabberCB(void);
virtual ~CSampleGrabberCB(void);
public:
long lWidth;
long lHeight;
BOOL m_bBeginEncode;
BOOL m_bFirst;
BOOL m_bEndEncode;
//CString m_sSavePath;
ULONG m_ulBitRate;
//FILE* m_fp_dst;
//x264_param_t* m_pParam;
//x264_picture_t* m_pPic_in;
//x264_picture_t* m_pPic_out;
//x264_t* m_pHandle;
int m_nFrameIndex;
ASGrabDataInfoArray m_arrGrabDataArr;
//CMutex m_mxMsgLog;
HANDLE m_hMainExitEvent;
public:
ULONG STDMETHODCALLTYPE AddRef();
ULONG STDMETHODCALLTYPE Release();
HRESULT STDMETHODCALLTYPE QueryInterface(REFIID riid, void ** ppv);
HRESULT STDMETHODCALLTYPE SampleCB(double SampleTime, IMediaSample *pSample);
HRESULT STDMETHODCALLTYPE BufferCB(double SampleTime, BYTE *pBuffer, long BufferLen);
BOOL RGB2YUV(LPBYTE RgbBuf, UINT nWidth, UINT nHeight, LPBYTE yuvBuf, unsigned long *len);
void VideoDeal();
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。