FOURCC.org - Video Codecs and Pixel Formats

How do I play back AVIs with YUY2 video?

YUY2 is a raw video format that is often supported by video capture hardware and DirectDraw drivers. If you have a system which has support for the format both at the capture and display ends, though, it is still sometimes the case that you can't play videos in YUY2 back without getting an error along the lines of "Unknown compression" or "Codec not found". While I'm not entirely sure which chunk of software is to blame, it appears that some code is not clever enough to send uncompressed frames directly to the display driver for rendering but insists on passing them via a codec first. The following note from Peter 'Rattacresh' Backes offers a solution to the problem:

FOURCC: YUY2. 
Name: Raw YUY2 frames
Owner: Probably Hauppauge
Notes: Can be captured with Hauppauge Wincast TV cards if you chose 'YUY2' as video format in the capture settings dialog.

Problem: Software like VirtualDub says 'cannot find codec', property dialog says 'Unknown compression' (however premiere and the media player don't complain and load/play without problems)

Solution: Install Indeo 4.1 codec and add 
vidc.YUY2=ir41_32.ax
under the '[Drivers32]' section in C:\windows\system.ini.

Remaining problems:

  • Playing more than one YUY2 AVI causes strange interlacing artifacts at the second one.
  • Sometimes only displays green crap if the window's been backdropped in some apps (for example Premiere). Others work fine (VirtualDub, Windows Media Player)

Additional Suggestions: 

  • If it's right what a peek at ir41_32.ax with the hex editor suggests then it should be possible to use the solution above for some of IYUV, YVU9, I420, Y411, Y211, CLPL, CPLA, YUYV, YV12, UYVY, Y41P, IF09, too (these fourcc appear in the binary, but might also indicate input capabilities, not decoders).
  • Always capture YUY2 which has a very good quality and recompress with VDTZ (Download page says it's decode only but it encodes properly! However it's too slow (16 bit) to encode realtime.) to avoid those annoying artifacts when editing later.