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.

c6accel and OpenMax

Is it not possible to use c6accel and openmax in the same application???

For example, the following code ...

OMX_Init()
CERuntime_init();
char engine[] = "ti8168";
char alg[] = "c6accel";
hC6accel = C6accel_create( engine, NULL, alg, NULL );
if( !hC6accel )
{
    COMMON_DEBUG_OUTPUT( "Error: Could not initialize C6 library." );
    COMMON_THROW_EXCEPTION_NO_LOG_( "Could not initialize C6 library." );
    return false;
}

... generates the following assertions and freezes.

Assertion at Line no: 2661 in /home/user/z3/z3-netra-RPS-20111017/ezsdk/component-sources/syslink_2_00_02_80/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/family/hlos/knl/ti81xx/Platform.c: (entry.base == (Ptr) ai.addr [ProcMgr_AddrType_MasterKnlVirt]) : failed
Assertion at Line no: 2665 in /home/user/z3/z3-netra-RPS-20111017/ezsdk/component-sources/syslink_2_00_02_80/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/family/hlos/knl/ti81xx/Platform.c: (entry.ownerProcId == handle->slaveSRCfg [i].ownerProcId) : failed

The assertions are generated following the call to C6accel_create.

  • Steve Boone said:
    Is it not possible to use c6accel and openmax in the same application???

    Steve,

         It is not possible to use C6accel & OMX together, current design & implementation do not allow this. The above error is due to this only.

         Please get in touch with your local support If you want this feature to be supported in subsequent releases or you want to do it by yourself.

    Best Regards

    Velan

  • Velan, thanks for the response.

    I see that is it possible to create an OMX component that runs on the DSP (e.g. VLPB).  I wonder if you can answer the following two questions.

    1. Is it possible to connect two or more OMX components together that use the DSP? For example, COMP1 uses DSP, COMP2 uses DSP and I want to connect output port from COMP1 to input port of COMP2.

    2. Is it possible to create an application that has two threads that each use OMX? For example, suppose I have the case above running in one thread and then in a second thread I have another chain of OMX components running.

    Steve

  • Steve,

    1. Yes, It is possible to run 2 or more components on DSP. 

    2.  As long a it is same application, you can run different threads using OMX components.

    Regards

    Vimal

  • Steve Boone said:

    Is it not possible to use c6accel and openmax in the same application???

    For example, the following code ...

    OMX_Init()
    CERuntime_init();
    char engine[] = "ti8168";
    char alg[] = "c6accel";
    hC6accel = C6accel_create( engine, NULL, alg, NULL );
    if( !hC6accel )
    {
        COMMON_DEBUG_OUTPUT( "Error: Could not initialize C6 library." );
        COMMON_THROW_EXCEPTION_NO_LOG_( "Could not initialize C6 library." );
        return false;
    }

    ... generates the following assertions and freezes.

    Assertion at Line no: 2661 in /home/user/z3/z3-netra-RPS-20111017/ezsdk/component-sources/syslink_2_00_02_80/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/family/hlos/knl/ti81xx/Platform.c: (entry.base == (Ptr) ai.addr [ProcMgr_AddrType_MasterKnlVirt]) : failed
    Assertion at Line no: 2665 in /home/user/z3/z3-netra-RPS-20111017/ezsdk/component-sources/syslink_2_00_02_80/packages/ti/syslink/utils/hlos/knl/Linux/../../../../../../ti/syslink/family/hlos/knl/ti81xx/Platform.c: (entry.ownerProcId == handle->slaveSRCfg [i].ownerProcId) : failed

    The assertions are generated following the call to C6accel_create.

    From this1 post by Chris Ring, it seems it  should be possible to run codec engine and openmax in single linux app.

    Velan or Chris can you clarify, why this is not possible in the current EZSDK ?

    What is the issue here? memory map or shared memory configuration?

    It is critical to our application need to use codec engine and openmax from the same application in Linux A8, so we can run our custom algorithms on the DSP via codec engine.

    We won't be using omx audio encode/decode components that run on DSP.

    Thanks

    RV

    1"But using Codec Engine (over SysLink) to talk to the DSP while also using OMX (over SysLink) is certainly supported.If it's not working (failure at runtime? ), it's most likely a memory map and/or system config issue".