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.

Problem with multi-channel decoder using TI OMX

I modify the ti omx decode example in the ezsdk 5.04 to make it a multi-channel decoder. When I increase the channel to 6, the "OMX.TI.DUCATI.VIDDEC" componets were created successfully. Then, I called the  OMX_SendCommand function to change the state to OMX_STATE_IDEL, and allocated input and output buffers for each component. The first five worked fine, and the component's state changed to idle successfully. The sixth one failed to change the state(do not trigger the callback event handler), but the OMX_SendCommand function returns no error.

The attach is the code, which could be maked in the /usr/local/ezsdk folder using make omx->make install. The macro Decode_Channel in the header file ilclient.h can be changed to set the decode channel.

Could someone help me to solve the problem? Thanks very much!

2318.decode_display.zip

  • Hello,

    I will check it.

    Best Regards

    Margarita

  • Hi Margarita,

        Thank you, and I appreciate your replay!

  • Hi Margarita,

         I do some new test about this problem. I change the input video size and get the following result:

        input video size                       maximum decode channel support 

        640*480 25P(the original)            5

        320*240 25P                                  8  

        1080*720 25P                                3

       So, I think it must be lack of some resouces, but I don't know which one is exactly. I use sys_top command to see the utilization of the HPVICP2 co-processor in the third test(1080*720).

    You can see the 0 Heap is still sufficient to use. Can you tell me which kind of resource is used up in the above situation? Thanks very much !

  • Hello

    DM8168 have 3 HDVICP. Each HDVICP can handle 1 channel 1080p@60.
    DM8168 can do 3 channels of 1080P60 encode or 3 channels 1080P60 decode. So it can effectively do 1920*1080*60*3 or 1920*1080*30*6 pixels processing.

    Best regards,

    Margarita

  • Hi Margarita,

        Thanks for your replay! I modify the Memory Map and enlarge the size to 50M. Now the 6 channel decode test can run, but when during the running time, it would be interrupted with the error "OMX_ErrorInsufficientResources (0x80001000)". Some resources are out of use, I still don't know exactly what it is.

  • Hello,

    You could use loggerSMDump utility to gives information about the error:

    http://processors.wiki.ti.com/index.php/OMX_Viewing_Media_Controller_Traces#Controlling_OMX_Firmware_Debug_Levels_from_A8

    Best Regards

    Margarita