avcodec/libsvtav1: add version guard for external param

Setting of external param 'force_key_frames' was added in 7bcc1b4eb8.
It is available since v1.1.0 but ffmpeg allows linking against v0.9.0.
This commit is contained in:
Gyan Doshi 2023-11-08 10:15:19 +05:30
parent 84e400ae37
commit 67a2571a55
1 changed files with 2 additions and 0 deletions

View File

@ -250,6 +250,7 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
if (avctx->gop_size > 1) if (avctx->gop_size > 1)
param->intra_period_length = avctx->gop_size - 1; param->intra_period_length = avctx->gop_size - 1;
#if SVT_AV1_CHECK_VERSION(1, 1, 0)
// In order for SVT-AV1 to force keyframes by setting pic_type to // In order for SVT-AV1 to force keyframes by setting pic_type to
// EB_AV1_KEY_PICTURE on any frame, force_key_frames has to be set. Note // EB_AV1_KEY_PICTURE on any frame, force_key_frames has to be set. Note
// that this does not force all frames to be keyframes (it only forces a // that this does not force all frames to be keyframes (it only forces a
@ -260,6 +261,7 @@ static int config_enc_params(EbSvtAv1EncConfiguration *param,
// to be updated to set force_key_frames accordingly. // to be updated to set force_key_frames accordingly.
if (avctx->gop_size == 1) if (avctx->gop_size == 1)
param->force_key_frames = 1; param->force_key_frames = 1;
#endif
if (avctx->framerate.num > 0 && avctx->framerate.den > 0) { if (avctx->framerate.num > 0 && avctx->framerate.den > 0) {
param->frame_rate_numerator = avctx->framerate.num; param->frame_rate_numerator = avctx->framerate.num;