Microsoft DirectX 8.1 (C++) |
MSYUV is a YUV-to-RGB color space converter codec. It enables playback of video source data in YUV formats on clients whose video display adapter cannot be used for YUV-to-RGB conversions in hardware. The codec participates in filter graphs through the AVI Decompressor wrapper filter.
Digital conferencing cameras with 1394 or USB interfaces can produce image data in various YUV formats. If the display hardware does not support on-board YUV-to-RGB conversion, or if the hardware conversion capability cannot be used for some other reason, then the YUV image data must be converted to RGB format before it is sent to the Video Renderer.
When building the filter graph, if the Graph Builder detects a YUV format in an output pin's media type, it will insert the AVI Decompressor into the graph and the AVI Decompressor will then load the MSYUV codec and configure it initially to perform the conversion to RGB. After the graph first transitions to a run or paused state, the Video Renderer filter can detect whether the video display adapter can perform the conversion in hardware. If it can, then the AVI Decompressor is notified and it reconfigures MSYUV to operate in "pass-through mode," which causes the codec to skip the conversion and copy the YUV image data directly onto a DirectDraw overlay surface in video memory.
MSYUV converts packed YUV formats to RGB, as shown in the following list:
Note On Microsoft® Windows XP® Home Edition and Windows XP Professional, MSYUV also supports conversions to RGB24 and RGB32 formats.
For filter details, see AVI Decompressor.