Mediacodec 粗浅理解

2023-01-02  本文已影响0人  eagle006

一、硬解码区别

硬编码:

用设备GPU去实现编解码,这样可以减轻CPU的压力。

软编码:

让CPU来进行编解码,在c层代码来进行编解码,因为c/c++有很多好的编解码库。

软硬编码对比:

硬编的好处主要在于速度快,而且系统自带不需要引入外部的库,但是特性支持有限,而且硬编的压缩率一般偏低,而对于软编码来说,虽然速度较慢,但是压缩率比较高,而且支持的H264特性也会比硬编码多很多,相对来说比较可控。硬编码会受硬件设备支持的影响。

2.mediacodec 解码过程:

MediaCodec 首先获取一个空的输入缓冲区,填充要编码或解码的数据,再将填充数据的输入缓冲区送到 MediaCodec 进行处理,处理完数据后会释放这个填充数据的输入缓冲区,最后获取已经编码或解码的输出缓冲区,使用完毕后释放输出缓冲区。

上一篇 下一篇

猜你喜欢

热点阅读