mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-01-24 13:56:33 +02:00
avcodec/nvenc: move reconfig_encoder call inside of push/pop ctx
Also make it void, it must not fail the encode anyway.
This commit is contained in:
parent
5a88e8c365
commit
fdbb4b9a78
@ -1948,7 +1948,7 @@ static int output_ready(AVCodecContext *avctx, int flush)
|
||||
return (nb_ready > 0) && (nb_ready + nb_pending >= ctx->async_depth);
|
||||
}
|
||||
|
||||
static int reconfig_encoder(AVCodecContext *avctx, const AVFrame *frame)
|
||||
static void reconfig_encoder(AVCodecContext *avctx, const AVFrame *frame)
|
||||
{
|
||||
NvencContext *ctx = avctx->priv_data;
|
||||
NV_ENCODE_API_FUNCTION_LIST *p_nvenc = &ctx->nvenc_dload_funcs.nvenc_funcs;
|
||||
@ -2038,8 +2038,6 @@ static int reconfig_encoder(AVCodecContext *avctx, const AVFrame *frame)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
int ff_nvenc_send_frame(AVCodecContext *avctx, const AVFrame *frame)
|
||||
@ -2064,8 +2062,6 @@ int ff_nvenc_send_frame(AVCodecContext *avctx, const AVFrame *frame)
|
||||
return AVERROR_EOF;
|
||||
|
||||
if (frame) {
|
||||
reconfig_encoder(avctx, frame);
|
||||
|
||||
in_surf = get_free_frame(ctx);
|
||||
if (!in_surf)
|
||||
return AVERROR(EAGAIN);
|
||||
@ -2074,6 +2070,8 @@ int ff_nvenc_send_frame(AVCodecContext *avctx, const AVFrame *frame)
|
||||
if (res < 0)
|
||||
return res;
|
||||
|
||||
reconfig_encoder(avctx, frame);
|
||||
|
||||
res = nvenc_upload_frame(avctx, frame, in_surf);
|
||||
|
||||
res2 = nvenc_pop_context(avctx);
|
||||
|
Loading…
x
Reference in New Issue
Block a user