SlideShare una empresa de Scribd logo
1 de 34
Descargar para leer sin conexión
State of Multimedia in 2010’s
Embedded Linux Devices
Benjamin Zores
ELCE 2010 – 27th October 2010 - Cambridge, UK
2 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Presentation Objectives
Find out about multimedia status on today's embedded devices.
Help you make the best choices for your next device's design:
What is the best hardware for you ?
Which OS can you run on top of it ?
How to get the best out of your SoC ?
How to write embedded applications ?
Find out more about ”OpenSource” compatibility.
3 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
About Myself …
Expert on Open source software.
7y experience on various embedded devices design.
From low-level BSP to global software architecture.
Software Architect at Alcatel-Lucent
Open Source projects founder, leader and / or contributor for:
OpenBricks embedded Linux framework.
GeeXboX embedded multimedia distribution.
Enna EFL Media Center.
uShare UPnP and DLNA Media Server.
MPlayer media player application.
4 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
Hardware Selection
Which SoC for which target ?
5 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Hardware Selection – Which SoC for which target ?
A few simple rules to follow:
#1: Think about what your customers really need.
#2: Now think about features and product's lifespan.
#3: Only by then, think about shopcost.
Always remember:
A SoC is not only a CPU.
Define your own criterias.
The most powerful SoC
is not necessarly the good
one for your product.
PS: I'm neither affilitated to any vendor nor related to any ARM shareholder :-)
PS2: All logos are trademark of their respective owners.
6 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Hardware Selection – Which SoC for which target ?
Criteria Description
CPU Main Processing Capabilities (Raw Speed, MHz ...)
SMP Multi-Core Capabilities
SIMD Instruction Set Extensions (MMX, SSE, VFP, NEON ...)
PSU Power Consumption and Management
NET Networking Capabilities (FE, GbE, WiFi, Bluetooth, 3G ...)
CONNECT Extra Peripherals Connectivity Capabilities (USB, (m)PCI(e) ...)
STORAGE Storage Capabilities (NOR, NAND, SDHC, (e)SATA ...)
2D 2D Graphics Capabilities
3D 3D Graphics Capabilities
VIDEO Video Decoding/Encoding Capabilities
7 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Hardware Selection – Which SoC for which target ?
MIPS32 SoCs
Usually low-end CPUs (< 300 MHz)
Mostly used with wired equipments.
Legacy Ethernet networking.
Good for A/V output.
Focus on 2D and Video processing.
Usually comes with regular
connectivity: USB, SATA …
SoC Examples
Sigma Designs
Typical Usage
Set-Top-Box, Bluray / DVD Players
CPU
VIDEO
3D
2D
STORAGE
CONNECT
NET
PSU
SIMD
SMP
0
5
MIPS32-based SoC Capabilities
8 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Hardware Selection – Which SoC for which target ?
ARM9 SoCs
Old mobile phones SoCs (< 300 MHz)
Still in the wild, clocked up to 1.5+ Ghz.
Mostly used with wired equipments.
Usually comes with enhanced Eth networking.
Good for storage: usually USB / PATA / (e)SATA.
SoC Examples
TI OMAP 1, Freescale i.MX2x, Marvell Kirkwood
Typical Usage
NAS, Routers, Network equipments.
CPU
VIDEO
3D
2D
STORAGE
CONNECT
NET
PSU
SIMD
SMP
0
5
ARM9-based SoC Capabilities
9 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Hardware Selection – Which SoC for which target ?
ARM11 SoCs
Mid-end CPUs (400-700 Mhz)
Mostly seen with 2007+ smartphones.
Used with both wired and mobile equipments.
Focus on multimedia with 2D/3D features.
Focus on networking capabilities.
SoC Examples
TI OMAP 2, Freescale i.MX3x,
Qualcomm MSM72xx, Broadcom BCMring
Typical Usage
Telecommunication Industry Smartphones and wired phones with low-end multimedia.
CPU
VIDEO
3D
2D
STORAGE
CONNECT
NET
PSU
SIMD
SMP
0
5
ARM11-based SoC Capabilities
10 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
CPU
VIDEO
3D
2D
STORAGE
CONNECT
NET
PSU
SIMD
SMP
0
5
ARM Cortex-A8 SoC Capabilities
State of Multimedia in 2010’s Embedded Linux Devices
Hardware Selection – Which SoC for which target ?
ARM Cortex-A8 SoCs
High-end CPUs (600 Mhz – 1 GHz)
Mostly seen with 2009+ smartphones.
Designed for mobile equipments only.
Introduced NEON instructions optimizations.
Enhanced multimedia 2D / 3D / Video features.
Mobile-only networking capabilities,
lack of Ethernet and external storage.
SoC Examples
TI OMAP 3, Freescale i.MX5x, Apple A4, Marvell ARMADA, Qualcomm SnapDragon QSD86xx.
Typical Usage
High-end smartphones, Tablet PCs.
11 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Hardware Selection – Which SoC for which target ?
ARM Cortex-A9 SoCs
Ultra high-end CPUs (700 Mhz – 1.5 GHz)
Mostly seen with Q4 2010+ smartphones.
Designed for mobile and wired equipments.
Introduced SMP Optimizations: 1-4 Cores.
Optional SIMD instructions
Ultra high-end multimedia 2D/3D/Video features.
Enhanced networking capabilities, mini-PCIe.
SoC Examples
TI OMAP 4, nVidia Tegra 2, Qualcomm SnapDragon MSM86xx and QSD86xx.
Typical Usage
High-end smartphones, Set-Top-Box, Connected TVs.
CPU
VIDEO
3D
2D
STORAGE
CONNECT
NET
PSU
SIMD
SMP
0
5
ARM Cortex-A9 SoC Capabilities
12 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Hardware Selection – Which SoC for which target ?
Intel Embedded ATOM SoCs
Ultra high-end CPU (1200 MHz)
Introduced with 2010 Set-Top-Boxes.
Designed for wired equipments.
Consequent power consumption (7W).
Single-Core, x86 instructions set
and large SIMD optimizations.
Ultra high-end multimedia
2D / 3D / Video features.
SoC Examples
Intel CE4100 and CE4200.
Typical Usage
Set-Top-Box (Boxee), Connected TVs (GoogleTV).
CPU
VIDEO
3D
2D
STORAGE
CONNECT
NET
PSU
SIMD
SMP
0
5
Embedded ATOM x86 SoC Capabilities
13 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia
14 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
State of Multimedia – 2D Raster Graphics
2D Raster Graphics
Usually raw basic kernel framebuffer driver support.
Occasionally, DirectFB drivers:
Limited hardware acceleration for framebuffer.
Rarely supported by semiconductor vendors.
May come with proprietary X11 driver:
Basic implementation
Restricted to a given X.Org ABI (i.e deal with it!)
Why would you need X11 for embedded device ??
Most of the time implemented through OpenGL|ES.
Hopefully addressed by application framework, when supported ...
15 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
State of Multimedia – 2D Vector Graphics
2D Vector Graphics
Useful for Flash and SVG rendering.
Though rarely supported at all !!
Most of the time implemented through OpenVG
hardware acceleration framework.
Mostly rely on proprietary drivers and libs.
Supported by some application frameworks:
Android
MeeGo (Qt)
Cairo
Adobe Flash
16 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
State of Multimedia – 3D Graphics
3D Graphics: OpenGL|ES
Complete hardware graphics acceleration.
Limited by GPU capabilities.
Sometimes slower than software rendering.
Available through proprietary drivers and libs only.
Relies on EGL:
Usually comes through vendor-specific implementation.
And many vendor-specific extensions.
Applications support heavily varies:
Imagination PowerVR SGX is best (only?) supported.
No MediaPlayer support GLES as video output yet !!
17 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
State of Multimedia – Software A/V Processing
Audio / Video
Software Implementation
Fully supported by OpenSource software:
FFmpeg: multi-codecs audio/video encoding/decoding library
Codec specific libs: libvpx, libmad, libvorbis, libfaad, libmpeg2 ...
Various proprietary software vendors.
Limited by CPU processing only and wide A/V codecs range support.
Optimized for VFP / NEON / SSE instructions and multi-core decoding.
Sometimes requires Integer-specific implementation
for audio codecs (many ARM chips lack of FPU).
May have software patent issues in a few countries.
18 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
State of Multimedia – Hardware A/V Processing
Audio / Video Hardware (DSP) Implementation
100% CPU offloading.
Limited A/V codecs support.
Mostly closed-source:
Usually vendor-specific drivers and libs.
Never hit mainstream Linux.
Proprietary firmware, libs and DSP code.
Rarely supported by OpenSource projects.
Vendor-Specific DSP API (hard to support).
Generally available through OpenMAX IL / VAAPI abstraction layer.
19 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
State of Multimedia – Hardware A/V Processing
OpenMAX
Portable DSP abstraction API.
Generic implementation from MediaPlayer side.
Slower than native DSP access, less robust, but more portable.
Only supported by GStreamer and VLC OpenSource mediaplayers.
VA-API
FreeDesktop equivalent to OpenMAX, mostly for x86.
Limited to X.Org video output.
Better support mostly due to x86 Desktop orientation.
20 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
State of Multimedia
State of 2D / 3D / Video Support
Theorically fully h/w supported, full CPU offloading.
Usually relies on proprietary implementation.
Limited capabilities and support, either due to h/w or s/w implementation.
Few commitment from semiconductor vendors
to provide regular Linux mainstream support.
Possible h/w video decoding but semi-s/w rendering.
Only 100% usable on industry's mobile ”standard” OS:
Google Android
Maybe Nokia / Intel MeeGo some day ?
21 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
The Underlying OS
22 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
The Underlying OS
Half-Commercial OS:
WindRiver, Montavista ...
Android, MeeGo, Ubuntu ...
Homebrew OS:
OpenEmbedded, OpenBricks
OpenWrt, Buildroot
...
Linaro Foundation
Not really an OS but helps
in making your devices works
with Open Source Software.
23 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
The Underlying OS
Half-Commercial OS:
Based on OSS but with deep commercial tights.
Take it the way it is:
Follow the project / product's philosophy.
Follow its lifecycle and roadmap.
Hard to change the overall software architecture.
Adapt your apps and skins to existing framework.
PROS:
Potentially impressive Time-To-Market (TTM) and Long-Term-Support (LTS)
Good for rapid product deployment and basic applications development.
CONS:
May not be adapted to custom and very specific apps.
Vendor roadmap follow-up may imply OS upgrades and API changes.
24 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
The Underlying OS
Homebrew OS:
Fully based on OSS with barely no support.
Take it as your next design's framework:
Fine-tuning for on-demand custom OS creation.
You're on your own: fix it, debug it, adapt it.
Easy to create the software architecture you want.
Pray for your whole hardware to be
fully supported in upstream Linux kernel :-(
PROS:
Complete control over your product’s global software roadmap.
Good for autonomous system and application deployment.
CONS:
You're on your own from the very beginning to the end (no or very bad LTS).
Security threat and fixes workload
25 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
Embedded
Applicative Framework
26 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Embedded Applicative Framework
How to write applications and user interfaces ?
Google's Android native applications framework.
Nokia's Qt (MeeGo, KDE ...)
GTK+ (Gnome)
Enlightenment Foundation Libraries (EFL)
Simple Direct Media Layer (SDL)
Web Technologies
27 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Embedded Applicative Framework
Questions you may ask yourself:
Has it to be a tradeoff between
code efficiency and programming convenience ?
Native compiled code or interpreted one ?
Is my code meant to run on multiple devices ?
MVC Approach: should I distinct middleware / core from user interface ?
SDK or Open Source collaboration:
what if I want to gather developers around my project ?
28 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Embedded Applicative Framework (based on personal feedback)
YesNoYesNoYesYesMVC Mode
NoNoNoNoYesYesOpenVG
NoNoYesNoYesYesOpenGL|ES
GoodAverageAverageAverageGoodGood
Multimedia
Integration
GoodAverageWeakAverageGoodGood
Community
Followers
WeakWeakAverageWeakGoodGoodSystem-Wide
WeakGoodGoodAverageAverageGoodPerformance
GoodGoodGoodAverageWeakN.AFootprint
AverageGoodAverageAverageGoodWeakPortability
AverageGoodWeakGoodGoodAverageMaturity
JS, CSS, HTMLCCCC++JavaLanguage
WebSDLEFLGTK+QtAndroid
29 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
Conclusion
30 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Designing your new device: Questions to be raised …
Questions to be raised:
Which features do you really need ?
What is your project's expected lifespan ?
Do you target TTM or LTS ?
Do you need complete code mastership ?
Do you need SDK / external apps openess ?
Is regular upstream Linux support mandatory for your application ?
31 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Conclusion – State of Embedded Linux
Multimedia on embedded Linux rocks !
Maybe even more than on desktop Linux …
But unfortunately mostly relies on 100% proprietary software.
Linux now supports so many SoCs ...
But h/w vendors rarely contribute upstream.
Mostly comes with Android-only software.
Usually provided under binary form only
You have to stick to first (and last) BSP release.
Need to sponsor MeeGo / Linaro-like initiatives
to upstream SoC support on Linux.
32 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
www.alcatel-lucent.comwww.alcatel-lucent.com
33 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Annex – Some references
DirectFB: http://directfb.org/
OpenVG: http://www.khronos.org/openvg/
OpenGL|ES: http://www.khronos.org/opengles/
OpenMAX: http://www.khronos.org/openmax/
VA-API: http://www.freedesktop.org/wiki/Software/vaapi
FFmpeg: http://www.ffmpeg.org/
SDL: http://www.libsdl.org/
GTK+: http://www.gtk.org/
Qt: http://qt.nokia.com/
EFL: http://www.enlightenment.org/
34 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved.
State of Multimedia in 2010’s Embedded Linux Devices
Annex – Some references
Windriver: http://www.windriver.com/
MontaVista: http://www.mvista.com/
Android: http://www.android.com/
MeeGo: http://www.meego.com/
Ubuntu: http://www.ubuntu.com/
OpenEmbedded: http://wiki.openembedded.org/index.php/Main_Page
OpenBricks: http://www.openbricks.org/
OpenWRT: http://www.openwrt.org/
Buildroot: http://buildroot.uclibc.org/
Linaro: http://www.linaro.org/

Más contenido relacionado

La actualidad más candente

Datavideo MS-900
Datavideo MS-900Datavideo MS-900
Datavideo MS-900AVNed
 
English version mobile computers reference catalog
English version   mobile computers reference catalogEnglish version   mobile computers reference catalog
English version mobile computers reference catalogerolcet
 
Next-Gen In-Vehicle Software Opportunities
Next-Gen In-Vehicle Software OpportunitiesNext-Gen In-Vehicle Software Opportunities
Next-Gen In-Vehicle Software OpportunitiesAlison Chaiken
 
ITE v5.0 - Chapter 8
ITE v5.0 - Chapter 8ITE v5.0 - Chapter 8
ITE v5.0 - Chapter 8Irsandi Hasan
 
ABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
ABS 2013: Dive into Android Networking - Adding Ethernet ConnectivityABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
ABS 2013: Dive into Android Networking - Adding Ethernet ConnectivityBenjamin Zores
 
Parallel Rendering of Webpages
Parallel Rendering of WebpagesParallel Rendering of Webpages
Parallel Rendering of WebpagesLangtech
 
ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet ConnectivityELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet ConnectivityBenjamin Zores
 
Embedded Linux Multimedia
Embedded Linux MultimediaEmbedded Linux Multimedia
Embedded Linux MultimediaCaglar Dursun
 
ABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting WalkthroughABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting WalkthroughBenjamin Zores
 
Introduction To The Beagleboard
Introduction To The BeagleboardIntroduction To The Beagleboard
Introduction To The BeagleboardNeHal VeRma
 
Openmokast: An open mobile broadcasting software stack for handheld devices
Openmokast: An open mobile broadcasting software stack for handheld devicesOpenmokast: An open mobile broadcasting software stack for handheld devices
Openmokast: An open mobile broadcasting software stack for handheld devicesJean-Michel Bouffard
 
Rapid prototyping with open source
Rapid prototyping with open sourceRapid prototyping with open source
Rapid prototyping with open sourceAlison Chaiken
 
Audio in linux embedded
Audio in linux embeddedAudio in linux embedded
Audio in linux embeddedtrx2001
 
Basicsofembeddedsytsems 110519071747-phpapp02
Basicsofembeddedsytsems 110519071747-phpapp02Basicsofembeddedsytsems 110519071747-phpapp02
Basicsofembeddedsytsems 110519071747-phpapp02priya_makhija
 

La actualidad más candente (20)

Datavideo MS-900
Datavideo MS-900Datavideo MS-900
Datavideo MS-900
 
English version mobile computers reference catalog
English version   mobile computers reference catalogEnglish version   mobile computers reference catalog
English version mobile computers reference catalog
 
Next-Gen In-Vehicle Software Opportunities
Next-Gen In-Vehicle Software OpportunitiesNext-Gen In-Vehicle Software Opportunities
Next-Gen In-Vehicle Software Opportunities
 
ITE v5.0 - Chapter 8
ITE v5.0 - Chapter 8ITE v5.0 - Chapter 8
ITE v5.0 - Chapter 8
 
ABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
ABS 2013: Dive into Android Networking - Adding Ethernet ConnectivityABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
ABS 2013: Dive into Android Networking - Adding Ethernet Connectivity
 
Sony PDW-U1
Sony PDW-U1Sony PDW-U1
Sony PDW-U1
 
Bring Out the Best in Embedded Computing
Bring Out the Best in Embedded ComputingBring Out the Best in Embedded Computing
Bring Out the Best in Embedded Computing
 
Parallel Rendering of Webpages
Parallel Rendering of WebpagesParallel Rendering of Webpages
Parallel Rendering of Webpages
 
ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet ConnectivityELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
ELCE 2012 - Dive into Android Networking: Adding Ethernet Connectivity
 
Embedded Linux Multimedia
Embedded Linux MultimediaEmbedded Linux Multimedia
Embedded Linux Multimedia
 
Mobile Operating System
Mobile Operating SystemMobile Operating System
Mobile Operating System
 
ABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting WalkthroughABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting Walkthrough
 
Brochure V3.6
Brochure V3.6Brochure V3.6
Brochure V3.6
 
Introduction To The Beagleboard
Introduction To The BeagleboardIntroduction To The Beagleboard
Introduction To The Beagleboard
 
Openmokast: An open mobile broadcasting software stack for handheld devices
Openmokast: An open mobile broadcasting software stack for handheld devicesOpenmokast: An open mobile broadcasting software stack for handheld devices
Openmokast: An open mobile broadcasting software stack for handheld devices
 
Peripherals
PeripheralsPeripherals
Peripherals
 
Rapid prototyping with open source
Rapid prototyping with open sourceRapid prototyping with open source
Rapid prototyping with open source
 
Audio in linux embedded
Audio in linux embeddedAudio in linux embedded
Audio in linux embedded
 
Basicsofembeddedsytsems 110519071747-phpapp02
Basicsofembeddedsytsems 110519071747-phpapp02Basicsofembeddedsytsems 110519071747-phpapp02
Basicsofembeddedsytsems 110519071747-phpapp02
 
Game Programming By J2me
Game Programming By J2meGame Programming By J2me
Game Programming By J2me
 

Destacado

Linux Timer device driver
Linux Timer device driverLinux Timer device driver
Linux Timer device driver艾鍗科技
 
"Using the OpenCL C Kernel Language for Embedded Vision Processors," a Presen...
"Using the OpenCL C Kernel Language for Embedded Vision Processors," a Presen..."Using the OpenCL C Kernel Language for Embedded Vision Processors," a Presen...
"Using the OpenCL C Kernel Language for Embedded Vision Processors," a Presen...Edge AI and Vision Alliance
 
Processors - an overview
Processors - an overviewProcessors - an overview
Processors - an overviewLorenz Lo Sauer
 
VLIW(Very Long Instruction Word)
VLIW(Very Long Instruction Word)VLIW(Very Long Instruction Word)
VLIW(Very Long Instruction Word)Pragnya Dash
 
Simd programming introduction
Simd programming introductionSimd programming introduction
Simd programming introductionChamp Yen
 
embedded-systems-for-beginners
embedded-systems-for-beginnersembedded-systems-for-beginners
embedded-systems-for-beginnersmohamed gaber
 
Multiple processor (ppt 2010)
Multiple processor (ppt 2010)Multiple processor (ppt 2010)
Multiple processor (ppt 2010)Arth Ramada
 
Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processingPage Maker
 
Electronic watchdog
Electronic watchdogElectronic watchdog
Electronic watchdogviv3ksharma
 
LinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-PresentedLinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-PresentedSlideShare
 

Destacado (17)

Linux Timer device driver
Linux Timer device driverLinux Timer device driver
Linux Timer device driver
 
S emb t7-arch_bus
S emb t7-arch_busS emb t7-arch_bus
S emb t7-arch_bus
 
"Using the OpenCL C Kernel Language for Embedded Vision Processors," a Presen...
"Using the OpenCL C Kernel Language for Embedded Vision Processors," a Presen..."Using the OpenCL C Kernel Language for Embedded Vision Processors," a Presen...
"Using the OpenCL C Kernel Language for Embedded Vision Processors," a Presen...
 
Processors - an overview
Processors - an overviewProcessors - an overview
Processors - an overview
 
Linux watchdog timer
Linux watchdog timerLinux watchdog timer
Linux watchdog timer
 
VLIW(Very Long Instruction Word)
VLIW(Very Long Instruction Word)VLIW(Very Long Instruction Word)
VLIW(Very Long Instruction Word)
 
Dsp ajal
Dsp  ajalDsp  ajal
Dsp ajal
 
Simd programming introduction
Simd programming introductionSimd programming introduction
Simd programming introduction
 
embedded-systems-for-beginners
embedded-systems-for-beginnersembedded-systems-for-beginners
embedded-systems-for-beginners
 
Multi processing
Multi processingMulti processing
Multi processing
 
VLIW Processors
VLIW ProcessorsVLIW Processors
VLIW Processors
 
Parallel processing Concepts
Parallel processing ConceptsParallel processing Concepts
Parallel processing Concepts
 
Multiple processor (ppt 2010)
Multiple processor (ppt 2010)Multiple processor (ppt 2010)
Multiple processor (ppt 2010)
 
Introduction to parallel processing
Introduction to parallel processingIntroduction to parallel processing
Introduction to parallel processing
 
Electronic watchdog
Electronic watchdogElectronic watchdog
Electronic watchdog
 
Watch dog
Watch dogWatch dog
Watch dog
 
LinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-PresentedLinkedIn SlideShare: Knowledge, Well-Presented
LinkedIn SlideShare: Knowledge, Well-Presented
 

Similar a ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices

Eric Theis resume61.1
Eric Theis resume61.1Eric Theis resume61.1
Eric Theis resume61.1Eric Theis
 
Droidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded SystemsDroidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded SystemsBenjamin Zores
 
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...INFOGAIN PUBLICATION
 
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...INFOGAIN PUBLICATION
 
Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boardsLF Events
 
Tac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PITac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PICliff Samuels Jr.
 
Albin profile
Albin profileAlbin profile
Albin profileAlbin B
 
Brochure (2016-01-30)
Brochure (2016-01-30)Brochure (2016-01-30)
Brochure (2016-01-30)Jonah McLeod
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212Yoojoo Jang
 
Вадим Сухомлинов _Платформы Intel(r) Atom(tm) – новые возможности для социаль...
Вадим Сухомлинов _Платформы Intel(r) Atom(tm) – новые возможности для социаль...Вадим Сухомлинов _Платформы Intel(r) Atom(tm) – новые возможности для социаль...
Вадим Сухомлинов _Платформы Intel(r) Atom(tm) – новые возможности для социаль...Ingria. Technopark St. Petersburg
 
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...christopherfairbairn
 
Operating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and DisadvantagesOperating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and DisadvantagesFatih Özlü
 
Single board computer options
Single board computer optionsSingle board computer options
Single board computer optionsALTANAI BISHT
 
13.30 hr Hebinck
13.30 hr Hebinck13.30 hr Hebinck
13.30 hr HebinckThemadagen
 
Camera Architecture from Failure to Success
Camera Architecture from Failure to SuccessCamera Architecture from Failure to Success
Camera Architecture from Failure to SuccessRyo Jin
 
Resume-LIN-en-2014
Resume-LIN-en-2014Resume-LIN-en-2014
Resume-LIN-en-2014lin xianjin
 

Similar a ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices (20)

tizen-rt-javascript-20181011
tizen-rt-javascript-20181011tizen-rt-javascript-20181011
tizen-rt-javascript-20181011
 
C# on a CHIPs
C# on a CHIPsC# on a CHIPs
C# on a CHIPs
 
Eric Theis resume61.1
Eric Theis resume61.1Eric Theis resume61.1
Eric Theis resume61.1
 
Droidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded SystemsDroidcon 2013 france - The Growth of Android in Embedded Systems
Droidcon 2013 france - The Growth of Android in Embedded Systems
 
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
 
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
Optimizing the Audio Decoding Based Upon Hardware Capability: An Android NUPl...
 
Linxu conj2016 96boards
Linxu conj2016 96boardsLinxu conj2016 96boards
Linxu conj2016 96boards
 
Tac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PITac Presentation October 72014- Raspberry PI
Tac Presentation October 72014- Raspberry PI
 
Albin profile
Albin profileAlbin profile
Albin profile
 
Brochure (2016-01-30)
Brochure (2016-01-30)Brochure (2016-01-30)
Brochure (2016-01-30)
 
Google Android Naver 1212
Google Android Naver 1212Google Android Naver 1212
Google Android Naver 1212
 
iWave Systems Techologies Pvt Ltd: Products- Software BSPs
iWave Systems Techologies Pvt Ltd: Products- Software BSPsiWave Systems Techologies Pvt Ltd: Products- Software BSPs
iWave Systems Techologies Pvt Ltd: Products- Software BSPs
 
Teksun Corporate Overview 2014
Teksun Corporate Overview 2014Teksun Corporate Overview 2014
Teksun Corporate Overview 2014
 
Вадим Сухомлинов _Платформы Intel(r) Atom(tm) – новые возможности для социаль...
Вадим Сухомлинов _Платформы Intel(r) Atom(tm) – новые возможности для социаль...Вадим Сухомлинов _Платформы Intel(r) Atom(tm) – новые возможности для социаль...
Вадим Сухомлинов _Платформы Intel(r) Atom(tm) – новые возможности для социаль...
 
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
Christchurch Embedded .NET User Group - Introduction to Microsoft Embedded pl...
 
Operating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and DisadvantagesOperating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
Operating System Windows CE 7.0 and Processor ARM Advantages and Disadvantages
 
Single board computer options
Single board computer optionsSingle board computer options
Single board computer options
 
13.30 hr Hebinck
13.30 hr Hebinck13.30 hr Hebinck
13.30 hr Hebinck
 
Camera Architecture from Failure to Success
Camera Architecture from Failure to SuccessCamera Architecture from Failure to Success
Camera Architecture from Failure to Success
 
Resume-LIN-en-2014
Resume-LIN-en-2014Resume-LIN-en-2014
Resume-LIN-en-2014
 

Más de Benjamin Zores

CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets AnsibleCloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets AnsibleBenjamin Zores
 
ABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsBenjamin Zores
 
ABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat InternalsABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat InternalsBenjamin Zores
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyBenjamin Zores
 
ABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting WalkthroughABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting WalkthroughBenjamin Zores
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkBenjamin Zores
 
ELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media CenterELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media CenterBenjamin Zores
 
Fosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media CenterFosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media CenterBenjamin Zores
 

Más de Benjamin Zores (8)

CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets AnsibleCloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
CloudOpen 2014 - Extending Cloud Automation, When OpenStack Meets Ansible
 
ABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded SystemsABS 2014 - The Growth of Android in Embedded Systems
ABS 2014 - The Growth of Android in Embedded Systems
 
ABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat InternalsABS 2014 - Android Kit Kat Internals
ABS 2014 - Android Kit Kat Internals
 
Droidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform AnatomyDroidcon 2013 France - Android Platform Anatomy
Droidcon 2013 France - Android Platform Anatomy
 
ABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting WalkthroughABS 2013: Android Jelly Bean Device Porting Walkthrough
ABS 2013: Android Jelly Bean Device Porting Walkthrough
 
Introduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux FrameworkIntroduction to OpenBricks: an Embedded Linux Framework
Introduction to OpenBricks: an Embedded Linux Framework
 
ELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media CenterELC 2010 - GeeXboX Enna: Embedded Media Center
ELC 2010 - GeeXboX Enna: Embedded Media Center
 
Fosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media CenterFosdem 2010 - An Introduction to Enna Media Center
Fosdem 2010 - An Introduction to Enna Media Center
 

ELCE 2010 - State Of Multimedia In 2010 Embedded Linux Devices

  • 1. State of Multimedia in 2010’s Embedded Linux Devices Benjamin Zores ELCE 2010 – 27th October 2010 - Cambridge, UK
  • 2. 2 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Presentation Objectives Find out about multimedia status on today's embedded devices. Help you make the best choices for your next device's design: What is the best hardware for you ? Which OS can you run on top of it ? How to get the best out of your SoC ? How to write embedded applications ? Find out more about ”OpenSource” compatibility.
  • 3. 3 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices About Myself … Expert on Open source software. 7y experience on various embedded devices design. From low-level BSP to global software architecture. Software Architect at Alcatel-Lucent Open Source projects founder, leader and / or contributor for: OpenBricks embedded Linux framework. GeeXboX embedded multimedia distribution. Enna EFL Media Center. uShare UPnP and DLNA Media Server. MPlayer media player application.
  • 4. 4 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. Hardware Selection Which SoC for which target ?
  • 5. 5 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Hardware Selection – Which SoC for which target ? A few simple rules to follow: #1: Think about what your customers really need. #2: Now think about features and product's lifespan. #3: Only by then, think about shopcost. Always remember: A SoC is not only a CPU. Define your own criterias. The most powerful SoC is not necessarly the good one for your product. PS: I'm neither affilitated to any vendor nor related to any ARM shareholder :-) PS2: All logos are trademark of their respective owners.
  • 6. 6 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Hardware Selection – Which SoC for which target ? Criteria Description CPU Main Processing Capabilities (Raw Speed, MHz ...) SMP Multi-Core Capabilities SIMD Instruction Set Extensions (MMX, SSE, VFP, NEON ...) PSU Power Consumption and Management NET Networking Capabilities (FE, GbE, WiFi, Bluetooth, 3G ...) CONNECT Extra Peripherals Connectivity Capabilities (USB, (m)PCI(e) ...) STORAGE Storage Capabilities (NOR, NAND, SDHC, (e)SATA ...) 2D 2D Graphics Capabilities 3D 3D Graphics Capabilities VIDEO Video Decoding/Encoding Capabilities
  • 7. 7 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Hardware Selection – Which SoC for which target ? MIPS32 SoCs Usually low-end CPUs (< 300 MHz) Mostly used with wired equipments. Legacy Ethernet networking. Good for A/V output. Focus on 2D and Video processing. Usually comes with regular connectivity: USB, SATA … SoC Examples Sigma Designs Typical Usage Set-Top-Box, Bluray / DVD Players CPU VIDEO 3D 2D STORAGE CONNECT NET PSU SIMD SMP 0 5 MIPS32-based SoC Capabilities
  • 8. 8 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Hardware Selection – Which SoC for which target ? ARM9 SoCs Old mobile phones SoCs (< 300 MHz) Still in the wild, clocked up to 1.5+ Ghz. Mostly used with wired equipments. Usually comes with enhanced Eth networking. Good for storage: usually USB / PATA / (e)SATA. SoC Examples TI OMAP 1, Freescale i.MX2x, Marvell Kirkwood Typical Usage NAS, Routers, Network equipments. CPU VIDEO 3D 2D STORAGE CONNECT NET PSU SIMD SMP 0 5 ARM9-based SoC Capabilities
  • 9. 9 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Hardware Selection – Which SoC for which target ? ARM11 SoCs Mid-end CPUs (400-700 Mhz) Mostly seen with 2007+ smartphones. Used with both wired and mobile equipments. Focus on multimedia with 2D/3D features. Focus on networking capabilities. SoC Examples TI OMAP 2, Freescale i.MX3x, Qualcomm MSM72xx, Broadcom BCMring Typical Usage Telecommunication Industry Smartphones and wired phones with low-end multimedia. CPU VIDEO 3D 2D STORAGE CONNECT NET PSU SIMD SMP 0 5 ARM11-based SoC Capabilities
  • 10. 10 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. CPU VIDEO 3D 2D STORAGE CONNECT NET PSU SIMD SMP 0 5 ARM Cortex-A8 SoC Capabilities State of Multimedia in 2010’s Embedded Linux Devices Hardware Selection – Which SoC for which target ? ARM Cortex-A8 SoCs High-end CPUs (600 Mhz – 1 GHz) Mostly seen with 2009+ smartphones. Designed for mobile equipments only. Introduced NEON instructions optimizations. Enhanced multimedia 2D / 3D / Video features. Mobile-only networking capabilities, lack of Ethernet and external storage. SoC Examples TI OMAP 3, Freescale i.MX5x, Apple A4, Marvell ARMADA, Qualcomm SnapDragon QSD86xx. Typical Usage High-end smartphones, Tablet PCs.
  • 11. 11 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Hardware Selection – Which SoC for which target ? ARM Cortex-A9 SoCs Ultra high-end CPUs (700 Mhz – 1.5 GHz) Mostly seen with Q4 2010+ smartphones. Designed for mobile and wired equipments. Introduced SMP Optimizations: 1-4 Cores. Optional SIMD instructions Ultra high-end multimedia 2D/3D/Video features. Enhanced networking capabilities, mini-PCIe. SoC Examples TI OMAP 4, nVidia Tegra 2, Qualcomm SnapDragon MSM86xx and QSD86xx. Typical Usage High-end smartphones, Set-Top-Box, Connected TVs. CPU VIDEO 3D 2D STORAGE CONNECT NET PSU SIMD SMP 0 5 ARM Cortex-A9 SoC Capabilities
  • 12. 12 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Hardware Selection – Which SoC for which target ? Intel Embedded ATOM SoCs Ultra high-end CPU (1200 MHz) Introduced with 2010 Set-Top-Boxes. Designed for wired equipments. Consequent power consumption (7W). Single-Core, x86 instructions set and large SIMD optimizations. Ultra high-end multimedia 2D / 3D / Video features. SoC Examples Intel CE4100 and CE4200. Typical Usage Set-Top-Box (Boxee), Connected TVs (GoogleTV). CPU VIDEO 3D 2D STORAGE CONNECT NET PSU SIMD SMP 0 5 Embedded ATOM x86 SoC Capabilities
  • 13. 13 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia
  • 14. 14 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices State of Multimedia – 2D Raster Graphics 2D Raster Graphics Usually raw basic kernel framebuffer driver support. Occasionally, DirectFB drivers: Limited hardware acceleration for framebuffer. Rarely supported by semiconductor vendors. May come with proprietary X11 driver: Basic implementation Restricted to a given X.Org ABI (i.e deal with it!) Why would you need X11 for embedded device ?? Most of the time implemented through OpenGL|ES. Hopefully addressed by application framework, when supported ...
  • 15. 15 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices State of Multimedia – 2D Vector Graphics 2D Vector Graphics Useful for Flash and SVG rendering. Though rarely supported at all !! Most of the time implemented through OpenVG hardware acceleration framework. Mostly rely on proprietary drivers and libs. Supported by some application frameworks: Android MeeGo (Qt) Cairo Adobe Flash
  • 16. 16 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices State of Multimedia – 3D Graphics 3D Graphics: OpenGL|ES Complete hardware graphics acceleration. Limited by GPU capabilities. Sometimes slower than software rendering. Available through proprietary drivers and libs only. Relies on EGL: Usually comes through vendor-specific implementation. And many vendor-specific extensions. Applications support heavily varies: Imagination PowerVR SGX is best (only?) supported. No MediaPlayer support GLES as video output yet !!
  • 17. 17 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices State of Multimedia – Software A/V Processing Audio / Video Software Implementation Fully supported by OpenSource software: FFmpeg: multi-codecs audio/video encoding/decoding library Codec specific libs: libvpx, libmad, libvorbis, libfaad, libmpeg2 ... Various proprietary software vendors. Limited by CPU processing only and wide A/V codecs range support. Optimized for VFP / NEON / SSE instructions and multi-core decoding. Sometimes requires Integer-specific implementation for audio codecs (many ARM chips lack of FPU). May have software patent issues in a few countries.
  • 18. 18 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices State of Multimedia – Hardware A/V Processing Audio / Video Hardware (DSP) Implementation 100% CPU offloading. Limited A/V codecs support. Mostly closed-source: Usually vendor-specific drivers and libs. Never hit mainstream Linux. Proprietary firmware, libs and DSP code. Rarely supported by OpenSource projects. Vendor-Specific DSP API (hard to support). Generally available through OpenMAX IL / VAAPI abstraction layer.
  • 19. 19 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices State of Multimedia – Hardware A/V Processing OpenMAX Portable DSP abstraction API. Generic implementation from MediaPlayer side. Slower than native DSP access, less robust, but more portable. Only supported by GStreamer and VLC OpenSource mediaplayers. VA-API FreeDesktop equivalent to OpenMAX, mostly for x86. Limited to X.Org video output. Better support mostly due to x86 Desktop orientation.
  • 20. 20 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices State of Multimedia State of 2D / 3D / Video Support Theorically fully h/w supported, full CPU offloading. Usually relies on proprietary implementation. Limited capabilities and support, either due to h/w or s/w implementation. Few commitment from semiconductor vendors to provide regular Linux mainstream support. Possible h/w video decoding but semi-s/w rendering. Only 100% usable on industry's mobile ”standard” OS: Google Android Maybe Nokia / Intel MeeGo some day ?
  • 21. 21 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. The Underlying OS
  • 22. 22 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices The Underlying OS Half-Commercial OS: WindRiver, Montavista ... Android, MeeGo, Ubuntu ... Homebrew OS: OpenEmbedded, OpenBricks OpenWrt, Buildroot ... Linaro Foundation Not really an OS but helps in making your devices works with Open Source Software.
  • 23. 23 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices The Underlying OS Half-Commercial OS: Based on OSS but with deep commercial tights. Take it the way it is: Follow the project / product's philosophy. Follow its lifecycle and roadmap. Hard to change the overall software architecture. Adapt your apps and skins to existing framework. PROS: Potentially impressive Time-To-Market (TTM) and Long-Term-Support (LTS) Good for rapid product deployment and basic applications development. CONS: May not be adapted to custom and very specific apps. Vendor roadmap follow-up may imply OS upgrades and API changes.
  • 24. 24 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices The Underlying OS Homebrew OS: Fully based on OSS with barely no support. Take it as your next design's framework: Fine-tuning for on-demand custom OS creation. You're on your own: fix it, debug it, adapt it. Easy to create the software architecture you want. Pray for your whole hardware to be fully supported in upstream Linux kernel :-( PROS: Complete control over your product’s global software roadmap. Good for autonomous system and application deployment. CONS: You're on your own from the very beginning to the end (no or very bad LTS). Security threat and fixes workload
  • 25. 25 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. Embedded Applicative Framework
  • 26. 26 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Embedded Applicative Framework How to write applications and user interfaces ? Google's Android native applications framework. Nokia's Qt (MeeGo, KDE ...) GTK+ (Gnome) Enlightenment Foundation Libraries (EFL) Simple Direct Media Layer (SDL) Web Technologies
  • 27. 27 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Embedded Applicative Framework Questions you may ask yourself: Has it to be a tradeoff between code efficiency and programming convenience ? Native compiled code or interpreted one ? Is my code meant to run on multiple devices ? MVC Approach: should I distinct middleware / core from user interface ? SDK or Open Source collaboration: what if I want to gather developers around my project ?
  • 28. 28 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Embedded Applicative Framework (based on personal feedback) YesNoYesNoYesYesMVC Mode NoNoNoNoYesYesOpenVG NoNoYesNoYesYesOpenGL|ES GoodAverageAverageAverageGoodGood Multimedia Integration GoodAverageWeakAverageGoodGood Community Followers WeakWeakAverageWeakGoodGoodSystem-Wide WeakGoodGoodAverageAverageGoodPerformance GoodGoodGoodAverageWeakN.AFootprint AverageGoodAverageAverageGoodWeakPortability AverageGoodWeakGoodGoodAverageMaturity JS, CSS, HTMLCCCC++JavaLanguage WebSDLEFLGTK+QtAndroid
  • 29. 29 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. Conclusion
  • 30. 30 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Designing your new device: Questions to be raised … Questions to be raised: Which features do you really need ? What is your project's expected lifespan ? Do you target TTM or LTS ? Do you need complete code mastership ? Do you need SDK / external apps openess ? Is regular upstream Linux support mandatory for your application ?
  • 31. 31 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Conclusion – State of Embedded Linux Multimedia on embedded Linux rocks ! Maybe even more than on desktop Linux … But unfortunately mostly relies on 100% proprietary software. Linux now supports so many SoCs ... But h/w vendors rarely contribute upstream. Mostly comes with Android-only software. Usually provided under binary form only You have to stick to first (and last) BSP release. Need to sponsor MeeGo / Linaro-like initiatives to upstream SoC support on Linux.
  • 32. 32 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. www.alcatel-lucent.comwww.alcatel-lucent.com
  • 33. 33 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Annex – Some references DirectFB: http://directfb.org/ OpenVG: http://www.khronos.org/openvg/ OpenGL|ES: http://www.khronos.org/opengles/ OpenMAX: http://www.khronos.org/openmax/ VA-API: http://www.freedesktop.org/wiki/Software/vaapi FFmpeg: http://www.ffmpeg.org/ SDL: http://www.libsdl.org/ GTK+: http://www.gtk.org/ Qt: http://qt.nokia.com/ EFL: http://www.enlightenment.org/
  • 34. 34 | State of Multimedia in 2010 Embedded Linux Devices | ELCE 2010 Copyright © 2010 Alcatel-Lucent. All rights reserved. State of Multimedia in 2010’s Embedded Linux Devices Annex – Some references Windriver: http://www.windriver.com/ MontaVista: http://www.mvista.com/ Android: http://www.android.com/ MeeGo: http://www.meego.com/ Ubuntu: http://www.ubuntu.com/ OpenEmbedded: http://wiki.openembedded.org/index.php/Main_Page OpenBricks: http://www.openbricks.org/ OpenWRT: http://www.openwrt.org/ Buildroot: http://buildroot.uclibc.org/ Linaro: http://www.linaro.org/