History

lavfi: replace AVFilterContext.input/output_count with nb_inputs/outputs

This is more consistent with naming in the rest of Libav.

Anton Khirnov committed 14 years ago

Commit 9baeff91 parent 9d0bfc513 files · +94 −64Browse files

Showing the changes to libavfilter (12 of 13 files). Show all

Unified · Split

12 files
  1. libavfilter/af_amix.c +3 −3
  2. libavfilter/af_channelsplit.c +2 −2
  3. libavfilter/audio.c +1 −1
  4. libavfilter/avfilter.c +34 −24
  5. libavfilter/avfilter.h +9 −2
  6. libavfilter/avfiltergraph.c +17 −17
  7. libavfilter/formats.c +2 −2
  8. libavfilter/graphparser.c +2 −2
  9. libavfilter/internal.h +8 −2
  10. libavfilter/split.c +5 −5
  11. libavfilter/version.h +4 −1
  12. libavfilter/video.c +3 −3
libavfilter/af_amix.c+3−3
@@ -454,10 +454,10 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *buf) · 453 unmodified lines
454454 AVFilterLink *outlink = ctx->outputs[0];
455455 int i;
456456
457− for (i = 0; i < ctx->input_count; i++)
457+ for (i = 0; i < ctx->nb_inputs; i++)
458458 if (ctx->inputs[i] == inlink)
459459 break;
460− if (i >= ctx->input_count) {
460+ if (i >= ctx->nb_inputs) {
461461 av_log(ctx, AV_LOG_ERROR, "unknown input link\n");
462462 return;
463463 }
@@ -518,7 +518,7 @@ static void uninit(AVFilterContext *ctx) · 54 unmodified lines
518518 av_freep(&s->input_state);
519519 av_freep(&s->input_scale);
520520
521− for (i = 0; i < ctx->input_count; i++)
521+ for (i = 0; i < ctx->nb_inputs; i++)
522522 av_freep(&ctx->input_pads[i].name);
523523 }
524524
libavfilter/af_channelsplit.c+2−2
@@ -99,7 +99,7 @@ static int query_formats(AVFilterContext *ctx) · 98 unmodified lines
9999 ff_add_channel_layout(&in_layouts, s->channel_layout);
100100 ff_channel_layouts_ref(in_layouts, &ctx->inputs[0]->out_channel_layouts);
101101
102− for (i = 0; i < ctx->output_count; i++) {
102+ for (i = 0; i < ctx->nb_outputs; i++) {
103103 AVFilterChannelLayouts *out_layouts = NULL;
104104 uint64_t channel = av_channel_layout_extract_channel(s->channel_layout, i);
105105
@@ -115,7 +115,7 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *buf) · 9 unmodified lines
115115 AVFilterContext *ctx = inlink->dst;
116116 int i;
117117
118− for (i = 0; i < ctx->output_count; i++) {
118+ for (i = 0; i < ctx->nb_outputs; i++) {
119119 AVFilterBufferRef *buf_out = avfilter_ref_buffer(buf, ~AV_PERM_WRITE);
120120
121121 if (!buf_out)
libavfilter/audio.c+1−1
@@ -156,7 +156,7 @@ void ff_default_filter_samples(AVFilterLink *inlink, AVFilterBufferRef *samplesr · 155 unmodified lines
156156 {
157157 AVFilterLink *outlink = NULL;
158158
159− if (inlink->dst->output_count)
159+ if (inlink->dst->nb_outputs)
160160 outlink = inlink->dst->outputs[0];
161161
162162 if (outlink) {
libavfilter/avfilter.c+34−24
@@ -70,8 +70,8 @@ int avfilter_link(AVFilterContext *src, unsigned srcpad, · 69 unmodified lines
7070 {
7171 AVFilterLink *link;
7272
73− if (src->output_count <= srcpad || dst->input_count <= dstpad ||
74− src->outputs[srcpad] || dst->inputs[dstpad])
73+ if (src->nb_outputs <= srcpad || dst->nb_inputs <= dstpad ||
74+ src->outputs[srcpad] || dst->inputs[dstpad])
7575 return -1;
7676
7777 if (src->output_pads[srcpad].type != dst->input_pads[dstpad].type) {
@@ -138,7 +138,7 @@ int avfilter_config_links(AVFilterContext *filter) · 60 unmodified lines
138138 unsigned i;
139139 int ret;
140140
141− for (i = 0; i < filter->input_count; i ++) {
141+ for (i = 0; i < filter->nb_inputs; i ++) {
142142 AVFilterLink *link = filter->inputs[i];
143143
144144 if (!link) continue;
@@ -156,7 +156,7 @@ int avfilter_config_links(AVFilterContext *filter) · 11 unmodified lines
156156 return ret;
157157
158158 if (!(config_link = link->srcpad->config_props)) {
159− if (link->src->input_count != 1) {
159+ if (link->src->nb_inputs != 1) {
160160 av_log(link->src, AV_LOG_ERROR, "Source filters and filters "
161161 "with more than one input "
162162 "must set config_props() "
@@ -171,15 +171,15 @@ int avfilter_config_links(AVFilterContext *filter) · 8 unmodified lines
171171 }
172172
173173 if (link->time_base.num == 0 && link->time_base.den == 0)
174− link->time_base = link->src && link->src->input_count ?
174+ link->time_base = link->src && link->src->nb_inputs ?
175175 link->src->inputs[0]->time_base : AV_TIME_BASE_Q;
176176
177177 if (link->type == AVMEDIA_TYPE_VIDEO) {
178178 if (!link->sample_aspect_ratio.num && !link->sample_aspect_ratio.den)
179− link->sample_aspect_ratio = link->src->input_count ?
179+ link->sample_aspect_ratio = link->src->nb_inputs ?
180180 link->src->inputs[0]->sample_aspect_ratio : (AVRational){1,1};
181181
182− if (link->src->input_count) {
182+ if (link->src->nb_inputs) {
183183 if (!link->w)
184184 link->w = link->src->inputs[0]->w;
185185 if (!link->h)
@@ -249,7 +249,7 @@ int ff_poll_frame(AVFilterLink *link) · 63 unmodified lines
249249 if (link->srcpad->poll_frame)
250250 return link->srcpad->poll_frame(link);
251251
252− for (i = 0; i < link->src->input_count; i++) {
252+ for (i = 0; i < link->src->nb_inputs; i++) {
253253 int val;
254254 if (!link->src->inputs[i])
255255 return -1;
@@ -339,27 +339,31 @@ int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *in · 83 unmodified lines
339339 goto err;
340340 }
341341
342− ret->input_count = pad_count(filter->inputs);
343− if (ret->input_count) {
344− ret->input_pads = av_malloc(sizeof(AVFilterPad) * ret->input_count);
342+ ret->nb_inputs = pad_count(filter->inputs);
343+ if (ret->nb_inputs ) {
344+ ret->input_pads = av_malloc(sizeof(AVFilterPad) * ret->nb_inputs);
345345 if (!ret->input_pads)
346346 goto err;
347− memcpy(ret->input_pads, filter->inputs, sizeof(AVFilterPad) * ret->input_count);
348− ret->inputs = av_mallocz(sizeof(AVFilterLink*) * ret->input_count);
347+ memcpy(ret->input_pads, filter->inputs, sizeof(AVFilterPad) * ret->nb_inputs);
348+ ret->inputs = av_mallocz(sizeof(AVFilterLink*) * ret->nb_inputs);
349349 if (!ret->inputs)
350350 goto err;
351351 }
352352
353− ret->output_count = pad_count(filter->outputs);
354− if (ret->output_count) {
355− ret->output_pads = av_malloc(sizeof(AVFilterPad) * ret->output_count);
353+ ret->nb_outputs = pad_count(filter->outputs);
354+ if (ret->nb_outputs) {
355+ ret->output_pads = av_malloc(sizeof(AVFilterPad) * ret->nb_outputs);
356356 if (!ret->output_pads)
357357 goto err;
358− memcpy(ret->output_pads, filter->outputs, sizeof(AVFilterPad) * ret->output_count);
359− ret->outputs = av_mallocz(sizeof(AVFilterLink*) * ret->output_count);
358+ memcpy(ret->output_pads, filter->outputs, sizeof(AVFilterPad) * ret->nb_outputs);
359+ ret->outputs = av_mallocz(sizeof(AVFilterLink*) * ret->nb_outputs);
360360 if (!ret->outputs)
361361 goto err;
362362 }
363+#if FF_API_FOO_COUNT
364+ ret->output_count = ret->nb_outputs;
365+ ret->input_count = ret->nb_inputs;
366+#endif
363367
364368 *filter_ctx = ret;
365369 return 0;
@@ -367,10 +371,10 @@ int avfilter_open(AVFilterContext **filter_ctx, AVFilter *filter, const char *in · 1 unmodified line
367371 err:
368372 av_freep(&ret->inputs);
369373 av_freep(&ret->input_pads);
370− ret->input_count = 0;
374+ ret->nb_inputs = 0;
371375 av_freep(&ret->outputs);
372376 av_freep(&ret->output_pads);
373− ret->output_count = 0;
377+ ret->nb_outputs = 0;
374378 av_freep(&ret->priv);
375379 av_free(ret);
376380 return AVERROR(ENOMEM);
@@ -384,7 +388,7 @@ void avfilter_free(AVFilterContext *filter) · 7 unmodified lines
384388 if (filter->filter->uninit)
385389 filter->filter->uninit(filter);
386390
387− for (i = 0; i < filter->input_count; i++) {
391+ for (i = 0; i < filter->nb_inputs; i++) {
388392 if ((link = filter->inputs[i])) {
389393 if (link->src)
390394 link->src->outputs[link->srcpad - link->src->output_pads] = NULL;
@@ -397,7 +401,7 @@ void avfilter_free(AVFilterContext *filter) · 6 unmodified lines
397401 }
398402 av_freep(&link);
399403 }
400− for (i = 0; i < filter->output_count; i++) {
404+ for (i = 0; i < filter->nb_outputs; i++) {
401405 if ((link = filter->outputs[i])) {
402406 if (link->dst)
403407 link->dst->inputs[link->dstpad - link->dst->input_pads] = NULL;
@@ -453,14 +457,20 @@ void avfilter_insert_pad(unsigned idx, unsigned *count, size_t padidx_off, · 49 unmodified lines
453457 void avfilter_insert_inpad(AVFilterContext *f, unsigned index,
454458 AVFilterPad *p)
455459 {
456− ff_insert_pad(index, &f->input_count, offsetof(AVFilterLink, dstpad),
460+ ff_insert_pad(index, &f->nb_inputs, offsetof(AVFilterLink, dstpad),
457461 &f->input_pads, &f->inputs, p);
462+#if FF_API_FOO_COUNT
463+ f->input_count = f->nb_inputs;
464+#endif
458465 }
459466 void avfilter_insert_outpad(AVFilterContext *f, unsigned index,
460467 AVFilterPad *p)
461468 {
462− ff_insert_pad(index, &f->output_count, offsetof(AVFilterLink, srcpad),
469+ ff_insert_pad(index, &f->nb_outputs, offsetof(AVFilterLink, srcpad),
463470 &f->output_pads, &f->outputs, p);
471+#if FF_API_FOO_COUNT
472+ f->output_count = f->nb_outputs;
473+#endif
464474 }
465475 int avfilter_poll_frame(AVFilterLink *link)
466476 {
libavfilter/avfilter.h+9−2
@@ -488,15 +488,22 @@ struct AVFilterContext { · 487 unmodified lines
488488
489489 char *name; ///< name of this filter instance
490490
491− unsigned input_count; ///< number of input pads
491+#if FF_API_FOO_COUNT
492+ unsigned input_count; ///< @deprecated use nb_inputs
493+#endif
492494 AVFilterPad *input_pads; ///< array of input pads
493495 AVFilterLink **inputs; ///< array of pointers to input links
494496
495− unsigned output_count; ///< number of output pads
497+#if FF_API_FOO_COUNT
498+ unsigned output_count; ///< @deprecated use nb_outputs
499+#endif
496500 AVFilterPad *output_pads; ///< array of output pads
497501 AVFilterLink **outputs; ///< array of pointers to output links
498502
499503 void *priv; ///< private data for use by the filter
504+
505+ unsigned nb_inputs; ///< number of input pads
506+ unsigned nb_outputs; ///< number of output pads
500507 };
501508
502509 /**
libavfilter/avfiltergraph.c+17−17
@@ -109,7 +109,7 @@ static int graph_check_validity(AVFilterGraph *graph, AVClass *log_ctx) · 108 unmodified lines
109109 for (i = 0; i < graph->filter_count; i++) {
110110 filt = graph->filters[i];
111111
112− for (j = 0; j < filt->input_count; j++) {
112+ for (j = 0; j < filt->nb_inputs; j++) {
113113 if (!filt->inputs[j] || !filt->inputs[j]->src) {
114114 av_log(log_ctx, AV_LOG_ERROR,
115115 "Input pad \"%s\" for the filter \"%s\" of type \"%s\" not connected to any source\n",
@@ -118,7 +118,7 @@ static int graph_check_validity(AVFilterGraph *graph, AVClass *log_ctx) · 2 unmodified lines
118118 }
119119 }
120120
121− for (j = 0; j < filt->output_count; j++) {
121+ for (j = 0; j < filt->nb_outputs; j++) {
122122 if (!filt->outputs[j] || !filt->outputs[j]->dst) {
123123 av_log(log_ctx, AV_LOG_ERROR,
124124 "Output pad \"%s\" for the filter \"%s\" of type \"%s\" not connected to any destination\n",
@@ -144,7 +144,7 @@ static int graph_config_links(AVFilterGraph *graph, AVClass *log_ctx) · 19 unmodified lines
144144 for (i=0; i < graph->filter_count; i++) {
145145 filt = graph->filters[i];
146146
147− if (!filt->output_count) {
147+ if (!filt->nb_outputs) {
148148 if ((ret = avfilter_config_links(filt)))
149149 return ret;
150150 }
@@ -181,7 +181,7 @@ static int query_formats(AVFilterGraph *graph, AVClass *log_ctx) · 30 unmodified lines
181181 for (i = 0; i < graph->filter_count; i++) {
182182 AVFilterContext *filter = graph->filters[i];
183183
184− for (j = 0; j < filter->input_count; j++) {
184+ for (j = 0; j < filter->nb_inputs; j++) {
185185 AVFilterLink *link = filter->inputs[j];
186186 int convert_needed = 0;
187187
@@ -315,7 +315,7 @@ static int pick_format(AVFilterLink *link) · 127 unmodified lines
315315
316316 #define REDUCE_FORMATS(fmt_type, list_type, list, var, nb, add_format) \
317317 do { \
318− for (i = 0; i < filter->input_count; i++) { \
318+ for (i = 0; i < filter->nb_inputs; i++) { \
319319 AVFilterLink *link = filter->inputs[i]; \
320320 fmt_type fmt; \
321321 \
@@ -323,7 +323,7 @@ do { \ · 1 unmodified line
323323 continue; \
324324 fmt = link->out_ ## list->var[0]; \
325325 \
326− for (j = 0; j < filter->output_count; j++) { \
326+ for (j = 0; j < filter->nb_outputs; j++) { \
327327 AVFilterLink *out_link = filter->outputs[j]; \
328328 list_type *fmts; \
329329 \
@@ -380,19 +380,19 @@ static void swap_samplerates_on_filter(AVFilterContext *filter) · 50 unmodified lines
380380 int sample_rate;
381381 int i, j;
382382
383− for (i = 0; i < filter->input_count; i++) {
383+ for (i = 0; i < filter->nb_inputs; i++) {
384384 link = filter->inputs[i];
385385
386386 if (link->type == AVMEDIA_TYPE_AUDIO &&
387387 link->out_samplerates->format_count == 1)
388388 break;
389389 }
390− if (i == filter->input_count)
390+ if (i == filter->nb_inputs)
391391 return;
392392
393393 sample_rate = link->out_samplerates->formats[0];
394394
395− for (i = 0; i < filter->output_count; i++) {
395+ for (i = 0; i < filter->nb_outputs; i++) {
396396 AVFilterLink *outlink = filter->outputs[i];
397397 int best_idx, best_diff = INT_MAX;
398398
@@ -427,19 +427,19 @@ static void swap_channel_layouts_on_filter(AVFilterContext *filter) · 28 unmodified lines
427427 uint64_t chlayout;
428428 int i, j;
429429
430− for (i = 0; i < filter->input_count; i++) {
430+ for (i = 0; i < filter->nb_inputs; i++) {
431431 link = filter->inputs[i];
432432
433433 if (link->type == AVMEDIA_TYPE_AUDIO &&
434434 link->out_channel_layouts->nb_channel_layouts == 1)
435435 break;
436436 }
437− if (i == filter->input_count)
437+ if (i == filter->nb_inputs)
438438 return;
439439
440440 chlayout = link->out_channel_layouts->channel_layouts[0];
441441
442− for (i = 0; i < filter->output_count; i++) {
442+ for (i = 0; i < filter->nb_outputs; i++) {
443443 AVFilterLink *outlink = filter->outputs[i];
444444 int best_idx, best_score = INT_MIN;
445445
@@ -480,20 +480,20 @@ static void swap_sample_fmts_on_filter(AVFilterContext *filter) · 34 unmodified lines
480480 int format, bps;
481481 int i, j;
482482
483− for (i = 0; i < filter->input_count; i++) {
483+ for (i = 0; i < filter->nb_inputs; i++) {
484484 link = filter->inputs[i];
485485
486486 if (link->type == AVMEDIA_TYPE_AUDIO &&
487487 link->out_formats->format_count == 1)
488488 break;
489489 }
490− if (i == filter->input_count)
490+ if (i == filter->nb_inputs)
491491 return;
492492
493493 format = link->out_formats->formats[0];
494494 bps = av_get_bytes_per_sample(format);
495495
496− for (i = 0; i < filter->output_count; i++) {
496+ for (i = 0; i < filter->nb_outputs; i++) {
497497 AVFilterLink *outlink = filter->outputs[i];
498498 int best_idx, best_score = INT_MIN;
499499
@@ -549,10 +549,10 @@ static int pick_formats(AVFilterGraph *graph) · 49 unmodified lines
549549 for (i = 0; i < graph->filter_count; i++) {
550550 AVFilterContext *filter = graph->filters[i];
551551
552− for (j = 0; j < filter->input_count; j++)
552+ for (j = 0; j < filter->nb_inputs; j++)
553553 if ((ret = pick_format(filter->inputs[j])) < 0)
554554 return ret;
555− for (j = 0; j < filter->output_count; j++)
555+ for (j = 0; j < filter->nb_outputs; j++)
556556 if ((ret = pick_format(filter->outputs[j])) < 0)
557557 return ret;
558558 }
libavfilter/formats.c+2−2
@@ -330,13 +330,13 @@ void ff_formats_changeref(AVFilterFormats **oldref, AVFilterFormats **newref) · 329 unmodified lines
330330 { \
331331 int count = 0, i; \
332332 \
333− for (i = 0; i < ctx->input_count; i++) { \
333+ for (i = 0; i < ctx->nb_inputs; i++) { \
334334 if (ctx->inputs[i]) { \
335335 ref(fmts, &ctx->inputs[i]->out_fmts); \
336336 count++; \
337337 } \
338338 } \
339− for (i = 0; i < ctx->output_count; i++) { \
339+ for (i = 0; i < ctx->nb_outputs; i++) { \
340340 if (ctx->outputs[i]) { \
341341 ref(fmts, &ctx->outputs[i]->in_fmts); \
342342 count++; \
libavfilter/graphparser.c+2−2
@@ -226,7 +226,7 @@ static int link_filter_inouts(AVFilterContext *filt_ctx, · 225 unmodified lines
226226 {
227227 int pad, ret;
228228
229− for (pad = 0; pad < filt_ctx->input_count; pad++) {
229+ for (pad = 0; pad < filt_ctx->nb_inputs; pad++) {
230230 AVFilterInOut *p = *curr_inputs;
231231
232232 if (p) {
@@ -254,7 +254,7 @@ static int link_filter_inouts(AVFilterContext *filt_ctx, · 21 unmodified lines
254254 return AVERROR(EINVAL);
255255 }
256256
257− pad = filt_ctx->output_count;
257+ pad = filt_ctx->nb_outputs;
258258 while (pad--) {
259259 AVFilterInOut *currlinkn = av_mallocz(sizeof(AVFilterInOut));
260260 if (!currlinkn)
libavfilter/internal.h+8−2
@@ -183,16 +183,22 @@ void ff_insert_pad(unsigned idx, unsigned *count, size_t padidx_off, · 182 unmodified lines
183183 static inline void ff_insert_inpad(AVFilterContext *f, unsigned index,
184184 AVFilterPad *p)
185185 {
186− ff_insert_pad(index, &f->input_count, offsetof(AVFilterLink, dstpad),
186+ ff_insert_pad(index, &f->nb_inputs, offsetof(AVFilterLink, dstpad),
187187 &f->input_pads, &f->inputs, p);
188+#if FF_API_FOO_COUNT
189+ f->input_count = f->nb_inputs;
190+#endif
188191 }
189192
190193 /** Insert a new output pad for the filter. */
191194 static inline void ff_insert_outpad(AVFilterContext *f, unsigned index,
192195 AVFilterPad *p)
193196 {
194− ff_insert_pad(index, &f->output_count, offsetof(AVFilterLink, srcpad),
197+ ff_insert_pad(index, &f->nb_outputs, offsetof(AVFilterLink, srcpad),
195198 &f->output_pads, &f->outputs, p);
199+#if FF_API_FOO_COUNT
200+ f->output_count = f->nb_outputs;
201+#endif
196202 }
197203
198204 /**
libavfilter/split.c+5−5
@@ -59,7 +59,7 @@ static void split_uninit(AVFilterContext *ctx) · 58 unmodified lines
5959 {
6060 int i;
6161
62− for (i = 0; i < ctx->output_count; i++)
62+ for (i = 0; i < ctx->nb_outputs; i++)
6363 av_freep(&ctx->output_pads[i].name);
6464 }
6565
@@ -68,7 +68,7 @@ static void start_frame(AVFilterLink *inlink, AVFilterBufferRef *picref) · 2 unmodified lines
6868 AVFilterContext *ctx = inlink->dst;
6969 int i;
7070
71− for (i = 0; i < ctx->output_count; i++)
71+ for (i = 0; i < ctx->nb_outputs; i++)
7272 ff_start_frame(ctx->outputs[i],
7373 avfilter_ref_buffer(picref, ~AV_PERM_WRITE));
7474 }
@@ -78,7 +78,7 @@ static void draw_slice(AVFilterLink *inlink, int y, int h, int slice_dir) · 3 unmodified lines
7878 AVFilterContext *ctx = inlink->dst;
7979 int i;
8080
81− for (i = 0; i < ctx->output_count; i++)
81+ for (i = 0; i < ctx->nb_outputs; i++)
8282 ff_draw_slice(ctx->outputs[i], y, h, slice_dir);
8383 }
8484
@@ -87,7 +87,7 @@ static void end_frame(AVFilterLink *inlink) · 2 unmodified lines
8787 AVFilterContext *ctx = inlink->dst;
8888 int i;
8989
90− for (i = 0; i < ctx->output_count; i++)
90+ for (i = 0; i < ctx->nb_outputs; i++)
9191 ff_end_frame(ctx->outputs[i]);
9292
9393 avfilter_unref_buffer(inlink->cur_buf);
@@ -115,7 +115,7 @@ static void filter_samples(AVFilterLink *inlink, AVFilterBufferRef *samplesref) · 21 unmodified lines
115115 AVFilterContext *ctx = inlink->dst;
116116 int i;
117117
118− for (i = 0; i < ctx->output_count; i++)
118+ for (i = 0; i < ctx->nb_outputs; i++)
119119 ff_filter_samples(inlink->dst->outputs[i],
120120 avfilter_ref_buffer(samplesref, ~AV_PERM_WRITE));
121121 }
libavfilter/version.h+4−1
@@ -29,7 +29,7 @@ · 28 unmodified lines
2929 #include "libavutil/avutil.h"
3030
3131 #define LIBAVFILTER_VERSION_MAJOR 2
32−#define LIBAVFILTER_VERSION_MINOR 22
32+#define LIBAVFILTER_VERSION_MINOR 23
3333 #define LIBAVFILTER_VERSION_MICRO 0
3434
3535 #define LIBAVFILTER_VERSION_INT AV_VERSION_INT(LIBAVFILTER_VERSION_MAJOR, \
@@ -62,5 +62,8 @@ · 26 unmodified lines
6262 #ifndef FF_API_AVFILTERPAD_PUBLIC
6363 #define FF_API_AVFILTERPAD_PUBLIC (LIBAVFILTER_VERSION_MAJOR < 4)
6464 #endif
65+#ifndef FF_API_FOO_COUNT
66+#define FF_API_FOO_COUNT (LIBAVFILTER_VERSION_MAJOR < 4)
67+#endif
6568
6669 #endif // AVFILTER_VERSION_H
libavfilter/video.c+3−3
@@ -169,7 +169,7 @@ static void default_start_frame(AVFilterLink *inlink, AVFilterBufferRef *picref) · 168 unmodified lines
169169 {
170170 AVFilterLink *outlink = NULL;
171171
172− if (inlink->dst->output_count)
172+ if (inlink->dst->nb_outputs)
173173 outlink = inlink->dst->outputs[0];
174174
175175 if (outlink) {
@@ -220,7 +220,7 @@ static void default_end_frame(AVFilterLink *inlink) · 44 unmodified lines
220220 {
221221 AVFilterLink *outlink = NULL;
222222
223− if (inlink->dst->output_count)
223+ if (inlink->dst->nb_outputs)
224224 outlink = inlink->dst->outputs[0];
225225
226226 avfilter_unref_buffer(inlink->cur_buf);
@@ -261,7 +261,7 @@ static void default_draw_slice(AVFilterLink *inlink, int y, int h, int slice_dir · 34 unmodified lines
261261 {
262262 AVFilterLink *outlink = NULL;
263263
264− if (inlink->dst->output_count)
264+ if (inlink->dst->nb_outputs)
265265 outlink = inlink->dst->outputs[0];
266266
267267 if (outlink)

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