当然我也是粘贴的,木有那么专业的。
视频的“硬解”与“软解”
在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流畅的说法,基本都是不实际的。
用ray1直接硬解一些低码率的1080p的没有问题。
视频的“硬解”与“软解”
在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流畅的说法,基本都是不实际的。
用ray1直接硬解一些低码率的1080p的没有问题。