I'm talking about the UVC standard for webcams that work directly with Windows, not the normal kind that require an additional driver (such as TWAIN, VFW, or WDM drivers). Checking on MSDN https://msdn.microsoft.com/en-us/library/windows/hardware/ff568651 I found that the UVC supports the following two raw YUV color modes: YUV2 and NV12. However nothing was mentioned at all about raw RGB color modes. I'm not sure if this means that UVC standard supports RGB and Microsoft felt it was unnecessary to specifically mention it, since it was so obvious that RGB would be supported, or if Microsoft didn't mention it because it is in fact NOT supported.
+ Reply to Thread
Results 1 to 7 of 7
Done a LOT of research on this lately...
(spec v1.0 and 1.1)
sometimes NV12 or other vendor-specific frame-compatible formats (incl. DV)
in addition to above,
possibly also HEVC/H265
Usually only the BOLD ones are guaranteed, and ONLY when they're also supported by the Cam manufacturer as well.
Raw/RGB would likely be a proprietary solution if at all (either wholely independent of UVC, or using a proprietary UVC replacement driver). Even lowly DV format, which is supposed to be OK for v1.1, is not being supported by Microsoft's UVC driver.
Since BGR24 is the standard for Windows Bitmap BMP files (and AVI files, as AVI files use BitmapInfoHeader structure just like BMP files), I would assume BGR24 is THE STANDARD primary pixel format (and YUV formats only secondary formats) for images and video for ANYTHING that Microsoft produced, including its UVC driver. But I couldn't find this stated on the MSDN website. Do you know of any UVC cameras that actually output BGR24 pixel format video stream, so I could test whether or not MS's UVC driver supports it?
Actually, NO. It is NOT the standard format for most variations of video. More common are forms of YUV. It's analog in the photo world is Jpeg, not bmp. And bitmapinfo is just their (MS's) way of describing the structure, which can be uncompressed or compressed, rgb or yuv or other, full or reduced color palette, etc.
Last edited by Cornucopia; 14th May 2016 at 01:27.
Can somebody here, who's familiar enough with the UVC standard, tell me definitively whether or not UVC actually allows the sending of RGB frames?
I saw no support for RGB. Only yuy2, nv12, m420 and i420. I've seen other places that RGB is not supported. Though I used to (15 years ago) work with a lot of USB webcams under windows (though not at the USB transport level) and many could deliver RGB. But that may simply be because the drivers converted the raw YUV data for you.