I am not familiar with imbuf API, so hopefully it will be useful.
As I am here i want to ask a few things:
Would it be ok to move/merge (some) sequencer effects to imbuf, since these are in fact image effects?
for transformation I used code from bke/seqeffects.c
I would merge imbuf/rotate.c and imbuf/scaling.c to imbuf/transform.c but then there will be multiple functions for scaling...
for direct pixel access:
I read somewhere, that there is a concern about processing speed (realtime use case). Have you considered some other interface than buffer? Maybe if we implement smarter interface in C it will be easier to use and may reduce python code overhead. Or am I thinking too far ahead?