嵌入式就是瞎折腾。奉献一些过时的代码,让嵌入式的兄弟少折腾一些吧。
这一篇是怎么解码的,本篇用的MPEG2VIDEO解码。
头文件
#ifndef _HW_MPV2_DECODER
#define _HW_MPV2_DECODER
class HwMpv2Decoder
{
public:
HwMpv2Decoder();
~HwMpv2Decoder();
int Open(unsigned int width, unsigned int height);
void Close();
int Decode(int keyframe, void* data, int len, void** phyY, void** phyCbCr, bool save);
private:
int InitCodec(void* data, int len);
private:
void* m_pHandle;
void* m_pVirInBuf; // 解码芯片的缓冲区
int m_nMaxFrameSize; // 最大的输入帧大小
bool m_bInitOK;
public:
char* pYuvPicture;
int nYuvSize;
int nImgWidth, nImgHeight;
int nBufWidth, nBufHeight;
//void* pPhyY, *pPhyC; // 初始化时得到的物理地址
};
#endif
cpp文件
#include <stdio.h>
#include <string.h>
#include "HwMpv2Decoder.h"
#include "../mfc/SsbSipMfcApi.h"
#include "../mfc/MfcCo