VPI 2.1 in GStreamer pipeline


Couldn’t find any example for this, I have the following GStreamer pipeline:

nvarguscamerasrc name=src ! video/x-raw(memory:NVMM),format=NV12 ! nvvidconv ! ximagesink

I’ve added a pad probe on src with the callback:

static GstPadProbeReturn cb_have_data (GstPad *pad, GstPadProbeInfo *info, gpointer user_data)
  GstBuffer *buffer = GST_PAD_PROBE_INFO_BUFFER (info);

  // here VPIImage is required, using vpiImageCreateNvBufferWrapper/vpiImageSetWrappedNvBuffer?

How can a VPIImage originate from a GstBuffer for VPI 2.1 processing? (KLT Tracker in my case)

Thank you!


Please check the below topic first:



Thank you @AastaLLL for your prompt reply.

I have no experience with nvivafilter, but https://elinux.org/Jetson/L4T/TRT_Customized_Example#VPI_with_Deepstream looks promising, problem is that patch is for DeepStream 5.0 but I’m on latest 6.1, so for example VPIImageData was totally changed.

Plus, I’m trying to get a VPIImage from GstBuffer, is it possible? Can you please help me with that?



Would you mind giving the nvivafilter sample a check?
The sample wraps a VPI Image from GStreamer and has been tested on JetPack 5.0.2.


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