[FFmpeg-cvslog] avcodec/libdavs2: export has_b_frames info
Zhao Zhili
git at videolan.org
Tue May 24 13:04:04 EEST 2022
ffmpeg | branch: master | Zhao Zhili <quinkblack at foxmail.com> | Fri May 13 17:40:49 2022 +0800| [5a7a33f6f24e08470bfce2dee020da7b2f6a9b50] | committer: Zhao Zhili
avcodec/libdavs2: export has_b_frames info
More precisely, we should use picture_reorder_delay, but it's
unavailable yet.
Signed-off-by: Zhao Zhili <zhilizhao at tencent.com>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5a7a33f6f24e08470bfce2dee020da7b2f6a9b50
---
libavcodec/libdavs2.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/libavcodec/libdavs2.c b/libavcodec/libdavs2.c
index a47027d300..bc31745a4f 100644
--- a/libavcodec/libdavs2.c
+++ b/libavcodec/libdavs2.c
@@ -78,6 +78,12 @@ static int davs2_dump_frames(AVCodecContext *avctx, davs2_picture_t *pic, int *g
avctx->height = headerset->height;
avctx->pix_fmt = headerset->output_bit_depth == 10 ?
AV_PIX_FMT_YUV420P10 : AV_PIX_FMT_YUV420P;
+ /* It should be picture_reorder_delay, but libdavs2 doesn't export that
+ * info.
+ * Use FFMAX since has_b_frames could be set by AVS2 parser in theory,
+ * which doesn't do it yet.
+ */
+ avctx->has_b_frames = FFMAX(avctx->has_b_frames, !headerset->low_delay);
avctx->framerate = av_d2q(headerset->frame_rate,4096);
*got_frame = 0;
More information about the ffmpeg-cvslog
mailing list