最近基于ffmpeg做了个h264视频流解码库,支持多路同时解码,主要提供的对外接口如下 :
#ifdef _H264DECODER_EXPORTS
#define H264DECODER_API __declspec(dllexport)
#else
#define H264DECODER_API __declspec(dllimport)
#endif
#define PLAYHANDLE void *
#ifdef __cplusplus
extern "C" {
#endif
typedef int (CALLBACK *LPCALLYUVData)(int decHandle, unsigned char* pYUVData, unsigned long lSize,
unsigned long dwWidth,unsigned long dwHeight, void* lpUser);
H264DECODER_API int FAR PASCAL H264Decoder_Init();
H264DECODER_API int FAR PASCAL H264Decoder_Open(); // 返回解码句柄
H264DECODER_API int FAR PASCAL H264Decoder_Close(int nDecHandle);
H264DECODER_API int FAR PASCAL H264Decoder_SetYuvCallback(int nDecHandle,LPCALLYUVData pCallBack,DWORD dwContext); // 回调出 yuv 420p 数据
H264DECODER_API int FAR PASCAL H264Decoder_InputData(int nDecHandle,void* pBuf,DWORD dwDataLen); // 码流输入
H264DECODER_API int FAR PASCAL H264Decoder_Fini();
#ifdef __cplusplus
} 这只是个初始版本,最终我想把音频解码、PS流、TS流解码也做进去
编译好的release版 动态库 lib 和 头文件 下载地址:
本文介绍了一个基于FFmpeg实现的H264视频流解码库,支持多路同时解码,并提供了详细的对外接口说明。该库计划进一步扩展音频解码及PS、TS流解码功能。
553

被折叠的 条评论
为什么被折叠?



