老问题,不要说我弱智,关于硬解视频的
gpu吧
全部回复
仅看楼主
level 8
今天在78看到吧友讨论硬解靠gpu还是dsp,https://tieba.baidu.com/p/2217252705 ,看了好多,没有弄懂。。。
2013年03月18日 08点03分 1
level 8
https://tieba.baidu.com/p/1347795486又有好心的吧友给了p神的帖子[瀑布汗~],顿时压力山大呀,求详细拆解呀@crayon嘻哈小新
2013年03月18日 08点03分 2
level 8
DSP和CPU一样,执行接收到的指令,但相比于偏向于控制的 CPU的指令,DSP指令更偏重于算术运算,支持的数 据宽度更大,运算更复杂。软件将常见的编解码算法 分解成DSP支持的运算,然后通过DSP执行。DSP的 常用技术有SIMD(单指令多数据,比如“一次加16个 数据的加法”,这样就可以一次处理16个像素点), VLIW(超长指令字,一条指令包含可以并行执行的 多次运算)等等。
为了增强CPU对于大数据量的并行任务的处理能力, 现在流行在处理器里面增加协处理器接口,可 以理解 为内部的一个协助CPU的小单元。协处理器执行浮点 计算和SIMD计算指令,能够部分增强多媒体的性能 。这个接口是CPU内部的接口,不在外部总线上,因 此协处理器算CPU内部单元。ARM的NEON就是协处理器。
2013年03月18日 08点03分 7
level 8
我们手机上说的硬解,应该是以下两种
1.ARM/MIPS在CPU里面附带多媒体加速单元, 或协处理器 这个比较典型的就是arm v7架构里面的neon, 能够支持高级SIMD和浮点运算指令(选配的,tegra2就没有),这个可以理解伪部分硬件加速或者
2.TI/NV/高通等等厂商在做soc的时候,集成的GPU或者DSP或者其它什么多媒体加速单元 支持通用的或者各家自己的指令集或者接口,这个可以理解为真正的硬解。
视频解码任务的特点是,它没有明显的先后关系,也没有条件判断,比如处 理一帧的画面,这么多像素点,可以一起解码,不同 的像素点之间没有先后关系。具有这种特点的任务一 般是科学计算、信号处理或者多媒体。执行多媒体任 务,处理器需要有强大的并行能力。硬件上可以专门 针对某种解码算法写单独的硬件ASIC逻辑,不需要将 解码算法分解成加减乘除等运算,速度最快代价最小 ,但是没有通用性。
2013年03月18日 08点03分 8
level 8
1.3 视频的“硬解”与“软解”
在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流畅的说法,基本都是不实际的。来自度娘文档
2013年03月18日 08点03分 9
level 12
我感觉硬件其实就是软件算法的电路固化,加法,减法,乘法,除法是可以完全通过软件编程,逻辑判断,位移等运算来完成的,,,我想DSP的算法应该也是可以通过编程实现的,CPU作为通用处理器,并没有对特定程序算法进行设计,所以用CPU进行视频解码肯定效率就不行了,,,NEON其实很像x86的SSE指令集,SIMD也就是单指令多数据流,应该是通常说的向量机,模型应该表述为一个CU控制多个PU,当然理论上还有MIMD,SISD,MISD四中计算机架构,指令系统我也不懂,和汇编有关,我也想知道@crayon嘻哈小新
2013年03月18日 10点03分 11
level 13
在pc平台,硬解确实是指gpu+硬件codec,dsp的计算直接被流处理器的强大通用运算模拟了
但是在移动平台,还是指传统的cpu+dsp+codec,未来gpgpu在移动平台流行后可能gpu也会加入
无论如何,硬解都是指有专用硬件codec的参与,不然都算作软解
2013年03月18日 11点03分 13
也就是说PC上也是基于纯软件的算法??
2013年03月18日 11点03分
回复 pengzhenxx :不是,不论a卡还是n卡都有硬件codec,解相应编码格式都是硬解
2013年03月18日 11点03分
回复 crayon嘻哈小新 :我还差很多,一直在GPU潜水学习啊。。。快多写点文章出来,求知若渴啊
2013年03月18日 11点03分
回复 pengzhenxx :你也可以写写,无论什么都可以[Yeah]
2013年03月18日 12点03分
1