Professional Documents
Culture Documents
Iot Media Stack Yocto Project Meta Atom Processor E3900 Series
Iot Media Stack Yocto Project Meta Atom Processor E3900 Series
March 2017
Revision 001
Ajit Kumar K. P
Graphics Platform Application Engineer
Internet of Things Group, Intel
No license (express or implied, by estoppel or otherwise) to any intellectual property rights is granted by this document.
All information provided here is subject to change without notice. Contact your Intel representative to obtain the latest Intel
product specifications and roadmaps.
The products described may contain design defects or errors known as errata which may cause the product to deviate from
published specifications. Current characterized errata are available on request.
Copies of documents which have an order number and are referenced in this document may be obtained by calling 1-800-548-4725
or by visiting: http://www.intel.com/design/literature.htm
Intel technologies’ features and benefits depend on system configuration and may require enabled hardware, software or service
activation. Learn more at http://www.intel.com/ or from the OEM or retailer.
Intel, Intel Atom, and the Intel logo are trademarks of Intel Corporation in the U.S. and/or other countries.
Figures
Figure 1. Default Yocto Project Media Stack (Open Source) ................................................................. 7
Figure 2. Options when Compiling a BSP Image ........................................................................................... 8
Figure 3. IoT Media Stack (Proprietary) ............................................................................................................10
Tables
Table 1. Terminology ...................................................................................................................................................... 5
Table 2. Reference Documents ................................................................................................................................ 5
1.0 Introduction
This document provides an overview of software components that comprise the IoT
Media Stack on Yocto Project*-based metadata and source code for Intel Atom®
Processor E3900 Series. This document also introduces and provides a distinction
between the IoT Media Stack and the default Yocto Project Media Stack. This document
does not detail the architectural level of the software components.
The complete graphics stack for Intel Atom® processor E3900 series includes additional
user space drivers as part of the Intel® Unified 3D Library package that includes the
OpenCL*, direct rendering infrastructure (DRI), and video acceleration (VA) drivers.
For more information on how to integrate Intel Unified 3D Library with the board
support package (BSP), refer to the Intel Unified 3D Library package, as stated in Table 2.
1.1 Terminology
Table 1. Terminology
Term Description
Document Document
No./Location
The default Yocto Project Media Stack for Intel Atom® Processor E3900 Series consists
of the following software components shown in Figure 1.
Video Applications
2
GStreamer/FFMPEG
Framework
1
i965 VA Driver
LibDRM
Base BSP
User Space
The base BSP provides necessary recipes for the kernel space graphics components
(including the i915 DRM driver). The “meta-intel-middleware” layer provides additional
recipes for user space middleware components that includes, but not limited to,
connectivity, security, graphics, and multimedia.
Note: Refer to the graphics and multimedia recipes in “meta-intel-middleware” for updated
links.
Path 1 is likely the most common path where customers use well-established
multimedia frameworks such as GStreamer SDK (or FFmpeg* framework) to develop
their applications.
Path 2 is adopted usually by customers who have a good understanding of LibVA and
prefer to use VA-API directly in their applications.
Video Applications
3
GStreamer Framework
3
GStreamer-Media SDK 4 5
Plugins
3
LibVA staging
iHD VA Driver
meta-intel-msdk
LibDRM
User Space
The “meta-intel-msdk” layer supplies the following middleware components that make
up the IoT Media Stack:
1. GStreamer-Intel® Media SDK Plugins
Intel® Media SDK offers a set of software development libraries that expose the
media acceleration capabilities of Intel® platforms for various media workloads
such as decoding, encoding, and video preprocessing. Intel Media SDK consists
of hardware acceleration libraries, plugins, media sample applications, and
debug tools. The Intel Media SDK package can be installed from
https://software.intel.com/en-us/media-sdk
3. LibVA staging
This dedicated LibVA library works in tandem with Intel Media SDK. This open
source library is maintained at https://github.com/01org/iotg-lin-gfx-libva. The
compiled LibVA-staging binaries are also available in the Intel® Unified 3D
Library package.
4. iHD VA driver
Note: Besides LibVA–staging and iHD VA driver, the Intel Unified 3D Library package also
includes the UFO-DRI and OpenCL drivers (available at
http://www.intel.com/content/www/us/en/embedded/products/apollo-lake/software-
and-drivers.html).
Note: OpenCL and UFO-DRI drivers do not have any dependencies on the LibVA-staging
library or iHD VA driver. Therefore, OpenCL and UFO-DRI drivers can work with either
the default Yocto Project Media Stack or the IoT Media Stack.
Note: “meta-intel-ufo” provides the necessary recipes to pre-install UFO-DRI and OpenCL
drivers during the BitBake build. Therefore, users who need UFO-DRI and OpenCL
drivers, and not Intel Media SDK, only need to use “meta-intel-ufo” during the BitBake
build. The users can exclude “meta-intel-msdk” during the BitBake build if they do not
need the IOT media stack.
Through Path 3, customers who are familiar with the GStreamer framework can
seamlessly integrate their applications using the GStreamer-Intel Media SDK plugins.
These plugins allow customers to easily adopt Intel Media SDK and benefit from the
hardware acceleration capabilities offered from the proprietary iHD VA driver.
Note: Customer applications developed based on the GStreamer framework can only work on
the IoT Media Stack if the GStreamer-Intel Media SDK plugins are used.
Path 4 is recommended for customers who directly use Intel Media SDK APIs to
develop their video applications. For details, refer to the Intel Media SDK website at
https://software.intel.com/en-us/media-sdk
Path 5 is for customers who understand LibVA well and who want to use VA-APIs
directly in their applications, because LibVA staging is open source.
Build (using the BitBake build engine) the default Yocto Project*-based metadata
and source code BSP and manually install each software component on the IoT
Media Stack on the target machine at run time.
Build a bootable image using the base BSP and “meta-intel-msdk” to include all
software components on the IoT Media Stack at compilation time (during the
BitBake process).
Customers who do not wish to install certain components can exclude those
recipes from “bblayers.conf”, e.g:
4.0 Summary
This whitepaper has provided an overview of the two software stacks supported on
Intel Atom® Processor E3900 Series, namely the default Yocto Project Media Stack and
the IoT Media Stack. This whitepaper has also highlighted the different paths video
applications can take to achieve hardware acceleration. Customers should carefully
consider the pros and cons of the two media stacks and their video acceleration paths
before developing their solutions on Intel Atom® Processor E3900 Series.
To get the optimum hardware acceleration performance out of the Intel Atom®
Processor E3900 Series, Intel recommends customers to adopt the IoT Media Stack.
The software ingredients on the IoT Media Stack also have long-life support from Intel.
Intel does not recommend customers to mix and match software ingredients between
the Yocto Project* Media Stack and the IoT Media Stack.