About secondary-reinfer-interval, after checking the code and doc again, secondary-reinfer-interval means to to do inference to current frame if current frame num - last inference frame > **secondary-reinfer-interval**
.
Code -
File: /opt/nvidia/deepstream/deepstream-5.0/sources/gst-plugins/gst-nvinfer/gstnvinfer.cpp
/* Function to decide if object should be inferred on. */
static inline gboolean
should_infer_object (GstNvInfer * nvinfer, GstBuffer * inbuf,
NvDsObjectMeta * obj_meta, gulong frame_num,
GstNvInferObjectHistory * history)
{
....
/* History is irrevelavant for detectors. */
if (history && IS_CLASSIFIER_INSTANCE (nvinfer)) {
gboolean should_reinfer = FALSE;
/* Do not reinfer if the object area has not grown by the reinference area
* threshold and reinfer interval criteria is not met. */
if ((history->last_inferred_coords.width *
history->last_inferred_coords.height * (1 +
REINFER_AREA_THRESHOLD)) <
(obj_meta->rect_params.width * obj_meta->rect_params.height))
should_reinfer = TRUE;
if (frame_num - history->last_inferred_frame_num >
nvinfer->secondary_reinfer_interval) // this secondary_reinfer_interval is the value of secondary-reinfer-interval defined in the config file
should_reinfer = TRUE;
return should_reinfer;
}
return TRUE;
}