History

avfilter/vf_coreimage: Simplify query_formats

Using ff_set_common_formats_from_list() avoids using different functions depending upon how many inputs the filter has.

Andreas Rheinhardt committed 5 years ago

Commit f58abfb1 parent 10ad3cd1 file · +2 −35Browse files

Unified · Split

libavfilter/vf_coreimage.m+2−35
@@ -142,40 +142,7 @@ static int query_formats(AVFilterContext *fctx) · 141 unmodified lines
142 AV_PIX_FMT_NONE142 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
160static 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
181static int apply_filter(CoreImageContext *ctx, AVFilterLink *link, AVFrame *frame)148static 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};

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t