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.

H.264 encoder has been stucked in HDVICP_Wait

Hi all,

I would like to use two H.264 encoder instances on DM8148's VIDEO M3 processor. I use an own Resource manager (based on examples). If I use only one encoder everything is fine. But, If I create an additional instance and call all of the the process functions, the processor is stucked in the second HDVICP_Wait (no Semaphore_post from SWI).

The calling sequence is the following:

  • handle1 = create()....; 
  • handle2 = create()....;
  • process(handle1)
  • HDVICP_Acquire()
  • HDVICP_Reset()
  • IVAHD_Standby_power_on_uboot()
  • HDVICP_Wait() - semaphore_pend() call
  • IRESMAN_HDVICP2_ISR()
  • IRESMAN_HDVICP2_SwiFunc()
  • HDVICP_Done() - semaphore_post()
  • HDVICP_Wait() - semaphore_pend() retuns
  • HDVICP_Release()
  • process(handle2)
  • HDVICP_Acquire()
  • HDVICP_Reset()
  • HDVICP_Wait() - semaphore_pend() call
  • IRESMAN_HDVICP2_ISR()
  • IRESMAN_HDVICP2_SwiFunc()
  • HDVICP_Done() - semaphore_post()
  • HDVICP_Wait() - semaphore_pend() returns
  • HDVICP_Wait() - and again HDVICP_Wait()?????
Why do the lib call the HDVICP_Wait() function twice during one frame?
Regards,
Lajos