Building Digital TV Support on Linux

Total Page:16

File Type:pdf, Size:1020Kb

Building Digital TV Support on Linux Building Digital TV support on Linux Mauro Carvalho Chehab Linux Kernel Expert Samsung Open Source Group Aug 21, 2014 Not to be used for commercial purpose without getting permission Open Source Group – Silicon Valley All information, opinions and ideas herein are exclusively the author's own opinion © 2014 SAMSUNG Electronics Co. Samsung Research Brazil Biography ● Maintainer of the media and EDAC subystems at the Linux Kernel ● Works at Samsung Research Brazil as R&D Director on Open Source, being part of the Samsung's Open Source Group. ● Worked during 5 years at Red Hat, where, besides maintaining the upstream Kernel subsystems, were also responsible for maintaining several subsystems at RHEL's Kernel; ● Developed several device drivers for video stream capture and analog/digital TV reception at the Linux Kernel, including most of the drivers for the Brazilian digital TV standard (SBTVD / ISDB-T). Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil Digital TV challenges ● Major standards: – ATSC - Advanced Television System Committee ● Defined in United States – DVB - Digital Video Broadcasting ● Defined in Europe – ISDB – Integrated Services Digital Broadcasting Terrestrial ● Defined in Japan – DTMB - Digital Terrestrial Multimedia Broadcast ● Defined in China Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil Digital TV challenges ● Digital TV variants: – Terrestrial (air) standards are used by air broadcasts: ATSC, DVB-T, DVB-T2, ISDB-T, DMB; – Cable standards are used by cable operators: DVB-C, DVB-C2, ClearQAM (DVB-C Annex B), ISDB-C; – Satellite standards are used by Satellite operators: DVB-S, DVB-S2, ISDB-S. Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil Digital TV Terrestrial Standards Source: http://en.wikipedia.org/wiki/File:Digital_broadcast_standards.svg Note: DVB-T2 is gradually replacing DVB-T Updated in November, 2013 Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil TV Digital standards MPEG2-BC MPEG2- DOLBY MPEG4- Audio Elem. Stream AAC AC3 AAC 280i LD 480iSDTV 720pEDTV 1080iHDTV Video Elem. Stream MPEG2 MPEG4 MPEG2 – Transport Stream Transport Modulation VSB QAM QPSK COFDM COFDM-BST 1.7 Mhz 5 Mhz 6 Mhz 7 Mhz 8 Mhz 10 Mhz Channel Copyright © 2006-2014 Mauro Carvalho Chehab – GPLv2 licensed Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil TV Digital Linux Mapping Userspace MPEG2-BC MPEG2- DOLBY MPEG4- Audio Elem. Stream AAC AC3 AAC 280i LD 480iSDTV 720pEDTV 1080iHDTV Video Elem. Stream MPEG2 MPEG4 MPEG2 – Transport Stream Transport Modulation VSB QAM QPSK COFDM COFDM-BST 1.7 Mhz 5 Mhz 6 Mhz 7 Mhz 8 Mhz 10 Mhz Channel Kernelspace Copyright © 2006-2014 Mauro Carvalho Chehab – GPLv2 licensed Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil Media device block diagram Tuner Frontend FM/TV SEC Audio decoder Audio encoder Conditional Access Module Smartcard Video decoder Transport Stream filter s Video encoder u Digital TV B C 2 Radio / Analog TV I Button Key/IR input logic s u B EEPROM PCI, m e USB, t s PCIe, y Sensor Processing blocks S ... Webcam Bridge to CPU/Chipset bus PS.: picture is not complete: other blocks may be present, Like audio/video A/D and D/A, HDMI decoder/encoder, etc. Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil ●Video4Linux API (version 2) Tuner FM/TV Audio decoder Audio encoder ● For webcams, video inputs/outputs and radio, video and analog TV Video decoder ● Extensions for Software Digital Video encoder Radio added (Drivers in staging as Radio / Analog TV API might change) Sensor ● Audio output uses the standard Webcam ALSA API Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil ●Remote Controller / Input APIs Button Key/IR input logic ● Used for Remote Controllers and Webcam buttons ● It is an extension of the standard Linux Input API (evdev) Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil Linux Kernel DTV APIs DVB Frontend API Frontend SEC DVB CA API Conditional Access Module DVB Demux API Transport Stream filter Smartcard Digital TV ● Despite being called Linux DVB API, it covers all standards ● Each frontend, CA and Demux device on a DTV card is exported ● The frontend control is complex, as it is standard-dependent and Country dependent; ● Satellite Equipment Control (SEC) setup is also complex: – Contorls LNBf and smart devices (DiSEqC); Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil Media Controller API ● To control complex devices with configurable pipelines ● Currently, used only on embedded devices and on UVC (USB Video Class) ● Subdev API – To control each single logical element on such complex devices Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil Summary of Media Kernel APIs ● APIs described at: http://linuxtv.org/downloads/v4l-dvb-apis/ – Video4Linux API (version 2) ● For webcams, video inputs/outputs and radio, video and analog TV – Linux DVB API (version 5) ● For digital TV inputs – Remote Controller / Input evdev APIs ● For Remote Controllers – Media Controller and Subdev APIs ● To control complex devices with configurable pipelines ● The Advanced Linux Sound Architecture (ALSA) – For audio inputs, outputs, mixers (and sequencers) ● Standard input evdev API – For webcam/grabber buttons and remote controllers 13 Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil DVB API history ● DVBv1: the old Nokia API (1998-1999?) – Developed/Implemented for a Nokia project developed by Convergence ● DVBv2: major re-factoring step (2000-2002?) – Stabilized the API for DVB-T/C/S; ATSC ● DVBv3: namespace cleanups – First version on Kernel – Jun/2003 – for Kernel v2.5.74 ● DVBv4: An abandoned WIP project (2004-2005) – Meant to add all features for STB, but never finished. ● DVBv5: Current version – Committed in Kernel 2.6.28 (2008). – Added full multi-standard support. Frontend-only changes. – New standards generally support DVBv3 legacy calls, with drawbacks 14 Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil MPEG TS example Virtual Channel 17.1 Video PID 100 Service 1 Audio 1 PID 101 Audio 2 PID 102 Virtual Channel 17.2 CHANNEL MPEG TS TRANSPONDER Video PID 200 Service 2 Audio 1 PID 231 Audio 2 PID 554 Other PIDs 15 Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil Userspace library: libdvbv5 ● Abstracts the difference between DVBv3 and DVBv5; ● Written from scratch to fully support DVBv5; ● Provide a standard way to work with all DVB standards; ● Offers functions to discover the TV streams (“channels”) that are present inside a transport stream; ● Offers functions to read/write both legacy data formats used by DVBv3 applications and to read/write data compatible with DVBv5. ● It is new: the API just stabilized in April, 2014. – Currently, used by DVBv5 utils and by some other tools; – New projects should start using it. Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil DVBv5 utils and libdvbv5 ● DVBv5 utils: – Uses the libdvbv5 as basis for scan/zap and read/write channel files; – It consists of 4 tools: dvbv5-scan Scans the channel transponders and gets the services available there dvbv5-zap Locks into a channel (zap), allowing other applications to get the stream at the dvr devices or to monitor the stream dvb-fe-tool Lists frontend properties and allow to manually set the DVB frontend dvb-format-convert Converts from/to several other formats used by DVBv3 apps ● Both DVBv5 utils and libdvbv5 are packaged together with v4l-utils: – http://git.linuxtv.org/cgit.cgi/v4l-utils.git/ ● The dynamic library is released on v4l-utils version 1.2 (Jun, 28 2014) Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil GUI apps using libdvbv5 ● Kaffeine has a recent experimental addition of libdvbv5 support: – It is a KDE media player with support for several types of input, including Digital TV (ATSC, DVB-S, DVB-S2 and DVB- C); – The experimental patches also adds support for ISDB-T; – Should not be hard to add support for DVB-T2 and other modern standards; – Need more testing and bug fixes; – Located at: http://git.linuxtv.org/cgit.cgi/mchehab/kaffeine.git/ ● Tvdaemon: – It is a TV streaming server; – It is a fork/rewrite of tvheadend; – Located at: https://github.com/neolynx/tvdaemon Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil DVB-C Scan Example $ dvbv5-scan ~/dvbc-teste -I channel Scanning frequency #1 573000000 Lock (0x1f) Quality= Good Signal= 100.00% C/N= -13.80dB UCB= 0 postBER= 3.14x10^-3 PER= 0 Service SBT, provider (null): digital television Service Globo, provider Globo: digital television Service Record, provider (null): digital television Service Band, provider (null): digital television ... Service Trilhas Sonoras, provider (null): digital radio New transponder/channel found: #2: 579000000 ... New transponder/channel found: #39: 507000000 Open Source Group – Silicon Valley © 2014 SAMSUNG Electronics Co. Samsung Research Brazil Service zap example $ dvbv5-zap -c dvb_channel.conf "trilhas sonoras" -r using demux '/dev/dvb/adapter0/demux0' reading channels from file 'dvb_channel.conf' service has pid
Recommended publications
  • Customizable Multimedia Devices in Virtual Environments
    Customizable Multimedia Devices in Virtual Environments Ankur Pai, Balasubramanian Seshasayee, Himanshu Raj and Karsten Schwan Center for Experimental Research in Computer Systems Georgia Institute of Technology Atlanta, Georgia 30332–0250 fpaiankur, bala, rhim, [email protected] Abstract—The separation of logical from physical devices maintain a consistent view of physical devices by presenting provided by modern virtualization techniques can be used to only a common minimal set of device features is too limiting enhance device functionality, including by emulating non-native and worse, it cannot account for changes in the environmental device functions in software. Such logically extended devices are particularly promising in the mobile domain, for embedded conditions or contexts in which devices are used. machines, handhelds, or phones. Challenges arise, however, from We argue that device sharing and interoperation in mobile the highly heterogeneous nature of portables and the devices with systems requires models and interfaces with which virtual- which they can interact. This suggests that device extensions ization infrastructures can dynamically change device func- should be dynamic, varied at runtime to adjust to new user needs and/or changes in environmental conditions. This paper tionality to account for runtime changes in device use, con- presents a model for runtime device extension and for then using ditions, and contexts. This paper presents such a model. It such extended devices. The model provides uniform interfaces to implements the safe, runtime extension of device functionality, native and extended devices, permits the safe runtime extension by enabling the virtualization layer, guest operating systems, of device functionality, and can be shown to operate across both or applications to safely specify and deploy custom code that stationary and mobile platforms, and arbitrary operating systems and applications.
    [Show full text]
  • Version 7.8-Systemd
    Linux From Scratch Version 7.8-systemd Created by Gerard Beekmans Edited by Douglas R. Reno Linux From Scratch: Version 7.8-systemd by Created by Gerard Beekmans and Edited by Douglas R. Reno Copyright © 1999-2015 Gerard Beekmans Copyright © 1999-2015, Gerard Beekmans All rights reserved. This book is licensed under a Creative Commons License. Computer instructions may be extracted from the book under the MIT License. Linux® is a registered trademark of Linus Torvalds. Linux From Scratch - Version 7.8-systemd Table of Contents Preface .......................................................................................................................................................................... vii i. Foreword ............................................................................................................................................................. vii ii. Audience ............................................................................................................................................................ vii iii. LFS Target Architectures ................................................................................................................................ viii iv. LFS and Standards ............................................................................................................................................ ix v. Rationale for Packages in the Book .................................................................................................................... x vi. Prerequisites
    [Show full text]
  • Camera Driver Development.Pptx
    CAMERA DRIVER DEVELOPMENT Kyle Xu OUTLINE Prepare the Hardware Set up Environment Write a Camera Driver Solve Remaining Problems PREPARE THE HARDWARE TI OMAP4 Pandaboard Aptina AR0832 Image Sensor Ominivision OV5650 Image Sensor Pandaboard Adapters and Connectors Datasheets AR0832 OV5650 PREPARE THE HARDWARE System Setup OUTLINE Prepare the Hardware Set up Environment Write a Camera Driver Solve Remaining Problems SET UP ENVIRONMENT Install Ubuntu 12.04 on Pandaboard Powerful and fast server for cross compilation 32-core 5 min on server vs. 5 hours on Pandaboard Understand Data Path and Interfaces DATA PATH Camera Serial Interface (CSI-2) Image Sub-System (ISS) Image Sensor INTERFACE: CSI-2 N data lanes and one data clock lane Each lane is a pair of +/- lines. I2C standard control interface (CCI) SCL SDA INTERFACE: Hardware Level Pandaboard Camera Expansion Connector (J-17) 5 CSI-2 lanes (including one CLK lane) I2C control lines (SCL, SDA) Other lines for battery power, camera clock, GPIO… Image Sensor 2 CSI-2 data lanes + 1 CSI-2 clock lane I2C control lines (as slave) Powered from on board battery OUTLINE Prepare the Hardware Set up Environment Write a Camera Driver Solve Remaining Problems WRITE A CAMERA DRIVER Describe the camera to the board Write the driver file a. Voltage Regulator and Clock b. I2C Bus c. V4L2 d. Driver Framework e. Complete Template Implement the driver to Linux Kernel DESCRIBE THE CAMERA TO THE BOARD Create ar0832.h to describe camera’s platform information struct ar0832_platform_data containing fields about voltage regulator, clock, power on/off methods Edit board-omap4panda-camer.c Assign values or functions to ar0832_platform_data’s fields.
    [Show full text]
  • Linux Kernal II 9.1 Architecture
    Page 1 of 7 Linux Kernal II 9.1 Architecture: The Linux kernel is a Unix-like operating system kernel used by a variety of operating systems based on it, which are usually in the form of Linux distributions. The Linux kernel is a prominent example of free and open source software. Programming language The Linux kernel is written in the version of the C programming language supported by GCC (which has introduced a number of extensions and changes to standard C), together with a number of short sections of code written in the assembly language (in GCC's "AT&T-style" syntax) of the target architecture. Because of the extensions to C it supports, GCC was for a long time the only compiler capable of correctly building the Linux kernel. Compiler compatibility GCC is the default compiler for the Linux kernel source. In 2004, Intel claimed to have modified the kernel so that its C compiler also was capable of compiling it. There was another such reported success in 2009 with a modified 2.6.22 version of the kernel. Since 2010, effort has been underway to build the Linux kernel with Clang, an alternative compiler for the C language; as of 12 April 2014, the official kernel could almost be compiled by Clang. The project dedicated to this effort is named LLVMLinxu after the LLVM compiler infrastructure upon which Clang is built. LLVMLinux does not aim to fork either the Linux kernel or the LLVM, therefore it is a meta-project composed of patches that are eventually submitted to the upstream projects.
    [Show full text]
  • Release Notes for X11R7.5 the X.Org Foundation 1
    Release Notes for X11R7.5 The X.Org Foundation 1 October 2009 These release notes contains information about features and their status in the X.Org Foundation X11R7.5 release. Table of Contents Introduction to the X11R7.5 Release.................................................................................3 Summary of new features in X11R7.5...............................................................................3 Overview of X11R7.5............................................................................................................4 Details of X11R7.5 components..........................................................................................5 Build changes and issues..................................................................................................10 Miscellaneous......................................................................................................................11 Deprecated components and removal plans.................................................................12 Attributions/Acknowledgements/Credits......................................................................13 Introduction to the X11R7.5 Release This release is the sixth modular release of the X Window System. The next full release will be X11R7.6 and is expected in 2010. Unlike X11R1 through X11R6.9, X11R7.x releases are not built from one monolithic source tree, but many individual modules. These modules are distributed as individ- ual source code releases, and each one is released when it is ready, instead
    [Show full text]
  • Zynq Ultrascale+ Mpsoc TRD User Guide (UG1221)
    Zynq UltraScale+ MPSoC Base Targeted Reference Design User Guide UG1221 (v2016.4) March 22, 2017 Revision History The following table shows the revision history for this document. Date Version Revision 03/22/2017 2016.4 Released with Vivado Design Suite 2016.4 with no changes from previous version. 12/15/2016 2016.3 Updated for Vivado Design Suite 2016.3: Updated Reference Design Overview. Replaced Chapter 2, Reference Design. Updated Figure 3-1 and the following paragraph. Updated Figure 4-1 and perfapm library descriptions in Chapter 4, RPU-1 Software Stack (Bare-metal). Updated Figure 6-1, Figure 6-2, and DDR region descriptions under Memories in Chapter 6. Updated Figure 7-1, Figure 7-4, and Figure 7-5. Added X11 section, deleted first paragraph under EGLFS QPA, and modified “Evdev” section to “Libinput” in Chapter 7, APU Software Platform. Updated Table 8-2 and clock descriptions under Clocks, Resets and Interrupts in Chapter 8. 07/22/2016 2016.2 Updated for Vivado Design Suite 2016.2: Added “GPU” to hardware interfaces and IP under Key Features. Changed link under Design Modules from the wiki site to the HeadStart Lounge and updated link under Tutorials to the Base TRD wiki site. Deleted steps 2 and 4 under Tutorials and added reference tutorial (last bullet). Added second to last sentence to second paragraph under Boot Process. Added “Load PMU FW” component to Figure 6-1. Clarified Message Passing section (text only). Changed “PCA9546” to PCA9548” in Figure 8-7. 06/29/2016 2016.1 Initial Xilinx release. Zynq UltraScale+ MPSoC Base TRD www.xilinx.com Send Feedback 2 UG1221 (v2016.4) March 22, 2017 Table of Contents Revision History .
    [Show full text]
  • Open Source Used in ATA 191 12.0(1)
    Open Source Used In ATA 191 12.0(1) Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-140931790 Open Source Used In ATA 191 12.0(1) 1 This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of any source code to which you may be entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-140931790 Contents 1.1 bridge 1.1 1.1.1 Available under license 1.2 busybox 1.23.1 1.2.1 Available under license 1.3 c-ares 1.12.0 1.3.1 Available under license 1.4 curl 7.26.0 1.4.1 Available under license 1.5 dnsmasq 2.78 1.5.1 Available under license 1.6 dropbear 2016.74 1.6.1 Available under license 1.7 ebtables 2.0.10-4 1.7.1 Available under license 1.8 Expat 2.2.0 :2.2.0 1.8.1 Available under license 1.9 glibc-2.21 2.21 1.9.1 Available under license 1.10 gsoap 2.6.2 1.10.1 Available under license 1.11 iproute2 4.10.0 1.11.1 Available under license 1.12 iptables 1.6.1 1.12.1 Available under license 1.13 led 1.0 1.13.1 Available under license Open Source Used In ATA 191 12.0(1) 2 1.14 linux 3.4.110-rt140-v1.3.5-rc3+ 1.14.1 Available under license 1.15 mDNSResponder
    [Show full text]
  • Unbreakable Enterprise Kernel Release Notes for Unbreakable Enterprise Kernel Release 6 Update 1
    Unbreakable Enterprise Kernel Release Notes for Unbreakable Enterprise Kernel Release 6 Update 1 F35561-04 May 2021 Oracle Legal Notices Copyright © 2020, 2021 Oracle and/or its affiliates. This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish, or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited. The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing. If this is software or related documentation that is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, then the following notice is applicable: U.S. GOVERNMENT END USERS: Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs) and Oracle computer documentation or other Oracle data delivered to or accessed by U.S. Government end users are "commercial computer software" or "commercial computer software documentation" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, the use, reproduction, duplication, release, display, disclosure, modification, preparation of derivative works, and/or adaptation of i) Oracle programs (including any operating system, integrated software, any programs embedded, installed or activated on delivered hardware, and modifications of such programs), ii) Oracle computer documentation and/or iii) other Oracle data, is subject to the rights and limitations specified in the license contained in the applicable contract.
    [Show full text]
  • Linux Kernel User Documentation V4.20.0
    usepackagefontspec setsansfontDejaVu Sans setromanfontDejaVu Serif setmonofontDejaVu Sans Mono Linux Kernel User Documentation v4.20.0 The kernel development community 1 16, 2019 Contents 1 Linux kernel release 4.x <http://kernel.org/> 3 2 The kernel’s command-line parameters 9 3 Linux allocated devices (4.x+ version) 109 4 L1TF - L1 Terminal Fault 171 5 Reporting bugs 181 6 Security bugs 185 7 Bug hunting 187 8 Bisecting a bug 193 9 Tainted kernels 195 10 Ramoops oops/panic logger 197 11 Dynamic debug 201 12 Explaining the dreaded “No init found.” boot hang message 207 13 Rules on how to access information in sysfs 209 14 Using the initial RAM disk (initrd) 213 15 Control Group v2 219 16 Linux Serial Console 245 17 Linux Braille Console 247 18 Parport 249 19 RAID arrays 253 20 Kernel module signing facility 263 21 Linux Magic System Request Key Hacks 267 i 22 Unicode support 273 23 Software cursor for VGA 277 24 Kernel Support for miscellaneous (your favourite) Binary Formats v1.1 279 25 Mono(tm) Binary Kernel Support for Linux 283 26 Java(tm) Binary Kernel Support for Linux v1.03 285 27 Reliability, Availability and Serviceability 293 28 A block layer cache (bcache) 309 29 ext4 General Information 319 30 Power Management 327 31 Thunderbolt 349 32 Linux Security Module Usage 353 33 Memory Management 369 ii Linux Kernel User Documentation, v4.20.0 The following is a collection of user-oriented documents that have been added to the kernel over time. There is, as yet, little overall order or organization here — this material was not written to be a single, coherent document! With luck things will improve quickly over time.
    [Show full text]
  • Multimedia in Embedded Linux Systems
    Multimedia in embedded Linux systems Multimedia in embedded Linux systems Free Electrons 1 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Rights to copy © Copyright 2004-2009, Free Electrons [email protected] Document sources, updates and translations: http://free-electrons.com/docs/multimedia Corrections, suggestions, contributions and translations are welcome! Attribution ± ShareAlike 3.0 Latest update: Sep 15, 2009 You are free to copy, distribute, display, and perform the work to make derivative works to make commercial use of the work Under the following conditions Attribution. You must give the original author credit. Share Alike. If you alter, transform, or build upon this work, you may distribute the resulting work only under a license identical to this one. For any reuse or distribution, you must make clear to others the license terms of this work. Any of these conditions can be waived if you get permission from the copyright holder. Your fair use and other rights are in no way affected by the above. License text: http://creativecommons.org/licenses/by-sa/3.0/legalcode 2 Free Electrons. Kernel, drivers and embedded Linux development, consulting, training and support. http//free-electrons.com Scope of this training Multimedia in embedded Linux systems This training targets the development of multimedia-capable embedded Linux systems. Though it can be useful to playing or creating multimedia content on GNU/Linux desktops, it is not meant to cover everything about this topic. Audio in embedded Linux systems is already covered in a dedicated training: http://free-electrons.com/training/audio Linux 2.6 This training only targets new systems based on the Linux 2.6 kernel.
    [Show full text]
  • Open Source Used in Cisco IP Conference Phone 8832 Release
    Open Source Used In 8832 12-0-1 Cisco Systems, Inc. www.cisco.com Cisco has more than 200 offices worldwide. Addresses, phone numbers, and fax numbers are listed on the Cisco website at www.cisco.com/go/offices. Text Part Number: 78EE117C99-148999590 Open Source Used In 8832 12-0-1 1 This document contains licenses and notices for open source software used in this product. With respect to the free/open source software listed in this document, if you have any questions or wish to receive a copy of any source code to which you may be entitled under the applicable free/open source license(s) (such as the GNU Lesser/General Public License), please contact us at [email protected]. In your requests please include the following reference number 78EE117C99-148999590 Contents 1.1 busybox 1.21.0 1.1.1 Available under license 1.2 curl 7.26.0 1.2.1 Available under license 1.3 dbus-1.8.2 1.8.2 1.3.1 Available under license 1.4 dnsmasq 2.46 1.4.1 Available under license 1.5 glibc-2.20 2.20 1.5.1 Available under license 1.6 libcrypto 1.0 1.0 1.6.1 Available under license 1.7 libxml2 2.9.4 1.7.1 Available under license 1.8 Linux Kernel 3.16.38 3.16.38 1.8.1 Available under license 1.9 mongoose 3.1 1.9.1 Available under license 1.10 mtd-util 2.0 2.0.0 1.10.1 Available under license 1.11 openssh 5.6 1.11.1 Available under license 1.12 OpenSSL 1.0.2j 1.12.1 Available under license 1.13 OpenSSL 1.0.2j :1 1.13.1 Notifications Open Source Used In 8832 12-0-1 2 1.13.2 Available under license 1.14 OpenSSL patch to 0.9.8 branch to add RFC5649
    [Show full text]
  • Video4linux: Future
    Video4Linux: Past Present Future Hans Verkuil Tandberg Telecom AS Past: Statistics Kernel v4l-dvb tree % of all drivers Until kernel 2.6 the v4l subsystem 2.0 287953 1.00% 2.2.26 643187 1.30% was small: 1-2% of all drivers. 2.4.0 829547 1.50% 2.4.36 1477303 1.70% 2.6 added dvb and many new v4l 2.6.0 4634875 5.80% 2.6.10 4232200 4.60% drivers and it has grown from 5% to 2.6.16 5569219 5.40% >9%. 2.6.17 7189484 7.00% 2.6.18 7910318 7.70% 2.6.19 8081530 7.60% Third-largest subsystem after scsi 2.6.20 8419446 7.80% and net. 2.6.21 8556067 7.80% 2.6.22 9121077 8.10% 2.6.23 9334386 8.20% TV capture devices, radio receivers, 2.6.24 9667264 8.10% webcams, MPEG encoder and 2.6.25 10121497 8.10% 2.6.26 11244052 8.90% decoder devices, DVB devices, 2.6.27 12322637 9.60% 2.6.28 12947608 9.30% System-on-a-Chip video devices, FM 2.6.29 13800424 8.70% 2.6.30 14866804 8.90% transmitters, supporting i2c devices. 2.6.31 15457024 9.00% 2.6.32-rc3 16464660 9.28% Present: state of V4L2 V4L2 public API: pretty good. Proven to be reasonably future proof except for SoCs. V4L drivers: anything from plain broken to excellent. Esp. the older, more obscure drivers are in poor condition, though. Drivers suffer from reinventing the wheel due to lack of v4l core services.
    [Show full text]