最近参考了雷神的d3d surface渲染YUV的代码,下面对几种YUV格式做总结,只有正确区分才能
正常渲染图像。
在建立离屏表面的时候需要指定图像格式D3DFormat,这个指定后后面的拷贝数据给surface息息相关,
搞错了不会渲染正常。
YUV主要有packet和Planar两种存储方式。
I420(YUV420P) YYYYYYYYUUVV
YV12(YUV420P) YYYYYYYYVVUU
NV12(YUV420SP) YYYYYYYYUVUV
NV21(YUV420SP) YYYYYYYYVUVU
YUV420P 三plain存储;YUV420SP两plain存储,uv交叉。
其中I420,NV12用的相对多些。
这里有很详细的YUV介绍:https://zh.wikipedia.org/wiki/YUV
本文介绍了YUV图像格式的不同类型,包括I420、YV12、NV12和NV21等,并解释了这些格式的区别及在渲染过程中的作用。文章还讨论了在Direct3D中如何正确指定D3DFormat来实现图像的正常渲染。

被折叠的 条评论
为什么被折叠?



