开发者

Fast conversion from YUY2 to RGB24

I'm writing a program, that will do some transformations with image from a webcam in real-time. As almost all other webcams, my noname gives data in YUY2 format (as written in bmiHeader.biCompression). I tried straight conversion on CPU side according to http://www.fourcc.org/yuv.php#YUY2, but it is VERY slow and wrong :).

When I connect source output pin to renderer, picture and framerate are well.

So I'm looking for a DirectShow filter, or, maybe, some codec, that will do fast conversion from YUY2 to RGB24 on video card and will give me result without rendering it on screen.

I'm using:


I don't have the code available at the moment. but take a look at using the GDI to do the conversion its very fast.

Basically capture the source frame, create a memory dib in the correct format (rgb24) and blit to the bitmap. the conversion occurs during the blitting and in my experience is very fast.

I use this to grab frames from a webcam and then I can drop the frames to the hard drive at the required frame rate as either jpegs or bitmaps.

DC


You can use VirtualDub Kasumi library http://virtualdub.sourceforge.net/

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜