0

我有一个 typedef 结构,其中包含我从视频帧中获取的 YUV 组件。

我需要找到一种方法将这些 YUV 组件写入 (.YUV) 文件扩展名,以便我可以将它用于我的 C 语言应用程序。

有谁知道,我该怎么做?

此致

4

2 回答 2

2

嗯,更常见的 yuv 格式(或者更确切地说是 YCbCr)之一是YV12

它也被称为平面分离 4:2:0 8bpp。其中 4:2:0 表示用于颜色分量的二次采样。8bpp 表示有效范围是[0-255](不是真的,但现在不要去那里......)

在此处输入图像描述

它由width x height字节 luma-samples(Y 部分)和width x height / 4Cb-data 和相同数量的 Cr-data 组成。一帧的总字节数为width x height * 3 / 2

所以基本上你需要做的就是把 Y 分量写成uint8,然后是 Cb-data 和 Cr-data。

如果您需要查看 c 中的一些示例代码,请查看我在github上的 yuv-viewer 。希望对你有帮助,如果没有,请给我留言。

于 2013-06-06T19:10:59.420 回答
0

您将需要学习如何以二进制模式写入文件。看看这些例子。一旦清楚了,您需要做的就是将 YUV 通道的十六进制值转储到文件中。

于 2013-06-06T13:08:21.937 回答