hi group,
       recently, I'm working on integrating omx codec into stagefright in
froyo, and have done some research on h/w integration.
before starting the h/w integration work, i want to integrate s/w codec just
as the h/w way, then i can verify my ideas on h/w integration.

 here is my understanding of h/w integration:

the stack structure from stagefrightplayer to h/w
      ---------------------------------------------
               stagefrightplayer                          wrapper of
awesomeplayer, called by mediaplayerservice
       --------------------------------------------
                awesomeplayer                          player engine,
control all the player flow
      ---------------------------------------------
                        IOMX                                   interface to
call standard openmax interface, used in OMXCodec
      =========================
              OpenMAX IL interface                 openmax standard
interface and omx core
      ---------------------------------------------
             OMX IL implementation                vendor's omx plugin:
including omx core and omx component implementation
      =========================
        API to call underly media driver        API to be called by
different omx components(h264, mpeg4, h263 etc) to operate driver
      ---------------------------------------------
             Media Driver & Firmware              driver to response
up-layer API's call, driver call firmware (such as h264 fw) to decoding
      ---------------------------------------------
                      Hardware                               run according
to driver's instructions
      ---------------------------------------------

      so if the vendors want to integrate their own h/w codec, they should
implement OMX IL(core, component), API to call underlying media driver,
media driver & firmware according to their hardware, while the upper layers
are implement by android.

some description to "API to call underly media driver":
     -> provide simple interface to init/deinit, get/set config, get/set
params, get/set buffer, execute media driver
     -> different codec types are transferred by predefined data structure,
that determine which codec's firmware to be called by driver

if there are some problems in my words pls tell me.


      assume i have implemented the "OMX IL implementation" section above
with h/w integration way, i want to implement s/w codec to be called by the
"OMX IL implementation" section, so that to verify my design of h/w
integration scheme. that is to wrapper s/w codec as  APIs to be called by
 "OMX IL implementation", and my question is:

1. is my h/w integration scheme right? and what is the optimal one?
2. does the method of using s/w codec to verify h/w codec integration
correct? and how to?
3. can anyone tell me details about sections below "OpenMAX IL interface" in
above stack structure? especially how to define the    "API to call underly
media driver"

-- 
unsubscribe: android-porting+unsubscr...@googlegroups.com
website: http://groups.google.com/group/android-porting

Reply via email to