我们深入说说硬解/软解,
我们比较几个系统:
1。ASIC(专用解码芯片) VS FPGA+verilog
2。ARM+linux VS FPGA+verilog
FPGA+verilog,就是软解,因为软件主导。 ASIC就是硬解,实际上,2个效果一样,因为ASIC制作出来之前,都是通过FPGA验证的。
而FPGA+verilog,必定比ARM+linux好,正如ASIC的诞生,就是因为成熟了,需要提高性价比,所以固化。
但是实际上是否有人使用FPGA+Verilog做播放器呢?Linn也不是,也是跑的操作系统。因为使用FPGA+Verilog的工作量太大,同时兼容性太差,因此根本没有人这样做。
而所有芯片内置的dsp什么都是通过内部跑的高度优化的算法进行解码的。因此仅仅提高了解码的效率和降低了功耗,解放了cpu的解码时间。
如果谁做到 arm+linux+ASIC进行解码,ASIC直接输出i2s,那么相信这才是真正的全能的硬解,但是事实上hifi量太少,专业的达到这么高要求的硬解的集成电路根本没有。
结论就是,无论软解还是硬解,只要能保证输出的FIFO(先进先出缓冲器)不被拉空,同时在后端进行数据整形,就不会有任何差异。
所以,硬解和软解,孰是孰非,大家自己判断就好。