that's why there's a plugin system for Gem. however, it seems you have created a fork of Gem, rather than just create a new filmMPV external.
afaik film* plugin return a pix object while the power of mpv resides in writing directly to texture (and the use of GPU texture decoding) that's why film* plugin doesn't seem to be a good way to me, but I might be wrong
and no, I didn't create a whole fork of Gem, I only modified the gemframebuffer object from which mpv derives and I didn't remember why I needed to modify it. mpv builds with a quite recent Gem version (my docker image uses the master branch of https://github.com/umlaeute/Gem.git but I didn't rebuild the image on each run).
At some point, I thought about creating a new kind of plugin that writes to texture (and also another kind to read from) but to be honest, Gem's plugin system always appeared quite obscure to me.
+ a