Existing implementation in ResidualVM is here https://github.com/residualvm/residualvm/blob/master/engines/grim/movie/bink.cpp
I think it would be applicable if the files in question are using the SMUSH header.