行业垂直门户网站

设为首页 | 加入收藏

您当前的位置:北极星电力软件网 > 技术文章 > 正文

基于S3C6410的视频监控系统的设计与实现(3)

3.2 视频编码程序

视频编码部分直接采用S3C6410的MFC视频编解码模块进行视频的编码。由于采用硬件编码,编码效率非常高。同时在程序的设计方面,不用涉及具体的硬件细节,只需要通过S3C6410提供的驱动模块进行。编码部分的流程图如图4所示。

 

下面列出视频编码部分的关键代码。

hOpen=open(MFC_DEV_NAME,O_RDWR | O_NDELAY);

上一行代码打开MFC设备。由预定义的宏MFC_DEV_NAME指定MFC设备文件路径。

模块的初始化部分需要指定编码帧的长宽,编码帧的速率等参数。初始化的这些信息并没有直接应用于设备,而是存储于一个编码参数的结构体类型参数pCTX中,然后用下面的代码进行参数设置,也即将参数应用于实际的设备。

ioctl(pCTX->hOpen,cmd_init,&mfc_args);

编码部分用下一行代码实现。

ioetl(pCTX->hOpen,cmd_exe,&mfc_args);

在编码完成后,可以通过函数获取编码后视频帧的内存地址。函数原型为:

void*SsbSipMPEG4EncodeGetOutBuf(vold*openHandle,long*size)。

最后关闭设备文件。

close(pCTX->hOpen);

同样,对于一些流程控制部分的代码,限于篇幅,没有进行详细的描述。

来源:现代电子技术
投稿联系:陈女士  13693626116  邮箱:chenchen#bjxmail.com(请将#换成@)
《基于S3C6410的视频监控系统的设计与实现 - 北极星电力软件网》的相关文章
基于S3C6410的视频监控系统的设计与实现 - 北极星电力软件网的相关新闻
最新新闻
相关专题