bootlin / libva-v4l2-request

LibVA implementation for the Linux Video4Linux2 Request API
Other
76 stars 59 forks source link

WIP: multi-context support #29

Open pH5 opened 4 years ago

pH5 commented 4 years ago

Running multiple decoders in parallel on the same VADisplay requires a separate kernel context per VAContext. Further the VA API requires surfaces to be allocated independently from the context.

We can achieve this on top of the V4L2 API by allocating and exporting DMA buffers from a separate, temporary kernel context, which can be closed immediately after allocation. Reimporting the orphaned DMA buffers into the decoder contexts allows.