Open Source Media Framework
Overview
Increase the speed and performance of video decoding, encoding, processing, and transcoding on compressed digital video and imaging. Support workload offloading from the CPU to the GPU. The latest features from Intel mean decreased power use, increased mobile battery life, and reduced power requirements for other types of devices.
Benefits
- GPU and 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).
Who Needs This Product
These projects are provided for operating system vendors, systems integrators, and original device manufacturers. Products include branded or customized operating systems for embedded devices, phones, tablets, convertibles, desktops, and gaming and entertainment systems. Independent software vendors that create applications and games can take advantage of the freely available source code and binaries.
Community Involvement
Intel supports projects to help reduce product time to market, development complexity, and costs to build the product, as well as make the user experience more enjoyable.
- Supports major media codecs such as H.264/AVC, H.265/HEVC, VP8, VP9, JPEG, MJPEG, MPEG-2, and VC-1
- Written primarily in C and C++ programming languages, and distributed under an open source license
- Used by Google* for Chrome OS* and Android*
- Incorporated into SteamOS* (from Valve*) and customized Linux distributions
GSoC (Google Summer of Code)
Intel's participation in this program focuses on open source video drivers, video frameworks, and video processing algorithms.
The leading and most widely adopted open source multimedia framework is able to decode, encode, transcode, mux, demux, stream, filter, and play almost anything that humans and machines have created. FFmpeg supports the most obscure, old formats up to the most advanced stage. It's also highly portable under a wide variety of build environments, machine architectures, and configurations.
Intel helps develop and supply patches to support video hardware acceleration on Intel® GPUs in ffmpeg-vaapi, ffmpeg-qsv, ffmpeg-ocl, and other plug-ins shown in Figure 1.
Distributed License: GPL or LGPL2.1+
Figure 1. FFmpeg framework and plug-ins
Supply hardware acceleration based on the low-level VAAPI interface with this FFmpeg plug-in. It takes advantage of the industry-standard VAAPI to run high-performance video codecs, video processing, and transcoding capabilities on an Intel GPU.
This FFmpeg plug-in supplies hardware acceleration based on Intel GPUs. It provides a high-performance video codec, video processing, and transcoding capability based on the Intel® Media SDK.
OpenCL™ Standard for FFmpeg
You can provide hardware acceleration based on the industrial OpenCL™ standard for CPUs and GPUs with this FFmpeg plug-in. It's used to accelerate video-processing filters.
Link various media-processing systems to complete complex workflows with this pipeline-based multimedia framework. This popular open source framework is a collection of libraries and tools to process multimedia content: audio, video, subtitles, and related metadata.
Figure 2. Intel GPU video acceleration
This GStreamer plug-in is based on a low-level VAAPI interface. It takes advantage of the industry-standard VAAPI to run hardware acceleration for video decode, encode, and post-processing on GPUs through Libva.
Distributed License: LGPLv2.1
Currently found in gst-plugins-bad for GStreamer plug-ins, this resource takes advantage of the Intel® Media SDK to run hardware acceleration for video decode and encode, and post-processing on Intel GPUs.
Intel Media SDK Repository on GitHub*
Distributed License: LGPLv2.1
Additional Projects
This open source camera library is for extended camera features, and focuses on image quality improvement and video analysis. libXCam supports many features for image preprocessing, post-processing, and smart analysis. This library makes GPUs, CPUs, and ISPs work together to improve image quality. The OpenCL standard, OpenGL for Embedded Systems*, and Vulkan* are used to improve performance in different platforms.
Git Repository
Distributed License: Apache* 2.0
The VAAPI driver from Intel is not actively maintained. For the platforms formerly code named Broadwell and Skylake, the Intel® Media Driver for VAAPI is recommended.
VAAPI
This API is an open source library (Libva) and API specification that provides access to acceleration capabilities on graphics hardware for video codecs and processing. Libva-utils is a collection of tests and examples for VAAPI.
Libva Repository on GitHub
Libva-utils Repository on GitHub
Libva and Libva-utils Distributed License: MIT License
VAAPI Driver
This user-mode, hardware-accelerated video driver is based on Libva. Intel supplies two open source VAAPI drivers for Intel GPUs: VAAPI driver from Intel (legacy) and Intel Media Driver for VAAPI (current).
The VAAPI driver from Intel is maintained per customer or production requests. For the platforms formerly code named Broadwell and Skylake, the Intel Media Driver for VAAPI is recommended.
Intel Media Driver for VAAPI Repository on GitHub
Intel Media Driver for VAAPI distributed license: MIT license with portions covered under the BSD 3-clause New or Revised License
Explore the world of Intel’s open platform projects, contributions, community initiatives, and more at open.intel.com. |