Here are some responses to the questions: 1. There are a number of ways to integrate HW accelerated codecs into the framework. If the codecs are OpenMax compliant, then the best choice is probably to integrate them as OpenMax components under the existing OMX nodes. If the codec interface is different then it always possible to integrate it as a node. We will be releasing more documentation specifically on the node interface in the future, but in the meantime, there are plenty of examples. Another option is to integrate the codec as a data sink in the graph taking compressed input. The media I/O documentation has some information on that approach.
2. Please see the documents already published. They may not answer every one of your questions, but they are a good starting point. Once you review those documents and the existing implementation, you can ask specific questions about anything missing. We do plan on releasing more documentation in the future also. 3. Regarding commands and the node command queue, each node has an independent command queue, so pushing a command to one node does not automatically get sent to all other nodes. If your question is more about sending a command to the engine level and how that is propagated to the nodes, then the engine definitely maps its commands to the node- level commands that may affect multiple nodes. The engine (e.g., player, author, etc) is responsible for managing and controlling the entire graph of nodes based on commands from the application. 4. Thread-logon / thread-logoff operations is allow for certain initialization that may need to take place within a component to be ready to run within a thread context. The component may be created in a different thread than where it is run, so these methods provide the hooks for thread-specific initialization separate from construction. 5. The best place to start when looking into adding support for HW codecs is the documentation on the OMX call sequences and the existing OMX decoder nodes and OMX components. OMX encoding support will be released in an upcoming update to OpenCore, it wasn't included in the first release simply because of schedule constraints. The next release will also have some changes to the way OpenMax libraries are handled so dynamic loading is used to pull in OpenMax cores, which makes the integration process a bit cleaner. I can't give the exact date yet on the release, but it should be soon. Regarding other OpenMax components, the current hooks to openmax within OpenCore have focused on the codecs where the most performance benefit will be obtained. Of course similar hooks could be created for parsers, etc. It just comes down to how interesting / useful that would be. On Dec 10, 4:09 pm, "Brian Cavagnolo" <[EMAIL PROTECTED]> wrote: > If you haven't done so already, consider turning on super verbose > debugging in the PV framework: > > http://groups.google.com/group/android-developers/browse_thread/threa... > > I'm doing something similar and this has made the code reading a bit > more productive. > > Ciao, > Brian > > On Wed, Dec 10, 2008 at 10:40 AM, chrisk_ti <[EMAIL PROTECTED]> wrote: > > > HI Girish, > > > Please check the docs at [mydroid]/external/opencore/docs for some > > answers. > > It sounds like you are particularly interested in the > > openmax_call_sequences.pdf. > > > On Dec 10, 3:38 am, "Girish H T" <[EMAIL PROTECTED]> wrote: > >> Dear all, > > >> I am trying to understand the call flow of PV player and PV Author in > >> OpenCORE PV frame work. I am intrested in understanding the call flow from > >> application to till Openmax component. > > >> My questions are > > >> 1. If i want to replace the existing software codecs with hardware codecs > >> (with or without OMX complaiance) wht will be the major changes in the > >> current code. > > >> 2.How can track down the code flow from application to Openmax to hardware > >> happens in PV Player and author is there any doc which explains about this > >> ? > >> If no doc atleast share the ideas. > > >> How does the commands flow ? Like when i say media player start from java > >> application wht will be the major steps that will happen in the process.. > > >> Like reading from the registry, creating the elements ... blah blah .. > > >> Say i have done with creating the nodes if some command is pushed in the > >> command queue does it apply on all the nodes (parser, decoder,sink..) ? > > >> What is thread_Logon and thread_Logoff ? For each module i see these > >> functions ? when will they get created. > > >> I guess the commands are sent in asynchronous fashion so its difficult for > >> me to understand the code. > > >> 3.Which is the best place to start the if i want to replace software codecs > >> with hardware codecs ? Why OMX complaince is only for decoder ? No OMX > >> complaince for encoder, parser ... ? > > >> Please share the info.. > > >> Regards > >> Girish --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "android-framework" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/android-framework?hl=en -~----------~----~----~----~------~----~------~--~---
