mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-26 19:01:44 +02:00
avcodec/libdav1d: export decoder frame delay
As this is an AV_CODEC_CAP_OTHER_THREADS decoder, threading is handled by the underlying library. In this case, the frame delay is calculated by libdav1d based on the values from avctx->thread_count and the private max_frame_delay option. Export said delay reported by the library in AVCodecContext.delay Reviewed-by: Reviewed-by: Ronald S. Bultje <rsbultje@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
613f716450
commit
1b05d27346
@ -276,6 +276,15 @@ static av_cold int libdav1d_init(AVCodecContext *c)
|
||||
if (res < 0)
|
||||
return AVERROR(ENOMEM);
|
||||
|
||||
#if FF_DAV1D_VERSION_AT_LEAST(6,7)
|
||||
res = dav1d_get_frame_delay(&s);
|
||||
if (res < 0) // Should not happen
|
||||
return AVERROR_EXTERNAL;
|
||||
|
||||
// When dav1d_get_frame_delay() returns 1, there's no delay whatsoever
|
||||
c->delay = res > 1 ? res : 0;
|
||||
#endif
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -30,7 +30,7 @@
|
||||
#include "version_major.h"
|
||||
|
||||
#define LIBAVCODEC_VERSION_MINOR 14
|
||||
#define LIBAVCODEC_VERSION_MICRO 100
|
||||
#define LIBAVCODEC_VERSION_MICRO 101
|
||||
|
||||
#define LIBAVCODEC_VERSION_INT AV_VERSION_INT(LIBAVCODEC_VERSION_MAJOR, \
|
||||
LIBAVCODEC_VERSION_MINOR, \
|
||||
|
Loading…
Reference in New Issue
Block a user