intel smd elements in gstreamer
play

Intel SMD elements in GStreamer Josep Torra a.k.a. ad-n770 - PowerPoint PPT Presentation

Intel SMD elements in GStreamer Josep Torra a.k.a. ad-n770 josep@fluendo.com Sodaville and Canmore Intel CE4100 Media Processor, Sodaville Intel CE3100 Media Processor, Canmore SoC with HW accelerated codecs Targeted to Consumer Electronics


  1. Intel SMD elements in GStreamer Josep Torra a.k.a. ad-n770 josep@fluendo.com

  2. Sodaville and Canmore Intel CE4100 Media Processor, Sodaville Intel CE3100 Media Processor, Canmore SoC with HW accelerated codecs Targeted to Consumer Electronics devices Intel CESDK, a minimalistic Linux system

  3. Media capabilities Two High Definition video decoders capable of 1080p@60 HW accelerated audio decoders/encoders on DSPs and 7.1 audio support Noise reduction, motion adaptive de- interlacing and scaling in HW Post-Processor HW blender for display composition OpenGL ES 1.1/2.0 capable GPU

  4. Intel Streaming Media Driver (ISMD) Low-level driver which provides an API for application to control media streams. Devices, ports, memory ISMD buffers, ISMD events. A minimalistic media framework.

  5. Application Block Diagram Media Application Media Application XPSM GStreamer Fluendo ISMD elements Fluendo SW Codecs GDL ISMD Hardware layer

  6. Fluendo ISMD elements (I) Wraps ISMD devices Configurable through GObject properties GstPads connected to ISMD ports Converts GstBuffers into ISMD buffers and vice versa Wraps the GstStates to ISMD states

  7. Fluendo SMD elements (II) Integrated with autoplug elements uridecodebin, decodebin2 and playbin2 Can be mixed with software elements like sources, demuxers or video decoders Transparent integration with ISMD BufMon Advanced features such as trick modes and handling of live pipelines

  8. DVB Source (I) Wraps a ISMD Demuxer wired to TSI MPTS to SPTS filtering Performs clock recoveries based on PCR samples Capable to parse and manage PSI pids Integrated with ISMD BufMon

  9. DVB Source (II) PATInfo GstMessage PMTInfo GstMessage ismd_dvb_src ISMD Demuxer ISMD PSI Filter Device PSI PIDs Buffer GstBuffer TSI Main ISMD Main Memory ES PIDs Buffer Memory Clock Recovery Info

  10. Clock Recovery and Provider (I) Provides a ISMD clock Integrated with ISMD BufMon Capable to parse the PCR samples and perform clock recoveries

  11. Clock Recovery and Provider (II) ismd_clock_recovery_provider GstBuffer GstBuffer MPEG TS Main PCR parser Main Memory Memory Clock Recovery Info GstClock

  12. Audio Sink (I) Wraps ISMD Audio processors Provides audio rendering for raw PCM and compressed formats (MPEG audio, AAC, AC3, DTS, WMA) Permits passthrough and encode to AC3 or DTS on digital outputs

  13. Audio Sink (II) HDMI, SPDIF, I2S0 and I2S1outputs Integrates with ALSA emulation deamon Provides an ISMD clock

  14. Audio Sink (III) ismd_audio_sink ISMD Audio Processor Device HDMI GstBuffer SPDIF ISMD Main Buffer Memory I2S0 I2S1 GstClock

  15. Video Decoder (I) Wraps ISMD Video decoder Performs video decoding Supported formats are MPEG2, MPEG4 part 2 (only on Sodaville), H264 and VC1 Frame reordering and PTS interpolation

  16. Video Decoder (II) ismd_h264_viddec ISMD Video Decoder GstBuffer GstBuffer Device ISMD ISMD Main ISMD Buffer Buffer Memory Buffer

  17. Video Post-Processor (I) Wraps ISMD Video Post-Processor Performs chroma up-sampling, noise reduction filtering, de-interlacing, scaling and Pan&Scan Converts video frames in standard GstBuffers into ISMD buffers and provides pad alloc capability.

  18. Video Post-Processor (II) ismd_vidpproc ISMD Video Post-Processor GstBuffer GstBuffer Device ISMD ISMD ISMD ISMD Buffer Buffer Buffer Buffer

  19. Video Post-Processor (III) ismd_vidpproc ISMD Video NV12 convert Post-Processor GstBuffer GstBuffer Device ISMD ISMD Main ISMD Buffer Buffer Memory Buffer

  20. Video Sink (I) Wraps ISMD Video renderer Presents the video frames on the selected GDL plane Configurable destination rectangle Provides an ISMD clock

  21. Video Sink (II) ismd_vidrend_sink ISMD Video Render GstBuffer Device ISMD ISMD ISMD Buffer Buffer Buffer QoS GstEvent GstClock

  22. Video Bin Helper GstBin for integration with playbin2 ismd_vidpproc ! ismd_vidrend_sink

  23. GDL Video Sink (I) Derived from GstVideoSink Presents the ARGB video frames on the selected GDL plane Designed to overlay subtitles and subpictures

  24. GDL Video Sink (II) flugdlsink GDL Plane GstBuffer GDL Main Surface Memory

  25. Source Code Fluendo ISMD elements: http://core.fluendo.com/gstreamer/src/ FLUB build system for CESDK https://core.fluendo.com/gstreamer/trac/browser/trunk/flub-ismd/ Building guide https://core.fluendo.com/gstreamer/trac/wiki/HowToBuildFromSvn

  26. Application Use Cases

  27. File playback pipeline ismd_vidrend_bin queue ismd_h264_viddec ismd_vidpproc ismd_vidrend_sink ismd_audio_sink filesrc demuxer queue queue textrender queue flugdlsink

  28. Digital TV playback pipeline ismd_vidrend_bin ismd_vidpproc queue ismd_mpeg2_viddec ismd_vidrend_sink ismd_dvb_src flutsdemux ismd_audio_sink queue

  29. IPTV playback pipeline ismd_vidrend_bin queue ismd_vidpproc ismd_mpeg2_viddec ismd_vidrend_sink ismd_clock_recovery_provider udpsrc flutsdemux ismd_audio_sink queue

  30. Conclusions and Future Fluendo Media Center aka Moovida Fluendo DVD playback engine Video playback on 3D surfaces

  31. Q&A

  32. About Fluendo The Fluendo group was created at the end of 2003 with the very ambitious goal of improving the multimedia experience in the Free Software environment. Indeed at that time there was no reliable solution for multimedia application developers. Existing media players were not legal and there was no media framework to compete with the existing operating systems as an alternative to Microsoft Windows with DirectShow and Mac OS X with Quicktime. The Fluendo choice was a Free Software project called GStreamer which aimed at being as good as DirectShow or even better and funded a deep refactoring of the framework to bring it up at a professional level. Based on this multimedia expertise Fluendo started to develop products around GStreamer such as: Flumotion Streaming Server, Fluendo codec pool, Fluendo DVD player and Fluendo Media Center (aka Moovida). Nowadays Fluendo provides a wide range of products and solutions on top of the GStremaer framework and offers its expertise in the form of consultancy services to the main industry players.

  33. The garden (1977) Joan Miró i Ferrà (April 20, 1893 – December 25, 1983); was a Catalan painter, sculptor, and ceramicist born in Barcelona.

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend