diff options
Diffstat (limited to 'libavfilter/avfilter.c')
-rw-r--r-- | libavfilter/avfilter.c | 14 |
1 files changed, 6 insertions, 8 deletions
diff --git a/libavfilter/avfilter.c b/libavfilter/avfilter.c index b431990edc..ecfb872ed8 100644 --- a/libavfilter/avfilter.c +++ b/libavfilter/avfilter.c @@ -355,14 +355,12 @@ int avfilter_config_links(AVFilterContext *filter) } if (link->src->nb_inputs && link->src->inputs[0]->hw_frames_ctx && - !link->hw_frames_ctx) { - AVHWFramesContext *input_ctx = (AVHWFramesContext*)link->src->inputs[0]->hw_frames_ctx->data; - - if (input_ctx->format == link->format) { - link->hw_frames_ctx = av_buffer_ref(link->src->inputs[0]->hw_frames_ctx); - if (!link->hw_frames_ctx) - return AVERROR(ENOMEM); - } + !(link->src->filter->flags_internal & FF_FILTER_FLAG_HWFRAME_AWARE)) { + av_assert0(!link->hw_frames_ctx && + "should not be set by non-hwframe-aware filter"); + link->hw_frames_ctx = av_buffer_ref(link->src->inputs[0]->hw_frames_ctx); + if (!link->hw_frames_ctx) + return AVERROR(ENOMEM); } if ((config_link = link->dstpad->config_props)) |