diff options
author | Anton Khirnov <anton@khirnov.net> | 2023-04-25 23:32:04 +0200 |
---|---|---|
committer | Anton Khirnov <anton@khirnov.net> | 2023-05-02 10:59:24 +0200 |
commit | 1dcae45ecbbc489d46695b41f92edf13efdca653 (patch) | |
tree | 78cc3b3f423025b4e5741d539fadcc71e832380b /fftools/ffmpeg_filter.c | |
parent | 87ced7aee08536551c7616c1229adc74802cf7f9 (diff) | |
download | ffmpeg-1dcae45ecbbc489d46695b41f92edf13efdca653.tar.gz |
fftools/ffmpeg_filter: factorize allocating InputFilter
Diffstat (limited to 'fftools/ffmpeg_filter.c')
-rw-r--r-- | fftools/ffmpeg_filter.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/fftools/ffmpeg_filter.c b/fftools/ffmpeg_filter.c index 8246ffca77..a9242fcd11 100644 --- a/fftools/ffmpeg_filter.c +++ b/fftools/ffmpeg_filter.c @@ -203,6 +203,21 @@ static OutputFilter *ofilter_alloc(FilterGraph *fg) return ofilter; } +static InputFilter *ifilter_alloc(FilterGraph *fg) +{ + InputFilter *ifilter; + + ifilter = ALLOC_ARRAY_ELEM(fg->inputs, fg->nb_inputs); + ifilter->graph = fg; + ifilter->format = -1; + + ifilter->frame_queue = av_fifo_alloc2(8, sizeof(AVFrame*), AV_FIFO_FLAG_AUTO_GROW); + if (!ifilter->frame_queue) + report_and_exit(AVERROR(ENOMEM)); + + return ifilter; +} + void fg_free(FilterGraph **pfg) { FilterGraph *fg = *pfg; @@ -281,14 +296,8 @@ int init_simple_filtergraph(InputStream *ist, OutputStream *ost) ost->filter = ofilter; - ifilter = ALLOC_ARRAY_ELEM(fg->inputs, fg->nb_inputs); + ifilter = ifilter_alloc(fg); ifilter->ist = ist; - ifilter->graph = fg; - ifilter->format = -1; - - ifilter->frame_queue = av_fifo_alloc2(8, sizeof(AVFrame*), AV_FIFO_FLAG_AUTO_GROW); - if (!ifilter->frame_queue) - report_and_exit(AVERROR(ENOMEM)); ist_filter_add(ist, ifilter, 1); @@ -379,17 +388,11 @@ static void init_input_filter(FilterGraph *fg, AVFilterInOut *in) } av_assert0(ist); - ifilter = ALLOC_ARRAY_ELEM(fg->inputs, fg->nb_inputs); + ifilter = ifilter_alloc(fg); ifilter->ist = ist; - ifilter->graph = fg; - ifilter->format = -1; ifilter->type = ist->st->codecpar->codec_type; ifilter->name = describe_filter_link(fg, in, 1); - ifilter->frame_queue = av_fifo_alloc2(8, sizeof(AVFrame*), AV_FIFO_FLAG_AUTO_GROW); - if (!ifilter->frame_queue) - report_and_exit(AVERROR(ENOMEM)); - ist_filter_add(ist, ifilter, 0); } |