Videos should now play in Windows Media Player. I believe the previous flags were wrong, as 0x1 doesn't seem to be a valid flag (see, for instance: https://ffmpeg.org/doxygen/0.6/avi_8h.html).
{U}INTX_C et al. only seem to guarantee that the size of the constant will be X bits or more. At least this is the behaviour I've seen with VS and Clang
I've made the minimal fix here, but it would be smart to review all remaining uses of these macros, particularly when it comes to I/O.