Rewrite FFmpeg decoder to use pull model

This allows us to keep asynchronous decoders like MMAL and V4L2M2M fed
while we're waiting for output frames. Behavior for synchronous decoders
should be identical.

Continuing to feed new data while waiting for output frames is crucial for
acceptable performance on 1080p video on the Raspberry Pi using V4L2M2M,
since it allows the decode and copy operations to be pipelined.
This commit is contained in:
Cameron Gutman 2022-01-17 15:06:12 -06:00
commit d6cfbdb273
4 changed files with 165 additions and 119 deletions

@ -1 +1 @@
Subproject commit 6001ece0b8bfcea6a8122a3e56f48f515e1aaaf5
Subproject commit 921b59c467ac78ef2a770ad1bb3e61fbef51bd09