Thanks for all your replies. I've read up on it a bit and have tried both pragma pack(1) before the struct and pragma pack(push, 1) ... pragma pack(pop) around the struct and both have not worked. This[^] also verifies what you have said. I havent disable padding though. I've look for how to do this but cant find it for either GCC of Visual Studio. I've also had a look at this[^] to no avail. The header was incorrect. I've removed payload_data_exists:1 and made adaptive_field_exists:2 http://www.erg.abdn.ac.uk/research/future-net/digital-video/mpeg2-trans.html[^]