This series fixes a design shortcoming in the decoder, namely that it was checking for output buffers availability before deciding to initiate a picture with the backend.
This was working well for the VAAPI backend, which must secure its output surface to create a VAPicture, but is not appropriate for V4L2 where the input and output queues are completely independent.
Each codec has a series of CLs culminating with let the backend decide which resources it needs, which moves the burden of checking output surfaces availability from the decoder to the VAAPI backend. That way the V4L2 backend is not constrained by output resources, and can decide itself which resources it needs to acquire to create a picture (in its case, an input buffer).
The other CLs include changes that are necessary to reach this state, e.g. rework of the backend interface to separate picture creation from submission when needed, and reordering of the format negotiation flow.
Sorry for the number of CLs ; however they should be bite-sized and relatively easy to understand.
This series fixes a design shortcoming in the decoder, namely that it was checking for output buffers availability before deciding to initiate a picture with the backend.
This was working well for the VAAPI backend, which must secure its output surface to create a
VAPicture
, but is not appropriate for V4L2 where the input and output queues are completely independent.Each codec has a series of CLs culminating with
let the backend decide which resources it needs
, which moves the burden of checking output surfaces availability from the decoder to the VAAPI backend. That way the V4L2 backend is not constrained by output resources, and can decide itself which resources it needs to acquire to create a picture (in its case, an input buffer).The other CLs include changes that are necessary to reach this state, e.g. rework of the backend interface to separate picture creation from submission when needed, and reordering of the format negotiation flow.
Sorry for the number of CLs ; however they should be bite-sized and relatively easy to understand.