+ ctx->nb_surfaces = FFMAX(nb_surfaces, ctx->nb_surfaces);
+ } else {
+ if (ctx->encode_config.frameIntervalP > 1 && ctx->nb_surfaces < nb_surfaces && ctx->nb_surfaces > 0)
+ {
+ av_log(avctx, AV_LOG_WARNING,
+ "Defined b-frame requires more surfaces, "
+ "increasing used surfaces %d -> %d\n", ctx->nb_surfaces, nb_surfaces);
+ ctx->nb_surfaces = FFMAX(ctx->nb_surfaces, nb_surfaces);
+ }
+ else if (ctx->nb_surfaces <= 0)
+ ctx->nb_surfaces = nb_surfaces;
+ // otherwise use user specified value