summaryrefslogtreecommitdiff
path: root/libavcodec/nvenc.c
diff options
context:
space:
mode:
authorTimo Rothenpieler <timo@rothenpieler.org>2016-10-12 20:51:43 +0200
committerTimo Rothenpieler <timo@rothenpieler.org>2016-10-12 20:51:43 +0200
commit30c558750374b179dc910da6fc354724679d630e (patch)
tree0f38d60ece33998c8247634e09239dba206cdf4d /libavcodec/nvenc.c
parent03d6d5f3760e2b06e3ef1f68de62c79c2e8fb173 (diff)
avcodec/nvenc: add support for forcing intra/idr frames
Diffstat (limited to 'libavcodec/nvenc.c')
-rw-r--r--libavcodec/nvenc.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
index f6f756fe00..e6c1c94144 100644
--- a/libavcodec/nvenc.c
+++ b/libavcodec/nvenc.c
@@ -1737,7 +1737,13 @@ int ff_nvenc_encode_frame(AVCodecContext *avctx, AVPacket *pkt,
pic_params.pictureStruct = NV_ENC_PIC_STRUCT_FRAME;
}
- pic_params.encodePicFlags = 0;
+ if (ctx->forced_idr >= 0 && frame->pict_type == AV_PICTURE_TYPE_I) {
+ pic_params.encodePicFlags =
+ ctx->forced_idr ? NV_ENC_PIC_FLAG_FORCEIDR : NV_ENC_PIC_FLAG_FORCEINTRA;
+ } else {
+ pic_params.encodePicFlags = 0;
+ }
+
pic_params.inputTimeStamp = frame->pts;
nvenc_codec_specific_pic_params(avctx, &pic_params);