Simple Plugin API. Wim Taymans Principal Software Engineer October 10, Pinos Wim Taymans

Size: px
Start display at page:

Download "Simple Plugin API. Wim Taymans Principal Software Engineer October 10, Pinos Wim Taymans"

Transcription

1 Simple Plugin API Wim Taymans Principal Software Engineer October 10,

2 In the begining 2 Pinos DBus service for sharing camera Upload video and share

3 And then... Extend scope Add audio too upload, playback, capture Need for processing pipeline Jack-like graphs? 3 Need for real-time processing with extemely low latency 0.3ms <32 bytes buffers

4 GStreamer Creates a lot of threads Sources, sinks, demuxers No way to combine threads Does all kinds of locking and allocation in processing threads 4 Buffers, events, caps... Lots of allocations while negotiating Difficult to predict real-time behaviour We can do better

5 A GStreamer plugin does a lot Plugin Clock sync Stream sync Pad QoS Processing Threads Locks Scheduling Negotiation 5 Poll/read Bufferpool Async GstBus messages allocation Format Negotiation Pad

6 Can we focus on this Plugin Clock sync Stream sync Pad QoS Processing Threads Locks Scheduling Negotiation 6 Poll/read Bufferpool Async GstBus messages allocation Format Negotiation Pad

7 The goals Unified plugin API 7 For muxer, demuxer, decoder, encoder, effect, mixer, Software + Hardware implementations Synchronous and asynchronous Hard real-time capable Extensible Minimal Does not bring in a complete framework Can be used in different frameworks

8 The options.. (and its plugins) Unified SW HW RT ext generic v4l2 alsa LADSPA LV2 MediaCodec OpenMAX FFMpeg MFT upipe GStreamer 8 minimal Async

9 The ideas Interfaces Structure with methods Introspection of interfaces URI map API is.h files 9 Map a string to an id Methods either inline or in separate helper library

10 The Node A basic processing module Dynamic input/output ports Ports are ids Does not do allocations App must do allocations of buffers Allocation free format description Give input, produces output Goes through state changes 10

11 The Node states Init Loading, initializing Configure Clear format dynamic port added Ready Set property Add/remove ports Set port format Allocate buffers Use buffer Clear buffers Paused Pause Flush Start Streaming Error 11

12 The Properties Key/type/value Unset values + description of possible values 12 Lists Ranges (with steps) Enum/flags For nodes and ports

13 The Formats Media type Media subtype Properties For ports 13 Enumerate formats (with filter) Set format (clear by setting NULL format)

14 The Port info Setting a format changes the info on a port Port features (live, can allocate, ) latency Allocation parameters 14 Size, alignment, metadata, padding

15 The Allocation Application allocates buffers + metadata Based on port info Allocates the buffer memory or.. Have one of the ports allocate memory if possible 15 With alloc_buffers Only if something else than malloc, really Does use_buffers on the ports

16 Streaming Asynchronous or synchronous processing Async You get events when data can be pushed and pulled from ports Sync You push and pull from pads Return code tells you what to do 16 Push more, pull, go back to configure/ready state

17 Streaming 17 Push buffer to input port You actually only send the id of the buffer Both ports know buffer from alloc/use_buffer Pull buffer from output port Pull many ports in one go Get the id of the buffer Event when buffer id is no longer used

18 Port status 18 Tells you If you can push/pull If the port has a format If the port has buffers

19 Points of interest Only callback is for events Some methods can be async 19 High bit set in return value, low bits are seqnum You get event with seqnum when the command completes

20 Platform support A list of interfaces is given at initialization Logging Mainloop integration Mainloop Dataloop (for realtime processing) Scheduler 20 For doing things in other threads

21 How to use 21 Host has a lot of flexibility and needs to be smart Can choose negotiation Can choose allocation Can choose scheduling, threads, mainloops Can choose synchronization A GStreamer plugin can be a host We could write higher level components working directly with the nodes

22 Example.. negotiation Host port_enum_format port_enum_format Choose Format port_set_format port_set_format 22

23 Example.. negotiation Host port_get_info port_get_info Allocate Buffers (with or without memory) port_alloc_buffers port_use_buffers 23

24 Example.. execution Host HAVE_OUTPUT NEED_INPUT port_pull_output port_push_input 24

25 Status V4l2 monitor and source Alsa source/sink and monitor Audiotestsrc/videotestsrc Logging/mapping Clock Negotiation, allocator in Pinos Scheduler in Pinos for capture->send 25

26 Future plans Still early prototypes Plan to move some code from Gstreamer in SPA plugins Audio/video conversion Audiotestsrc/videotestsrc Work on generic scheduler for plugins Hope to use Gstreamer has host for plugins 26

27 27

CE Linux 2007 GStreamer Tutorial

CE Linux 2007 GStreamer Tutorial CE Linux 2007 GStreamer Tutorial Jan Schmidt (jan@fluendo.com) Santa Clara, United States / 18 April 2007 Fluendo S.L. - World Trade Center Edificio Norte 6 Pl. - Moll de Barcelona, 08039 BARCELONA SPAIN

More information

The GStreamer Multimedia Architecture. What is GStreamer. What is GStreamer. Why create GStreamer

The GStreamer Multimedia Architecture. What is GStreamer. What is GStreamer. Why create GStreamer The GStreamer Multimedia Architecture Steve Baker steve@stevebaker.org What is GStreamer A library for building multimedia applications Allows complex graphs to be built from simple elements Supports any

More information

Jan Schmidt Sydney, Australia / 18 January 2007

Jan Schmidt Sydney, Australia / 18 January 2007 LCA 2007 GStreamer Tutorial Jan Schmidt (jan@fluendo.com) Sydney, Australia / 18 January 2007 Fluendo S.L. - World Trade Center Edificio Norte 6 Pl. - Moll de Barcelona, 08039 BARCELONA SPAIN Introduction

More information

Building GStreamer into your app

Building GStreamer into your app Building GStreamer into your app Add support in for playing audio or video. (Not meant for short event sounds; there are better ways to do that) GStreamer A framework for encoding, decoding and manipulating

More information

GStreamer 1.0. FOSDEM, Brussels 4 February Tim-Philipp Müller

GStreamer 1.0. FOSDEM, Brussels 4 February Tim-Philipp Müller GStreamer 1.0 FOSDEM, Brussels 4 February 2012 Tim-Philipp Müller tim-philipp Müller Introduction who am I? what is

More information

Completing the Multimedia Architecture

Completing the Multimedia Architecture Copyright Khronos Group, 2011 - Page 1 Completing the Multimedia Architecture Erik Noreke Chair of OpenSL ES Working Group Chair of OpenMAX AL Working Group Copyright Khronos Group, 2011 - Page 2 Today

More information

GStreamer Daemon - Building a media server under 30min. Michael Grüner - David Soto -

GStreamer Daemon - Building a media server under 30min. Michael Grüner - David Soto - GStreamer Daemon - Building a media server under 30min Michael Grüner - michael.gruner@ridgerun.com David Soto - david.soto@ridgerun.com Introduction Michael Grüner Technical Lead at RidgeRun Digital signal

More information

Efficient Video Processing on Embedded GPU

Efficient Video Processing on Embedded GPU Efficient Video Processing on Embedded GPU Tobias Kammacher Armin Weiss Matthias Frei Institute of Embedded Systems High Performance Multimedia Research Group Zurich University of Applied Sciences (ZHAW)

More information

FOSDEM 3 February 2018, Brussels. Tim-Philipp Müller < >

FOSDEM 3 February 2018, Brussels. Tim-Philipp Müller < > WHAT'S NEW IN GSTREAMER? FOSDEM 3 February 2018, Brussels Tim-Philipp Müller < > tim@centricular.com INTRODUCTION WHO AM I? GStreamer core developer, maintainer, backseat release manager Centricular co-founder

More information

Using Gstreamer for building Automated Webcasting Systems

Using Gstreamer for building Automated Webcasting Systems Case study Using Gstreamer for building Automated Webcasting Systems 26.10.10 - Gstreamer Conference Florent Thiery - Ubicast Agenda About Ubicast Easycast Goals & Constraints Software architecture Gstreamer

More information

Embedded Streaming Media with GStreamer and BeagleBoard. Presented by Todd Fischer todd.fischer (at) ridgerun.com

Embedded Streaming Media with GStreamer and BeagleBoard. Presented by Todd Fischer todd.fischer (at) ridgerun.com Embedded Streaming Media with GStreamer and BeagleBoard Presented by Todd Fischer todd.fischer (at) ridgerun.com 1 Agenda BeagleBoard-XM multimedia features GStreamer concepts GStreamer hands on exercises

More information

A Linux multimedia platform for SH-Mobile processors

A Linux multimedia platform for SH-Mobile processors A Linux multimedia platform for SH-Mobile processors Embedded Linux Conference 2009 April 7, 2009 Abstract Over the past year I ve been working with the Japanese semiconductor manufacturer Renesas, developing

More information

Writing Audio Applications using GStreamer

Writing Audio Applications using GStreamer Writing Audio Applications using GStreamer Stefan KOST GStreamer community, Nokia/Meego Majurinkatu 12 B 43 Espoo, Finland, 02600 ensonic@sonicpulse.de Abstract GStreamer is mostly known for its use in

More information

What s new in GStreamer. GUADEC, Strasbourg 26 July Tim-Philipp Müller Sebastian Dröge

What s new in GStreamer. GUADEC, Strasbourg 26 July Tim-Philipp Müller Sebastian Dröge What s new in GStreamer GUADEC, Strasbourg 26 July 2014 Tim-Philipp Müller Sebastian Dröge Introduction who are we? what is GStreamer? What is GStreamer?

More information

Guile-GNOME: GStreamer

Guile-GNOME: GStreamer Guile-GNOME: GStreamer version 0.9.92, updated 10 November 2007 Wim Taymans many others This manual is for (gnome gstreamer) (version 0.9.92, updated 10 November 2007) Copyright 2000-2007 Wim Taymans and

More information

DVS-100P Configuration Guide

DVS-100P Configuration Guide DVS-100P Configuration Guide Contents Web UI Overview... 2 Creating a live channel... 2 Applying changes... 4 Live channel list overview... 4 Creating a VOD channel... 5 Stats... 6 Creating and managing

More information

MCN Streaming. An Adaptive Video Streaming Platform. Qin Chen Advisor: Prof. Dapeng Oliver Wu

MCN Streaming. An Adaptive Video Streaming Platform. Qin Chen Advisor: Prof. Dapeng Oliver Wu MCN Streaming An Adaptive Video Streaming Platform Qin Chen Advisor: Prof. Dapeng Oliver Wu Multimedia Communications and Networking (MCN) Lab Dept. of Electrical & Computer Engineering, University of

More information

4K Video Processing and Streaming Platform on TX1

4K Video Processing and Streaming Platform on TX1 4K Video Processing and Streaming Platform on TX1 Tobias Kammacher Dr. Matthias Rosenthal Institute of Embedded Systems / High Performance Multimedia Research Group Zurich University of Applied Sciences

More information

GStreamer Conference 2013, Edinburgh 22 October Sebastian Dröge Centricular Ltd

GStreamer Conference 2013, Edinburgh 22 October Sebastian Dröge Centricular Ltd The never-ending story: GStreamer and hardware integration GStreamer Conference 2013, Edinburgh 22 October 2013 Sebastian Dröge Centricular Ltd Who is speaking? Sebastian Dröge,

More information

GStreamer Application Development Manual (1.4.5) Wim Taymans Steve Baker Andy Wingo Ronald S. Bultje Stefan Kost

GStreamer Application Development Manual (1.4.5) Wim Taymans Steve Baker Andy Wingo Ronald S. Bultje Stefan Kost GStreamer Application Development Manual (1.4.5) Wim Taymans Steve Baker Andy Wingo Ronald S. Bultje Stefan Kost GStreamer Application Development Manual (1.4.5) by Wim Taymans, Steve Baker, Andy Wingo,

More information

4K HEVC Video Processing with GPU Optimization on Jetson TX1

4K HEVC Video Processing with GPU Optimization on Jetson TX1 4K HEVC Video Processing with GPU Optimization on Jetson TX1 Tobias Kammacher Matthias Frei Hans Gelke Institute of Embedded Systems / High Performance Multimedia Research Group Zurich University of Applied

More information

4K Video Processing and Streaming Platform on TX1

4K Video Processing and Streaming Platform on TX1 4K Video Processing and Streaming Platform on TX1 Tobias Kammacher Dr. Matthias Rosenthal Institute of Embedded Systems / High Performance Multimedia Research Group Zurich University of Applied Sciences

More information

What's new in GStreamer Land The last 2 years and the future

What's new in GStreamer Land The last 2 years and the future What's new in GStreamer Land The last 2 years and the future FOSDEM 2017, Brussels Open Media Devroom 5 February 2017 Sebastian Dröge Tim Müller Introduction

More information

GStreamer Status Report: The Road Ahead. GStreamer Conference August 2012 San Diego. Tim-Philipp Müller

GStreamer Status Report: The Road Ahead. GStreamer Conference August 2012 San Diego. Tim-Philipp Müller GStreamer Status Report: The Road Ahead GStreamer Conference 27-28 August 2012 San Diego Tim-Philipp Müller Introduction who am I? what is GStreamer? 0.10, 0.11, 1.0 and all

More information

What's new in GStreamer

What's new in GStreamer What's new in GStreamer GUADEC 2015, Göteborg 7 August 2015 Tim Müller Sebastian Dröge Introduction Who? Long-term GStreamer core developers and maintainers

More information

Streaming Media. Advanced Audio. Erik Noreke Standardization Consultant Chair, OpenSL ES. Copyright Khronos Group, Page 1

Streaming Media. Advanced Audio. Erik Noreke Standardization Consultant Chair, OpenSL ES. Copyright Khronos Group, Page 1 Streaming Media Advanced Audio Erik Noreke Standardization Consultant Chair, OpenSL ES Copyright Khronos Group, 2010 - Page 1 Today s Consumer Requirements Rich media applications and UI - Consumer decisions

More information

GStreamer Application Development Manual ( ) Wim Taymans Steve Baker Andy Wingo Ronald S. Bultje

GStreamer Application Development Manual ( ) Wim Taymans Steve Baker Andy Wingo Ronald S. Bultje GStreamer Application Development Manual (0.10.1.2) Wim Taymans Steve Baker Andy Wingo Ronald S. Bultje GStreamer Application Development Manual (0.10.1.2) by Wim Taymans, Steve Baker, Andy Wingo, and

More information

GStreamer Element States How do they work in detail?

GStreamer Element States How do they work in detail? GStreamer Element States How do they work in detail? GStreamer Conference 2016, Berlin 10 October 2016 Sebastian Dröge 1 Centricular Introduction 2 Centricular Who? Long-term

More information

FOSDEM Open Media Devroom. 02 February 2019, Brussels. Tim-Philipp Müller < >

FOSDEM Open Media Devroom. 02 February 2019, Brussels. Tim-Philipp Müller < > GSTREAMER 1.16 AND BEYOND FOSDEM Open Media Devroom 02 February 2019, Brussels Tim-Philipp Müller < tim@centricular.com > INTRO WHO AM I? WHAT IS GSTREAMER? Most of you know this, so key points only. Framework

More information

LCA14-417: mmap, allocators & sharing buffers - userland experience. Thu 6 March, 4:10pm, S.Semwal, B.Gaignard

LCA14-417: mmap, allocators & sharing buffers - userland experience. Thu 6 March, 4:10pm, S.Semwal, B.Gaignard LCA14-417: mmap, allocators & sharing buffers - userland experience Thu 6 March, 4:10pm, S.Semwal, B.Gaignard Agenda Discussion, not presentation :) Current state Your experiences? Idea of Central dmabuf

More information

GstShark profiling: a real-life example. Michael Grüner - David Soto -

GstShark profiling: a real-life example. Michael Grüner - David Soto - GstShark profiling: a real-life example Michael Grüner - michael.gruner@ridgerun.com David Soto - david.soto@ridgerun.com Introduction Michael Grüner Technical Lead at RidgeRun Digital signal processing

More information

Christophe Massiot (FOSDEM 2016) What makes Upipe great for video processing

Christophe Massiot (FOSDEM 2016)   What makes Upipe great for video processing Christophe Massiot (FOSDEM 2016) cmassiot@upipe.org http://upipe.org/ What makes Upipe great for video processing What is Upipe? A young (2012) C multimedia framework Initiated by OpenHeadend team 3 supporting

More information

Porting Tizen-IVI 3.0 to an ARM based SoC Platform

Porting Tizen-IVI 3.0 to an ARM based SoC Platform Porting Tizen-IVI 3.0 to an ARM based SoC Platform Damian Hobson-Garcia Automotive Linux Summit July 1-2, 2014 Tokyo, Japan Tizen IVI support Until recently Intel architecture (x86) system Tizen IVI 2.0alpha,

More information

Memory Management in Tizen. SW Platform Team, SW R&D Center

Memory Management in Tizen. SW Platform Team, SW R&D Center Memory Management in Tizen SW Platform Team, SW R&D Center Contents Tizen Kernel Overview Memory Management in Tizen Kernel Memory Size Optimization 2 Tizen Kernel Overview 3 Tizen Kernel Overview Core

More information

Preliminary design and validation of a modular framework for predictable composition of medical imaging applications

Preliminary design and validation of a modular framework for predictable composition of medical imaging applications Preliminary design and validation of a modular framework for predictable composition of medical imaging applications 7 th July 2015 Martijn van den Heuvel S.C. Cracana H. Salunkhe J.J. Lukkien A. Lele

More information

Porting Tizen-IVI 3.0 to an ARM based SoC Platform. Damian Hobson-Garcia, IGEL Co., Ltd.

Porting Tizen-IVI 3.0 to an ARM based SoC Platform. Damian Hobson-Garcia, IGEL Co., Ltd. Porting Tizen-IVI 3.0 to an ARM based SoC Platform Damian Hobson-Garcia, IGEL Co., Ltd. Current State of Affairs Intel architecture (x86) system Tizen IVI 2.0alpha, Tizen IVI 3.0 ARM architecture based

More information

CommCare for Android Smartphones

CommCare for Android Smartphones CommCare for Android Smartphones The information on this page reflects the old design of CommCare This page is primarily useful for programs using older versions of CommCare. A page directed at the newer

More information

15: OS Scheduling and Buffering

15: OS Scheduling and Buffering 15: OS Scheduling and ing Mark Handley Typical Audio Pipeline (sender) Sending Host Audio Device Application A->D Device Kernel App Compress Encode for net RTP ed pending DMA to host (~10ms according to

More information

Chromium OS audio. CRAS audio server

Chromium OS audio. CRAS audio server Chromium OS audio CRAS audio server Why another audio server? low end hardware (1 core atom, or Tegra 2) optimize for one user (chrome) dynamic stream re-routing maintainability, code size, security Basic

More information

EGLSTREAMS: INTEROPERABILITY FOR CAMERA, CUDA AND OPENGL. Debalina Bhattacharjee Sharan Ashwathnarayan

EGLSTREAMS: INTEROPERABILITY FOR CAMERA, CUDA AND OPENGL. Debalina Bhattacharjee Sharan Ashwathnarayan 53023 - EGLSTREAMS: INTEROPERABILITY FOR CAMERA, CUDA AND OPENGL Debalina Bhattacharjee Sharan Ashwathnarayan Tegra SOC and typical use-cases Why Interops EGLStream and Its Key Features Agenda Examples

More information

Universal Serial Bus - USB 2.0

Universal Serial Bus - USB 2.0 USB Packet Types USB has four packet types Token packets (type of transaction) Data Packets (payload / information) Handshake Packets (ack & error correction) Start of Frame packets (flag start of a new

More information

HD 1080P 60FPS Game Capture Quick Start Guide

HD 1080P 60FPS Game Capture Quick Start Guide HD 1080P 60FPS Game Capture Quick Start Guide Thanks for purchasing HD game capture. Hope this device will bring you nice digital experience. With the Full HD 1080P 60FPS game capture, just plug to your

More information

Practical Experiences from Using Pulseaudio in Embedded Handheld Device

Practical Experiences from Using Pulseaudio in Embedded Handheld Device Practical Experiences from Using Pulseaudio in Embedded Handheld Device Jyri Sarha 18.9.2009 Practical experiences from using Pulseaudio in embedded handheld device, 18.9.2009 2 Name: Jyri Sarha Background

More information

NVJPEG. DA _v0.2.0 October nvjpeg Libary Guide

NVJPEG. DA _v0.2.0 October nvjpeg Libary Guide NVJPEG DA-06762-001_v0.2.0 October 2018 Libary Guide TABLE OF CONTENTS Chapter 1. Introduction...1 Chapter 2. Using the Library... 3 2.1. Single Image Decoding... 3 2.3. Batched Image Decoding... 6 2.4.

More information

What s cooking in GStreamer. FOSDEM, Brussels 1 February Tim-Philipp Müller Sebastian Dröge

What s cooking in GStreamer. FOSDEM, Brussels 1 February Tim-Philipp Müller Sebastian Dröge What s cooking in GStreamer FOSDEM, Brussels 1 February 2014 Tim-Philipp Müller Sebastian Dröge Introduction who are we? what is GStreamer? What is GStreamer?

More information

Sync Points in the Intel Gfx Driver. Jesse Barnes Intel Open Source Technology Center

Sync Points in the Intel Gfx Driver. Jesse Barnes Intel Open Source Technology Center Sync Points in the Intel Gfx Driver Jesse Barnes Intel Open Source Technology Center 1 Agenda History and other implementations Other I/O layers - block device ordering NV_fence, ARB_sync EGL_native_fence_sync,

More information

Using OpenMAX Integration Layer with GStreamer - WHITE PAPER -

Using OpenMAX Integration Layer with GStreamer - WHITE PAPER - Using OpenMAX Integration Layer with GStreamer - WHITE PAPER - Author: D. Melpignano, P. Sen Version: 1.0 Date: 24 st April, 2006 Using OpenMAX Integration Layer with GStreamer Page 2 of 21 REVISION HISTORY

More information

FFADO: firewire audio for Linux.

FFADO: firewire audio for Linux. http://www.ffado.org Linux Plumbers Conference 2008 Jonathan Woithe Talk outline 1 Talk outline The FFADO project The firewire bus Why audio over firewire? Audio-specific firewire issues Manufacturer support

More information

Oxidising GStreamer. Rust out your multimedia! GStreamer Conference October 2017, Prague. Sebastian 'slomo' Dröge < >

Oxidising GStreamer. Rust out your multimedia! GStreamer Conference October 2017, Prague. Sebastian 'slomo' Dröge < > Oxidising GStreamer Rust out your multimedia! GStreamer Conference 2017 22 October 2017, Prague Sebastian 'slomo' Dröge < > sebastian@centricular.com Introduction Who? What? + What is Rust? Type-safe,

More information

TAPS-related topics from the NEAT project. Naeem Khademi (NEAT project) TAPS WG - IETF 97 Seoul- South Korea 16 November 2016

TAPS-related topics from the NEAT project. Naeem Khademi (NEAT project) TAPS WG - IETF 97 Seoul- South Korea 16 November 2016 TAPS-related topics from the NEAT project Naeem Khademi (NEAT project) TAPS WG - IETF 97 Seoul- South Korea 16 November 2016 Introduction on NEAT NEAT project has been ongoing since March 2015 NEAT library

More information

Quality Audio Software Pipeline. Presenters Subhranil Choudhury, Rajendra C Turakani

Quality Audio Software Pipeline. Presenters Subhranil Choudhury, Rajendra C Turakani Quality Audio Software Pipeline Presenters Subhranil Choudhury, Rajendra C Turakani 1 2 Agenda Scope is limited to Audio quality considerations in software audio pipeline Journey of Audio frame in a Multimedia

More information

Dotstack Porting Guide.

Dotstack Porting Guide. dotstack TM Dotstack Porting Guide. dotstack Bluetooth stack is a C library and several external interfaces that needs to be implemented in the integration layer to run the stack on a concrete platform.

More information

Streaming Media Portability

Streaming Media Portability Streaming Media Portability July 2006 Copyright Khronos Group, 2006 - Page 1 Copyright Khronos Group, 2006 - Page 2 Media Portability Problem Media infrastructure portability is a multi-level industry

More information

Seamless Dynamic Runtime Reconfiguration in a Software-Defined Radio

Seamless Dynamic Runtime Reconfiguration in a Software-Defined Radio Seamless Dynamic Runtime Reconfiguration in a Software-Defined Radio Michael L Dickens, J Nicholas Laneman, and Brian P Dunn WINNF 11 Europe 2011-Jun-22/24 Overview! Background on relevant SDR! Problem

More information

Real-Time Architectures 2003/2004. Resource Reservation. Description. Resource reservation. Reinder J. Bril

Real-Time Architectures 2003/2004. Resource Reservation. Description. Resource reservation. Reinder J. Bril Real-Time Architectures 2003/2004 Resource reservation Reinder J. Bril 03-05-2004 1 Resource Reservation Description Example Application domains Some issues Concluding remark 2 Description Resource reservation

More information

OpenMAX Integration Layer Application Programming Interface Specification Errata

OpenMAX Integration Layer Application Programming Interface Specification Errata OpenMAX Integration Layer Application Programming Interface Specification Errata Version 1.1.1 Copyright 2007 The Khronos Group Inc. August 21, 2007 Copyright 2006-2007 The Khronos Group Inc. All Rights

More information

Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink

Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink Track Three Building a Rich UI Based Dual Display Video Player with the Freescale i.mx53 using LinuxLink Session 3 How to leverage hardware accelerated video features to play back 720p/1080p video Audio

More information

FFADO: firewire audio for Linux.

FFADO: firewire audio for Linux. http://www.ffado.org Linux.conf.au 2009 Jonathan Woithe Talk outline 1 Talk outline The FFADO project The firewire bus Why audio over firewire? Audio-specific firewire issues Manufacturer support Protocol

More information

Debugging race condition problems in GStreamer

Debugging race condition problems in GStreamer Debugging race condition problems in GStreamer Conference 2016 10-11 October 2016 Berlin, Germany Miguel París mparisdiaz@gmail.com Who I am Miguel París Software Engineer Telematic Systems Master's Kurento

More information

Disruptor Using High Performance, Low Latency Technology in the CERN Control System

Disruptor Using High Performance, Low Latency Technology in the CERN Control System Disruptor Using High Performance, Low Latency Technology in the CERN Control System ICALEPCS 2015 21/10/2015 2 The problem at hand 21/10/2015 WEB3O03 3 The problem at hand CESAR is used to control the

More information

Slow Motion Video. MediaTek Technology White Paper

Slow Motion Video. MediaTek Technology White Paper MediaTek Technology White Paper May 2015 Introducing Slow Motion Video MediaTek s Slow Motion Video technology allows the device user to easily capture, replay, and share a fast moving object any time.

More information

HIGH PACKET RATES IN GSTREAMER

HIGH PACKET RATES IN GSTREAMER HIGH PACKET RATES IN GSTREAMER GStreamer Conference 22 October 2017, Prague Tim-Philipp Müller < > tim@centricular.com MORE OF A CASE STUDY REALLY HIGH PACKET RATES? RTP RAW VIDEO: PACKET AND DATA RATES

More information

Cinelerra Feature Comparison. Page 1

Cinelerra Feature Comparison. Page 1 FEATURE COMPARISON CV Stable HV Original 5.1 / CV site (GG) Chg Last Update 9/23/2017 Audio Plugins 24 31 33 * Video Plugins 75 75 89 * Theme Plugins 3 2 9 * Other Plugins 0 1 0 Total Native Plugins 102

More information

Multimedia SoC System Solutions

Multimedia SoC System Solutions Multimedia SoC System Solutions Presented By Yashu Gosain & Forrest Picket: System Software & SoC Solutions Marketing Girish Malipeddi: IP Subsystems Marketing Agenda Zynq Ultrascale+ MPSoC and Multimedia

More information

NVJPEG. DA _v0.1.4 August nvjpeg Libary Guide

NVJPEG. DA _v0.1.4 August nvjpeg Libary Guide NVJPEG DA-06762-001_v0.1.4 August 2018 Libary Guide TABLE OF CONTENTS Chapter 1. Introduction...1 Chapter 2. Using the Library... 3 2.1. Single Image Decoding... 3 2.3. Batched Image Decoding... 6 2.4.

More information

CUDA OPTIMIZATIONS ISC 2011 Tutorial

CUDA OPTIMIZATIONS ISC 2011 Tutorial CUDA OPTIMIZATIONS ISC 2011 Tutorial Tim C. Schroeder, NVIDIA Corporation Outline Kernel optimizations Launch configuration Global memory throughput Shared memory access Instruction throughput / control

More information

GStreamer in the living room and in outer space

GStreamer in the living room and in outer space GStreamer in the living room and in outer space FOSDEM 2015, Brussels Open Media Devroom 31 January 2015 Tim Müller Sebastian Dröge Introduction Who? Long-term

More information

USB BF70x Audio 1.0 Library v.1.2 Users Guide Users Guide Revision 1.3. For Use With Analog Devices ADSP-BF70x Series Processors

USB BF70x Audio 1.0 Library v.1.2 Users Guide Users Guide Revision 1.3. For Use With Analog Devices ADSP-BF70x Series Processors USB BF70x Audio 1.0 Library v.1.2 Users Guide Users Guide Revision 1.3 For Use With Analog Devices ADSP-BF70x Series Processors Closed Loop Design, LLC 748 S MEADOWS PKWY STE A-9-202 Reno, NV 89521 support@cld-llc.com

More information

Shown below is a diagram of a very simple playback graph.

Shown below is a diagram of a very simple playback graph. An Introduction to DirectShow Parser Filters Introduction & Overview Geraint Davies DirectShow is a multimedia architecture on Windows that is widely used for video playback as well as other tasks. Instead

More information

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018

CMSC 417. Computer Networks Prof. Ashok K Agrawala Ashok Agrawala. October 11, 2018 CMSC 417 Computer Networks Prof. Ashok K Agrawala 2018 Ashok Agrawala Message, Segment, Packet, and Frame host host HTTP HTTP message HTTP TCP TCP segment TCP router router IP IP packet IP IP packet IP

More information

Synchronised multi-device media playback with GStreamer

Synchronised multi-device media playback with GStreamer Synchronised multi-device media playback with GStreamer Luis de Bethencourt Samsung Open Source Group luisbg@osg.samsung.com Samsung Open Source Group 1 About Me Originally from the Canary Islands. Currently

More information

Fundamental CUDA Optimization. NVIDIA Corporation

Fundamental CUDA Optimization. NVIDIA Corporation Fundamental CUDA Optimization NVIDIA Corporation Outline! Fermi Architecture! Kernel optimizations! Launch configuration! Global memory throughput! Shared memory access! Instruction throughput / control

More information

D3D12 & Vulkan Done Right. Gareth Thomas Developer Technology Engineer, AMD

D3D12 & Vulkan Done Right. Gareth Thomas Developer Technology Engineer, AMD D3D12 & Vulkan Done Right Gareth Thomas Developer Technology Engineer, AMD Agenda Barriers Copy Queue Resources Pipeline Shaders What is *not* in this talk Async compute Check out Async Compute: Deep Dive

More information

Webomania Solutions Pvt. Ltd About ClipBucket-A way to broadcast yourself:

Webomania Solutions Pvt. Ltd About ClipBucket-A way to broadcast yourself: About ClipBucket-A way to broadcast yourself: Video sharing websites are in great demand in today s world. There are many successful video sharing websites like YouTube, Dailymotion, Metacafe, Veoh, Hulu

More information

Using GStreamer for Seamless Off- Loading Audio Processing to a DSP ELC 2013, San Francisco Ruud Derwig

Using GStreamer for Seamless Off- Loading Audio Processing to a DSP ELC 2013, San Francisco Ruud Derwig Using GStreamer for Seamless Off- Loading Audio Processing to a DSP ELC 2013, San Francisco Ruud Derwig Synopsys 2013 1 Abstract This presentation explains how off-loading of audio processing from an application

More information

! Design constraints. " Component failures are the norm. " Files are huge by traditional standards. ! POSIX-like

! Design constraints.  Component failures are the norm.  Files are huge by traditional standards. ! POSIX-like Cloud background Google File System! Warehouse scale systems " 10K-100K nodes " 50MW (1 MW = 1,000 houses) " Power efficient! Located near cheap power! Passive cooling! Power Usage Effectiveness = Total

More information

MRCP. Client Integration Manual. Developer Guide. Powered by Universal Speech Solutions LLC

MRCP. Client Integration Manual. Developer Guide. Powered by Universal Speech Solutions LLC Powered by Universal Speech Solutions LLC MRCP Client Integration Manual Developer Guide Revision: 37 Last updated: May 20, 2017 Created by: Arsen Chaloyan Universal Speech Solutions LLC Overview 1 Table

More information

Disclaimer: this pdf is just the content of the sliders with no format at all. I'm using the moin-wiki slides plugin for the real slides.

Disclaimer: this pdf is just the content of the sliders with no format at all. I'm using the moin-wiki slides plugin for the real slides. Disclaimer: this pdf is just the content of the sliders with no format at all. I'm using the moin-wiki slides plugin for the real slides. Introduction (1) Pau Arumi parumi@iua.upf.es CLAM: C++ Library

More information

Remote Persistent Memory SNIA Nonvolatile Memory Programming TWG

Remote Persistent Memory SNIA Nonvolatile Memory Programming TWG Remote Persistent Memory SNIA Nonvolatile Memory Programming TWG Tom Talpey Microsoft 2018 Storage Developer Conference. SNIA. All Rights Reserved. 1 Outline SNIA NVMP TWG activities Remote Access for

More information

Processors, Performance, and Profiling

Processors, Performance, and Profiling Processors, Performance, and Profiling Architecture 101: 5-Stage Pipeline Fetch Decode Execute Memory Write-Back Registers PC FP ALU Memory Architecture 101 1. Fetch instruction from memory. 2. Decode

More information

Pro Audio is Easy, Consumer Audio is Hard

Pro Audio is Easy, Consumer Audio is Hard Linux Audio Confernce 2010 lennart@poettering.net May 2010 Who Am I? Software Engineer at Red Hat, Inc. Developer of PulseAudio, Avahi and a few other Free Software projects http://0pointer.de/lennart/

More information

Serial Digital Audio Routing Switchers?

Serial Digital Audio Routing Switchers? Serial Digital Audio Routing Switchers? When updating a facility to digital, one of the first things to consider is replacing the old patch bays with a centrally located routing switcher. There are many

More information

Understanding Storage I/O Behaviors of Mobile Applications. Louisiana State University Department of Computer Science and Engineering

Understanding Storage I/O Behaviors of Mobile Applications. Louisiana State University Department of Computer Science and Engineering Understanding Storage I/O Behaviors of Mobile Applications Jace Courville jcourv@csc.lsu.edu Feng Chen fchen@csc.lsu.edu Louisiana State University Department of Computer Science and Engineering The Rise

More information

Synchronised multi-room media playback and distributed live media processing and mixing

Synchronised multi-room media playback and distributed live media processing and mixing Synchronised multi-room media playback and distributed live media processing and mixing LCA 2016, Geelong 3 February 2016 Sebastian Dröge 1 Introduction 2 Who? Long-term GStreamer

More information

Farhad Shafai, Sarance Technologies March, 2008 SARANCE TECHNOLOGIES

Farhad Shafai, Sarance Technologies March, 2008 SARANCE TECHNOLOGIES Technical Feasibility of 100G/40G MLD Farhad Shafai, Sarance Technologies March, 08 1 Outline Presentation is focused on the implementation of the digital logic Agenda: MLD overview 100G implementation

More information

Dongjun Shin Samsung Electronics

Dongjun Shin Samsung Electronics 2014.10.31. Dongjun Shin Samsung Electronics Contents 2 Background Understanding CPU behavior Experiments Improvement idea Revisiting Linux I/O stack Conclusion Background Definition 3 CPU bound A computer

More information

Intel RealSense SDK 2014

Intel RealSense SDK 2014 Capturing Raw Streams Tutorial Using Unity* Software Intel RealSense SDK 2014 With the Intel RealSense SDK, you have access to robust, natural human-computer interaction (HCI) algorithms such as face tracking,

More information

Chapter. Out of order Execution

Chapter. Out of order Execution Chapter Long EX Instruction stages We have assumed that all stages. There is a problem with the EX stage multiply (MUL) takes more time than ADD MUL ADD We can clearly delay the execution of the ADD until

More information

Media Resource Sharing Through The Media Controller API

Media Resource Sharing Through The Media Controller API Media Resource Sharing Through The Media Controller API Korea Linux Forum, October 26 th 2015 Shuah Khan shuahkh@osg.samsung.com 1 Abstract Media devices have hardware resources that are shared across

More information

Avpy Documentation. Release sydh

Avpy Documentation. Release sydh Avpy Documentation Release 0.1.3 sydh May 01, 2016 Contents 1 Overview 1 2 Getting Help 3 3 Issues 5 4 Changes 7 5 Contributions 9 6 Indices and tables 11 6.1 Examples.................................................

More information

Ardour3 Video Integration

Ardour3 Video Integration Ardour3 Video Integration film-soundtracks on GNU/Linux Robin Gareus CiTu - Pargraphe Research Group University Paris 8 - Hypermedia Department robin@gareus.org April, 2012 Outline of the talk Introduction

More information

Ben Walker Data Center Group Intel Corporation

Ben Walker Data Center Group Intel Corporation Ben Walker Data Center Group Intel Corporation Notices and Disclaimers Intel technologies features and benefits depend on system configuration and may require enabled hardware, software or service activation.

More information

GStreamer in the living room and in outer space

GStreamer in the living room and in outer space GStreamer in the living room and in outer space LCA 2016, Geelong Multimedia and Music MiniConf 1 February 2016 Sebastian Dröge 1 Introduction 2 Who? Long-term GStreamer core

More information

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006

The Use Of Virtual Platforms In MP-SoC Design. Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 The Use Of Virtual Platforms In MP-SoC Design Eshel Haritan, VP Engineering CoWare Inc. MPSoC 2006 1 MPSoC Is MP SoC design happening? Why? Consumer Electronics Complexity Cost of ASIC Increased SW Content

More information

Accelerating Cloud Graphics

Accelerating Cloud Graphics Accelerating Cloud Graphics Franck DIARD, Ph. D. SW Architect Distinguished Engineer, NVIDIA Agenda 30 minute talk 10 minute demo 10 minute Q&A GeForce GRID Lower Latency Higher Density Higher Quality

More information

TransMu x. Users Manual. Version 3. Copyright PixelTools Corporation

TransMu x. Users Manual. Version 3. Copyright PixelTools Corporation TransMu x Version 3 Users Manual Copyright 1997-2003 PixelTools Corporation Contact Information: PixelTools Corporation 10721 Wunderlich Drive Cupertino, CA 95014 USA Tel: +1 (408) 374-5327 Fax: +1 (408)

More information

Techniques to improve the scalability of Checkpoint-Restart

Techniques to improve the scalability of Checkpoint-Restart Techniques to improve the scalability of Checkpoint-Restart Bogdan Nicolae Exascale Systems Group IBM Research Ireland 1 Outline A few words about the lab and team Challenges of Exascale A case for Checkpoint-Restart

More information

Transport protocols Introduction

Transport protocols Introduction Transport protocols 12.1 Introduction All protocol suites have one or more transport protocols to mask the corresponding application protocols from the service provided by the different types of network

More information

INTERFACING REAL-TIME AUDIO AND FILE I/O

INTERFACING REAL-TIME AUDIO AND FILE I/O INTERFACING REAL-TIME AUDIO AND FILE I/O Ross Bencina portaudio.com rossbencina.com rossb@audiomulch.com @RossBencina Example source code: https://github.com/rossbencina/realtimefilestreaming Q: How to

More information

Requirements for a software API to cover automotive video applications. Martin Miller

Requirements for a software API to cover automotive video applications. Martin Miller Requirements for a software API to cover automotive video applications Martin Miller 2 Corporate Overview l l l l Leading provider of: High-performance microcontrollers, digital signal controllers and

More information