yuv420交错到不交错,或者直接png

yuv420 interleaved to not interleaved, or directly png

我有一个 UV 平面交错的图像文件 myImage.yuv,我想将其转换为 png

我正在使用:

ffmpeg -pixel_format yuv420p -video_size 1944x1204 -i myImage.yuv output.png

如果图像没有交错,这就可以了,我如何将其指定给 ffmpeg?

尝试swapuv filter

ffmpeg -pixel_format yuv420p -video_size 1944x1204 -i myImage.yuv \
       -vf swapuv output.png

UV 平面交错应用 NV12 像素格式。

我们可以使用以下命令将原始 NV12 文件转换为 PNG 图像:

ffmpeg -pixel_format nv12 -video_size 1944x1204 -i myImage.yuv output.png

NV12 格式是按 semi-planar 格式排序的 YUV420 像素格式,其中 Y 通道在一个平面中,交错的 UV 元素在第二个平面中。

下图演示了NV12格式:

注意:我在 2016 年为 创建了图表(post 没有更多关于 NV12 格式的细节)。