Commit fdbb4b9a authored by Timo Rothenpieler's avatar Timo Rothenpieler

avcodec/nvenc: move reconfig_encoder call inside of push/pop ctx

Also make it void, it must not fail the encode anyway.
parent 5a88e8c3
...@@ -1948,7 +1948,7 @@ static int output_ready(AVCodecContext *avctx, int flush) ...@@ -1948,7 +1948,7 @@ static int output_ready(AVCodecContext *avctx, int flush)
return (nb_ready > 0) && (nb_ready + nb_pending >= ctx->async_depth); 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; NvencContext *ctx = avctx->priv_data;
NV_ENCODE_API_FUNCTION_LIST *p_nvenc = &ctx->nvenc_dload_funcs.nvenc_funcs; 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) ...@@ -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) int ff_nvenc_send_frame(AVCodecContext *avctx, const AVFrame *frame)
...@@ -2064,8 +2062,6 @@ 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; return AVERROR_EOF;
if (frame) { if (frame) {
reconfig_encoder(avctx, frame);
in_surf = get_free_frame(ctx); in_surf = get_free_frame(ctx);
if (!in_surf) if (!in_surf)
return AVERROR(EAGAIN); return AVERROR(EAGAIN);
...@@ -2074,6 +2070,8 @@ int ff_nvenc_send_frame(AVCodecContext *avctx, const AVFrame *frame) ...@@ -2074,6 +2070,8 @@ int ff_nvenc_send_frame(AVCodecContext *avctx, const AVFrame *frame)
if (res < 0) if (res < 0)
return res; return res;
reconfig_encoder(avctx, frame);
res = nvenc_upload_frame(avctx, frame, in_surf); res = nvenc_upload_frame(avctx, frame, in_surf);
res2 = nvenc_pop_context(avctx); res2 = nvenc_pop_context(avctx);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment