I don’t understand the mechanism MS people think.
Try finding AVIMAINHEADER and MainAVIHeader on the MSDN site.
They are very similar structure, but the MSDN document doesn’t explain what they are, how they are different, and when to use what.
AVI format is also very bad.
There is a so-called original AVI format, called AVI 1.0, while there is another one called, OpenDML.
They are not compatible, and there seems to be no way to detect what format a specific AVI file is stored as by looking at the beginning part of the header.
Also, OpenDML document mentions “hybrid” format, but there is no explanation on how the hybrid format looks like.
I don’t like explanation and writing style on the MSDN.
P.S. I’m sorry that I posted a few complaints recently. I want to write only technical issue, but sometimes I need to complain.