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.

DM8168 EZSDK: omxvideomixer max input channels?

 Hi Ti, 

We are using DM8168 platform and EZSDK version is ti-ezsdk_dm816x-evm_5_05_02_00. Can we able to increase number of video inputs (of 640x360) to omx_videomixer component ?? and how to achieve this. ? currently we getting 8 input videos MOSAIC and able to mix them successfully. our requirement is 16 input videos.

Many thanks in Advance.

BR

Ajay 

  • Hello,

    Are you able to mix 9 for example?
    I do not think the videomixer component is tested with 16. I have tested the OMX mosaic example for 8 videos.
    What error you are observing?

    BR
    Margarita

  • Hi Margarita,

    Thank you very much for the response.

    We are not able to mix 9. We start seeing the "0x80001000 (Insufficient resources to perform the requested operation)", through there is lot of memory available in the pools.

    Are there any other logs I can provide that can help.

    BR

    Ajay

  • Hello,

    OMX_ErrorInsufficientResources can indicate several error conditions like unable to allocate memory.

    For getting more debug prints

    run ./loggerSMDump.out 0x9e400000 0x100000 all video or vpss

    This is avilable at /usr/share/ti/ti-uia folder in filesystem adn run the pipeline.

    You could check this topic also:
    e2e.ti.com/.../381884

    BR
    Margarita
  • Hi Margarita,

    Thank you very much for the response.
    We are experiencing the similar problem as given in the topic.
    We are not able to create more than 8 decoder instances.

    We are using gstreamer to create the instances, here is the pipeline:

    gst-launch --gst-debug=1 --verbose \
    udpsrc port=5100 caps="application/x-rtp, clock-rate=90000,encoding-name=H264,payload=96" \
    ! queue ! rtph264depay ! h264parse ! omx_h264dec ! fakesink \
    udpsrc port=5200 caps="application/x-rtp, clock-rate=90000,encoding-name=H264,payload=96" \
    ! queue ! rtph264depay ! h264parse ! omx_h264dec ! fakesink \
    udpsrc port=5300 caps="application/x-rtp, clock-rate=90000,encoding-name=H264,payload=96" \
    ! queue ! rtph264depay ! h264parse ! omx_h264dec ! fakesink \
    udpsrc port=5400 caps="application/x-rtp, clock-rate=90000,encoding-name=H264,payload=96" \
    ! queue ! rtph264depay ! h264parse ! omx_h264dec ! fakesink \
    udpsrc port=5500 caps="application/x-rtp, clock-rate=90000,encoding-name=H264,payload=96" \
    ! queue ! rtph264depay ! h264parse ! omx_h264dec ! fakesink \
    udpsrc port=5600 caps="application/x-rtp, clock-rate=90000,encoding-name=H264,payload=96" \
    ! queue ! rtph264depay ! h264parse ! omx_h264dec ! fakesink \
    udpsrc port=5700 caps="application/x-rtp, clock-rate=90000,encoding-name=H264,payload=96" \
    ! queue ! rtph264depay ! h264parse ! omx_h264dec ! fakesink \
    udpsrc port=5800 caps="application/x-rtp, clock-rate=90000,encoding-name=H264,payload=96" \
    ! queue ! rtph264depay ! h264parse ! omx_h264dec ! fakesink \
    udpsrc port=5900 caps="application/x-rtp, clock-rate=90000,encoding-name=H264,payload=96" \
    ! queue ! rtph264depay ! h264parse ! ffdec_h264 ! fakesink \


    To observe the behavior better our test script pushes video traffic on each port with a gap of 10sec.
    Till 8 decoders the pipeline works fine .i.e. the pipeline continues to run without any issue.

    When we add the ninth decoder to the pipeline (as given in the above pipeline), here is the behavior we are observing:
    1. The pipeline starts fine.
    2. Everything (Decoder registration, getting handles etc) goes fine and the pipeline is set to ready state.
    3. Everything is going fine when traffic flows on the first two ports.
    4. When traffic starts flowing on the third port, omxproxy_memory_alloc() call is failing leading to pipeline closure.
    What is weird is "the 6th buffer allocation call is failing leading to pipeline being set to "loaded" state (this ultimately leads to pipeline closure) but the 7th buffer allocation call succeeds.

    We don't think it is memory issue as we can see that the next memory allocation succeeds, we don't see any free calls in between.

    Please help us with the following:

    1. Are there some specific code changes we need to do to have more than 8 decoders? What are they?
    2. How can we add more debugging logs to "Rcm" code? What are the libraries and binaries we need to rebuild to have better logging in Rcm?

    Please find the loggerSMDumpout attached.

    BR,
    Ajay.
  • Hello,

    I do not see any attached log.

    Could you attach it again?

    murali chilukuri said:

    1. Are there some specific code changes we need to do to have more than 8 decoders? What are they?

    It is not tested for >8. But it depends on the resolution and fps could you check with lower resolution and could you try with local video not streaming.

    Is this pipeline working? I see 8xomx_h264dec and one software decoder(ffmpeg).

    BR

    Margarita

  • Hi Margarita,

    Please find the log attached.

    Regarding the software decoder, sorry it was typo.

    Even the pipeline with 8 omx decoders and 1 software decoder didn't work.

    I will try the local video and update.

    BR,

    Ajay

    SMDump.log

  • Hello,

    Could you try with lower resolution also?

    BR
    Margarita
  • Hi Margarita,

    Sure.

    BR
    Ajay.
  • Hello,

    Could you provide this log also:

    ./loggerSMDump.out 0x9e400000 0x100000 all

    not only  /loggerSMDump.out 0x9e400000 0x100000 video.

    BR
    Margarita

  • Hi Margarita,

    This is the log, I have got by running the command "./loggerSMDump.out 0x9e400000 0x100000 all video or vpss".
    I will run the test again and attach.

    Regards,
    -Murali.
  • 3580.SMDump.logHi Margarita,

    Thanks a lot.

    Please find the log attached.

    BR,

    Ajay

  • Hi Margarita,

    Please find the log of the latest run attached.

    Thanks a lot for the help.

    Regards,

    -Murali.

    7041.SMDump.log

  • Hi Margarita,

    We have tried both lower resolution (360 x 240) and local file but no success with 9 decoders.
    Both the tests have failed with "Insufficient Resources" error.
    Up to 8 videos the tests run fine.

    Any inputs?

    BR,
    Ajay.
  • Hello,

      Is it failing with VDEC Error->VIDDEC3_create Failed error again when  lower resolution is used?

    BR
    Margarita

  • Hello,

    If it is VDEC Error->VIDDEC3_create Failed again, that means it is trying to use more than 32MB allocated for video heap and doesn’t can get the memory.
    Could you increase it but you should change the memory map for that? You could use this user guide:

    processors.wiki.ti.com/.../EZSDK_Memory_Map

    Let me know the result.

    BR
    Margarita
  • Hi Margarita,

    Thanks a lot for the response.

    Yes, the error is "VDEC Error->VIDDEC3_create Failed".
    We shall try increasing the memory using the above link and update you.

    BR,
    Ajay.