Referencing error 0x80001000 back against the IL headers
gives you OMX_ErrorInsufficientResources.
What have you set gpu_mem to in /boot/config.txt? 64MB is unlikely to be enough. 128MB should be sufficient.
To answer the question on spec, the codec block (common for both encode and decode) is specified for level 4.1
for encode or decode. It'll manage to decode some level 5.0 streams as long as the resolution isn't greater than 1920x1080, and likewise you can push the encode performance towards level 4.2 (1080P60) if you overclock things.
Doing both encode and decode simultaneously you'll have to scale back your expectations.
Software Engineer at Raspberry Pi Trading. Views expressed are still personal views.
Please don't send PMs asking for support - use the forum.
I'm not interested in doing contracts for bespoke functionality - please don't ask.