aboutsummaryrefslogtreecommitdiffstats
path: root/libavcodec/avdct.c
diff options
context:
space:
mode:
authorHo Ming Shun <cyph1984@gmail.com>2021-09-24 17:04:35 +0800
committerAndreas Rheinhardt <andreas.rheinhardt@outlook.com>2021-12-12 16:54:43 +0100
commitb54377b3a7cd427bc121af003f12c36a32169a74 (patch)
tree481e489af43c65ecc2ee9675b5c9ed28851aed16 /libavcodec/avdct.c
parent996b13fac4810efc35ff988f523f0c88a3b57ec9 (diff)
downloadffmpeg-b54377b3a7cd427bc121af003f12c36a32169a74.tar.gz
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>
Diffstat (limited to 'libavcodec/avdct.c')
0 files changed, 0 insertions, 0 deletions