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.

OMAP DM3730 Load multiple codecs

Other Parts Discussed in Thread: TVP5146

Hello,

for our current project we need to decode and display up to 4 h.264 streams on a monitor.

So I tried to init more than 1 "h264dec" decoder, but the second decoder init fails with this message:

@0,550,360us: [+6 T:0x4001db60 S:0xbedca96c] CE - Engine_createNode> Remote node creation FAILED (0x80008008).

A simple test program for loading 2 deocders:

http://pastebin.com/Ez9NkP2J

Output with "export CE_DEBUG=3":

http://pastebin.com/3rtx6Git

cmemk was loaded with this command:

modprobe cmemk allowOverlap=1 phys_start=0x85000000 phys_end=0x86800000 pools=15x4096,5x368640,8x829440,2x52500
00,4x1572864,2x256000

Is it possible lo load more than one h.264 video decoder?

What have I done wrong?

Thanks

Sandro

  • Hi Sandro,

    Are you using DVSDK or some other OS and could you specify which Kernel version you are using?

    BR

    Tsvetolin Shulev

  • Hello Tsvetolin,

    I use an Angstrom Linux with Kernel 2.6.32 (linux-omap-psp_2.6.32).

    I use these TI related packages:

    ti-c6accel_1_01_00_03-r103c.9
    ti-cgt6x_6_1_17-r4.9
    ti-cmem-module_2_26_01_02-r103d.9
    ti-codec-engine_2_26_01_09-r103a.9
    ti-codecs-omap3530_4_00_00_00-r103b.9
    ti-dmai_2_10_00_01+svnr570-r103p.9
    ti-dspbios_5_41_07_24-r1.9
    ti-dsplink_1_65_00_03-r103i.9
    ti-edma3lld_01_11_00_03-r1.9
    ti-framework-components_2_25_03_07-r1.9
    ti-linuxutils_2_26_01_02-r103d.9
    ti-sdma-module_2_26_01_02-r103d.9
    ti-xdais_6_26_00_02-r1.9
    ti-xdctools_3_20_06_81-r2.9

    This is my kernel command line:

    console=tty0 console=ttyS2,115200n8 camera=tvp5146 mem=80M@0x80000000 mem=384M@0x88000000 noinitrd rw mpurate=1000 buddy=none vram=16M omapfb.mode=dvi:800x600MR-32@50 omapdss.def_disp=dvi ip=10.0.0.55:10.0.0.152::255.0.0.0::: root=/dev/nfs nfsroot=10.0.0.152:/home/stiller/development/OMAP/root/XM,nolock rootdelay=3

    Thanks

    Sandro

  • Any idea?

    Is it generally possible to load more than one decoder?

    Thanks,

    Sandro

  • Still hoping for an answer...

    Sandro

  • I found this thread:

    http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/99/p/119376/428918.aspx#428918

    and I think, there is a problem with DDRALGHEAP., It's set to 9MBytes what seems to be not enough for more than one h264dec.

    This is the content of my .cfg file:

    /* Enable debug messages */
    var GT = xdc.useModule("ti.sdo.utils.trace.GT");
    var GTINFRA = xdc.useModule("ti.sdo.fc.utils.gtinfra.GTINFRA");
    GTINFRA.runtimeEnv = GTINFRA.NONE;
    GT.MALLOCFXN = "myMalloc";
    GT.PRINTFXN = "printfCaller";

    xdc.useModule('ti.sdo.fc.global.Settings').profile = "debug_trace";

    /* Load the Codec Engine 'Operating System Abstraction Layer' */
    var osalGlobal = xdc.useModule('ti.sdo.ce.osal.Global');

    var os = xdc.useModule('ti.sdo.ce.osal.linux.Settings');
    osalGlobal.os = os;

    /* Configure CE to use it's DSP Link Linux version */
    var ipc = xdc.useModule('ti.sdo.ce.ipc.Settings');
    ipc.commType = ipc.COMM_DSPLINK;

    /*
     *  ======== Engine Configuration ========
     */
    var Engine = xdc.useModule('ti.sdo.ce.Engine');
    var demoEngine = Engine.createFromServer(
        "codecServer",
        "./bin/cs.x64P",
        "ti.sdo.server.cs"
        );

    var combopath = "" + java.lang.System.getenv("CODEC_SERVER");
    if (combopath != "" && combopath != "null") {
        demoEngine.server = java.lang.System.getenv("CODEC_SERVER");
    }

    /* Load support for the DMAI module */
    var DMAI = xdc.loadPackage('ti.sdo.dmai');

    var SCPY = xdc.useModule('ti.sdo.fc.scpy.SCPY');
    var SDMA = xdc.useModule('ti.sdo.linuxutils.sdma.SDMA');

    I'm not really versed with this cfg, but I think, the size of DDRALGHEAP can be changed here, right?

    How can I do it?

    Thank you

    Sandro