1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2025-02-04 06:08:26 +02:00
FFmpeg/libavcodec
Ho Ming Shun b54377b3a7 avcodec/mmaldec: use decoupled dataflow
MMAL is an fundamentally an asynchronous decoder, which was a bad fit
for the legacy dataflow API. Often multiple packets are enqueued before
a flood of frames are returned from MMAL.

The previous lockstep dataflow meant that any delay in returning packets
from the VPU would cause ctx->queue_decoded_frames to grow with no way
of draining the queue.

Testing this with mpv streaming from a live RTSP source visibly reduced
latency introduced by frames waiting in queue_decoded_frames from
roughly 2s to 0.

Tested-by: Cameron Gutman <aicommander@gmail.com>
Signed-off-by: Ho Ming Shun <cyph1984@gmail.com>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
2021-12-12 16:54:43 +01:00
..
2021-10-03 11:42:15 +02:00
2021-09-05 22:22:05 +02:00
2021-10-08 20:37:36 +11:00
2021-10-08 20:37:36 +11:00
2021-08-05 19:46:33 +02:00
2021-09-29 18:00:13 +08:00
2021-10-09 11:42:16 +02:00
2021-12-03 16:09:14 +01:00
2021-12-03 16:09:14 +01:00
2021-10-02 18:49:40 +02:00
2021-09-19 22:36:23 +02:00
2021-10-10 17:44:41 +02:00
2021-08-26 09:20:56 +02:00
2021-09-12 22:23:35 +02:00