This is no longer done automatically for filters marked as hwframe-aware.
Unified · Split
| @@ -336,9 +336,11 @@ static int init_processing_chain(AVFilterContext *ctx, int in_width, int in_heig · 335 unmodified lines | ||
| 336 | 336 | last_stage = i; |
| 337 | 337 | } |
| 338 | 338 | |
| 339 | − if (last_stage < 0) | |
| 340 | − return 0; | |
| 341 | − ctx->outputs[0]->hw_frames_ctx = av_buffer_ref(s->stages[last_stage].frames_ctx); | |
| 339 | + if (last_stage >= 0) | |
| 340 | + ctx->outputs[0]->hw_frames_ctx = av_buffer_ref(s->stages[last_stage].frames_ctx); | |
| 341 | + else | |
| 342 | + ctx->outputs[0]->hw_frames_ctx = av_buffer_ref(ctx->inputs[0]->hw_frames_ctx); | |
| 343 | + | |
| 342 | 344 | if (!ctx->outputs[0]->hw_frames_ctx) |
| 343 | 345 | return AVERROR(ENOMEM); |
| 344 | 346 | |