aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorHaihao Xiang <haihao.xiang@intel.com>2024-05-23 10:24:36 +0800
committerHaihao Xiang <haihao.xiang@intel.com>2024-05-29 10:46:54 +0800
commitc872ba5899eb520bac313e063336c007852499ea (patch)
treeaaaf91b7af01e486da1bacec24b06e978760b703
parentdbdd9ccded9018718bad6df14b56bdd4b7e327f1 (diff)
downloadffmpeg-c872ba5899eb520bac313e063336c007852499ea.tar.gz
lavc/qsvenc: respect user's setting for keyframes
For example: ./ffmpeg -hwaccel qsv -i input.mp4 -force_key_frames:v source -c:v hevc_qsv -f null - Signed-off-by: Haihao Xiang <haihao.xiang@intel.com>
-rw-r--r--libavcodec/qsvenc.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavcodec/qsvenc.c b/libavcodec/qsvenc.c
index 3df355ce78..8200a14012 100644
--- a/libavcodec/qsvenc.c
+++ b/libavcodec/qsvenc.c
@@ -2482,7 +2482,7 @@ static int encode_frame(AVCodecContext *avctx, QSVEncContext *q,
if (frame->pict_type == AV_PICTURE_TYPE_I) {
enc_ctrl->FrameType = MFX_FRAMETYPE_I | MFX_FRAMETYPE_REF;
- if (q->forced_idr)
+ if ((frame->flags & AV_FRAME_FLAG_KEY) || q->forced_idr)
enc_ctrl->FrameType |= MFX_FRAMETYPE_IDR;
}
}