How to set the fence with the video encoder

Please provide the following info (check/uncheck the boxes after creating this topic):
Software Version
DRIVE OS Linux 5.2.6
DRIVE OS Linux 5.2.6 and DriveWorks 4.0
[*] DRIVE OS Linux 5.2.0
DRIVE OS Linux 5.2.0 and DriveWorks 3.5
NVIDIA DRIVE™ Software 10.0 (Linux)
NVIDIA DRIVE™ Software 9.0 (Linux)
other DRIVE OS version
other

Target Operating System
[*] Linux
QNX
other

Hardware Platform
[*] NVIDIA DRIVE™ AGX Xavier DevKit (E3550)
NVIDIA DRIVE™ AGX Pegasus DevKit (E3550)
other

SDK Manager Version
1.7.1.8928
[*] other

Host Machine Version
[*] native Ubuntu 18.04
other

Hi Nvidia,

Is there an api or solution to set the fence with the image encoder or the video encoder?
I want to fill the signalerAttr and waiterAttr with the encoder.

Regards,
Ray

Dear @user110377,
Are you looking for NVIDIA DRIVE OS Linux SDK API Reference: Image Encoder Synchronization | NVIDIA Docs?

Dear @SivaRamaKrishnaNV

Thanks for your reply.
I am sorry that I only checked the video encoder section and I didn’t found the synchronization APIs, so is there an mechanism for the video encoder engine?

One more question, where should I do the presync and postsync, is the below process correct?
//sample start
presync()
NvMediaIEPFeedFrame
NvMediaIEPBitsAvailable
postsync()
//end

Many Thanks,
Ray

Hi, @user110377
Please see if the below two functions are what you’re looking for.
NvMediaIEPInsertPreNvSciSyncFence()
NvMediaIEPGetEOFNvSciSyncFence()

Hi, @VickNV

Thanks for your reply.
Yes, I will use NvMediaIEPInsertPreNvSciSyncFence() in the presync() and NvMediaIEPGetEOFNvSciSyncFence() in my postsync(), this is confirmed. But where shall I put the presync() call? Before the NvmediaEPFeedFrame or before waiting for the NvMediaEPBitsAvailable()?

Regards,
Ray

Please refer to the function document. It should be before NvMediaIEPFeedFrame().

Hi @VickNV, Got it, thanks.