Assessing the c++ code for NVDS Extensions

Hi, I am currently working on a project of adding custom extensions for graph composer ds6 applications.

It would be very helpful if I can take a look at how the codes for NvDsInferenceUtilsExt and other functions are written. I know that these are on the registry, and they are somewhere in the ngc public repo. But all I see are shared object files, not CPP files that I can read. Is there anyway I can acess them?

More examples like this would be helpful

No. These are proprietary codes. We can not share with you.

okay, I just wanted to make sure that I am not missing it eventhough it is available.

In this case, I just want to ask one question about the sample code here.

On the probe function example for handle_buffer(),

NvDSBatchData is accessed as:

  NvDsBatchMeta *batch_meta =
        *(buffer_data.get<NvDsBatchMetaHandle>(BUF_DATA_KEY_VIDEO_BATCH_META)
              .value());
    NvBufSurface *surf =
        *(buffer_data.get<NvBufSurfaceHandle>(BUF_DATA_KEY_VIDEO_BATCH_META)
              .value());

If I want to access NvDSFrameMeta data here, how should I approach this? On other C++ scripts it appears I need to include gstnvdsmeta.h to be able to iterate over NvDsBatchMeta.

What is the approach when it comes to graph composer extensions? If I need to include them on Bazel Build/Workspace, how am I suppose to do it exactly?

Yes. You need to include gstnvdsmeta.h to iterate over NvDsBatchMeta. It is the same with graph composer deepstream extension.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.