If your h/w codecs follow OpenMAX standard will be the easiest way of porting your h/w codecs. AV sync & surface is handle by OpenCore!
Look at mydroid\external\opencore\doc\openmax_call_sequences.pdf for basic omx calls info. Full specification avaiable at http://www.khronos.org/ ex. see pvmf_omx_videodec_node.cpp for the opencore interface implementation with the omx Video decoder codec. You'll also need to do a wraper to call your own omx component. (see pv_omxmastercore.cpp) note: at the moment no omx standard implementaion for video encoder, this probably will be done at next OpenCore release. On Nov 26, 11:34 pm, Pivotian <[EMAIL PROTECTED]> wrote: > Thanks Dave for your response. So from your response it seems that > even if we use our processor's inbuilt video encoding/decoding > capabilities, we still have dependency on PV's OPENCORE. if this is > the case then we should have some API's so that we can integrate the > h/w codec with OPENCORE , right? Does PV provides any API so that we > can integrate our hardware codecs with OPENCORE framework? Is this > the > only possibility to use our h/w encoders/decoders, Can't the Android > Applications use the h/w codecs without this intermediate OPENCORE? > If possible can you please explain the steps in more details for our > better understanding that how we are going to use our h/w codecs in > android? > It will be appreciable if you can provide the solution > while taking the example of G1 mobile itself which you said uses h/w > codecs. > > On Nov 26, 8:13 pm, Dave Sparks <[EMAIL PROTECTED]> wrote: > > > > > There are two ways to do this: > > > 1. Integrate your codecs into the PV OpenCore framework. You can > > either use OpenMax, which is the way that the G1 h/w decoders are > > integrated, or you can write your own decoder node class based on PV's > > built-in classes. For encoders in the current code, you'll need to > > write your own decoder node class. > > > 2. Implement a new media player (MediaPlayerInterface.h) around your > > codecs. This means you need your own stream parsers and de-muxers, > > media clocking, etc. It also means you won't be able to take advantage > > of PV's built-in network clients for HTTP and RTSP/RTP streaming. > > Unfortunately, there isn't a complementary abstraction for the > > authoring side yet. > > > On Nov 26, 3:22 am, Pivotian <[EMAIL PROTECTED]> wrote: > > > > Do I have to do Anything with OPENCORE, Is there any mechanism by > > > which i can disable the OPENCORE based encoding/decoding and enable > > > the hardware based encoding/decoding? And after doing so how much > > > dependency will be there on OPENCORE because we need OPECORE's > > > PVPlayer etc for playing videos etc? > > > > On Nov 26, 12:30 pm, Sean McNeil <[EMAIL PROTECTED]> wrote: > > > > > You've already figured most of it out. You'll need to check pv.com and > > > > how Packet Video does things. I think they have an SDK to develop > > > > hardware codecs. Then you'll want to modify external/opencore > > > > accordingly to use your hardware codecs. > > > > > Pivotian wrote: > > > > > I suppose that Android uses the OPENCORE from packet video to do all > > > > > the stuffs related to video encoding and decoding. I want to use the > > > > > built in capabilities of my processor which provides Standard level > > > > > encoding/decoding of multiple content formats including MPEG4, H.263, > > > > > H.264. How i will use the inbuilt hardware based encoding decoding > > > > > instead of Android's software based opencore ?- Hide quoted text - > > - Show quoted text - --~--~---------~--~----~------------~-------~--~----~ unsubscribe: [EMAIL PROTECTED] website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---
