Using ff_set_common_formats_from_list() avoids using different functions depending upon how many inputs the filter has.
Unified · Split
| @@ -142,40 +142,7 @@ static int query_formats(AVFilterContext *fctx) · 141 unmodified lines | |||
| 142 | AV_PIX_FMT_NONE | 142 | AV_PIX_FMT_NONE |
| 143 | }; | 143 | }; |
| 144 | 144 | ||
| 145 | AVFilterFormats *inout_formats; | 145 | return ff_set_common_formats_from_list(fctx, inout_fmts_rgb); |
| 146 | int ret; | ||
| 147 | |||
| 148 | if (!(inout_formats = ff_make_format_list(inout_fmts_rgb))) { | ||
| 149 | return AVERROR(ENOMEM); | ||
| 150 | } | ||
| 151 | |||
| 152 | if ((ret = ff_formats_ref(inout_formats, &fctx->inputs[0]->outcfg.formats)) < 0 || | ||
| 153 | (ret = ff_formats_ref(inout_formats, &fctx->outputs[0]->incfg.formats)) < 0) { | ||
| 154 | return ret; | ||
| 155 | } | ||
| 156 | |||
| 157 | return 0; | ||
| 158 | } | ||
| 159 | |||
| 160 | static int query_formats_src(AVFilterContext *fctx) | ||
| 161 | { | ||
| 162 | static const enum AVPixelFormat inout_fmts_rgb[] = { | ||
| 163 | AV_PIX_FMT_ARGB, | ||
| 164 | AV_PIX_FMT_NONE | ||
| 165 | }; | ||
| 166 | |||
| 167 | AVFilterFormats *inout_formats; | ||
| 168 | int ret; | ||
| 169 | |||
| 170 | if (!(inout_formats = ff_make_format_list(inout_fmts_rgb))) { | ||
| 171 | return AVERROR(ENOMEM); | ||
| 172 | } | ||
| 173 | |||
| 174 | if ((ret = ff_formats_ref(inout_formats, &fctx->outputs[0]->incfg.formats)) < 0) { | ||
| 175 | return ret; | ||
| 176 | } | ||
| 177 | |||
| 178 | return 0; | ||
| 179 | } | 146 | } |
| 180 | 147 | ||
| 181 | static int apply_filter(CoreImageContext *ctx, AVFilterLink *link, AVFrame *frame) | 148 | static int apply_filter(CoreImageContext *ctx, AVFilterLink *link, AVFrame *frame) |
| @@ -683,5 +650,5 @@ const AVFilter ff_vsrc_coreimagesrc = { · 501 unmodified lines | |||
| 683 | .priv_class = &coreimagesrc_class, | 650 | .priv_class = &coreimagesrc_class, |
| 684 | .inputs = NULL, | 651 | .inputs = NULL, |
| 685 | FILTER_OUTPUTS(vsrc_coreimagesrc_outputs), | 652 | FILTER_OUTPUTS(vsrc_coreimagesrc_outputs), |
| 686 | .query_formats = query_formats_src, | 653 | .query_formats = query_formats, |
| 687 | }; | 654 | }; |