summaryrefslogtreecommitdiff
path: root/fftools/ffmpeg_filter.c
diff options
context:
space:
mode:
authorMark Thompson <sw@jkqxz.net>2020-04-13 16:33:19 +0100
committerMark Thompson <sw@jkqxz.net>2020-04-26 18:38:25 +0100
commite2542124059f5960ac2bbd94183012814263f20d (patch)
treeb8e1f4a4df7d616e3c42012f91abf7273d27569f /fftools/ffmpeg_filter.c
parent344e6c3ff1b47279ffb360aba3f5e10183bc4eb4 (diff)
ffmpeg: Make filter hardware device selection clearer
Also move it into a dedicated function in the hardware file.
Diffstat (limited to 'fftools/ffmpeg_filter.c')
-rw-r--r--fftools/ffmpeg_filter.c14
1 files changed, 3 insertions, 11 deletions
diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c
index b66faa50b5..8b5b157be7 100644
--- a/fftools/ffmpeg_filter.c
+++ b/fftools/ffmpeg_filter.c
@@ -1061,17 +1061,9 @@ int configure_filtergraph(FilterGraph *fg)
if ((ret = avfilter_graph_parse2(fg->graph, graph_desc, &inputs, &outputs)) < 0)
goto fail;
- if (filter_hw_device || hw_device_ctx) {
- AVBufferRef *device = filter_hw_device ? filter_hw_device->device_ref
- : hw_device_ctx;
- for (i = 0; i < fg->graph->nb_filters; i++) {
- fg->graph->filters[i]->hw_device_ctx = av_buffer_ref(device);
- if (!fg->graph->filters[i]->hw_device_ctx) {
- ret = AVERROR(ENOMEM);
- goto fail;
- }
- }
- }
+ ret = hw_device_setup_for_filter(fg);
+ if (ret < 0)
+ goto fail;
if (simple && (!inputs || inputs->next || !outputs || outputs->next)) {
const char *num_inputs;