S3C6410硬件解码 QT4版(附测试程序下载)

http://blog.chinaunix.net/uid-20702674-id-3315801.html

 这个基于QT4设计的S3C6410解码器是最近才完成的。其实早在2010年的时候我就已经设计好了C版的后台解码器,现在的QT4版正是由C版进化过来的,虽然改成QT版后功能上还有些不完善,但是解码效果是赶得上同类播放器的水平了。

需要注意的是,我的解码程序并非基于开源MPLAYER MFC API组合设计,我是自己重新设计一个文件解包模块 三星MFC API 音视频同步算法组合而成的。那么有的朋友时常会问我,何苦自己设计呢,用开源MPLAYER移植就可以了呀!其实我也很想这样设计,因为网上很多朋友正是用MPLAYER调用MFC API来实现视频硬解的,但是我看了几页MPAYER源码后就头胀得利害,在没有系统的指导资料和相关经验下真的很难去做,我与其花两个月去研究它的代码,还不如自己写一个程序,在我看来自己写一个程序要比看懂别人的程序容易的多。那么接下来废话少讲,先发几张在自己UI系统上运行的效果图:
 
相信大家都已经看出来了,多个同时解码。三星文档里面有例子是可以同时4个一硬解的,也就是说S3C6410本来就支持多个同时解码或编码,但问题是有很人在设计解码程序时并未考虑这点,只解码一个视频。还有一点,大多数朋友在用MPLAYER时只顾调用MFC API进行解码,并未考虑到画面缩放特性,注意到三星例子里有调用/dev/s3c-pp文件了吗,在没发挥出PP缩放时你的视频画面就是固定的,不可以移动和调整画面大小。也许是因为MPLAYER的程序操作太过于复杂,在调用了MFC接口后就很难再去控制PP缩放功能了,这是我不去深究MPLAYER代码的主要原因。那么我自己设计师的程序就把PP这一缩放特性很好的发挥出来了,实时根据QT窗体大小而调整视频画面的缩放,基本做到和电脑上那样的播放效果。
当然,还有一点非常值得大家注意的,QT4嵌入式版本的框架在ARM平台方面并不支持调入视频后台和前台处理,也就是说我们用ARM平台播放视频时的画片始终是在前台,不能像电脑上那样前台后台切换。
 
 
 
测试程序在这里下载,复制到开发板后在终端里输入 ./media xx.avi 即可运行。
http://www.163disk.com/fileview_725245.html
 
如果你有什么意见和想法的可与本人来信
453722265@qq.com
 
如果对本人的手机开发板感兴趣的可以打开以下网址
http://yezhu1.taobao.com/
posted @ 2013-08-26 16:15  星语160523  阅读(410)  评论(0编辑  收藏  举报