Browse Source

avcodec/nvenc: enable nvenc encoder instance reuse

Signed-off-by: Timo Rothenpieler <timo@rothenpieler.org>
tags/n4.1
Pavel Koshevoy Timo Rothenpieler 7 years ago
parent
commit
f7d117b484
1 changed files with 10 additions and 2 deletions
  1. +10
    -2
      libavcodec/nvenc.c

+ 10
- 2
libavcodec/nvenc.c View File

@@ -2051,8 +2051,16 @@ int ff_nvenc_send_frame(AVCodecContext *avctx, const AVFrame *frame)
if ((!ctx->cu_context && !ctx->d3d11_device) || !ctx->nvencoder)
return AVERROR(EINVAL);

if (ctx->encoder_flushing)
return AVERROR_EOF;
if (ctx->encoder_flushing) {
if (avctx->internal->draining)
return AVERROR_EOF;

ctx->encoder_flushing = 0;
ctx->first_packet_output = 0;
ctx->initial_pts[0] = AV_NOPTS_VALUE;
ctx->initial_pts[1] = AV_NOPTS_VALUE;
av_fifo_reset(ctx->timestamp_list);
}

if (frame) {
in_surf = get_free_frame(ctx);


Loading…
Cancel
Save