I hate replying to my own requests, but I will do it in case someone else have this problem later:
Be VERY sure that you zero VpuMemDesc structure before assigning size to it and passing to VPU_DecGetMem. It's not stated anywhere in documentation, but correct way to use it is:
VpuMemDesc mem_desc;
memset(&mem_desc, 0, sizeof(VpuMemDesc));
mem_desc.nSize = <memory size got from VPU_DecQueryMem + alignment taken from the same function>;
VPU_DecGetMem(&mem_desc);
Cheers and good luck for anyone using this API.