使用BitBlt捕获YUV格式的屏幕

时间:2013-01-31 14:57:28

标签: colors rgb yuv bitblt

我目前正在使用BitBlt函数捕获屏幕,然后我对其进行编码。由于我的编码器使用YUV420格式作为输入,我需要在编码之前将数据从RGB转换为YUV。我想知道是否有任何方法以YUV格式而不是RGB捕获屏幕?

谢谢, 杰

1 个答案:

答案 0 :(得分:0)

我会尝试回答这个问题,虽然我不完全知道BitBlt是如何工作的,因为我还没有让它自己工作。

但是这里有。

根据我的理解,BiBlt正在从图形卡中捕获,这意味着它会快速移动,因为没有环形交叉口。这应该意味着如果您以RGB(PC通常会这样做)显示,您将获得相同的格式。

因此,如果你想要YV12,你必须进行下采样才能使用图像。

我猜是这样的。

CaptureBitBlt到IMG。 将IMG转换为YV12。 编码IMG。

嗯,看起来很难看,但希望你明白我的意思。在处理图片之前,您必须进行转换。

带上一粒盐,我可能会在树林里,但我认为应该如何做。