未经作者(微信ID:Byte-Flow)允许,禁止转载
文章首发于公众号:字节流动
前面文章已经介绍过如何渲染 16bit 灰度图,本篇基于同样的思路来实现 P010、P016 格式图像的渲染。
P010 最早是微软定义的格式,表示的是 YUV 4:2:0 的采样方式,也就是说 P010 表示的是一类 YUV 格式,它的内存排布方式可能是 NV21、NV12、YU12、YV12 。
P016 也表示的是 YUV 4:2:0 的采样方式,与 P010 的差异只是有效位不同,P010 的有效位是 10bit , P016 有效位为 16bit 。
微软定义的其他 10bit 和 16bit YUV 格式:
下面我们讨论的 P010、P016 格式的内存排布方式跟 NV21 格式类似,只是每个 Y、U、V 分量分别占用 2 个字节。
(0 ~ 3) Y00 Y01 Y02 Y03
(4 ~ 7) Y10 Y11 Y12 Y13
(8 ~ 11) Y20 Y21 Y22 Y23
(12 ~ 15) Y30 Y31 Y32 Y33
(16