On 08/01/16 18:01, Anton Khirnov wrote:
> Otherwise, closing the encoder can crash.
> ---
>  libavcodec/nvenc.c | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/libavcodec/nvenc.c b/libavcodec/nvenc.c
> index 02cb8b4..c151ad5 100644
> --- a/libavcodec/nvenc.c
> +++ b/libavcodec/nvenc.c
> @@ -825,6 +825,14 @@ av_cold int ff_nvenc_encode_close(AVCodecContext *avctx)
>      NV_ENCODE_API_FUNCTION_LIST *nv = &ctx->nvel.nvenc_funcs;
>      int i;
>  
> +    /* the encoder has to be flushed before it can be closed */
> +    if (ctx->nvenc_ctx) {
> +        NV_ENC_PIC_PARAMS params        = { .version        = 
> NV_ENC_PIC_PARAMS_VER,
> +                                            .encodePicFlags = 
> NV_ENC_PIC_FLAG_EOS };
> +
> +        nv->nvEncEncodePicture(ctx->nvenc_ctx, &params);
> +    }
> +
>      av_fifo_free(ctx->timestamps);
>      av_fifo_free(ctx->pending);
>      av_fifo_free(ctx->ready);
> 

Ok.
_______________________________________________
libav-devel mailing list
[email protected]
https://lists.libav.org/mailman/listinfo/libav-devel

Reply via email to