Hi,
I have a question regarding the HRDBuffer Size.
The H264 Encoder User Guide say that the HRDBufferSize shall be 0.5 * targetBitrate for CBR which is what I Need.
The Video Input Format is 1280x720@60Hz and the Encoded bit rate is 30Mbit/s.
The Video is captured, encoded to h264 and transmitted using sockets to a Decoder.
If I set the HRDBuffersize > 1500000, the socket send function returns with EAGAIN (resource temporarly not available).
I have debugged this error and found that it only occurs if a Frame with a size of > 320000 Bytes is received. If the size of the Frames
are smaller, everything is working correctly.
What I did next is, to just throw away those big Frame to be sure that there is no problem with my transmit function. Throw away means,
not allocating memory in Linux for the frame and to not put the frame im my send Queue.
The result of this test was, that there is still the error message from the socket. (though the frame is actually not send)
So the assumption is that if such a big Frame is received, the System gets "overloaded" and the Interfaces such as the sockets gets blocked for a Long time.
It would be interesting if somebody of you has the same Problems like me. Another Point would be, if there are any limitations with only 256MB of System RAM.