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