Video codecs
This section contains a description of video codecs that can be used by other SDK libraries or separately to video encoding / decoding. This category consists of the following libraries:
| Library | Description |
|---|---|
| VCodec (Linux and Windows) | Provides a standard interface as well as defines data structures and rules for different video codecs (video encoding and decoding). The VCodec interface class doesn’t do anything; it just provides an interface. No external dependencies. |
| VCodecV4L2 (Linux only) | Video codec implementation. Provides hardware-accelerated video encoding/decoding (H264, HEVC and JPEG codecs) based on V4L2 API on Linux only. External dependencies: V4L2 API (default subsystem in Linux); on NVIDIA Jetson the headers of the Jetson Multimedia API are used if they are installed and the NvBufSurface libraries of the Jetson BSP are loaded at run time. |
| VCodecJetPack (NVIDIA Linux only) | Video codec implementation. Provides hardware-accelerated video encoding and decoding (H264 and HEVC codecs) for NVIDIA Jetson platforms through the V4L2 interface of the Jetson Multimedia API. External dependencies: header v4l2_nv_extensions.h of the Jetson Multimedia API for the build; libv4l2 with the NVIDIA plugins of the Jetson BSP, loaded at run time. |
| VCodecLibav (Linux and Windows) | Video codec implementation. Provides hardware and software-accelerated video encoding/decoding functions (H264, HEVC (H265) and JPEG codecs) for Linux and Windows OS based on FFmpeg. External dependencies: FFmpeg (linked; LGPL 2.1 or later, GPL 2 or later if FFmpeg is built with GPL components, not redistributable if built with --enable-nonfree). The components of FFmpeg (for example the encoders libx264 and libx265, GPL) have their own licenses: the user of the library has to check and control the licenses of the FFmpeg build and of its components, see FFmpeg license. |
| VCodecGst (Linux only) | Video codec implementation. Provides video encoding and decoding functions for H264, HEVC (H265), and JPEG codecs for Linux OS based on GStreamer. External dependencies: GStreamer (linked, LGPL 2.1 or later license). The plugins of GStreamer and the libraries which they use (for example x264enc of gst-plugins-ugly, GPL) have their own licenses: the user of the library has to check and control the licenses of the plugins used in the pipelines, see GStreamer licensing. |
| VCodecLibva (Linux only) | Video codec implementation. Provides hardware video encoding and decoding for H264, HEVC (H265), and JPEG codecs on Linux OS based on Intel Libva (VAAPI). External dependencies: Intel Libva (VAAPI) (linked, MIT license). |
| VCodecImxVpu (Linux only) | Video codec implementation. Provides H264 video encoding for the IMX8 platform based on the H1 hardware encoder. External dependencies: Hantro H1 encoder library and headers (libhantro_h1, h264encapi.h) of the NXP BSP. |
| VCodecWmf (Windows only) | Video codec implementation. Provides hardware-accelerated and software video encoding and decoding for H264, HEVC (H.265), and JPEG formats based on Microsoft Media Foundation (WMF) and Windows Imaging Component (WIC) on Windows 11 and later. External dependencies: Microsoft Media Foundation (WMF). |
| VDecoderH264 (Linux and Windows) | Video decoder implementation. Provides software video decoding for H264 format. No external dependencies. |
| VDecoderH265 (Linux and Windows) | Video decoder implementation. Provides software video decoding for H265 format. No external dependencies. |
| VDecoderJPEG (Linux and Windows) | Video decoder implementation. Provides software video decoding for JPEG format. No external dependencies. |
| VEncoderJPEG (Linux and Windows) | Video encoder implementation. Provides software video encoding for JPEG format. No external dependencies. |
Table of contents
- VCodec (Video codec interface)
- VDecoderH264 (Video decoder)
- VDecoderH265 (Video decoder)
- VDecoderJPEG (Video decoder)
- VEncoderJPEG (Video encoder)
- VCodecWmf (Video codec)
- VCodecJetPack (Video codec)
- VCodecLibav (Video codec)
- VCodecV4L2 (Video codec)
- VCodecGst (Video codec)
- VCodecLibva (Video codec)
- VCodecImxVpu (Video codec)