From a5931f58f767da1adbc1ba79ae068a76dc5d8145 Mon Sep 17 00:00:00 2001 From: Zhao Zhili Date: Mon, 13 Jun 2022 11:36:36 +0800 Subject: [PATCH] avcodec/libdavs2: use frame rate code table It's more natural than the floating to fraction conversion. Signed-off-by: Zhao Zhili --- libavcodec/libdavs2.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavcodec/libdavs2.c b/libavcodec/libdavs2.c index bc31745a4f..d7625718a2 100644 --- a/libavcodec/libdavs2.c +++ b/libavcodec/libdavs2.c @@ -25,6 +25,7 @@ #include "libavutil/cpu.h" #include "avcodec.h" #include "codec_internal.h" +#include "avs2.h" #include "davs2.h" typedef struct DAVS2Context { @@ -85,7 +86,8 @@ static int davs2_dump_frames(AVCodecContext *avctx, davs2_picture_t *pic, int *g */ avctx->has_b_frames = FFMAX(avctx->has_b_frames, !headerset->low_delay); - avctx->framerate = av_d2q(headerset->frame_rate,4096); + if (headerset->frame_rate_id < 16) + avctx->framerate = ff_avs2_frame_rate_tab[headerset->frame_rate_id]; *got_frame = 0; return 0; }