Mediacodec 粗浅理解

一、硬解码区别

硬编码:

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

软编码:

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

软硬编码对比:

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


2.mediacodec 解码过程:

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容