Hi,
I am using H.264 HP encoder for C6678 platform. I need to create multiple instances of the encoder on a single core. To do so I need to provide software barrier and shared memory management callbacks in IVIDMC_t structure.
The problem is that I can not distinguish what instance of encoder is calling the callbacks:
XDAS_Void (*swbarr) (XDAS_Int32 coreID, IVIDMC_SWBARR swbarr_id,
XDAS_UInt32 swbarr_cnt);
XDAS_Int32 *(*shmmap) (XDAS_Int32 coreID, IVIDMC_SHMEMKEY shmem_key,
XDAS_Int32 shmem_size, IVIDMC_SHMEM_ATTRS attr, XDAS_Int32 alignment);
XDAS_Int32 (*shmmunmap) (XDAS_Int32 coreID,
IVIDMC_SHMEMKEY shmem_key, XDAS_Int32 *shmem_base);
XDAS_Int32 (*shmmap_sync)(XDAS_Int32 coreID,
IVIDMC_SHMEMKEY shmem_key, XDAS_Int32 *shmem_base);
I need some kind of encoder instance ID to be passed to the callbacks to distinguish between them. I can not use coreID for that because of limitations of HP encoder - coreID = 0 for master codecs.
Is there any good way to distinguish between codecs in callbacks?
Regards,
Andrey Lisnevich