qt experiences on nxp's connetcted tv platforms

27
Qt experiences on NXP's connected TVplatform Ben Pronk, NXP semiconductors

Upload: qt-project

Post on 12-May-2015

1.462 views

Category:

Technology


0 download

DESCRIPTION

Presentation by Ben Pronk held during Qt Developer Days 2009. http://qt.nokia.com/developer/learning/elearning

TRANSCRIPT

Page 1: Qt Experiences on NXP's Connetcted TV Platforms

Qt experiences on NXP's connected TV‐platform

Ben Pronk, NXP semiconductors

Page 2: Qt Experiences on NXP's Connetcted TV Platforms

Agenda

• Who are we, introducing NXP• Digital television products, general overview• Major market trends, the connectivity challenge• The TV550, a digital television SOC• Digital television widget implementation• A first implementation without Qt• Qt, deployment experiences

1

Page 3: Qt Experiences on NXP's Connetcted TV Platforms

Introducing NXP Semiconductors

• Headquarters: Eindhoven, The Netherlands

• Net sales: $5.4 billion in 2008 • Established in 2006 (formerly a

division of Philips)

• Businesses: – Automotive– Home– Identification– Multimarket Semiconductors

Page 4: Qt Experiences on NXP's Connetcted TV Platforms

3

Introducing NXP Semiconductors

Leading in picture quality developments for TV, Set-Top Box (STB) and PC TV, with:

Motion Accurate Picture Processing: first to remove all artifacts from HDTV motion pictures

Best digital natural motion

Integrate MPEG4 decoding in TV ICIntroduced the industry's first digital TV processor manufactured in 45nm technology 1 out of 2 TVs worldwide contains NXP chip

Page 5: Qt Experiences on NXP's Connetcted TV Platforms

Digital Television Products

• An integrated digital television for 2010 is a complex product:– Analogue TV reception and connectivity like Scart– Digital TV reception and connectivity like HDMI– Ever growing audio and video processing capabilities– Advanced graphical user interfaces: 2D and 3D graphics capabilities – TV-applications: Teletext, Electronic Program Guide, MHP, MHEG– PC-monitor functionality: VGA, DVI, Display port– PC-conectivity: Ethernet, Wifi, USB, PCI-e,– In home networking: DLNA, uPnP– Internet connectivity: YouTube, Catch-up Tv, Portals, VOD, Skype– USB media devices: Flash devices, Camera’s, Camcorders– Connectivity to portable media devices: Ipod, mobile phones– Recording applications, PVR, Blue-Ray, transcoding– Content protection and Digital Rights Management

Page 6: Qt Experiences on NXP's Connetcted TV Platforms

Digital Television Products

MASTERBEDROOM

portable display

KITCHENSTUDY

wireless LAN

KID’S BEDROOM

broadband

camera

LIVING ROOM

Media Server(DVD+RW/HDD

TV-to-TV link

RF remote control

home theater audio

INTERNET

Internet radio

Page 7: Qt Experiences on NXP's Connetcted TV Platforms

The TV550, a Digital television SOC

Picture processing

Application CPU, Graphics

generation

Analogue Broadcast

Digital Broadcast

Analoguedigital I/O

Connectivity

Sound processing

Page 8: Qt Experiences on NXP's Connetcted TV Platforms

The TV550, a Digital television SOC

• Global single-chip LCD TV platform– Support for full HD 120Hz

panels and picture processing– Conditional access and DRM

support MPEG4/H.264 decode– Manufactured in leading edge

45nm process– MIPS24kf CPU@550MHz

Page 9: Qt Experiences on NXP's Connetcted TV Platforms

Major Market Trends

• Proliferating diversity and change– Increasing amount of interconnects on a television– With various protocols– Exploding amount of potentially connected devices and

compatibility– Exploding variety in to be supported media formats– New formats and devices appearing every day

• Yet the basic TV quality of services needs to be maintained– Consumer products have a higher expected QOS than for a PC– In a very competitive and price oriented market

Page 10: Qt Experiences on NXP's Connetcted TV Platforms

Major Market Trends

• Shortened life cycle– Consumer product release 6 months after

engineering samples• Exponentially growing software content

– High diversity of interconnects, protocols and standards

– Major convergence of “PC” type of functionality– Software content in a television grows factor 2 every

1.5 year– Modern televisions have already over 512 MByte of

memory

Page 11: Qt Experiences on NXP's Connetcted TV Platforms

Major Market Trends

• Extensive use of 3d party software, COTS and open source– No silicon vendor can provide the requested

functionality “on its own”– Economy reality and TTM forces the use of COTS– Historically completely stable (over time) and closed

television applications are opened up.– A television becomes more and more a small PC that

also has some basic TV capabilities

Page 12: Qt Experiences on NXP's Connetcted TV Platforms

Digital television widget implementation

• In the television small useful applications on top of the standard TV.

• Examples: Stock market, weather, latest news

Page 13: Qt Experiences on NXP's Connetcted TV Platforms

Digital television widget implementation

• :Offers a “closed” widgets service for TV and STB manufactures consisting of selected widgets only

• :Offers a “open” widgets standard including tooling. The widgets are mainly developed by “The community”.

Page 14: Qt Experiences on NXP's Connetcted TV Platforms

Digital television widget implementation

Widget interpreter

Window manager

Graphics rendering system

Widget interpreter

TV5xx Hardware / SW platform

Graphics, Video, Audio

ControlIR Remote,Keyboard,

mouse

Linuxservices

THE Internet

Page 15: Qt Experiences on NXP's Connetcted TV Platforms

Digital television widget implementation

• The main challenges:– Selecting a “bundle” of OPEN SOURCE SW modules

working well together OUT OF THE BOX– Selecting a user friendly build environment – Execution speed , television CPU’s are MIPS’s

running at 500MHz.– Memory footprint (currently +/- 80 MB on libraries +

extra data cache) memory– User interface, a television does not have a keyboard– Integration with our TV platform software

Page 16: Qt Experiences on NXP's Connetcted TV Platforms

sqlite libxslt libxml2 curl

Digital television widget implementation

TV5xx hardware: Frame buffer Gfx Unit

DirectFb 1.3

libpng tiff freetype

glib

libxml

fontconfigpixman

pango

cairo

GTK+

atk

Google gadgets

Webkit

Web browser (For now Gtk‐launcher test application)

libgif

NXP DirectFbDrivers

libgtk2

Jpg-6b

Components for Webkit/Google-gadgets based on GTK

T1

Page 17: Qt Experiences on NXP's Connetcted TV Platforms

Slide 16

T1 Add additional packages for GTK+ Home; 02.04.2009

Page 18: Qt Experiences on NXP's Connetcted TV Platforms

Digital television widget implementation

• Experiences– Configuration nightmare, just getting a complete build

with compatible libraries takes significant time.– Problems are difficult to analyze, through the many

layers of software– Execution speed is a major problem as many of the

modules are build with a PC in mind

Page 19: Qt Experiences on NXP's Connetcted TV Platforms

Qt deployment experiences

• Selected Qt for a second implementation– Making use of the Nokia open Source license

• Open Source yet:– Complete and consistent package– Building out of the box– Easy configuration and integration

Page 20: Qt Experiences on NXP's Connetcted TV Platforms

sqlite libxslt libxml2 curl

Qt deployment experiences

TV5xx hardware: Frame buffer Gfx Unit

DirectFb 1.3

libpng tiff freetype

glib

libxml

fontconfigpixman

pango

cairo

GTK+

atk

Google gadgets

Webkit

Web browser (For now Gtk‐launcher test application)

libgif

NXP DirectFbDrivers

libgtk2

Jpg-6b

Software modules without Qt

T3

Page 21: Qt Experiences on NXP's Connetcted TV Platforms

Slide 19

T3 Add additional packages for GTK+ Home; 02.04.2009

Page 22: Qt Experiences on NXP's Connetcted TV Platforms

Qt deployment experiences

TV5xx hardware: Frame buffer Gfx Unit

DirectFb 1.xx

libpng freetype

QT4  (Nokia open source license)

Google gadgets

Webkit

Web browser Full functional browser supplied as QT demo

libgif

NXP DirectFbDrivers

Jpg-6b

Software modules with Qt

Page 23: Qt Experiences on NXP's Connetcted TV Platforms

Qt deployment experiences

• Build system: Uses buildroot a specialized toolbox in which (most) cross compile options are already solved.

See : http://buildroot.uclibc.org

• Buildroot is a set of Makefiles and patches that makes it easy to generate a cross-compilation toolchain and root filesystem for your target Linux system.

Page 24: Qt Experiences on NXP's Connetcted TV Platforms

Qt deployment experiences

Page 25: Qt Experiences on NXP's Connetcted TV Platforms

Qt deployment experiences

• Performance:– Most open source applications are written to run on an

1.x GHz X86 with >512 MByte of RAM– Qt appears to be a real “embedded” optimized library.– Also incorporates a light window manager (QT).

• This set-up behaves reasonably even when running on a Mips32 processor running at 350 MHz with only 130 MByte of memory.

• System stays responsive

Page 26: Qt Experiences on NXP's Connetcted TV Platforms

Qt deployment experiences

• Further usage experiences– Qt really builds out of the box– Very limited effort (a few days) to integrate the

package with gadgets and other packages.– Runs with very limited effort.– Much more suitable for the embedded market than

“dumb” (and bulky) PC packages.– Good documentation

Page 27: Qt Experiences on NXP's Connetcted TV Platforms