NVIDIA Jetson Xavier - HDAV Subsystem Video Image Compositor (VIC)

From RidgeRun Developer Connection
Jump to: navigation, search



Previous: Processors/HDAV Subsystem/JPEG Index Next: Processors/HDAV Subsystem/Audio Engine



Nvidia-preferred-partner-badge-rgb-for-screen.png




The Video Image Compositor (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 De-interlacing
  • Inverse Teleciné
  • Temporal Noise Reduction
    • New Bilateral Filter as a spatial filter
    • Improved TNR3 algorithm
  • Scaling
  • Color Conversion
  • Memory Format Conversion
  • Blend/Composite
  • 2D Bit BLIT operation
  • Rotation
  • Geometry transform processing
    • Programmable 9-points controlled warp patch for distortion correction
    • Real-time on-the-fly position generation from sparse warp map surface
    • Pincushion/barrel/moustache distortion correction
    • Distortion correction of 180 and 360-degree wide FOV lens
    • Scene perspective orientation adjustment with IPT
    • Full warp map capability
    • Non-fixed Patch size with 4x4 regions
    • External Mask bit map surface

NVIDIA hardware accelerated GStreamer plugins

Plugin Description
nvcompositor Composite multiple video frames
nvvidconv Video color space conversion & scaler

Multimedia API

The Video Image Compositor device node is /dev/nvhost-vic. The Multimedia API provides the NvVideoConverter and NvBuffer helper classes. The examples located in ~/tegra_multimedia_api/samples/07_video_convert and ~/tegra_multimedia_api/samples/12_camera_v4l2_cuda provide more information on how to use this component with NvVideoConverter and NvBuffer respectively.

Capture Paths

Basically, there are two possible capture paths on the Jetson Xavier. One that goes through the Video Image Compositor(VIC) and the other one through the Image Signal Procesor(ISP). "Scalable Camera Framework" uses the ISP block, "Direct V4L2 Interface" uses the VIC [1]. For more information check the L4T Documentation->[Sensor Driver Programming Guide]



Previous: Processors/HDAV Subsystem/JPEG Index Next: Processors/HDAV Subsystem/Audio Engine