Android下,个人认为硬解就是通过芯片自带的加速器进行解码,无论用的是DSP还是硬布线的解码器。
软解就是通过软件使用ARM核心进行解码,ARM作为一个通用核心做视频解码,自然效能不会太高,并且依赖软件的算法,一般普遍使用的就是FFMPEG对ARM进行优化,调用neon等。
不过就我个人的使用经验而言,1GHz的Cortex-A8处理器,使用rockplayer,vplayer等基于FFMPEG的软件解码,只能勉强解码480p的视频。对于848×480,24分钟100M左右的RMVB视频,大部分时间都无法达到满帧,在遇到高码率的动态场景时,帧数降到个位数,会有很明显的卡顿掉帧。
在Tegra 2的A9平台上表现稍好,仍不能满帧。估计是播放软件无法完全利用2个核心,如果两个核心充分利用,解决480p RMVB应该没有问题。
总体而言,1GHz A8处理器软解RMVB基本是RK27 MP4的水平。如果你的眼睛比较挑剔,就要注意了。一些A8软解720p RMVB流畅的说法,基本都是不实际的。
==========ARM11========================
VIA WM8650
猜测为65nm工艺
ARM11 600MHz,300MHz DSP,支持720p硬件解码
256M DDR2,位宽未知
GPU未知
VIA的新一代芯片,WM8505的升级版。ARM核心从ARM9 300/400MHz升级到ARM11 600MHz,并且能进一步提升到800MHz,性能基本达到RK2818和TCC8902的水平。视频能力从基本没有提升到720p硬件解码,虽然相对TCC的1080p解码有差距,但也达到了RK28的水平。
软件方面,终于提供了Android 2.1的支持,相比上一代的WM8505只能支持Android 1.6有了进步。但是在A8/A9主控搭载Android 2.2/2.3逐渐普及的趋势下,这款方案又将过时,只能作为低端入门的选择。据报道,售价将在550元以下。
==========Cortex-A8========================
65nm工艺,其中ARM核心为GP工艺,视频解码
部分为LP工艺
Cortex-A8 800MHz, 256K L2 Cache
512M DDR2,32bit
视频子系统:硬解
多格式,H.264,VC-1,MPEG4,RV最高720p(大部分开发商都没做RV的硬解支持),实测可播放部分1080p视频
GPU: Adreno 200(AMD Z430)
三角形生产率:27M
像素填充率:166M
Rockchip RK2908
本帖最后由 seasky 于 2011-7-8 23:40 编辑
文章来源于
网络,仅供参考。
1.一些背景介绍
1.1 ARM核心
ARM核心是主控SOC中的重要部分,
系统的日常应用都由ARM核心来完成,因此ARM核心的效能很大程度上跟用户体验有关。ARM公司一般用DMIPS/MHz来标称ARM核心的性能。DMIPS是Dhrystone Million Instructions executed Per Second的缩写,反映核心的整数计算能力。但Dhrystone算法代码本身比较叫,可以完全放到Cache中执行,因此反映的只是核心能力,并不能反映缓存、内存I/O性能。
能支持智能系统的ARM核心有以下几类:
ARM9:指令集ARMv5,5级流水线,1.1DMIPS/MHz
ARM10E:指令集ARMv5,intel获得授权后发展的,如PXA270,PXA210系列,6/7级流水线,1.35DMIPS/MHz
ARM11:指令集ARMv6,8级流水线,1.25DMIPS/MHz
Cortex-A8:指令集ARMv7-A,13级整数流水线,超标量双发射,2.0DMIPS/MHz,标配Neon,不支持多核
Scorpion:指令集ARMv7-A,高通获得指令集授权后在A8的基础上
设计的。13级整数流水线,超标量双发射,部分乱序执行,2.1DMIPS/MHz,标配Neon,支持多核
Cortex-A9:指令集ARMv7-A,8级整数流水线,超标量双发射,乱序执行,2.5DMIPS/MHz,可选配Neon/VFPv3,支持多核
Cortex-A5:指令集ARMv7-A,8级整数流水线,1.57DMIPS/MHz,可选配Neon/VFPv3,支持多核
Cortex-A15:指令集ARMv7-A,超标量,乱序执行,可选配Neon/VFPv4,支持多核
× 目前只有指令集ARMv7-A的核心才能在Android2.2上支持Adobe Flash。
× Neon是什么?Neon是ARM核心附带的浮点SIMD引擎,可以把它当一个DSP