最近在弄h264视频硬解码的问题,经人推荐找到了Android的MediaCodec类,
这个类可以用来硬解码和编码,当然前提是硬件厂商有对应类型的解码支持。
网上最常见的用法是将一个surface在初始化的时候传给MediaCodec,然后后
续的渲染操作就不用再费心了。可是因为 某些坑爹的历史遗留原因,我们只能使用
ImageView控件进行显示,这就需要人为的将解码后的数据从输出缓存中取出来,
并转码成bitmap文件,自行渲染,这就需要知道输出缓存中到底是什么数据了。
经过我和小伙伴的测试,这个输出的数据和机子有关,记得小米2S是YUV420sp
类型的数据来着,具体类型可以从输出缓存的bufferinfo中取出,然后做对应的转码工

本文探讨了使用Android的MediaCodec类进行h264视频硬解码时,如何从输出缓存中获取数据并转换为适合ImageView显示的格式。由于历史遗留问题,需要手动处理解码后的YUV420sp数据,并将其转换为Bitmap。作者提到不同设备的输出缓存数据类型可能不同,转换过程存在效率问题,且需要注意硬件对齐可能导致的缓冲区大小问题。
最低0.47元/天 解锁文章
7649

被折叠的 条评论
为什么被折叠?



