×

Discussion Board

Page 1 of 9 123456789 LastLast
Results 1 to 15 of 123

Thread: Video decoder

  1. #1
    Registered User
    Join Date
    Dec 2005
    Posts
    1

    Video decoder

    Hi everybody,

    I have to develop a video decoder (H.264) for Symbian based phone. If I develop using the format decoder plugin do I need to write also the controller plugin (and also the source and the sink) or can I "link" my decoder to a controller provided by Symbian?
    The other solution is to write the decoder for DSP processor. I wonder if every phone as the dual core architecture with the DSP and where can I find the documentation to understand how to do this.

    Many thanks in advance

    Alessio

  2. #2
    Regular Contributor
    Join Date
    Jul 2005
    Location
    Russia, Tomsk
    Posts
    60

    Re: Video decoder

    Hi, you now, i have this job too, now i finish h.263 decoder, but i'm not write full MMF application, only lib work with smart movie and now i need to write MMF app to work with my decoder. There is too small info about this...but i understand that i need to write my own controller plugin and format decoder and codec, source and sink not needed, but controller is the main that i need to make. I wonder if you give me any info about how to write all mmf plugin that work good whith other plugin, may be a sample...the next problem is to accelerate my codec with using DSP...may be my search was bad, but i can't find any about how to use dsp in symbian application...i think i need to use codecomposer studio and then some utilite to convert my asm dsp code to byte-code and then load this code to memory in my program and give to arm the adress of this block and...may be use interrupt to start doing this code on dsp part of omap...please, any other ideas?
    Last edited by ltomuta; 2009-11-23 at 10:16. Reason: Minor edit to avoid a spam filter

  3. #3
    Registered User
    Join Date
    Sep 2005
    Posts
    12

    Re: Video decoder

    hii cherem,

    Did you find anything on this??I am also trying to make a full MMF application like you but unable to do it due to lack of information.Please let me know if you get to know anything.

    Thanx

  4. #4
    Regular Contributor
    Join Date
    Jul 2005
    Location
    Russia, Tomsk
    Posts
    60

    Re: Video decoder

    Hi!

    I found only 2 (and i really think there is no more...) good MMF example:

    1. OGG Codec for symbian. This codec write using MMF, and you can find many good things in this.

    2. RealPlayer MMF CONTROLLER. I found it at "helix community project site".

    Whith help of this project our team write full MMF library to decode h.263 signal. We write controller, video decoder, format decoder (demultimlexer) and video renderer. We use stansart symbian file source to read file. Now we working to write audio decoder and trying render audio. All this component is .dll, but we render video in controller.

    If you ask more concret question, i try to help you.

  5. #5
    Registered User
    Join Date
    Nov 2005
    Posts
    16

    Re: Video decoder

    Hi Cherem,
    I am also trying to write a video controller to play video. I want to know how you do the video rendering in the controller. You must be doing a direct screen access. The constructor of CDirectScreenAccess takes parameters
    NewL(RWsSession &aWs, CWsScreenDevice &aScreenDevice, RWindowBase &aWin, MDirectScreenAccess &aAbort).
    The first 3 input parameters are owned by the UI thread, how do you get a handle to them in the controller?
    The CVideoPlayerUtility::SetDisplayWindowL method only passes two parameters to controller i.e.
    TRect &aWindowRect - The dimensions of the display window
    TRect &aClipRect - The area of the video clip to display in the window
    With these two parameters how do you manage to do display? Do you use some method other than DSA?

    Currently I have made a player and controller which displays on the UI side by repeated calls to GetFrameL of CVideoPlayerUtility. i.e. data is read and decoded by controller side but rendering in done in the client UI. But this is not the right method as my player and plugin are coupled. My plugin will prob not work with someone elses player.

    Please give me some guidance
    regards
    groys

  6. #6
    Registered User
    Join Date
    Sep 2005
    Posts
    12

    Re: Video decoder

    Hi cherem,

    Thanks for that reply.
    - yes I have the oggplayer source code but i don have "REALPLAYER MMF CONTROLLER " can you pls give me the link from where I can download this particular source code?

    - yes the oggplayer source code has helped me too to understand MMf better.But its just a audio player and I am trying to build a video MMF app.

    -I tried implementing my video application on the similar lines. I have a decoder engine which I implemented as a .dll, then I wrote the controller plugin on the similar lines as in the oggplayer.

    - And a client video app using CVideoPlayerUtility.so through OpenFileL() function in the client application, we were successful in passing the control to the controller plugin's ADDDataSourceL function from there the control was passed to the decoder dll and the file was opened.But after the file was opened in the dll and control passed back to the ADDDataSourceL() function of controller plugin, I was expecting the control should be back to the client observer function MVpuoOpenComplete() which is not happening.

    - Instead of that, as groys mentioned in his last post, the control is directly passing to CMMFController::MvpcSetDisplayWindowL, CMMFController::MvpcUpdateDisplayRegionL and
    CMMFController::MvpcDirectScreenAccessEventL in some order.But I donno exactly how these functions should be implemented.As in the audio player, these functions don have any implementation and when I was trying to implement them, I was facing same problems as mentioned by groys.

    - so pls let me know if you also implemented your video player on similar lines as in oggplayer.

    - Acutally now we are now trying to impelement it in a lil different way.

    - Trying to make a codec plugin instead of decoder dll, controller plugin ( which contains the source and sink embedded in it) and a client.
    Let me know which way to go.

    Thanks.

  7. #7
    Registered User
    Join Date
    Mar 2006
    Posts
    27

    Re: Video decoder

    hi.....
    we r supposed develope MMF for MPEG3 audio decoder...i thought we need to write controller,codec and format plug-ins.do we need to develop source and sink plug-ins? we r suffering from lack of info like how controller plug-in organizing all source,format and codec plug-ins. where exactly source plugg-in is getting the file info...if u provide any ex application it will be helpfull to us.
    plz try to resolve our queries..

    thank in advance

  8. #8
    Regular Contributor
    Join Date
    Feb 2006
    Posts
    141

    Re: Video decoder

    Hi, axby123

    i think you just need to look on oggController... source code available on freshmeat IMHO... and look for exmaples from Symbian SDK...

    Quote Originally Posted by axby123
    hi.....
    we r supposed develope MMF for MPEG3 audio decoder...i thought we need to write controller,codec and format plug-ins.we r suffering from lack of info like how controller plug-in organizing all source,format and codec plug-ins. where exactly source plugg-in is getting the file info...if u provide any ex application it will be helpfull to us.
    plz try to resolve our queries..

    thank in advance

  9. #9
    Registered User
    Join Date
    Mar 2006
    Posts
    27

    Re: Video decoder

    thanku shadow...
    i have gone through oggcontroller source code and the example plug-ins available in SDK,still some confusions r ther.inorder to develope an applicatoin using MMF(ex audio decoder),what are all the plug-ins we need to develop?
    this info will help me a lot..

    thanku

  10. #10
    Registered User
    Join Date
    Nov 2005
    Posts
    16

    Re: Video decoder

    Hi,
    take reference of the ogg vorbis: The only plugin in it is the cotroller plugin.
    source: is the default mmf source cmmfile
    sink: is the default audio sink CmmfAudioOutput
    By default I mean the code is already present as part of the MMF source code.
    The decoder: class CBody and the functionality it uses is in the form of a dll.
    So a controller is the only plugin you need to write, and decoder dlls.
    hope this helps,
    groys

  11. #11
    Registered User
    Join Date
    Mar 2006
    Posts
    3

    Re: Video decoder

    hi All,
    I am fully agreeing with gross findings, I have also reached same conclusion........
    But while creating my own controller plugin for M4V...
    I am creating a new project and changing all files excluding (M4VCONTROLLER.UID.CPP)taking OggVorbis as reference:
    The errors i am getting are:

    NMAKE : fatal error U1073: don't know how to make '"\Symbian\7.0s\Series60_v20\EPOC32\BUILD\SYMBIAN\7.0S\SERIES60_V20\EXAMPLES\MULTIMEDIA\CONTROLLERTEST\GROUP\CONTROLLERTEST\WINS\UDEB\CONTROLLERTESTAPP.obj"'

    LINK : fatal error LNK1104: cannot open file "\Symbian\7.0s\Series60_v20\EPOC32\BUILD\SYMBIAN\7.0S\SERIES60_V20\EXAMPLES\MULTIMEDIA\CONTROLLERTEST\GROUP\CONTROLLERTEST\WINS\UDEB\CONTROLLERTEST.exp"

    If any body can give some pointers for the right way, it will be great help....

    Thanks in Advance
    Sadhu

  12. #12
    Registered User
    Join Date
    Mar 2006
    Posts
    27

    Re: Video decoder

    thanku groys...
    i have some more queries plz to resolve them...when a developer required to write format plug-in?u said that for our application controller plug-in is sufficient and codecs are in the form of dlls.. then, when we need to develope codec as plug-in? if the codec is a plug-in,how controller will communicates with it?
    in oggcontroller we r getting total three work spaces..application,controller plug-in and codec dll. according to my understanding application is calling controller through OpenFileL() function..controller is adding source through AddDataSourceL()..i am unable to understand where exactly controller is getting file info and how it is passing to codec..where can we see the file info while debugging? if u provide this info it will be a great help to me

    thanku

  13. #13
    Registered User
    Join Date
    Mar 2006
    Posts
    3

    Re: Video decoder

    hi all,
    regarding axby123 query,what i think is, format Plugin is required for any new file format that need to be suported,as here only it checks for file extensions,buffering and other processing before done before giving data to codec,is done in format plugin.

    in ogg vorbis they have merged both controller and format; controller rss file its using fake format interface_info to give information about supported file format (.ogg),but i am thinking, if we need to make both controller and format separate then it controller need to interact with format plugin also, no information about the flow of buffer within different module is not available, how mmf is managing all this, is also not available.
    If anyone get some more info pls share, it will be a great help for all of us.
    thanku,

  14. #14
    Registered User
    Join Date
    Mar 2006
    Posts
    27

    Re: Video decoder

    hi all
    i think most of the developers have used the oggplayer example to understand basic functionality of MMF..can u plz tell me where we need to develope that application(under codewarrier or visual c++).in the doccument they have specified that we should use WINSCE rather than WINS..under symbian60 2nd version we r unable to open the ogg file properly..if clarify this it will helps us a lot

    thanku
    Last edited by axby123; 2006-03-09 at 04:27.

  15. #15
    Registered User
    Join Date
    Nov 2005
    Posts
    16

    Re: Video decoder

    Hi,
    @abxy and sadhu
    When to write codec and format plugin?
    I would say it will never be really necessary for you to write format and codec plugins. In a hypothetical case where you are supporting say aac and mp3 using the same controller plugin you would have to in the next step decide whether to load the aac codec plugin or the mp3 codec plugin. However you can also easily do this complex step simply by using if statements (if( ext == _LIT(.mp3)) and codec dlls. So there will never be real necissity to write codec or format plugin.

    Why the codec and format plugins are there?
    In the mmf source code there is a default mmf controller which is loaded in case of .wav or .au files. If you have the sourcecode available you can search for mmfaudiocontroller.cpp. This is a plugin which works by loading other format plugins based on wav/au and further loading codec plugins for some simple codecs. Even though formats and codecs plugins were probably envisioned as necessary when mmf was initially designed, it is just a extra feature which 3rd party ppl can do away with it. For every plugin that needs to be loaded, there has to be mechanism to scan through registry files and load the correct plugin. All this is an unnecessary overhead in my opinion .

    file info inside controller plugin?
    On call of The openfile method the mmf framework will create a object of CMMFFile(see docs) which has information about the file. A reference of this object is passed to the controller plugin via the adddatasource method.

    Hope this helps
    groys
    Last edited by groys; 2006-03-09 at 04:57.

Similar Threads

  1. series60 .3gp video bug(cropping)
    By pandora808 in forum Mobile Java Media (Graphics & Sounds)
    Replies: 2
    Last Post: 2006-03-21, 14:12
  2. Play video on Canvas with N 6600 doesnt work. Please help!!!
    By Robert111 in forum Mobile Java Media (Graphics & Sounds)
    Replies: 2
    Last Post: 2006-02-22, 08:45
  3. About video mms
    By yqspeed in forum Symbian
    Replies: 4
    Last Post: 2005-08-14, 07:38
  4. About video mms
    By yqspeed in forum General Messaging
    Replies: 0
    Last Post: 2005-07-28, 06:46
  5. Video questions
    By satbox in forum General Messaging
    Replies: 1
    Last Post: 2002-11-26, 17:50

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  
×