uint32_t nvenc_max_ver;
int ret;
- ret = cuda_load_functions(&dl_fn->cuda_dl);
+ ret = cuda_load_functions(&dl_fn->cuda_dl, avctx);
if (ret < 0)
return ret;
- ret = nvenc_load_functions(&dl_fn->nvenc_dl);
+ ret = nvenc_load_functions(&dl_fn->nvenc_dl, avctx);
if (ret < 0) {
nvenc_print_driver_requirement(avctx, AV_LOG_ERROR);
return ret;
static av_cold int nvenc_setup_surfaces(AVCodecContext *avctx)
{
NvencContext *ctx = avctx->priv_data;
- int i, res;
+ int i, res = 0, res2;
ctx->surfaces = av_mallocz_array(ctx->nb_surfaces, sizeof(*ctx->surfaces));
if (!ctx->surfaces)
for (i = 0; i < ctx->nb_surfaces; i++) {
if ((res = nvenc_alloc_surface(avctx, i)) < 0)
- {
- nvenc_pop_context(avctx);
- return res;
- }
+ goto fail;
}
- res = nvenc_pop_context(avctx);
- if (res < 0)
- return res;
+fail:
+ res2 = nvenc_pop_context(avctx);
+ if (res2 < 0)
+ return res2;
- return 0;
+ return res;
}
static av_cold int nvenc_setup_extradata(AVCodecContext *avctx)