There is an interesting problem I've encountered.
When running the sample_encode from the Tutorials on my (fairly moderate) development machine, the number of surfaces suggested to the encoder for running 1080p encoding (i.e. the value of EncRequest.NumFrameSuggested) was equal to 2.
The same code ported to my encoding project, however, the same variable was having the value of 1, even though the resolution of my video is substantially smaller (360p).
Is this expected behaviour, and why ?
By some common sense reasoning, I'd assume that encoding 360p requires substantially less memory than encoding 1080p stream.
What exactly is the run-time reasoning behind granting the available surfaces to the encoder ?