将YV12转换为NV21(YUV YCrCb 4:2:0)

时间:2017-02-02 11:04:09

标签: java c# image-processing yuv image-formats

你怎么转换:

YV12 (FOOURCC代码:0x32315659)

NV21 (FOURCC代码:0x3132564E)
(YCrCb 4:2:0平面)

这些都是Android视频处理的常见格式,但没有示例在线直接在两者之间进行转换。你可以通过RGB,但我认为效率太低。

理想情况下,在 C# Java 中,但可以从其他任何地方转换代码......

输入为 byte [] ,宽度和高度已知。

我一直在尝试关注Wikipedia Article,但无法让它干净利落。

对于赏金:一个函数接受byte []并以另一种格式输出byte []。

1 个答案:

答案 0 :(得分:4)

这是我的看法。这仍然没有经过测试,但在这里:

<强> YV12 8位Y平面后跟8位2x2子采样V和U平面。因此,单个帧将具有全尺寸Y平面,接着是1/4大小的V和U平面。

<强> NV21 8位Y平面,接着是具有2x2子采样的交错V / U平面。因此,单个帧将具有全尺寸Y平面,其中V和U遵循8位逐位块。

所以这里是代码

SELECT * FROM table_name ORDER BY column_name ASC