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
-~----------~----~----~----~------~----~------~--~---

Reply via email to