Low-Level API for Optical Flow (libnvofsdk.so)


first of all, sorry if this might be the wrong forum for the request, please move if necessary :)

Now to my actual concern:

In a project I am using an Optical Flow. Now I want to use a fast and good implementation, and I saw that the Jetson AGX Xavier actually contains a hardware-variant, which can be used through the DeepStream SDK (https://docs.nvidia.com/metropolis/deepstream/plugin-manual/index.html#page/DeepStream_Plugin_Manual%2Fdeepstream_plugin_details.02.09.html%23).

However I can’t use any GStreamer in my project. Is there a way to access the low level API (nvds_opticalflow_jetson), as shown in the illustration in the documentation? Or are there plans to integrate Optical Flow in e.g. the VPI?

1 Like


I have the same trouble with trying to use the Optical Flow Engine outside DeepStream. There is a shared library called “libnvofsdk.so” that ships with the Xavier installation which you can dynamically load. It exports functions such as

  • nvCreateOpticalFlow
  • nvOFInit
  • nvOFDestroy
  • ...
  • The Optical Flow SDK (https://developer.nvidia.com/opticalflow-sdk) has the corresponding header files. However, calling nvOFInit (after nvCreateOpticalFlow) returns with "NV_OF_ERR_OF_NOT_AVAILABLE" which is commented as "This indicates that HW Optical flow functionality is not supported". Still trying to figure out if there's anything that has to be configured before being able to use the engine.

    We don’t have low-level APIs public for the function. Would like to suggest use Deepstream SDK.