Did the definition of NVDS_TRACKER_OBJ_REID_META change between DS 6 and DS 7?
It used to be that the first part of NVDS_TRACKER_OBJ_REID_META was 32 bit integer that was and index pointing into NVDS_TRACKER_BATCH_REID_META. My code would always get an integer like 0, 1, etc. My same code running on DS 7 gets 256 which was giving an error indexing into the list of REIDs in NVDS_TRACKER_BATCH_REID_META. The new definition now looks like it has the size of the REID and a pointer directly to the REID.
The comment in deepstream_app.c even refers ‘finding index in user meta’, but the code has now changed to have a direct pointer and not indexing into NVDS_TRACKER_BATCH_REID_META but instead getting a pointer directly to the reid.
/** Find the object’s reid embedding index in user meta. */
NvDsUserMeta *user_meta = (NvDsUserMeta *) l_obj_user->data;
if (user_meta && user_meta->base_meta.meta_type == NVDS_TRACKER_OBJ_REID_META
&& user_meta->user_meta_data) {
NvDsObjReid *pReidObj = (NvDsObjReid *) (user_meta->user_meta_data);
if (pReidObj != NULL && pReidObj->ptr_host != NULL && pReidObj->featureSize > 0) {
fprintf (reid_params_dump_file, "%lu", id);
for (guint ele_i = 0; ele_i < pReidObj->featureSize; ele_i++) {
fprintf (reid_params_dump_file, " %f", pReidObj->ptr_host[ele_i]);
}
fprintf (reid_params_dump_file, "\n");
}
}
**• Hardware Platform Jetson **
• DeepStream Version 7.0