SlideShare a Scribd company logo
Android Multimedia
Framework Overview
Li Li, Solution and Service Wind River
Agenda
     What is Multimedia in a mobile device
             – MPEG standard
             – File format
             – Codec
     Android Multimedia Framework
             – OpenCORE
             – OpenMAX
             – What we can do with this




2   | © 2010 Wind River. All Rights Reserved.
What is Multimedia in mobile device
     Multimedia is the most important component in modern
      mobile device with modem
             – Multimedia framework is used to process video/audio input and
               output to satisfy certain functionality including
     Video and Audio
             – Storage video and audio in media
                                                                              Perfect!
             – Playback video and audio
             – Record video and audio
                                                                      Audio
                                                Audio, Video
                                                devices/input
                                                                      Video




3   | © 2010 Wind River. All Rights Reserved.
Codec/Decode and File Format


     What is their relationship
             – Container format specify how to wrap various meta-data/stream,
               most is coded data by codec
             – Theoretically, a container format could wrap any kinds of data,
               most container formats are specialized for specific data
               requirements
             – Container does not describe how the data warped is encoded.
               Always a program be able to identify and open a file ,but not be
               able to decode contained data. You maybe were told to
               download right decoder.




4   | © 2010 Wind River. All Rights Reserved.
Codec/Decode and File Format


 Codec/Decode
        – device or computer program capable of encoding and/or
          decoding a digital data stream or signal
        – A codec encodes a data stream or signal for transmission,
          storage or encryption and decode it for playback or editing.
              codec = coder + decoder
        – Raw multimedia data is huge, codec compress them to facilitate
          store and transfer




5   | © 2010 Wind River. All Rights Reserved.
Codec/Decode and File Format


     File Format
             – Also call container or wrapper format
             – Specify how different data elements and metadata coexist in a
               computer file or stream
             – Always contain coded video, coded audio, subtitles, chapter-
               information, maybe advertisement and synchronization
               information needed to playback various streams together




6   | © 2010 Wind River. All Rights Reserved.
Codec/Decode and File Format
     Codec - Audio
             – AAC, MPEG-4 Audio Part 3 subpart 4
             – AC-3, Dolby Digital codec
             – AMR, Adaptive Multi-Rate Audio codec
             – AMR-WB, Adaptive Multi-Rate Wideband
             – MP2, MPEG1/2 Audio Layer II
             – MP3, MPEG2 Audio Layer III
             – Vorbis, OGG audio, opensource project
             – Wma, Windows Media Audio
             – RealAudio, RealNetwork
             – ALAC, Apple Lossless Audio Codec




7   | © 2010 Wind River. All Rights Reserved.
Codec/Decode and File Format
     Codec -Video
             – MPEG –1, MPEG –1 Part 2
             – MPEG –2/H.262, MPEG –2 part 2
             – MPEG –4 ASP, MPEG –4 Part 2
             – MPEG –4 AVC/H.264, MPEG –4 Part 10
             – VC –1
                       The informal name of SMTP 421M video codec standard
                       Initially developed as a propriety video format by Microsoft before it was released as a
                        formal SMPTE standard video format on April 3, 2006
             – VC –2
                       An open and royalty-free video compression format, Dirac. 2010 the SMPTE
                        standardized Dirac Pro as VC –2.
             – VC –3
                       DNXHD, Digital Nonlinear Extensible High Definition
                       a lossy high-definition video post-production codec engineered for multi-generation
                        compositing with reduced storage and bandwith requirements
                       The DNXHD codec was submitted to the SMPTE organization as the framework for the
                        VC-3 family of standard.




8   | © 2010 Wind River. All Rights Reserved.
Codec/Decode and File Format
     Standard MPEG
             – Moving Picture Experts Group.
             – A working group of ISO/IEC in charge of the development of
               international standards for compression, decompression,
               processing and coded representation of moving pictures audio
               and their combination
     The standard for storage and retrieval of moving pictures
      and audio on storage media. Approved Nov. 1992
             – VCD
             – MP2, MPEG-1 Audio Layer II
     The standard for digital television. Approved Nov. 1994
             – DVD
             – MP3, MPEG-2 Audio Layer III


9   | © 2010 Wind River. All Rights Reserved.
Codec/Decode and File Format
  MPEG -4
           – The standard for multimedia application
           – a developing standard
           – divided into a number of parts
                     Most are left to individual developers to decided whether to
                      implement
                     probably no complete implementations of the entrire MPEG-4 set of
                      standards
                     To deal with this, the standard includes concept of “profiles” and
                      “levels”
                              – allowing a specific set of capabilities to be defined in a manner
                                appropriate for a subset of applications




10   | © 2010 Wind River. All Rights Reserved.
Codec/Decode and File Format


              – MPEG-4 part 2, Advanced Simple Profile
                        used by codecs such as DiVX, Xvid, Nero Digital and 3ivx,
                         Quicktime 6
              – MPEG-4 part 10, MPEG-4 AVC (Advanced Video Coding)/H.264
                        used by x264 encoder, Nero Digital AVC, Quicktime 7, and high-
                         definition video media like Blu-ray Disc




11   | © 2010 Wind River. All Rights Reserved.
Codec/Decode and File Format
  Video/Audio container
           – MPEG program stream
                     standard container for MPEG-1 and MPEG-2 elementary streams
                      on reasonably reliable media such as disks; used also on DVD-
                      Video discs
           – MPEG-2 program stream, MPEG-TS
                     Standard container for digital broadcasting and for transportation
                      over unreliable media; used also on Blu-ray Disc Vedio; typically
                      contains multiple video and audio stream, and an electronic
                      program guide
           – MP4
                     Standard audio and video container for the MPEG-4 multimedia
                      portfolio, based on MPEG-4 Part 12 and JPEG 2000 Part 12




12   | © 2010 Wind River. All Rights Reserved.
What need to do with Multimedia
  Container format parser to recognize and unwrap file
  Codec to encode/decode data.
  Synchronization among various stream
  Memory/Buffer management
  Stream track control, playback, backwards play, forward
   play
  Integrated into video/audio output system
  Take advantage of hardware accleration
           – Hardware codec
           – Hardware overlay
           – Hardware audio flinger



13   | © 2010 Wind River. All Rights Reserved.
Android Multimedia Framework




14   | © 2010 Wind River. All Rights Reserved.
OpenCORE – Initial Android Multimedia Framework

 Android multimedia subsystem
  provided by PacketVideo
         – modular, extensible framework
                    Combining independent media processing
                     components
                    file formats, codecs, streaming protocol
                     components
                    rendering compoments
                    other elements in different ways to
                     implement a wide variety of multimedia
                     scenarios
         – abstraction a conception of NODE
                    the base of the modulization
                    Implementation in form of NODE for
                     recognizer module, parser module, codec
                     module, sink module

15   | © 2010 Wind River. All Rights Reserved.
OpenCORE – Initial Android Multimedia Framework




16   | © 2010 Wind River. All Rights Reserved.
OpenCORE – Initial Android Multimedia Framework

                                                 ADEC Node    Sink Node      AMIO


                                                                             Sync


Paser Node                                       VDEC Node    Sink Node      VMIO




File Handler
                                             OMX HW Codec    OMX SW Codec
                                                                            Data

                                                                            Control

                               Linux hardware codec driver

17   | © 2010 Wind River. All Rights Reserved.
OpenCORE – Initial Android Multimedia Framework
                     Container Format             Parser      Composer
                     MPEG4                        yes         yes
                     3GPP                         yes         yes
                     3GPP2                        yes         no
                     MP3                          yes         no
                     AAC                          yes         no
                     AMR                          yes         yes
                     WAV                          yes         no

       Type                    Codec             Decoder   Encoder   Comments
       Video                   H.263             yes       yes       Baseline Profile
                               MPEG-4            yes       yes       Simple Profile
                               AVC/H.264         yes       yes       Constrained Baseline Profile
       Audio                   MP3               yes       no
                               AAC               yes       no        AAC, HE-AAC v1/v2
                               AMR-NB            yes       yes
                               AMR-WB            yes       no


18   | © 2010 Wind River. All Rights Reserved.
OpenMAX – Bridge Codec/Decode to Multimedia Framework
  the Integration Layer (IL) interface with Open Core
           – royalty-free, cross-platform API for
                     comprehensive streaming media codec and application portability
                     enable accelerated multimedia components to be developed,
                      integrated and programmed across multiple operating systems and
                      silicon platform
           – The OpenMAX API will be shipped with processors to enable
             library and codec
                     Rapidly and effectively make use of the full acceleration potential of
                      new silicon
                     regardless of the underlying hardware architecture




19   | © 2010 Wind River. All Rights Reserved.
OpenMAX - Framework




20   | © 2010 Wind River. All Rights Reserved.
OpenMAX Position in Android Multimedia Framework

                                                         OpenCore




                                        OMX core                           OMX core
                                        (Software)                        (Hardware)




 Decoder   Decoder                                  Decoder   Decoder   Decoder         Decoder
Component Component                                Component Component Component       Component
  H.263     H.264                                    AAC       H263      H263            H263




  21   | © 2010 Wind River. All Rights Reserved.
OpenMAX API list
      For each OMX core, there are function points need to be
       implmented.
              – pOMX_Init
              – pOMX_Deinit
              – pOMX_ComponentNameEnum
              – pOMX_GetHandle
              – pOMX_FreeHandle
              – pOMX_GetComponentsOfRole
              – pOMX_GetRoleofComponent
              – pOMX_SetupTunel
              – pOMX_GetContentPipe
              – pOMXConfigParser


22   | © 2010 Wind River. All Rights Reserved.
One Sample of Openmax Design




23   | © 2010 Wind River. All Rights Reserved.
Commercialization


      Functionality
              – Does you support enough container format
              – Does you support necessary codec
              – Does you support stream, video over air
      Performance, critical
              – Video performance. Frame per second
              – Audio performance. High quality sound
              – Synchronization between video and audio




24   | © 2010 Wind River. All Rights Reserved.
Commercialization

      Take advantage of SoC capability
              – Design OMX IL layer for specific hardware codec component
              – Design Overlay take advantage of hardware gpu or video output
                controller
              – Design high quality audio solution
      Whole system video buffer management scheme
              – Share memory buffer between various hardware component
              – Decrease memory copy as possible
      Synchronization scheme. Esp for some fault file
              – Choose the right point to fix sync problem. In parser or codec.




25   | © 2010 Wind River. All Rights Reserved.
Commercialization


          Video output                                              Surface Flinger




                                                 Overlay Data      Overlay Control      Gralloc




                                                           V4L2 driver                Framebuffer
Video data

Video Control
                                                                         GPU
Other data&control


26   | © 2010 Wind River. All Rights Reserved.
OpenCORE and Stagefright
  Android introduce Stagefright to replace OpenCORE
   start from éclair
  Either OpenCORE or Stagefright is linked to
   MediaPlayerService, so application level never know
   about them
  Both of them based on same conecption, but take
   different implementation
           – Stagefright take parser and decode as a whole. Opencore take
             them as individual node
           – Stagefright take parser, decoder, sink/output as serial operation.
             Opencore take them as parallel
           – Different Sychronization mechanism
  Easier for Stagefright to develop parser
  Adopt OMX from OpenCORE
27   | © 2010 Wind River. All Rights Reserved.
OpenCORE and Stagefright


      Short point and Stong point
              – OpenCORE more stable and mature, low risk
              – OpenCORE supports more container format and codec
              – Stragefright is more easier to development.




28   | © 2010 Wind River. All Rights Reserved.
29   | © 2010 Wind River. All Rights Reserved.

More Related Content

What's hot

Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
Emertxe Information Technologies Pvt Ltd
 
Android Audio System
Android Audio SystemAndroid Audio System
Android Audio System
Yi-Hsiang Huang
 
Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)fefe7270
 
Android audio system(audioflinger)
Android audio system(audioflinger)Android audio system(audioflinger)
Android audio system(audioflinger)fefe7270
 
Android : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using AndroidAndroid : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using Android
Emertxe Information Technologies Pvt Ltd
 
Android 10
Android 10Android 10
Linux kernel
Linux kernelLinux kernel
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
Linaro
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
Opersys inc.
 
Android Things : Building Embedded Devices
Android Things : Building Embedded DevicesAndroid Things : Building Embedded Devices
Android Things : Building Embedded Devices
Emertxe Information Technologies Pvt Ltd
 
Android Multimedia Framework
Android Multimedia FrameworkAndroid Multimedia Framework
Android Multimedia Framework
Picker Weng
 
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...Opersys inc.
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
Chris Simmonds
 
BKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack UpdateBKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack Update
Linaro
 
Android internals
Android internalsAndroid internals
Android internals
Liran Ben Haim
 
Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)
Emertxe Information Technologies Pvt Ltd
 
ABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting WalkthroughABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting Walkthrough
Benjamin Zores
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)
Siji Sunny
 

What's hot (20)

Embedded Android : System Development - Part IV
Embedded Android : System Development - Part IVEmbedded Android : System Development - Part IV
Embedded Android : System Development - Part IV
 
Android Audio System
Android Audio SystemAndroid Audio System
Android Audio System
 
Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)Android audio system(audio_hardwareinterace)
Android audio system(audio_hardwareinterace)
 
Android audio system(audioflinger)
Android audio system(audioflinger)Android audio system(audioflinger)
Android audio system(audioflinger)
 
Basic Linux Internals
Basic Linux InternalsBasic Linux Internals
Basic Linux Internals
 
Android : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using AndroidAndroid : Deep dive into developing MobileApp using Android
Android : Deep dive into developing MobileApp using Android
 
Android 10
Android 10Android 10
Android 10
 
Linux kernel
Linux kernelLinux kernel
Linux kernel
 
Q4.11: Porting Android to new Platforms
Q4.11: Porting Android to new PlatformsQ4.11: Porting Android to new Platforms
Q4.11: Porting Android to new Platforms
 
Embedded Android Workshop
Embedded Android WorkshopEmbedded Android Workshop
Embedded Android Workshop
 
Audio Drivers
Audio DriversAudio Drivers
Audio Drivers
 
Android Things : Building Embedded Devices
Android Things : Building Embedded DevicesAndroid Things : Building Embedded Devices
Android Things : Building Embedded Devices
 
Android Multimedia Framework
Android Multimedia FrameworkAndroid Multimedia Framework
Android Multimedia Framework
 
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
Native Android Userspace part of the Embedded Android Workshop at Linaro Conn...
 
Booting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot imagesBooting Android: bootloaders, fastboot and boot images
Booting Android: bootloaders, fastboot and boot images
 
BKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack UpdateBKK16-315 Graphics Stack Update
BKK16-315 Graphics Stack Update
 
Android internals
Android internalsAndroid internals
Android internals
 
Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)Embedded Android : System Development - Part II (Linux device drivers)
Embedded Android : System Development - Part II (Linux device drivers)
 
ABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting WalkthroughABS 2012 - Android Device Porting Walkthrough
ABS 2012 - Android Device Porting Walkthrough
 
A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)A deep dive into Android OpenSource Project(AOSP)
A deep dive into Android OpenSource Project(AOSP)
 

Viewers also liked

MediaPlayer Playing Flow
MediaPlayer Playing FlowMediaPlayer Playing Flow
MediaPlayer Playing Flow
Javid Hsu
 
A slightly deeper dive into Stagefright
A slightly deeper dive into StagefrightA slightly deeper dive into Stagefright
A slightly deeper dive into StagefrightAlexy Joseph
 
Fuzzing the Media Framework in Android
Fuzzing the Media Framework in AndroidFuzzing the Media Framework in Android
Fuzzing the Media Framework in Android
E Hacking
 
The Streaming Audio Marketplace
The Streaming Audio MarketplaceThe Streaming Audio Marketplace
The Streaming Audio Marketplace
RAINNews
 
Building an Android Scale Incident Response Process
Building an Android Scale Incident Response ProcessBuilding an Android Scale Incident Response Process
Building an Android Scale Incident Response Process
Priyanka Aash
 
Art of public speaking
Art of public speakingArt of public speaking
Art of public speaking
Imprint Training Center
 
Android audio system(오디오 출력-트랙활성화)
Android audio system(오디오 출력-트랙활성화)Android audio system(오디오 출력-트랙활성화)
Android audio system(오디오 출력-트랙활성화)fefe7270
 
Android Training (Media)
Android Training (Media)Android Training (Media)
Android Training (Media)
Khaled Anaqwa
 
Farewell, Stagefright bugs!
Farewell, Stagefright bugs!Farewell, Stagefright bugs!
Farewell, Stagefright bugs!
Tsukasa Oi
 
4 multimedia basics
4 multimedia basics4 multimedia basics
4 multimedia basicsVedpal Yadav
 
Flash Video Streaming Business Models
Flash Video Streaming Business ModelsFlash Video Streaming Business Models
Flash Video Streaming Business Models
Yoss Cohen
 
Stagefright
StagefrightStagefright
Android audio system(오디오 출력-트랙생성)
Android audio system(오디오 출력-트랙생성)Android audio system(오디오 출력-트랙생성)
Android audio system(오디오 출력-트랙생성)fefe7270
 
The android activity lifecycle
The android activity lifecycleThe android activity lifecycle
The android activity lifecycle
Eng Chrispinus Onyancha
 
Video Streaming - 4.ppt
Video Streaming - 4.pptVideo Streaming - 4.ppt
Video Streaming - 4.pptVideoguy
 
Surface flingerservice(서피스 출력 요청 jb)
Surface flingerservice(서피스 출력 요청 jb)Surface flingerservice(서피스 출력 요청 jb)
Surface flingerservice(서피스 출력 요청 jb)fefe7270
 

Viewers also liked (19)

MediaPlayer Playing Flow
MediaPlayer Playing FlowMediaPlayer Playing Flow
MediaPlayer Playing Flow
 
A slightly deeper dive into Stagefright
A slightly deeper dive into StagefrightA slightly deeper dive into Stagefright
A slightly deeper dive into Stagefright
 
Fuzzing the Media Framework in Android
Fuzzing the Media Framework in AndroidFuzzing the Media Framework in Android
Fuzzing the Media Framework in Android
 
Video Streaming
Video StreamingVideo Streaming
Video Streaming
 
The Streaming Audio Marketplace
The Streaming Audio MarketplaceThe Streaming Audio Marketplace
The Streaming Audio Marketplace
 
Building an Android Scale Incident Response Process
Building an Android Scale Incident Response ProcessBuilding an Android Scale Incident Response Process
Building an Android Scale Incident Response Process
 
Art of public speaking
Art of public speakingArt of public speaking
Art of public speaking
 
Android audio system(오디오 출력-트랙활성화)
Android audio system(오디오 출력-트랙활성화)Android audio system(오디오 출력-트랙활성화)
Android audio system(오디오 출력-트랙활성화)
 
Android Training (Media)
Android Training (Media)Android Training (Media)
Android Training (Media)
 
Farewell, Stagefright bugs!
Farewell, Stagefright bugs!Farewell, Stagefright bugs!
Farewell, Stagefright bugs!
 
Stagefright (1)
Stagefright (1)Stagefright (1)
Stagefright (1)
 
Android binder-ipc
Android binder-ipcAndroid binder-ipc
Android binder-ipc
 
4 multimedia basics
4 multimedia basics4 multimedia basics
4 multimedia basics
 
Flash Video Streaming Business Models
Flash Video Streaming Business ModelsFlash Video Streaming Business Models
Flash Video Streaming Business Models
 
Stagefright
StagefrightStagefright
Stagefright
 
Android audio system(오디오 출력-트랙생성)
Android audio system(오디오 출력-트랙생성)Android audio system(오디오 출력-트랙생성)
Android audio system(오디오 출력-트랙생성)
 
The android activity lifecycle
The android activity lifecycleThe android activity lifecycle
The android activity lifecycle
 
Video Streaming - 4.ppt
Video Streaming - 4.pptVideo Streaming - 4.ppt
Video Streaming - 4.ppt
 
Surface flingerservice(서피스 출력 요청 jb)
Surface flingerservice(서피스 출력 요청 jb)Surface flingerservice(서피스 출력 요청 jb)
Surface flingerservice(서피스 출력 요청 jb)
 

Similar to 08 android multimedia_framework_overview

Transcoding 101
Transcoding 101Transcoding 101
Transcoding 101Videoguy
 
Audio and video streaming
Audio and video streamingAudio and video streaming
Audio and video streaming
Rohan Bhatkar
 
Mpeg 7-21
Mpeg 7-21Mpeg 7-21
MPEG Standards. Know What Video Format to Choose MPEG-2 or MPEG-4.pdf
MPEG Standards. Know What Video Format to Choose MPEG-2 or MPEG-4.pdfMPEG Standards. Know What Video Format to Choose MPEG-2 or MPEG-4.pdf
MPEG Standards. Know What Video Format to Choose MPEG-2 or MPEG-4.pdf
John Peterson
 
Video Transcoding Terms Explained
Video Transcoding Terms Explained Video Transcoding Terms Explained
Video Transcoding Terms Explained
nerodude
 
Mini Project- Digital Video Editing
Mini Project- Digital Video EditingMini Project- Digital Video Editing
Pv Android Slides For Posting
Pv Android Slides For PostingPv Android Slides For Posting
Pv Android Slides For Posting
Marco Thompson
 
Windows7: Video Improvements
Windows7: Video ImprovementsWindows7: Video Improvements
Windows7: Video Improvementswonderu
 
Performance Analysis of Various Video Compression Techniques
Performance Analysis of Various Video Compression TechniquesPerformance Analysis of Various Video Compression Techniques
Performance Analysis of Various Video Compression Techniques
International Journal of Science and Research (IJSR)
 
QuickTime and MPEG-4: Now Featuring H.264
QuickTime and MPEG-4: Now Featuring H.264QuickTime and MPEG-4: Now Featuring H.264
QuickTime and MPEG-4: Now Featuring H.264Videoguy
 
JPEG2000 Alliance IBC 2009
JPEG2000 Alliance IBC 2009JPEG2000 Alliance IBC 2009
JPEG2000 Alliance IBC 2009
Hal J. Reisiger
 
Codecs
CodecsCodecs
Codecs
Arpan Patel
 
Audio and Video streaming.ppt
Audio and Video streaming.pptAudio and Video streaming.ppt
Audio and Video streaming.pptVideoguy
 
The H.264/AVC Advanced Video Coding Standard: Overview and ...
The H.264/AVC Advanced Video Coding Standard: Overview and ...The H.264/AVC Advanced Video Coding Standard: Overview and ...
The H.264/AVC Advanced Video Coding Standard: Overview and ...Videoguy
 
Web 2.0 Media
Web 2.0 MediaWeb 2.0 Media
Web 2.0 Media
jrappold
 

Similar to 08 android multimedia_framework_overview (20)

Transcoding 101
Transcoding 101Transcoding 101
Transcoding 101
 
Audio and video streaming
Audio and video streamingAudio and video streaming
Audio and video streaming
 
Mpeg 7-21
Mpeg 7-21Mpeg 7-21
Mpeg 7-21
 
MPEG Standards. Know What Video Format to Choose MPEG-2 or MPEG-4.pdf
MPEG Standards. Know What Video Format to Choose MPEG-2 or MPEG-4.pdfMPEG Standards. Know What Video Format to Choose MPEG-2 or MPEG-4.pdf
MPEG Standards. Know What Video Format to Choose MPEG-2 or MPEG-4.pdf
 
Video Transcoding Terms Explained
Video Transcoding Terms Explained Video Transcoding Terms Explained
Video Transcoding Terms Explained
 
Mini Project- Digital Video Editing
Mini Project- Digital Video EditingMini Project- Digital Video Editing
Mini Project- Digital Video Editing
 
Slide
SlideSlide
Slide
 
Pv Android Slides For Posting
Pv Android Slides For PostingPv Android Slides For Posting
Pv Android Slides For Posting
 
Windows7: Video Improvements
Windows7: Video ImprovementsWindows7: Video Improvements
Windows7: Video Improvements
 
Performance Analysis of Various Video Compression Techniques
Performance Analysis of Various Video Compression TechniquesPerformance Analysis of Various Video Compression Techniques
Performance Analysis of Various Video Compression Techniques
 
Video formats guide
Video formats guideVideo formats guide
Video formats guide
 
Mpeg7
Mpeg7Mpeg7
Mpeg7
 
QuickTime and MPEG-4: Now Featuring H.264
QuickTime and MPEG-4: Now Featuring H.264QuickTime and MPEG-4: Now Featuring H.264
QuickTime and MPEG-4: Now Featuring H.264
 
JPEG2000 Alliance IBC 2009
JPEG2000 Alliance IBC 2009JPEG2000 Alliance IBC 2009
JPEG2000 Alliance IBC 2009
 
Codecs
CodecsCodecs
Codecs
 
DVO FAQ - Architecture Summary
DVO FAQ - Architecture SummaryDVO FAQ - Architecture Summary
DVO FAQ - Architecture Summary
 
Audio and Video streaming.ppt
Audio and Video streaming.pptAudio and Video streaming.ppt
Audio and Video streaming.ppt
 
The H.264/AVC Advanced Video Coding Standard: Overview and ...
The H.264/AVC Advanced Video Coding Standard: Overview and ...The H.264/AVC Advanced Video Coding Standard: Overview and ...
The H.264/AVC Advanced Video Coding Standard: Overview and ...
 
Hw2
Hw2Hw2
Hw2
 
Web 2.0 Media
Web 2.0 MediaWeb 2.0 Media
Web 2.0 Media
 

Recently uploaded

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
Sri Ambati
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
g2nightmarescribd
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
Elena Simperl
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
91mobiles
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Jeffrey Haguewood
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Tobias Schneck
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Ramesh Iyer
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
Alison B. Lowndes
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Thierry Lestable
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
Frank van Harmelen
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
Product School
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
GenAISummit 2024 May 28 Sri Ambati Keynote: AGI Belongs to The Community in O...
 
Generating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using SmithyGenerating a custom Ruby SDK for your web service or Rails API using Smithy
Generating a custom Ruby SDK for your web service or Rails API using Smithy
 
Knowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and backKnowledge engineering: from people to machines and back
Knowledge engineering: from people to machines and back
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdfSmart TV Buyer Insights Survey 2024 by 91mobiles.pdf
Smart TV Buyer Insights Survey 2024 by 91mobiles.pdf
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
Kubernetes & AI - Beauty and the Beast !?! @KCD Istanbul 2024
 
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
Builder.ai Founder Sachin Dev Duggal's Strategic Approach to Create an Innova...
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........Bits & Pixels using AI for Good.........
Bits & Pixels using AI for Good.........
 
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
Empowering NextGen Mobility via Large Action Model Infrastructure (LAMI): pav...
 
Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*Neuro-symbolic is not enough, we need neuro-*semantic*
Neuro-symbolic is not enough, we need neuro-*semantic*
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
AI for Every Business: Unlocking Your Product's Universal Potential by VP of ...
 

08 android multimedia_framework_overview

  • 1. Android Multimedia Framework Overview Li Li, Solution and Service Wind River
  • 2. Agenda  What is Multimedia in a mobile device – MPEG standard – File format – Codec  Android Multimedia Framework – OpenCORE – OpenMAX – What we can do with this 2 | © 2010 Wind River. All Rights Reserved.
  • 3. What is Multimedia in mobile device  Multimedia is the most important component in modern mobile device with modem – Multimedia framework is used to process video/audio input and output to satisfy certain functionality including  Video and Audio – Storage video and audio in media Perfect! – Playback video and audio – Record video and audio Audio Audio, Video devices/input Video 3 | © 2010 Wind River. All Rights Reserved.
  • 4. Codec/Decode and File Format  What is their relationship – Container format specify how to wrap various meta-data/stream, most is coded data by codec – Theoretically, a container format could wrap any kinds of data, most container formats are specialized for specific data requirements – Container does not describe how the data warped is encoded. Always a program be able to identify and open a file ,but not be able to decode contained data. You maybe were told to download right decoder. 4 | © 2010 Wind River. All Rights Reserved.
  • 5. Codec/Decode and File Format  Codec/Decode – device or computer program capable of encoding and/or decoding a digital data stream or signal – A codec encodes a data stream or signal for transmission, storage or encryption and decode it for playback or editing. codec = coder + decoder – Raw multimedia data is huge, codec compress them to facilitate store and transfer 5 | © 2010 Wind River. All Rights Reserved.
  • 6. Codec/Decode and File Format  File Format – Also call container or wrapper format – Specify how different data elements and metadata coexist in a computer file or stream – Always contain coded video, coded audio, subtitles, chapter- information, maybe advertisement and synchronization information needed to playback various streams together 6 | © 2010 Wind River. All Rights Reserved.
  • 7. Codec/Decode and File Format  Codec - Audio – AAC, MPEG-4 Audio Part 3 subpart 4 – AC-3, Dolby Digital codec – AMR, Adaptive Multi-Rate Audio codec – AMR-WB, Adaptive Multi-Rate Wideband – MP2, MPEG1/2 Audio Layer II – MP3, MPEG2 Audio Layer III – Vorbis, OGG audio, opensource project – Wma, Windows Media Audio – RealAudio, RealNetwork – ALAC, Apple Lossless Audio Codec 7 | © 2010 Wind River. All Rights Reserved.
  • 8. Codec/Decode and File Format  Codec -Video – MPEG –1, MPEG –1 Part 2 – MPEG –2/H.262, MPEG –2 part 2 – MPEG –4 ASP, MPEG –4 Part 2 – MPEG –4 AVC/H.264, MPEG –4 Part 10 – VC –1  The informal name of SMTP 421M video codec standard  Initially developed as a propriety video format by Microsoft before it was released as a formal SMPTE standard video format on April 3, 2006 – VC –2  An open and royalty-free video compression format, Dirac. 2010 the SMPTE standardized Dirac Pro as VC –2. – VC –3  DNXHD, Digital Nonlinear Extensible High Definition  a lossy high-definition video post-production codec engineered for multi-generation compositing with reduced storage and bandwith requirements  The DNXHD codec was submitted to the SMPTE organization as the framework for the VC-3 family of standard. 8 | © 2010 Wind River. All Rights Reserved.
  • 9. Codec/Decode and File Format  Standard MPEG – Moving Picture Experts Group. – A working group of ISO/IEC in charge of the development of international standards for compression, decompression, processing and coded representation of moving pictures audio and their combination  The standard for storage and retrieval of moving pictures and audio on storage media. Approved Nov. 1992 – VCD – MP2, MPEG-1 Audio Layer II  The standard for digital television. Approved Nov. 1994 – DVD – MP3, MPEG-2 Audio Layer III 9 | © 2010 Wind River. All Rights Reserved.
  • 10. Codec/Decode and File Format  MPEG -4 – The standard for multimedia application – a developing standard – divided into a number of parts  Most are left to individual developers to decided whether to implement  probably no complete implementations of the entrire MPEG-4 set of standards  To deal with this, the standard includes concept of “profiles” and “levels” – allowing a specific set of capabilities to be defined in a manner appropriate for a subset of applications 10 | © 2010 Wind River. All Rights Reserved.
  • 11. Codec/Decode and File Format – MPEG-4 part 2, Advanced Simple Profile  used by codecs such as DiVX, Xvid, Nero Digital and 3ivx, Quicktime 6 – MPEG-4 part 10, MPEG-4 AVC (Advanced Video Coding)/H.264  used by x264 encoder, Nero Digital AVC, Quicktime 7, and high- definition video media like Blu-ray Disc 11 | © 2010 Wind River. All Rights Reserved.
  • 12. Codec/Decode and File Format  Video/Audio container – MPEG program stream  standard container for MPEG-1 and MPEG-2 elementary streams on reasonably reliable media such as disks; used also on DVD- Video discs – MPEG-2 program stream, MPEG-TS  Standard container for digital broadcasting and for transportation over unreliable media; used also on Blu-ray Disc Vedio; typically contains multiple video and audio stream, and an electronic program guide – MP4  Standard audio and video container for the MPEG-4 multimedia portfolio, based on MPEG-4 Part 12 and JPEG 2000 Part 12 12 | © 2010 Wind River. All Rights Reserved.
  • 13. What need to do with Multimedia  Container format parser to recognize and unwrap file  Codec to encode/decode data.  Synchronization among various stream  Memory/Buffer management  Stream track control, playback, backwards play, forward play  Integrated into video/audio output system  Take advantage of hardware accleration – Hardware codec – Hardware overlay – Hardware audio flinger 13 | © 2010 Wind River. All Rights Reserved.
  • 14. Android Multimedia Framework 14 | © 2010 Wind River. All Rights Reserved.
  • 15. OpenCORE – Initial Android Multimedia Framework  Android multimedia subsystem provided by PacketVideo – modular, extensible framework  Combining independent media processing components  file formats, codecs, streaming protocol components  rendering compoments  other elements in different ways to implement a wide variety of multimedia scenarios – abstraction a conception of NODE  the base of the modulization  Implementation in form of NODE for recognizer module, parser module, codec module, sink module 15 | © 2010 Wind River. All Rights Reserved.
  • 16. OpenCORE – Initial Android Multimedia Framework 16 | © 2010 Wind River. All Rights Reserved.
  • 17. OpenCORE – Initial Android Multimedia Framework ADEC Node Sink Node AMIO Sync Paser Node VDEC Node Sink Node VMIO File Handler OMX HW Codec OMX SW Codec Data Control Linux hardware codec driver 17 | © 2010 Wind River. All Rights Reserved.
  • 18. OpenCORE – Initial Android Multimedia Framework Container Format Parser Composer MPEG4 yes yes 3GPP yes yes 3GPP2 yes no MP3 yes no AAC yes no AMR yes yes WAV yes no Type Codec Decoder Encoder Comments Video H.263 yes yes Baseline Profile MPEG-4 yes yes Simple Profile AVC/H.264 yes yes Constrained Baseline Profile Audio MP3 yes no AAC yes no AAC, HE-AAC v1/v2 AMR-NB yes yes AMR-WB yes no 18 | © 2010 Wind River. All Rights Reserved.
  • 19. OpenMAX – Bridge Codec/Decode to Multimedia Framework  the Integration Layer (IL) interface with Open Core – royalty-free, cross-platform API for  comprehensive streaming media codec and application portability  enable accelerated multimedia components to be developed, integrated and programmed across multiple operating systems and silicon platform – The OpenMAX API will be shipped with processors to enable library and codec  Rapidly and effectively make use of the full acceleration potential of new silicon  regardless of the underlying hardware architecture 19 | © 2010 Wind River. All Rights Reserved.
  • 20. OpenMAX - Framework 20 | © 2010 Wind River. All Rights Reserved.
  • 21. OpenMAX Position in Android Multimedia Framework OpenCore OMX core OMX core (Software) (Hardware) Decoder Decoder Decoder Decoder Decoder Decoder Component Component Component Component Component Component H.263 H.264 AAC H263 H263 H263 21 | © 2010 Wind River. All Rights Reserved.
  • 22. OpenMAX API list  For each OMX core, there are function points need to be implmented. – pOMX_Init – pOMX_Deinit – pOMX_ComponentNameEnum – pOMX_GetHandle – pOMX_FreeHandle – pOMX_GetComponentsOfRole – pOMX_GetRoleofComponent – pOMX_SetupTunel – pOMX_GetContentPipe – pOMXConfigParser 22 | © 2010 Wind River. All Rights Reserved.
  • 23. One Sample of Openmax Design 23 | © 2010 Wind River. All Rights Reserved.
  • 24. Commercialization  Functionality – Does you support enough container format – Does you support necessary codec – Does you support stream, video over air  Performance, critical – Video performance. Frame per second – Audio performance. High quality sound – Synchronization between video and audio 24 | © 2010 Wind River. All Rights Reserved.
  • 25. Commercialization  Take advantage of SoC capability – Design OMX IL layer for specific hardware codec component – Design Overlay take advantage of hardware gpu or video output controller – Design high quality audio solution  Whole system video buffer management scheme – Share memory buffer between various hardware component – Decrease memory copy as possible  Synchronization scheme. Esp for some fault file – Choose the right point to fix sync problem. In parser or codec. 25 | © 2010 Wind River. All Rights Reserved.
  • 26. Commercialization Video output Surface Flinger Overlay Data Overlay Control Gralloc V4L2 driver Framebuffer Video data Video Control GPU Other data&control 26 | © 2010 Wind River. All Rights Reserved.
  • 27. OpenCORE and Stagefright  Android introduce Stagefright to replace OpenCORE start from éclair  Either OpenCORE or Stagefright is linked to MediaPlayerService, so application level never know about them  Both of them based on same conecption, but take different implementation – Stagefright take parser and decode as a whole. Opencore take them as individual node – Stagefright take parser, decoder, sink/output as serial operation. Opencore take them as parallel – Different Sychronization mechanism  Easier for Stagefright to develop parser  Adopt OMX from OpenCORE 27 | © 2010 Wind River. All Rights Reserved.
  • 28. OpenCORE and Stagefright  Short point and Stong point – OpenCORE more stable and mature, low risk – OpenCORE supports more container format and codec – Stragefright is more easier to development. 28 | © 2010 Wind River. All Rights Reserved.
  • 29. 29 | © 2010 Wind River. All Rights Reserved.