As far as I know we have not studied the H.264 output from that device so it's hard to tell what may be going on. I would imagine that the device should create a proper H.264 elementary stream that follows standard, but that does not seem to be the case as you describe it.
Is the stream output from the encoder processed correctly by other stream analysis tools such as Elecard StreamEye?
So, when you feed leading stream data into DecodeHeader() it always returns "-10"?
SEI message(s) are not required to decode the stream header or to decode the stream frames.
In any case, if you can, please provide a pure stream dump from the device so that we can investigate it from our side.
So, when you feed leading stream data into DecodeHeader() it always returns "-10"? - The decode Header is OK, the problem is when i use DecodeFrameAsync.
Here what i do exactly
1) Initialize MFXVideoSession with version 3,1 2) Call QueryIMPL to determine if Hard of Soft decoding 3) Call the DecodeHeader for each frame until no error is returned 4) Call decoder->Init 5) Allocate surface
When the header is decoded 6) Get a free surface 7) call DecodeFrameAsync (always return -10)
I tried the provided H264 stream and it works fine using both Media SDK SW and HW decoder.
I used the sample_decode sample, which is able to process and display the stream without issues. I see no issues with either DecodeHeader (successfully processes the SPS/PPS at the start of the stream) or DecodeFrameAsync (asks for some additional surfaces before delivering processing frame).
Please take a look at the sample decoder implementation as a reference.
Does it work in SW decode mode for you? If it is, maybe the issue is due to using a very old Intel graphics driver?
I do recording and playing of RTP stream from different cameras. As my experience: Axis doesn't send any information together with the bit stream. So in order to make proper stream which any decoder can decode I use to add SPS and PPS units before each IDR frame (key frame in other words), please be sure that you add also 00 00 00 01 before SPS and before PPS.
Hi sorry to bring this old post up. I may have the same problem as these guys. Can i ask how do i generate a SPS and PPS nal unit from an axis camera so that i can send it before the IDR frame. If anyone can tell me, it would be a great help.