Why does the video encoder reject an output format that I try to set, when I retrieved the format from the same object?
Unlike audio encoder output types, the supported outputs enumerated by the video encoders are not complete as delivered. You must set the bit rate of the stream in the dwBitrate member of the VIDEOINFOHEADER structure to match the value set for the MFPKEY_RAVG property.
After all of the options are set the way that you want them, you must retrieve the codec private data and append it to the VIDEOINFOHEADER structure. For more information, see Using Video Codec Private Data.