@@ -61,7 +61,8 @@ typedef struct XAVS2EContext {
static av_cold int xavs2_init(AVCodecContext *avctx)
{
XAVS2EContext *cae = avctx->priv_data;
- int bit_depth, code;
+ int bit_depth;
+ double framerate;
bit_depth = avctx->pix_fmt == AV_PIX_FMT_YUV420P ? 8 : 10;
@@ -78,6 +79,10 @@ static av_cold int xavs2_init(AVCodecContext *avctx)
return AVERROR(ENOMEM);
}
+ if (avctx->framerate.den > 0 && avctx->framerate.num > 0) {
+ framerate = av_q2d(avctx->framerate);
+ }
+
xavs2_opt_set2("Width", "%d", avctx->width);
xavs2_opt_set2("Height", "%d", avctx->height);
xavs2_opt_set2("BFrames", "%d", avctx->max_b_frames);
@@ -85,6 +90,7 @@ static av_cold int xavs2_init(AVCodecContext *avctx)
xavs2_opt_set2("Log", "%d", cae->log_level);
xavs2_opt_set2("Preset", "%d", cae->preset_level);
xavs2_opt_set2("OpenGOP", "%d", !(avctx->flags & AV_CODEC_FLAG_CLOSED_GOP));
+ xavs2_opt_set2("fps", "%.3lf", framerate);
xavs2_opt_set2("IntraPeriodMax", "%d", avctx->gop_size);
xavs2_opt_set2("IntraPeriodMin", "%d", avctx->gop_size);
@@ -114,10 +120,6 @@ static av_cold int xavs2_init(AVCodecContext *avctx)
xavs2_opt_set2("InitialQP", "%d", cae->qp);
}
- ff_mpeg12_find_best_frame_rate(avctx->framerate, &code, NULL, NULL, 0);
-
- xavs2_opt_set2("FrameRate", "%d", code);
-
cae->encoder = cae->api->encoder_create(cae->param);
if (!cae->encoder) {
Remove deprecated parameter FrameRate (frame rate code) and use fps (frame rate) instead. Avoid encoder warnings. Signed-off-by: hwren <hwrenx@126.com> --- libavcodec/libxavs2.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-)