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-instance CODEC, multi-threading recommended (dm36x)?



Hi,

I have two questions regarding multi-instance encoding on DM36x:

1) Are the DM36x CODEC's thread-safe? I find the Codec Engine documentation vague on this point. It seems that as long as seperate "Engine" and "Encoder" handles are used by each thread, the CODEC's are thread-safe. But then I came across the following : http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/t/90020.aspx

2) Do multi-instance HDVIC-CODEC's process data concurrently? In other words: Should I expect speed-ups by passing data to multi H.264-CODEC-instances from seperate threads?

Sincerely yours,

Soren

  • Hi,

    If you create two h264enc instances, it will run in sequence on HDVICP. So I recommend to use one thread.

  • S��� Madsen said:
    1) Are the DM36x CODEC's thread-safe? I find the Codec Engine documentation vague on this point. It seems that as long as seperate "Engine" and "Encoder" handles are used by each thread, the CODEC's are thread-safe. But then I came across the following : http://e2e.ti.com/support/dsp/davinci_digital_media_processors/f/100/t/90020.aspx

    Yes codecs are thread safe. In that post he was creating same type codec with different groupId. Because of this two threads(codecs) were trying to use single hardware resource (HDVICP).

    S��� Madsen said:
    2) Do multi-instance HDVIC-CODEC's process data concurrently? In other words: Should I expect speed-ups by passing data to multi H.264-CODEC-instances from seperate threads?

    .

    As Chris mentioned, we have single HDVICP resource, we cant get concurrent advantage, so better to run in single thread.