【问题标题】:how to dump yuv buffer from omxcodec in android如何在android中从omxcodec转储yuv缓冲区
【发布时间】:2014-07-23 23:15:22
【问题描述】:

我按照下面链接中提到的步骤来获取 gralloc 缓冲区。但是如何获得缓冲区的大小? How to dump YUV from OMXCodec decoding output

为了测试,我将长度作为,宽度 x 高度 x 1.5 作为 OMXCodec 解码器输出格式为 OMX_QCOM_420Planer32m。

但是当我将 YUV 帧写入文件时,我的 yuv 查看器无法渲染它。然后我尝试了 range_length() 的长度。这也是同样的问题。

我也将文件转换为JPEG,这是不正确的,因为YUV它本身是错误的。

请帮助我。如何将 yuv 缓冲区转储到文件中。我正在 Kitkat (moto g) 和 ICS (Samsung tablet) 中进行测试

谢谢你, 拉古

【问题讨论】:

  • 你怎么知道格式真的是OMX_QCOM_420Planer32m
  • 嗨,Alex,如果我使用带有格式的 GraphicBuffer ptr,则返回 0x7FA30C04。在 Omx_IV_ICommon.h 中定义 OMX_QCOM_COLOR_FormatYUV420PackedSemiPlanar32m = 0x7FA30C04
  • 为什么不能让 OMX 给你一些标准的 YUV 格式?
  • 我尝试使用 OMX_COLOR_FormatYUV420SemiPlanar、OMX_COLOR_FormatYUV420PackedSemiPlanar、OMX_COLOR_FormatYUV422PackedSemiPlanar、OMX_COLOR_FormatYUV420PackedPlanar 为 OMX 解码器设置颜色格式。如果我在元数据中设置颜色格式,OMXCodec::Create 函数不会返回。如果我没有设置颜色格式,效果很好。
  • 嗨,Alex,我正在使用基线配置文件和 3.2 级配置解码器,因为我需要支持高清解码。会引起什么问题吗?

标签: android dump yuv android-mediacodec stagefright


【解决方案1】:

正如您链接到的文章中的链接所述,缓冲区不是简单的平面 YUV 格式,而是高通专有的格式。

您需要知道如何对其进行解码的代码。这个对this question 的公认答案似乎有它,虽然我不知道格式定义有多稳定,并且有一些 cmets 表明发布的代码不太正确。

【讨论】:

  • 谢谢。但不知道如何将 YUV420SP32m 转换为普通的 YUV420SP
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-19
相关资源
最近更新 更多