I amdecoding elementary H264 streams from RTSP IP Cameras.
I'm using a low latency model here where I put one frame in and expect one frame out. I feed the first IFrame and receive this error the need more data, after submitting a few P frames I start getting a 1 to 1 output.
I have confirmed through multiple programs the h264 is fine (no bit errors) and that I'm feeding exactly single frames. I have also done the following:
mfxVideoParams.AsyncDepth = 1;
mfxBS.DataFlag = MFX_BITSTREAM_COMPLETE_FRAME;
Are there any other settings I'm missing?
If you can't make one slice per frame, it would be hard to check the boundary. Normally, we rely on hardware to tell when it decodes, this means you have to keep feeding the decoder with bitstream, the async depth setting will force the decoder to output one frame each time it consume the one frame bitstream.
First you must check if you can run this with "sample_decode", when running the low latency mode, following arguments must be used:
-low_latency, -async, -calc_latency
After sample_decode works, you might check how the sample code to set the stream reader, you can check following code to see how sample code is configuring the stream reader: