新闻中心

EEPW首页 > 消费电子 > 设计应用 > 基于i.MX27的网络音视频通信的实现

基于i.MX27的网络音视频通信的实现

作者:缐晓林 游向东 潘力 北京邮电大学信息与通信工程学院 时间:2009-09-08 来源:电子产品世界 收藏

  添加H264硬件视频编解码器

本文引用地址:https://www.eepw.com.cn/article/97894.htm

  1.6.0本身具有视频编解码功能,默认具有H263 、mpeg4、mjpeg等编解码器,我们要仿照这些编解码器的源码结构添加H264解码器,重要的是将编解码器的软件编解码部分替换成的VPU(视频处理单元)来进行硬件编解码,因为的CPU处理速度有限,远及不上PC的CPU,而的VPU则是专门进行视频编解码处理的协处理器,在处理视频数据的时候是不需要CPU参与。

  代码的添加过程如下:在向注册编解码器的地方添加H264编解码器,使得具备H264编解码器的功能选项,注册的内容包括:编解码器id,一些名称文本等标识符,编解码器初始化,视频数据预处理、处理、后处理,编解码器销毁(释放系统资源)等函数链接,编解码器方法(进行基本视频编解码处理之外的操作)等。注册好编解码器后,就是如何真正实现编解码器对视频流的编解码处理了,也就是编解码器的初始化,视频数据预处理、处理、后处理,编解码器销毁等函数的实现。视频处理的软件部分主要包括内核空间的驱动和编解码库以及用户空间的应用程序。内核驱动负责系统控制和系统资源的申请和释放,提供一些IOCTRL接口给用户空间的应用程序使用调配系统硬件资源;用户空间的应用程序调用适当的IOCTRL和编解码库函数来实现复杂的编解码系统。

  VPU的内核驱动主要包括以下功能:模块初始化、器件初始化、中断服务策略、文件操作策略、器件关闭、编解码库、系统IO操作等。

  视频编解码的计算和绝大部分视频流的压缩/解压缩都是由i.MX27的硬件VPU单元来完成的,这样软件就不需要过多的控制或者时间消耗等来实现一个复杂的编解码系统。VPU的硬件数据流可以用一个mpeg4格式数据的解码实现过程展示(见图2)。

  硬件编解码速度快、效率高、功耗和热功耗低,节省了CPU的资源,实现了良好画质的传输,这一点充分体现了i.MX27芯片在视频处理方面的优势。



评论


相关推荐

技术专区

关闭