请大家测试下:俺优化的android2.3版本的H264解码器

sno_guo 2012-12-29 10:28:53
下载地址在:http://www.cnblogs.com/snoGuo/archive/2012/12/29/2839343.html


说明性文字:
优化原则:在不跳帧,不失色,不失真的情况下只对H264压缩的视频进行处理,不做播放器,不做音频,只做高性能的视频解码器。
目前(20121229)优化结果:在1280*544和1280*720的视频文件中,我的解码器要优于市面上的《mobo播放器》,《开讯播放器》等播放器的解码播放速度。
优化的内容是:完全用汇编重写了解码端h264的预测算法、IDCT算法、反量化算法、MC算法、loop_filter算法。

----我的测试条件:手机C8650,配置:CPU:MSM7627-600MHZ,RAM:512M,android2.3.6

测试结果(baseline,mainline,highline解码速度相差不是很大):
352*288的H264视频:完全流畅播放
512*288的H264视频:每秒播放20--25帧
704*576的H264视频:每秒播放20帧左右
1280*544的H264视频:每秒解码12-15帧,播放8--9帧(主要是YUV420转rgb565这里太浪费时间,还在优化中)
1280*720的H264视频:每秒解码13-16帧,播放8--10帧(也是YUV420转rgb565这里浪费时间),
测试结果:1280*544和1280*720的视频文件中,我的解码器要远远优于市面上的mobo播放器,开讯播放器等播放器的解码播放速度。
------测试文件
可以在这里找到720P,1080P的测试文件:http://www.h264info.com/clips.html
我自己上传了几个704x576, 352x288的测试文件:
http://files.cnblogs.com/snoGuo/DaHuaDVR352x288BaseLine.dav.rar
http://files.cnblogs.com/snoGuo/DaHuaDVR704x576_BaseLine.h264.rar
http://files.cnblogs.com/snoGuo/704x576_pal_baseline.rar
-----你如果测试
则:需要您的手机CPU是armv6架构的,并且支持vfpv3。
视频条件: 视频采样点是8位,完全符合H264编码的视频文件(打包成多媒体格式也可以),采样格式是YUV420。(因为一直从事安防行业,就只按照安防的通用格式来)
------下一步的计划
利用ARM的vfp协处理器汇编指令,争取把YUV420转RGB565的转换速度优化到10ms(720P)一下
然后转到ARMV7上,完全采用NEON的汇编来做. 因为现在千元手机大多是ARMV7架构的了.
------对前景的展望
现在市面上的很多手机已经是双核,1G的配置,这样的手机才1000元不到,有些甚至是500--700元,在这样的低价策略下,我想芯片厂商是不会在里面增加一个高性能H264解码IP核的,
故个人认为软解是有一定的市场。
------关于我:
熟悉的有:C/C++,ARM汇编,ARM体系结构,嵌入式linux编程,H264解码算法,视频知识等。

不熟悉的有:JAVA,UI设计,各种网络协议。

我会一直在H264的解码算法这块进行优化,不做播放器,只做高性能的H264解码器,

如果您有兴趣,也希望在音视频或网络协议有点成绩的话,希望和我联系:sno_guo#163.com
谢谢
----版本说明(计划每两周升级一个版本):
版本1,sno264Player_v1.0.0.apk
时间:2012年12月29日 21时50分59秒
说明:第一个版本
链接地址:http://files.cnblogs.com/snoGuo/sno264Player_v1.0.0.apk
版本2,....(正在开发,)
...全文
934 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
drmumu 2014-10-17
  • 打赏
  • 举报
回复
支持,最近正好要做一个H264的播放器的,
mmsmpr 2014-07-31
  • 打赏
  • 举报
回复
到今天 手机一般都是armv7 1G以上了,不用再做刻意的优化了。 android h264 编码解码演示: http://download.csdn.net/download/hanlei0901/7684017
lidedongsn 2013-12-10
  • 打赏
  • 举报
回复
嗯,的确,软解有很大的发展空间,最近也在研究ffmpeg的优化
turkeyzhu 2013-10-29
  • 打赏
  • 举报
回复
小菜吧,手机的都是软解吧,硬件的硬解好一点,目前做出的硬解,要做,单点6路编解码,无线传输,目前ESEYE数据正确。
carson_xuan 2013-10-28
  • 打赏
  • 举报
回复
很希望能与LZ探讨arm 指令集优化视频解码方面的东西,对于neon指令用来优化,确实可以提升很大的性能,之前用来优化过memorycopy函数,性能能提升30%以上呢。
sno_guo 2013-04-24
  • 打赏
  • 举报
回复
怎么入手? 其实我也不清楚怎么入手, 想做什么 直接去做就可以了,我感觉学arm的两个工具是:google搜索+多练习,就可以了!!! 呵呵,刚才忘记写自己的 播放器地址了:如下http://www.cnblogs.com/guobaPlayer/
along0612 2013-04-24
  • 打赏
  • 举报
回复
楼主,你好,我也熟悉点音视频编解码相关的知识,现在想入门学习ARM汇编,怎么入手?
sno_guo 2013-04-24
  • 打赏
  • 举报
回复
做成一个播放器了,有兴趣的 关注下哦.谢谢....
sno_guo 2013-03-06
  • 打赏
  • 举报
回复
这个是春节前就已经优化完了,我也更新了那个版本,其实YUV420转 RGB565这个 如果GPU支持的话,完全可以交给 GPU来处理,这个android的awsomeplayer有例子, 我现在neon这个也优化完了(在ffmpeg优化neon基础上,针对安防行业的yuv420的h264特点进行的优化)。 呵呵,谢谢关注。
tyong 2013-03-04
  • 打赏
  • 举报
回复
YUV420转rgb565优化得怎么样了?
盘股之 2013-01-11
  • 打赏
  • 举报
回复
引用 3 楼 sno_guo 的回复:
这个好像是的,2013年的上半年估计大部分1000元一下的手机都会采用MTK6577芯片或MTK公司别的SoC来作为主处理器,但MTK6577的硬解是真的不好,你可以搜索下MTK6577的相关帖子就知道了。 再说了,我这个解码器的定位就在千元手机的播放器, 那么千元手机的利润有多高,除掉各种专利费外,芯片公司能赚多少钱,在这样微薄的利润的情况下,1G双核的芯片,完全……
有道理,另外我觉得,之所以采用硬解更多的还是考虑到功耗和流媒体系统优化这部分。 但是据我所知,很多网上的视频即使是有些手机使用了号称硬件H264解码的高档SOC(像exynos系列),都不能完全应付,最后不得已只能切换到软件解码器,所以这也是软解的一种需求。
sno_guo 2013-01-09
  • 打赏
  • 举报
回复
我说说我的入门方式吧: 先装个ubuntu的系统,熟悉下各种linux的命令,然后下载ffmpeg,编译,运行,然后读代码,哪里不懂的去调试或打印出来。
CodeC 2013-01-08
  • 打赏
  • 举报
回复
想学..如何入门
sno_guo 2013-01-03
  • 打赏
  • 举报
回复
所以我认为 软解还是有前途呢,即使普通播放器没有用处了,但别的播放器也会有的,比如安防行业的手机客户端等。
sno_guo 2013-01-03
  • 打赏
  • 举报
回复
这个好像是的,2013年的上半年估计大部分1000元一下的手机都会采用MTK6577芯片或MTK公司别的SoC来作为主处理器,但MTK6577的硬解是真的不好,你可以搜索下MTK6577的相关帖子就知道了。 再说了,我这个解码器的定位就在千元手机的播放器, 那么千元手机的利润有多高,除掉各种专利费外,芯片公司能赚多少钱,在这样微薄的利润的情况下,1G双核的芯片,完全可以软解, 他为什么还要在增加一个硬解码来增加成本呢,如果是我的话,一定不会增加硬解,即使增加,也不可能把所有的视频压缩算法都包含进去。
盘股之 2013-01-02
  • 打赏
  • 举报
回复
楼主的工作值得肯定啊! 虽然现在市面上的手机基本都带硬解码,但是这种钻研精神值得学习! 如果能开放源代码的话,我想会有很多人参与的。
sno_guo 2012-12-29
  • 打赏
  • 举报
回复
注: 版主如果感觉我放错地方了,希望联系我,谢谢

2,543

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 多媒体/流媒体开发
社区管理员
  • 多媒体/流媒体开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧