Hello, You can create a FipsContext struct to store decoding data instead of using Fips Header struct (you can take a look to other image decoder) Also you should need to split the patch for libavcodec part and libavformat part Nit : The coding style for if/else is if { } else { } Not if { } else { } Martin