41 snprintf(buf, buf_size,
"%s%s%s%s%s%s",
55 "ref[%p buf:%p refcount:%d perms:%s data:%p linesize[%d, %d, %d, %d] pts:%"PRId64
" pos:%"PRId64,
61 ff_tlog(ctx,
" a:%d/%d s:%dx%d i:%c iskey:%d type:%c",
70 ff_tlog(ctx,
" cl:%"PRId64
"d n:%d r:%d",
76 ff_tlog(ctx,
"]%s", end ?
"\n" :
"");
86 return FFMPEG_CONFIGURATION;
91 #define LICENSE_PREFIX "libavfilter license: "
110 idx =
FFMIN(idx, *count);
114 memmove(*pads +idx+1, *pads +idx,
sizeof(
AVFilterPad) * (*count-idx));
115 memmove(*links+idx+1, *links+idx,
sizeof(
AVFilterLink*) * (*count-idx));
117 (*links)[idx] =
NULL;
120 for (i = idx+1; i < *count; i++)
122 (*(
unsigned *)((
uint8_t *) *links[i] + padidx_off))++;
136 "Media type mismatch between the '%s' filter output pad %d (%s) and the '%s' filter input pad %d (%s)\n",
180 unsigned filt_srcpad_idx,
unsigned filt_dstpad_idx)
186 "between the filter '%s' and the filter '%s'\n",
190 if ((ret =
avfilter_link(filt, filt_dstpad_idx, link->
dst, dstpad_idx)) < 0) {
199 filt->
inputs[filt_srcpad_idx] = link;
223 for (i = 0; i < filter->
nb_inputs; i ++) {
235 case AVLINK_STARTINIT:
247 "with more than one input "
248 "must set config_props() "
249 "callbacks on all outputs\n");
252 }
else if ((ret = config_link(link)) < 0) {
254 "Failed to configure output pad on %s\n",
259 switch (link->
type) {
276 }
else if (!link->
w || !link->
h) {
278 "Video source filters must set their output link's "
279 "width and height\n");
295 if ((ret = config_link(link)) < 0) {
297 "Failed to configure input pad on %s\n",
313 "link[%p s:%dx%d fmt:%s %s->%s]%s",
314 link, link->
w, link->
h,
324 "link[%p r:%d cl:%s fmt:%s %s->%s]%s",
357 int i,
min = INT_MAX;
367 min =
FFMIN(min, val);
385 if(!strcmp(cmd,
"ping")){
394 #define MAX_REGISTERED_AVFILTERS_NB 256
404 for (i = 0; registered_avfilters[i]; i++)
405 if (!strcmp(registered_avfilters[i]->name, name))
406 return registered_avfilters[i];
417 "Maximum number of registered filters %d reached, "
418 "impossible to register filter with name '%s'\n",
426 || (!input->start_frame && !input->end_frame));
435 return filter ? ++filter : ®istered_avfilters[0];
440 memset(registered_avfilters, 0,
sizeof(registered_avfilters));
451 for(count = 0; pads->
name; count ++) pads ++;
475 if ((*filter_ptr)->priv_class == prev)
479 if (prev && !(*filter_ptr))
484 if ((*filter_ptr)->priv_class)
485 return (*filter_ptr)->priv_class;
576 for (i = 0; i < filter->
nb_inputs; i++) {
577 if ((link = filter->
inputs[i])) {
590 if ((link = filter->
outputs[i])) {
628 return pads[pad_idx].
name;
633 return pads[pad_idx].
type;
660 frame->
perms &= ~ src->rej_perms;
661 perms = frame->
perms;
670 "Copying data in avfilter (have perms %x, need %x, reject %x)\n",
674 switch (link->
type) {
683 default:
return AVERROR(EINVAL);
691 switch (link->
type) {
702 default:
return AVERROR(EINVAL);
711 "Processing command time:%f command:%s arg:%s\n",
739 "Samples dropped due to memory allocation failure.\n");