Hello,
We are developing DM365 based-H.264 decoding system. The decoding system receives the H.264 encoded stream through UDP from the encoding system where raw video(composite (720x480) or 720P component) stream is encoded using DM365based-H.264 encoder,
decodes and displays it..
We have had problem in decoding and displaying the H.264 encoded video stream transferred in UDP(or TCP) via L2 switch.
We just modified the decode example int dvsdk_demos_2_10_00_17 of DVSDK_2_10 version for DM365.
There, in stead of using 'Loader_prime()' , we used 'recv from()' of socket in order to provide the encoded stream from the network to the H.264 decoder
After 5~10 minites' successful decodig and displaying, the video displaying stops(That happens in both composite video decoding and 720P component decoding).
We found there was in a deadlock between the video thread and the display thread. Video thread got blocked at 'Fifo_get' and display thread also got blocked at 'Fifo_get'.
The Threads were in a deadlock was caused because the DMAI CE API 'Vdec2_getDisplayBuf()' in the routine "handleCodecBufs()" could not return a valid Display Buffer Buffer_Handle while 'DisplayOutFiFo' was empty.
Since we are not familar with the working mechanism inside the H.264 CODEC in HDVICP or CodecEngine, it has been very hard to handle the deadlock problem.
We already tried new H.264 CODEC, but it did not help.
Could somebody help or give us information about how to approach to solve the problem?
Sincerely yours,
Sun