48 #define LICENSE_PREFIX "libavfilter license: "
58 idx =
FFMIN(idx, *count);
62 memmove(*pads +idx+1, *pads +idx,
sizeof(
AVFilterPad) * (*count-idx));
63 memmove(*links+idx+1, *links+idx,
sizeof(
AVFilterLink*) * (*count-idx));
68 for (i = idx+1; i < *count; i++)
70 (*(
unsigned *)((
uint8_t *) *links[i] + padidx_off))++;
84 "Media type mismatch between the '%s' filter output pad %d and the '%s' filter input pad %d\n",
85 src->
name, srcpad, dst->
name, dstpad);
104 unsigned filt_srcpad_idx,
unsigned filt_dstpad_idx)
110 "between the filter '%s' and the filter '%s'\n",
114 if ((ret =
avfilter_link(filt, filt_dstpad_idx, link->
dst, dstpad_idx)) < 0) {
123 filt->
inputs[filt_srcpad_idx] = link;
146 for (i = 0; i < filter->
nb_inputs; i ++) {
154 case AVLINK_STARTINIT:
166 "with more than one input "
167 "must set config_props() "
168 "callbacks on all outputs\n");
171 }
else if ((ret = config_link(link)) < 0) {
173 "Failed to configure output pad on %s\n",
192 }
else if (!link->
w || !link->
h) {
194 "Video source filters must set their output link's "
195 "width and height\n");
201 if ((ret = config_link(link)) < 0) {
203 "Failed to configure input pad on %s\n",
219 "link[%p s:%dx%d fmt:%-16s %-16s->%-16s]%s",
220 link, link->
w, link->
h,
230 "link[%p r:%d cl:%s fmt:%-16s %-16s->%-16s]%s",
252 int i,
min = INT_MAX;
262 min =
FFMIN(min, val);
268 #define MAX_REGISTERED_AVFILTERS_NB 64
278 for (i = 0; registered_avfilters[i]; i++)
279 if (!strcmp(registered_avfilters[i]->name, name))
280 return registered_avfilters[i];
296 return filter ? ++filter : ®istered_avfilters[0];
301 memset(registered_avfilters, 0,
sizeof(registered_avfilters));
312 for(count = 0; pads->
name; count ++) pads ++;
399 for (i = 0; i < filter->
nb_inputs; i++) {
400 if ((link = filter->
inputs[i])) {
413 if ((link = filter->
outputs[i])) {
446 return pads[pad_idx].
name;
451 return pads[pad_idx].
type;
464 int perms = frame->
perms;
478 "Copying data in avfilter (have perms %x, need %x, reject %x)\n",
481 switch (link->
type) {
490 default:
return AVERROR(EINVAL);
498 switch (link->
type) {
509 default:
return AVERROR(EINVAL);