The VIC on the Xavier seems to fit very well for the image correction that I’m trying to do.
But I see no trace of support in the JetPack for configuring/programming the VIC.
I would love to have the ability to use this
From the datasheet of the Xavier NX
1.7.4 Video Image Compositor (VIC)
VIC implements various 2D image and video operations in a power-efficient manner. It handles various system UI scaling,
blending, and rotation operations, video post-processing functions needed during video playback, and advanced de-noising
functions used for camera capture.
Features:
• Color Decompression
• High-quality Deinterlacing
• Inverse Teleciné
• Temporal Noise Reduction
o New Bilateral Filter as spatial filter
o Improved TNR3 algorithm
• Scaling
• Color Conversion
• Memory Format Conversion
• Blend/Composite
• 2D Bit BLIT operation
• Rotation
• Geometry transform processing
o Programmable nine-points controlled warp patch for distortion correction
o Real-time on-the-fly position generation from sparse warp map surface
o Pincushion/barrel/moustache distortion correction
o Distortion correction of 180- and 360-degree wide FOV lens
o Scene perspective orientation adjustment with IPT
o Full warp map capability
o Non-fixed Patch size with 4x4 regions
o External Mask bit map surface
After some research i found that the VIC is managed within NvMedia library as part of the DriveOS platform.
Would’n it be suitable to include the HW accellerated parts of NvMedia in LibArgus, or to include/support the libnvmedia into jetpack. It feels wasteful to have a very capable SoC that have accellerated support to do many of the camera related processing, where the alternative is to waste CPU and GPU performance doing it.
The plugins is nvdewarper. It is implemented via CUDA and uses GPU.
Currently we don’t have software implementation for this. We have nvvidconvert which can do resizing, cropping, and format conversion by leveraging VIC.
Do nvdewarper support dewarping of non-360 cameras?
Is the source for nvvidconv available, to be able to add support for HW dewarping by my own?
Since you have this supporter in NvMedia stack for DriveOS, is there a plan to integration these features? How do I add feature requests for the JetPack SW?
Hi,
With evaluation and discussion, we use VPI APIs for the functionality in L4T releases. We will evaluate to support VPI functions in gstreamer. On r32.4.3, please use dewarp in gstreamer or VPI APIs.
The examples with VPI uses OpenCv for image input etc. Is there a performance benifit of using ArgusLib, rather than OpenCV for camera/image interaction?