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.

Can DM6467 decode 6 D1 at the same time?

I decode 6 D1 h264 bit stream, and total bit rate is about 10Mbps.

But I use the 6 decoders at the same time, the output frames are something wrong.

The frame's x is 0 and y is very large number (like 3990752).

I use the 5 decoders at the same time, and they work fine.

Thanks & B/R,

Saige

  • Hi Saige,

    Please verify the resource allocated / configured for the sixth instance/channel, including internal memory, TCs and EDMA channels used for that channel.

    First of all for multi channel applications DM6467T running at 1GHz is recommended to achieve real time performance.

    Regards,

    Mahantesh

     

  • Hi Mahantesh,

    We use DM6467T runing at 729MHz.

    How can I verify the resources? We use the demo decode program and modify it to support multi channel.

    We just use VDCE (for color space convert) and HDVICP (for decode H264 bit stream)

    Our settings are as bellow.

    Thanks & Regards,

    Saige

    /*
     *  ======== RMAN (IRES Resource manager) configuration ========
     */
    var RMAN = xdc.useModule('ti.sdo.fc.rman.RMAN');
    RMAN.useDSKT2 = true;
    RMAN.tableSize = 10;
    RMAN.semCreateFxn = "Sem_create";
    RMAN.semDeleteFxn = "Sem_delete";
    RMAN.semPendFxn = "Sem_pend";
    RMAN.semPostFxn = "Sem_post";
    RMAN.debug = false;
    RMAN.trace = false;

    xdc.useModule('ti.sdo.ce.Settings').checked = false;
    var EDMA3 = xdc.useModule('ti.sdo.fc.edma3.Settings');
    EDMA3.globalInit = false;
    EDMA3.maxTccs[GROUP_0] = 49;
    EDMA3.maxTccs[GROUP_1] = 0;
    EDMA3.maxPaRams[GROUP_0] = 384;
    EDMA3.maxPaRams[GROUP_1] = 0;
    EDMA3.maxEdmaChannels[GROUP_0] = 49;
    EDMA3.maxEdmaChannels[GROUP_1] = 0;
    EDMA3.maxQdmaChannels[GROUP_0] = 4;
    EDMA3.maxQdmaChannels[GROUP_1] = 0;
    EDMA3.regionConfig             = "DM6467_Config";
    EDMA3.trace = false;
    EDMA3.debug = false;

    var EDMA3CHAN = xdc.useModule('ti.sdo.fc.ires.edma3chan.EDMA3CHAN');
    EDMA3CHAN.debug = false;
    EDMA3CHAN.trace = false;

    var HDVICP =  xdc.useModule('ti.sdo.fc.ires.hdvicp.HDVICP');
    HDVICP.debug = false;
    HDVICP.trace = false;

    var HDINTC = xdc.useModule('ti.sdo.fc.hdintc.HDINTC');
    HDINTC.interruptVectorId_0 = 10;
    HDINTC.interruptVectorId_1 = 11;
    HDINTC.hdvicpInterruptEventNo_0 = 29;
    HDINTC.hdvicpInterruptEventNo_1 = 39;

    HDINTC.biosInterruptVectorId_0 = 7;
    HDINTC.biosInterruptVectorId_1 = 8;   
    HDINTC.biosInterruptEventNo_0 = 30;   
    HDINTC.biosInterruptEventNo_1 = 31;

        var H264DEC = xdc.useModule('ti.sdo.codecs.h264dec.ce.H264DEC');

            H264DEC.manageInBufsCache = [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true];
            H264DEC.manageOutBufsCache = [true, true, true, true, true, true, true, true, true, true, true, true, true, true, true, true];
            H264DEC.alg.watermark = false;
            H264DEC.alg.codeSection = "DDR2";
            H264DEC.alg.udataSection = "DDR2";
            H264DEC.alg.dataSection = "DDR2";


        {name: "h264dec", mod: H264DEC , threadAttrs: {
            stackMemId: 0, priority: Server.MINPRI + 1},
            groupId : 0,
        },

  • Hi all,

    Does anybody have suggestions for me?

    Thanks

    Saige

  • Hi Saige,

    Sorry for the delayed response...

    Please verify the color conversion module which you mentioned should not use the same resources like TCs and EDMA channels like the decode module along which it runs in parallel.

    Regards,

    Mahantesh

  • Hi Saige,

    Just one correction in the last reply and one more suggestion as below,

    You can use the same TCs, but you should not use same DMA channels and internal memory between the modules, which are running in parallel.

     And also can you please mention the library version you are using, since we have fixed the similar kind of issue in the latest release version: 01.10.05.03.

    Regards,

    Mahantesh

       

  • Hi Mahantesh,

    Thank for your reply.

    I modify linux kernel, let VDCE module always use TC0 and find free DMA channel form 0 to 63.
    But the situation was the same.

    I don't know that the decoder use which TC and DMA channel range.
    How do I find these information?

    My codec folder name is cs2dm6467_1_00_00_10, so I think version is 01.00.00.10.
    I will try codec version > 01.10.05.03.

    Regards,
    Saige

  • Hi Mahantesh,

    I use codec (H264DEC.version.01.10.05.03.wizardversion.0.5.3) and try again.

    But the situation was the same.

    Regards,

    Saige

  • Hi Saige,

    H264DEC version 01.10.05.03 uses HDVICP library version "1_01_017", please make sure you are using the right version.

    Regards,

    Mahantesh

  • Hi Mashantesh,

    I have check the version H264DEC is version.01.10.05.03.wizardversion.0.5.3 and HDVICP is version.1.01.017.

    Regards,

    Saige

  • Hi Saige,

    Is there any other module is running in parllel with 6 decoder instances?

    Also note that, for multi channel applications DM6467T running at 1GHz is recommended.

    Regards,

    Mahantesh