Tag: 重放套件

如何绘制到平面/ ycbcr / 420f / yuv / NV12 /不是rgb的CVPixelBufferRef?

我从包含不是RGBA (线性像素)的CVPixelBufferRef的系统API收到CMSampleBufferRef 。 缓冲区包含平面像素(如420f又名kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange又名yCbCr又称YUV )。 我想修改一些操作这个video数据,然后把它发送到VideoToolkit编码为h264 (绘制一些文本,覆盖一个标志,旋转图像等),但我希望它是有效的即时的。 Buuuut的平面图像数据看起来很肮脏的工作 – 有色度平面和亮度平面,他们是不同的大小和…在这个字节级工作似乎很多工作。 我可能可以使用CGContextRef ,只是在像素上绘制,但从我可以收集它只支持RGBA像素。 任何关于如何尽可能less地复制数据的build议,尽可能less的代码行?