是否有用于硬件解码的恒定颜色格式,或者每个不同的 android 设备都有自己的颜色格式?
我想获取硬件解码产生的原始数据并自己渲染。
谢谢。
是否有用于硬件解码的恒定颜色格式,或者每个不同的 android 设备都有自己的颜色格式?
我想获取硬件解码产生的原始数据并自己渲染。
谢谢。
查看CTS EncodeDecodeTest源中的缓冲区到缓冲区测试。它演示了如何访问各种已知的解码器格式。
注意有“未知”的解码器格式;特别是,一些流行的设备将解码为未发布的平铺格式(CTS 测试目前免费通过)。
解码到 Surface 并渲染它通常更容易(当然也更快)。
在不同android
设备的情况下,每个供应商通常会实施一种标准color formats
或SoC
特定格式,这些格式将与处理管道的其余部分进行良好调整。
From JellyBean
,android
公开了一个名为的新对象类,MediaCodec
它为开发人员提供了将 a 的实例创建codec
为独立组件的灵活性。对于您的要求,我觉得MediaCodec
是合适的人选。下面收集了一些有用的参考资料,可以帮助您实现目标。
检索可用的输出缓冲区 在这里,输出缓冲区被推入队列,如下所示
如果您希望在视频解码器的输出上引入任何特定处理,您可以在上面的步骤 4 和 5 之间执行此操作,或者将其作为 / 的一部分进行处理,该SurfaceTexture
/Surface
提供给decoder
. 希望这可以帮助..