Sorry, you need to enable JavaScript to visit this website.

Feedback

Your feedback is important to keep improving our website and offer you a more reliable experience.

Description

This wiki page introduces the OTC (Opensource Technology Center) Linux* Video team’s activities in the area of Video Framework and Processing. 

We actively work in the open source FFmpeg and Gstreamer communities to enable Intel hardware acceleration in the overall Video Open Source Ecosystem.

We also host the libxcam project for Camera/Video processing.

 

The Value

  • GPU/CPU hardware acceleration in widely adopted open source Linux video frameworks (FFmpeg and gstreamer).
  • Open source video processing algorithms in libxcam and Linux video frameworks (FFmpeg and gstreamer).

 

Our activities in FFmpeg

FFmpeg is the leading and most widely adopted open source multimedia framework, able to decode, encode, transcode, mux, demux, stream, filter, and play pretty much anything that humans and machines have created. It supports the most obscure ancient formats up to the cutting edge. It is also highly portable under a wide variety of build environments, machine architectures, and configurations.

The OTC Video team helps to develop and supply patches to support video hardware acceleration on Intel GPU in ffmpeg-vaapi, ffmpeg-qsv, ffmpeg-ocl, and other plugins:

  • FFmpeg-vaapi is an FFmpeg plugin, which supplies hardware acceleration based on low level VAAPI interface that takes advantage of industrial standard VA API to execute high-performance video codec, video processing, and transcoding capability on Intel GPU.

  • FFmpeg-qsv is an FFmpeg plugin, which supplies hardware acceleration based on Intel GPU. It provides high-performance video codec, video processing, and transcoding capability based on Intel MediaSDK library.

  • FFmpeg-ocl is an FFmpeg plugin, which supplies hardware acceleration based on industrial standard OpenCL on CPU/GPU. It is mainly used to accelerate video processing filters.


Our activities in Gstreamer

Gstreamer is a pipeline-based multimedia framework that links together a wide variety of media processing systems to complete complex workflows. It is a collection of libraries and tools to process multimedia content such as audio, video, subtitles, and related metadata. GStreamer is a very popular open source framework.

Intel GPU video acceleration is going through gst-vaapi and gst-msdk.

 
  • gst-vaapi is a GStreamer plugin based on low level VAAPI interface that takes advantage of industrial standard VA API to execute hardware acceleration for video decode, video encode, and video post-processing on GPU through libva.

  • gst-msdk is a GStreamer plugin (currently in gst-plugins-bad of Gstreamer plugin) for the Intel® Media SDK that takes advantage of Intel® Media SDK library to execute hardware acceleration for video decode, video encode, and video post-processing on Intel GPU through mediaSDK.


Libxcam

Libxcam is an open source camera library for extended camera features, focusing on image quality improvement and video analysis. There are lots features supported in image pre-processing, image post-processing, and smart analysis. This library makes GPU/CPU/ISP working together to improve image quality. OpenCL, GLES, and Vulkan are used to improve performance in different platforms.


VAAPI

VAAPI (Video Acceleration API) is an open-source library (LibVA) and API specification, which provides access to graphics hardware acceleration capabilities for video codec and processing. Libva-utils is a collection of tests and examples for VAAPI.

 

VAAPI Driver

VAAPI driver is a hardware-accelerated video driver based on LibVA. It is a user mode driver (UMD). Intel supplies two open source VAAPI drivers for Intel GPU: intel-vaapi-driver (legacy) and intel-media-driver (new).

The intel-vaapi-driver will be maintained per customer/production request. From BDW and SKL+, intel-media-driver for VAAPI is recommended. See this link for more details.

All of these projects increase the speed and performance of video decoding, encoding, processing and transcoding on compressed digital video and imaging. They also support workload offloading from the CPU to the GPU. The latest Intel features mean decreased power use, increased mobile battery life and reduced power requirements for other types of devices as well.

Major media codecs such as H.264/AVC, H.265/HEVC, VP8, VP9, JPEG/MJPEG, MPEG-2 and VC-1 are supported.

Intel enables these projects with the goal of reducing product time-to-market, development complexity, build of Material costs, as well as making the user experience more enjoyable.

The Linux for Intel Media project is utilized by Google* for their Chrome* OS, including currently shipping Chromebooks*. It is incorporated into Valve* SteamOS and customized Linux distributions, as well. Google also uses these projects for the popular Android* operating system.

 

Who It's For

These projects are provided for operating system vendors, systems integrators, and original device manufacturers who are creating branded or customized operating systems for embedded devices, phones, tablets, convertibles, desktops, gaming and entertainment systems, and more. Independent software vendors that create applications and games can also take advantage of the freely available source code and binaries.

 

Project Specifics

These projects are written primarily in C and C++ programming languages, distributed under following open source license.

Projects

Repo address

Distributed License

FFmpeg

FFmpeg-vaapi, FFmpeg-qsv, FFmpeg-ocl and filters

mainline: https://git.ffmpeg.org/ffmpeg.git

GPL or LGPL2.1+

Gstreamer

Gst-vaapi mainline:

https://cgit.freedesktop.org/gstreamer/gstreamer-vaapi

Gst-msdk mainline:

https://cgit.freedesktop.org/gstreamer/gst-plugins-bad/

gst-vaapi:LGPLv2.1

gst-msdk: BSD-3-Clause

VAAPI


 

Libva:

https://github.com/01org/libva.git

Libva-utils:

https://github.com/01org/libva-utils.git

Intel media-driver:

https://github.com/intel/media-driver

Libva and Libva-utils:

MIT

 

Intel media-driver:

MIT license with portions covered under the BSD 3-clause "New" or "Revised" License

libxcam

https://github.com/intel/libxcam.git

Apache 2.0


Intel Video Driver For Linux

  • The intel-vaapi-driver will not be actively maintained. From BDW and SKL+, intel-media-driver for VAAPI is recommended. For details about the Intel open source media-driver and its ecosystem, see link.

 

Intel Audio For Linux

  • Sound Open Firmware is an open source community that provides an open source audio DSP firmware and SDK for audio or signal processing on modern DSP. Please visit this link for more details.