This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Some questions about using the GenServer and GenCodecPkg

Other Parts Discussed in Thread: OMAP3530, OMAP-L137

Hi!

I use omap3530 and DVSDK_3_01_00 3_01_00_10.

I want my algorithm could be processed by DSP, so i try something.

First, I utilize GenCodecPkg that generates the "mymodule",

then I move it to "/home/dvsdk/dvsdk_3_01_00_10/cs1omap3530_1_01_00/packages/ti/sdo/codecs".

Second, I utilize GenServer, I want it to generate the "XXX.x64P" which could includes  the "mymodule".

When I exploit the GenServer, In codec list I could find H.264 module(decode and encode), mpeg4 module (decode and encode), ...etc,

but I can't find "mymodule" which generated by GenCodecPkg.

So, what is the error, or there are other ways I could utilize to make my algorithm processed by DSP ?

 Thanks for your reply.

  • JJ Lin said:
    First, I utilize GenCodecPkg that generates the "mymodule",

    So far so good...

    JJ Lin said:
    then I move it to "/home/dvsdk/dvsdk_3_01_00_10/cs1omap3530_1_01_00/packages/ti/sdo/codecs".

    Hmm.  After running the wizard to generate your codec package, did you _build_ it as described here:  http://processors.wiki.ti.com/index.php/Codec_Engine_GenCodecPkg_Wizard_FAQ#After_the_Wizard?

    If you did, you should see a .zip file created by the build.  You don't _have_ to move the codec package from this location - GenServer has a 'Set Search Path' button that enables it to find your codec wherever you've created/built it.  But if you _do_ decide you want it installed in another location, the best approach is to simply unzip the generated .zip file into a new directory.

    Note that the full paths in the generated .zip file are critical.  If you created your codec with a package name of 'mycompany.mycodec', you should keep the mycompany/mycodec directory structure if you decide to move it.  The .zip file contains this directory structure, and as such, simply unzipping it into a new destination directory (repository) is recommended.

    JJ Lin said:
    Second, I utilize GenServer, I want it to generate the "XXX.x64P" which could includes  the "mymodule".

    Yes.  But hopefully now you realize your package name isn't 'mymodule' but rather a fully qualified name, like 'mycompany.mycodec'.

    JJ Lin said:
    When I exploit the GenServer, In codec list I could find H.264 module(decode and encode), mpeg4 module (decode and encode), ...etc, but I can't find "mymodule" which generated by GenCodecPkg.

    When you tell GenServer where to find codecs/algorithms, you should point it at the _directory_ (also called a repository) which contains your codec package.  That is, if you have a directory/repository named /tmp which you unzip your 'mycompany.mycodec' package into it, you'll find your codec content in /tmp/mycompany/mycodec/*.  When you want GenServer to find your content, you should point it at /tmp.  This way, you can put lots and lots of codec packages in /tmp (all uniquely named so they'll never have naming colisions) and GenServer will find/display them all.

    FYI, this is exactly how Java and its CLASSPATH work, so if you've used Java, this concept of packages and "XDCPATH" should be familiar.

    Hope that helps.

    Chris

  • Thank you, Chris.

    Now the GenServer can find  the 'mycompany.mymodule' generated by GenCodecPkg.

    But i got some problems.

    The following is my process.

    1. I exploit GenCodecPkg to create 'mycompany.mymodule'. It's complete.

    2. I add some code (ex: printf(" ");) to MYMODULE_MYCOMPANY_process() which is in mymodule.c, then i make the 'mycompany.mymodule' . It's complete.

    3. For adding the 'mycompany.mymodule' to integrate  a XXX.x64P , I exploit GenServer. I also add h264(encode & decode) and mpeg4(encode & decode). It's complete.

    4. I make the 'mycompany.mygroup.servers.servercom'. It's complete.

    5. Before i compile my arm-side code, i change the createFromServer's parameter to XXX.x64P generated by GenServer. It's complete.

    6. Finally, i use the XXX.x64P and i run the binary executable file which  generated by making my arm-side code in the OMAP3530.

       But an error has occurred. The error message is "Failed to open codec engine." .

    It seems to me that it can't find the codec engine.

    In fact, when i use GenServer to generate a XXX.x64P, i already got some problems about DSKT2 and DMAN3.

    My codec's groupID is 2, so its DSKT2 and DMAN3's parameter are different from h264 & mpeg4's, so i make them same.

    Is it worng? Or what's the step i ignore ? 

    By the way, if i compile the arm-side code with TI's cs.x64P,

    i can use the h.264(encode & decode) codec and mpeg4(encode & decode) codec completely in the OMAP3530 no matter i choose the TI's cs.x64P or the XXX.x64P.

    If i compile the arm-side code with XXX.x64P generated by GenServer,

    i can't use the h.264(encode & decode) codec and mpeg4(encode & decode) codec in the OMAP3530 no matter i choose the TI's cs.x64P or the XXX.x64P.

     

     

     

     

  • Hi Chris,

     

    I have a similar problem. I followed your suggestions above but I'm still having no luck. I'm using the gen server wizard to generate my codec package, but I can't get the wizard to find my codecs, or any codecs (i.e. not even the example copy codecs that are provided with the SDK).

    I'm using the following tools:

    - codec engine 2.26.00.08

    - xdais 6.26.00.02

    - xdc tools 3.16.05.41

    - All my other tools are the ones included with the OMAP-L137 SDK.

    My steps:

    1 - I generated a IUNIVERSAL codec package using the gen codec wizard. This generated directory ultra.codecs.mitx with source files in directory mitx.

    2- I build the codec using the generated makefile in the mitx directory. In linux, I issued the command make all. the make seemed to be successful. It generated two directories under mitx, a bunch of files, including a zip file.

    3- Then, I run the gen server wizard. I add (WORKDIR)/ultra/codecs/mitx to the search path. WORKDIR is my working directory. I then click the Refresh Codec List button in the wizard, but nothing happens. the codec list window reads "No Codecs Found on Search Path". Furthermore, by default, the search path already contains the path to the example copy codecs provided in my SDK. but even so, the wizzard cannot find any codecs. I have tried every combinations of search path for my codec (i.e. mitx) that I can think of, but still no luck. 

    Can you help me figure out how to get my gen server wizard to work correctly? Perhaps I am not building the my codec correctly, or I am not pointing the wizard to the correct path location.

    Thanks in advance for your help!

    Jean

     

     

  • Hi Jean,

    When you generated your IUNIVERSAL codec package with the GenCodecPkg wizard, assuming the following fields were entered as shown below:

    Package Name:   ultra.codecs.mitx

    Set Destination Directory:   (WORKDIR)

    In the GenServer wizard, in order for it to find your ultra.codecs.mitx codec package, simply add the Destination Directory (WORKDIR) to the search path.

    Regards,

    Joe

     

     

  • Can you run your use case with CE_DEBUG=3 and post the log? 

    CE_DEBUG wiki

     

    Regards,

    Joe