Top Banner
GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras [email protected] April 17, 2008
23

GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras [email protected] April 17, 2008. GStreamer What is GStreamer? GStreamer

Mar 23, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

GStreamer and OpenMAX ILPlug-and-Play

Felipe [email protected]

April 17, 2008

Page 2: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

GStreamerWhat is GStreamer?

GStreamer is:

A media processing library

Modular

Extensive

Cross-platform

GObject based (easy language bindings)

Driven by an active community

Proven

Page 3: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

GStreamerWhat uses GStreamer?

Media Player (Banshee, BMPx, Exaile, Kaffeine, Muine,Rhythmbox, Totem, amaroK)

Media Recoder (Cupid)

Audio Editor (Jokosher)

Video Editor (PiTiVi)

Music Authoring (Buzztard)

Backup Utility (Thoggen, Sound Juicer, Gnome Baker)

Screen Recorder (Istanbul)

Media Center (Elisa)

Stream Server (Flumotion)

Other MMFs (Phonon)

Page 4: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

OpenMAXWhat is OpenMAX?

Definition

OpenMAX is a royalty-free, cross-platform API that providesabstractions for routines especially useful for computer graphics,video, and audio.

OpenMAX AL (Application Layer)

Audio/Video/Image Playback/Recording

OpenMAX IL (Integration Layer)

Blocks of functionality: sources, sinks, filters, etc.

OpenMAX DL (Development Layer)

Low-level building blocks

Page 5: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

OpenMAXWhat is OpenMAX?

Definition

OpenMAX is a royalty-free, cross-platform API that providesabstractions for routines especially useful for computer graphics,video, and audio.

OpenMAX AL (Application Layer)Audio/Video/Image Playback/Recording

OpenMAX IL (Integration Layer)

Blocks of functionality: sources, sinks, filters, etc.

OpenMAX DL (Development Layer)

Low-level building blocks

Page 6: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

OpenMAXWhat is OpenMAX?

Definition

OpenMAX is a royalty-free, cross-platform API that providesabstractions for routines especially useful for computer graphics,video, and audio.

OpenMAX AL (Application Layer)Audio/Video/Image Playback/Recording

OpenMAX IL (Integration Layer)Blocks of functionality: sources, sinks, filters, etc.

OpenMAX DL (Development Layer)

Low-level building blocks

Page 7: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

OpenMAXWhat is OpenMAX?

Definition

OpenMAX is a royalty-free, cross-platform API that providesabstractions for routines especially useful for computer graphics,video, and audio.

OpenMAX AL (Application Layer)Audio/Video/Image Playback/Recording

OpenMAX IL (Integration Layer)Blocks of functionality: sources, sinks, filters, etc.

OpenMAX DL (Development Layer)Low-level building blocks

Page 8: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

OpenMAX IL vs GStreamer

OpenMAX IL doesn’t autoconnect components

OpenMAX IL doesn’t recognize input streams

OpenMAX IL doesn’t automatically change states

(OpenMAX IL is in a lower level than GStreamer)

OpenMAX IL is a standard

OpenMAX IL was developed with embedded devices in mind

OpenMAX IL has more industry support: AMD, Apple, ARM,Creative, Dell Inc, Ericsson, Freescale, ImaginationTechnologies Group plc, Intel, IBM, Motorola, Nokia, NvidiaCorporation, Samsung Electronics Co. Ltd, SK Telecom, SonyComputer Entertainment Inc, Sun Microsystems Inc andTexas Instruments.

Page 9: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

OpenMAX IL vs GStreamer

OpenMAX IL doesn’t autoconnect components

OpenMAX IL doesn’t recognize input streams

OpenMAX IL doesn’t automatically change states

(OpenMAX IL is in a lower level than GStreamer)

OpenMAX IL is a standard

OpenMAX IL was developed with embedded devices in mind

OpenMAX IL has more industry support: AMD, Apple, ARM,Creative, Dell Inc, Ericsson, Freescale, ImaginationTechnologies Group plc, Intel, IBM, Motorola, Nokia, NvidiaCorporation, Samsung Electronics Co. Ltd, SK Telecom, SonyComputer Entertainment Inc, Sun Microsystems Inc andTexas Instruments.

Page 10: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

OpenMAX IL vs GStreamer

OpenMAX IL doesn’t autoconnect components

OpenMAX IL doesn’t recognize input streams

OpenMAX IL doesn’t automatically change states

(OpenMAX IL is in a lower level than GStreamer)

OpenMAX IL is a standard

OpenMAX IL was developed with embedded devices in mind

OpenMAX IL has more industry support: AMD, Apple, ARM,Creative, Dell Inc, Ericsson, Freescale, ImaginationTechnologies Group plc, Intel, IBM, Motorola, Nokia, NvidiaCorporation, Samsung Electronics Co. Ltd, SK Telecom, SonyComputer Entertainment Inc, Sun Microsystems Inc andTexas Instruments.

Page 11: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

OpenMAX IL vs GStreamer

OpenMAX IL doesn’t autoconnect components

OpenMAX IL doesn’t recognize input streams

OpenMAX IL doesn’t automatically change states

(OpenMAX IL is in a lower level than GStreamer)

OpenMAX IL is a standard

OpenMAX IL was developed with embedded devices in mind

OpenMAX IL has more industry support: AMD, Apple, ARM,Creative, Dell Inc, Ericsson, Freescale, ImaginationTechnologies Group plc, Intel, IBM, Motorola, Nokia, NvidiaCorporation, Samsung Electronics Co. Ltd, SK Telecom, SonyComputer Entertainment Inc, Sun Microsystems Inc andTexas Instruments.

Page 12: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

OpenMAX IL vs GStreamer

OpenMAX IL doesn’t autoconnect components

OpenMAX IL doesn’t recognize input streams

OpenMAX IL doesn’t automatically change states

(OpenMAX IL is in a lower level than GStreamer)

OpenMAX IL is a standard

OpenMAX IL was developed with embedded devices in mind

OpenMAX IL has more industry support: AMD, Apple, ARM,Creative, Dell Inc, Ericsson, Freescale, ImaginationTechnologies Group plc, Intel, IBM, Motorola, Nokia, NvidiaCorporation, Samsung Electronics Co. Ltd, SK Telecom, SonyComputer Entertainment Inc, Sun Microsystems Inc andTexas Instruments.

Page 13: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

OpenMAX IL vs GStreamer

OpenMAX IL doesn’t autoconnect components

OpenMAX IL doesn’t recognize input streams

OpenMAX IL doesn’t automatically change states

(OpenMAX IL is in a lower level than GStreamer)

OpenMAX IL is a standard

OpenMAX IL was developed with embedded devices in mind

OpenMAX IL has more industry support: AMD, Apple, ARM,Creative, Dell Inc, Ericsson, Freescale, ImaginationTechnologies Group plc, Intel, IBM, Motorola, Nokia, NvidiaCorporation, Samsung Electronics Co. Ltd, SK Telecom, SonyComputer Entertainment Inc, Sun Microsystems Inc andTexas Instruments.

Page 14: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

OpenMAX IL vs GStreamer

OpenMAX IL doesn’t autoconnect components

OpenMAX IL doesn’t recognize input streams

OpenMAX IL doesn’t automatically change states

(OpenMAX IL is in a lower level than GStreamer)

OpenMAX IL is a standard

OpenMAX IL was developed with embedded devices in mind

OpenMAX IL has more industry support: AMD, Apple, ARM,Creative, Dell Inc, Ericsson, Freescale, ImaginationTechnologies Group plc, Intel, IBM, Motorola, Nokia, NvidiaCorporation, Samsung Electronics Co. Ltd, SK Telecom, SonyComputer Entertainment Inc, Sun Microsystems Inc andTexas Instruments.

Page 15: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

gst-openmaxWhat is gst-openmax?

gst-openmax is a GStreamer plug-in that maps OpenMAX ILstandard components as GStreamer elements.

GStreamer

OpenMAX IL

mp3dec

gst-openmax

omx_mp3dec

Page 16: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

gst-openmaxWhat is gst-openmax?

Rhythmbox amaroK Totem xine-ui Helix VLC MPlayer

OpenMAX IL

MP3decoder

MPEG-4video decoder

Audio sinkMPEG-2

video decoder

OpenMAX ILMAD

OpenMAX ILXvid

OpenMAX ILFFmpeg

OpenMAX ILALSA

OpenMAX ILNVIDIA

GStreamer

Profile

Each box represents a wrapper that provides OpenMAX IL com ponents.

An OpenMAX IL profi le defines how com ponents should behave.

Defines a standard way to use data processing com ponents.

Faci l i ties to do al l kinds of m ul tim edia processing.

Does what the user wants.

xine-lib

OpenMAX ILDSP

Integration

Framework

Application

Component

gst-openmaxstands right here.

Implemented

Posible

Hw accelerated

Page 17: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

gst-openmaxWhat is gst-openmax?

Is a collaboration between: Nokia, STMicroelectronics, TexasInstruments, NXP, and the GStreamer community.

Can use multiple OpenMAX IL implementations at the sametime.

Transparent to applications (thanks to GStreamer’sextensibility).

Usable, but not yet production ready.

Can play, pause, stop, seek; keeping audio/videosynchronization.

Main work focused on filters; encoders, decoders. (Keep itsimple)

Page 18: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

gst-openmaxCurrent status

ADPCM audio encoder/decoder

AAC audio encoder/decoder

AMR-WB audio encoder/decoder

AMR-NB audio encoder/decoder

MP3 audio decoder

Vorbis audio decoder

H.263 video encoder/decoder

H.264/AVC video encoder/decoder

MPEG-4 video encoder/decoder

WMV video decoder

video sink

audio sink

Page 19: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

gst-openmaxIssues

zero-copy

Page 20: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

gst-openmaxPlanned features

Tunneling (thanks to NXP)

Seeking fixes

Unit tests

Documentation

Page 21: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

gst-openmaxDemo time

Demo time

Page 22: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

gst-openmaxContributions

Testing (just try it out)

Implement/improve sources/sinks

Bellagio improvements

Hardware accelerated components on the Linux desktop (ATI,Nvidia)

Page 23: GStreamer and OpenMAX IL - Plug-and-Play · GStreamer and OpenMAX IL Plug-and-Play Felipe Contreras felipe.contreras@nokia.com April 17, 2008. GStreamer What is GStreamer? GStreamer

Contact

[email protected]

http://www.freedesktop.org/wiki/GstOpenMAX