Openmax AL, Opensl ES Native Multimedia in Android

Openmax AL, Opensl ES Native Multimedia in Android

OpenMAX AL, OpenSL ES Native Multimedia in Android Erik Noreke Chair of OpenMAX AL and OpenSL ES Working Groups © Copyright Khronos Group, 2011 - Page 1 Why Create Khronos Multimedia APIs? Khronos APIs Open Source Framework • Conformance Tests • Free to change • Portable • Every implementation unique • IP Protection • GPL license • Profiles & Components • Plugins • Predictable set of functionality • Functionality dependent on implementation © Copyright Khronos Group, 2011 - Page 2 & Application Access Layer © Copyright Khronos Group, 2011 - Page 3 The Need for Application Access • Hardware and low level access is powerful but complex - More power than most application developers require • Most application developers just want to playback and record media - Specifying where the content comes from and is rendered to - Manipulate a few playback controls - Have simple configurability © Copyright Khronos Group, 2011 - Page 4 The Need for Application Access • That are what OpenMAX AL and OpenSL ES provide… - Simple high-level multimedia APIs for playback and recording use cases - With hardware acceleration capabilities built in • …With Cross-platform portability - No need to rewrite an application for every platform © Copyright Khronos Group, 2011 - Page 5 OpenMAX AL Focused on Streaming Media • Media playback and recording - Playback and recording of everything from video files to radio to camera input • Full range of video effects and controls – including playback rate, post processing, and image manipulation - Apply advanced effects to captured images and video before sending to friends © Copyright Khronos Group, 2011 - Page 6 OpenMAX AL Focused on Streaming Media • OpenMAX AL gives easy access to streaming media - Allowing time to be spent on developing applications, not using frameworks • Designed as a complete set of multimedia functionality - Unlike any other streaming media API © Copyright Khronos Group, 2011 - Page 7 OpenSL ES – Powerful Mobile Audio • Full range of effects and controls, including advanced 3D effects such as Doppler and virtualization - Experience rich, enhanced sound from locations other than the handset, even moving, for the ultimate multimedia experience • Create theater quality audio experience - In a mobile device! © Copyright Khronos Group, 2011 - Page 8 OpenSL ES – Powerful Mobile Audio • Full 3D audio functionality enhances any gaming experience - Perfect companion to OpenGL ES • Designed for implementation by either a hardware or software solution - Take full advantage of system capabilities © Copyright Khronos Group, 2011 - Page 9 Object Oriented Media Access • Simplified object-oriented streaming media - Built to enable common use cases - But also has access to advanced functionality • Media Objects enable PLAY and RECORD of content - Media Objects input and output to Devices - Perform some operation on an input and emit the result as output • Objects have control interfaces - Play, Record, Seek, Rate Media Input Audio Mix Camera (AL) Display Window (AL) URI DSrc Player Object DSnk URI Memory Memory Content pipe Content pipe © Copyright Khronos Group, 2011 - Page 10 OpenMAX AL & OpenSL ES © Copyright Khronos Group, 2011 - Page 11 OpenSL ES and OpenMAX AL • Working groups collaborated to define the common API functionality • Independent, Compatible, Consistent and Distinct Video 3D Audio playback Audio Video Playback recording Audio Effects Radio and RDS Audio Advanced Recording Camera MIDI Basic Image capture Buffer MIDI & display queues © Copyright Khronos Group, 2011 - Page 12 Why Profiles? • Functionality divided into basic groups - Most common groupings • Profiles reduce fragmentation - Not all devices support all functionality - Only support the profiles you need • Applications can query available profiles - To adapt to the current device - Facilitates porting of applications © Copyright Khronos Group, 2011 - Page 13 Why Profiles? • Profiles can be combined - To best suit any product • Optional features - Some features are optional in all profiles - APIs are consistent when feature is available © Copyright Khronos Group, 2011 - Page 14 OpenSL ES and OpenMAX AL • Independent - But designed to work together - No dependency between the APIs – either one can exist by itself • Compatible - Working groups collaborated to make sure the APIs work together well © Copyright Khronos Group, 2011 - Page 15 OpenSL ES and OpenMAX AL • Consistent - Identical API architecture - Identical APIs for same functionality • Distinct - OpenMAX AL represents basic multimedia functionality (audio, video, and image) - OpenSL ES represents advanced audio functionality © Copyright Khronos Group, 2011 - Page 16 Complete Multimedia Use-Case Audio stream to DSP 3D Audio Rendering Multimedia Application Processing on CPU Video stream to GPU OpenGL ES EGLStream GL_TEXURE_EXTERN OpenGL ES EGLSurface AL_OES texture Much more flexibility than just “show a video” © Copyright Khronos Group, 2011 - Page 17 Android NDK for Multimedia • NDK – Native Development Kit • Introduced in Android 2.3 Gingerbread Advanced Audio Mobile 3D © Copyright Khronos Group, 2011 - Page 18 Why the NDK? • Better control of fuctionality and timing • Access to hardware acceleration • Multimedia is the primary reason for the NDK • Increases application complexity • Requires compilation for each platform family - ARMv5TE - ARMv7-A - x86 instructions © Copyright Khronos Group, 2011 - Page 19 Focus is on Standardized APIs • Earlier internal APIs not stable enough… • Avoid fragmentation • Well tested and documented • Focus on functionality - Not on implementation • Access to hardware acceleration © Copyright Khronos Group, 2011 - Page 20 Native Multimedia APIs in Android 2.3 • OpenGL ES 2.0 • EGL 1.4 • OpenSL ES 1.0.1 - Partial implementation Mobile 3D - Almost complete Phone + Music profiles - Buffer queues from 1.1 as Android extension - Google version compliant as far as implemented - Other vendors offer fully compliant solution Graphics Context Advanced Audio Management © Copyright Khronos Group, 2011 - Page 21 Ice Cream Sandwich – Android 4.0 • Same OS for both phones and tablets • Better multitasking • Better support for hardware accelerated graphics • DRM • Partial OpenMAX AL 1.0.1 implementation - Streaming use-case only - Does not interoperate with OpenSL ES Streaming Media © Copyright Khronos Group, 2011 - Page 22 Android & OpenMAX IL • Android uses OpenMAX IL in their Multimedia framework - Codecs only - No graph building • Main Multimedia framework is still Stagefright - Introduced in Éclair • Allows for both software implemented and hardware accelerated codecs • Not part of NDK - Not intended to be accessible from applications © Copyright Khronos Group, 2011 - Page 23 What is Google saying? © Copyright Khronos Group, 2011 - Page 24 What is Google saying? © Copyright Khronos Group, 2011 - Page 25 What is Google saying? © Copyright Khronos Group, 2011 - Page 26 Where is Android Headed? • More Devices - TVs? - Netbooks? - Chrome OS? • What does the future hold? - Compliant OpenSL ES? - Better OpenMAX AL support? - OpenMAX AL EGL Stream Extension? - Support for OpenCL? - Content Pipes? © Copyright Khronos Group, 2011 - Page 27 Thank You © Copyright Khronos Group, 2011 - Page 28 .

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    28 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us