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.

Multi-Channel Encode on dm816x using OMX

Hi,

I've been trying to get mulit-channel encoding to work on the dm816x using OMX but I haven't been successful. I am using EZSDK 5_03_01_15 and I was wondering whether multi-channel encode is actually supported by OMX in this version of the SDK and if so, how can it be implemented? If anyone knows where I can find example code for a mulit-channel encoding OMX application, that would be greatly appreciated.

Basically, I have the dm816x board connected via a sata port to an external DVR/Camera controller which handles all the video capture operations. I was hoping to use the dm816 board to encode multiple camera streams and send them out via rtp to be viewed over the network. I have all the other components working but I can only get one instance of the OMX VENC component working at a time.

So far I have been able to get handles to two VENC components, setup all of their parameters, allocate all the buffers, and move both components into the execute state. The problem is that the second component doesn't actually encode the video frames I send to it. When I send a video frame to the second component, the EmptyBufferDone callback is called successfully but the FillBufferDone callback is never called, leaving my program hanging waiting for an encoded frame. Both components are initialized in exactly the same way with all the same parameters. The first component encodes frames fine.

The only way I have been able to get two VENC components to work successfully in the same application is if I free the handle of the first component before I get the handle for the second component. This is obviously not two simultaneous streams so it doesn't work for my application.

I have read in other threads that the EZSDK doesn't support multi-channel but that seemed to be in reference to multi-channel capture not encoding. Does the EZSDK actually support multi-channel encoding through OMX? I've also read about the RDK which is supposed to have support for multi-channel operations, would this maybe be a better choice or should the EZSDK be able to handle multiple streams like my application requires?