0

是否有用于硬件解码的恒定颜色格式,或者每个不同的 android 设备都有自己的颜色格式?

我想获取硬件解码产生的原始数据并自己渲染。

谢谢。

4

2 回答 2

0

查看CTS EncodeDecodeTest源中的缓冲区到缓冲区测试。它演示了如何访问各种已知的解码器格式。

注意有“未知”的解码器格式;特别是,一些流行的设备将解码为未发布的平铺格式(CTS 测试目前免费通过)。

解码到 Surface 并渲染它通常更容易(当然也更快)。

于 2013-11-02T14:39:56.540 回答
0

在不同android设备的情况下,每个供应商通常会实施一种标准color formatsSoC特定格式,这些格式将与处理管道的其余部分进行良好调整。

From JellyBean,android公开了一个名为的新对象类,MediaCodec它为开发人员提供了将 a 的实例创建codec为独立组件的灵活性。对于您的要求,我觉得MediaCodec是合适的人选。下面收集了一些有用的参考资料,可以帮助您实现目标。

  1. 的制作MediaCodec

  2. surface底层编解码器提供buffer分配

  3. 排队输入缓冲区

  4. 检索可用的输出缓冲区 在这里,输出缓冲区被推入队列,如下所示

  5. 之后渲染可用的输出缓冲区A/V sync

如果您希望在视频解码器的输出上引入任何特定处理,您可以在上面的步骤 4 和 5 之间执行此操作,或者将其作为 / 的一部分进行处理,该SurfaceTexture/Surface提供给decoder. 希望这可以帮助..

于 2013-11-02T04:45:56.567 回答