【发布时间】: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