46 "ref[%p buf:%p data:%p linesize[%d, %d, %d, %d] pts:%"PRId64
" pos:%"PRId64,
52 ff_tlog(ctx,
" a:%d/%d s:%dx%d i:%c iskey:%d type:%c",
61 ff_tlog(ctx,
" cl:%"PRId64
"d n:%d r:%d",
67 ff_tlog(ctx,
"]%s", end ?
"\n" :
"");
78 return FFMPEG_CONFIGURATION;
83 #define LICENSE_PREFIX "libavfilter license: "
104 idx =
FFMIN(idx, *count);
112 if (!newpads || !newlinks)
115 memmove(*pads + idx + 1, *pads + idx,
sizeof(
AVFilterPad) * (*count - idx));
116 memmove(*links + idx + 1, *links + idx,
sizeof(
AVFilterLink*) * (*count - idx));
118 (*links)[idx] = NULL;
121 for (i = idx + 1; i < *
count; i++)
123 (*(
unsigned *)((
uint8_t *) (*links)[i] + padidx_off))++;
139 "Media type mismatch between the '%s' filter output pad %d (%s) and the '%s' filter input pad %d (%s)\n",
183 unsigned filt_srcpad_idx,
unsigned filt_dstpad_idx)
189 "between the filter '%s' and the filter '%s'\n",
193 if ((ret =
avfilter_link(filt, filt_dstpad_idx, link->
dst, dstpad_idx)) < 0) {
202 filt->
inputs[filt_srcpad_idx] = link;
225 for (i = 0; i < filter->
nb_inputs; i ++) {
230 if (!link->
src || !link->
dst) {
232 "Not all input and output are properly linked (%d).\n", i);
242 case AVLINK_STARTINIT:
254 "with more than one input "
255 "must set config_props() "
256 "callbacks on all outputs\n");
259 }
else if ((ret = config_link(link)) < 0) {
261 "Failed to configure output pad on %s\n",
266 switch (link->
type) {
283 }
else if (!link->
w || !link->
h) {
285 "Video source filters must set their output link's "
286 "width and height\n");
302 if ((ret = config_link(link)) < 0) {
304 "Failed to configure input pad on %s\n",
320 "link[%p s:%dx%d fmt:%s %s->%s]%s",
321 link, link->
w, link->
h,
331 "link[%p r:%d cl:%s fmt:%s %s->%s]%s",
373 int i,
min = INT_MAX;
383 min =
FFMIN(min, val);
432 NULL, NULL, NULL, NULL, 0, ctx->
priv);
435 "Error when evaluating the expression '%s' for enable\n",
459 if(!strcmp(cmd,
"ping")){
460 char local_res[256] = {0};
464 res_len =
sizeof(local_res);
467 if (res == local_res)
470 }
else if(!strcmp(cmd,
"enable")) {
481 #if !FF_API_NOCONST_GET_NAME
492 if (!strcmp(f->
name, name))
509 || (!input->start_frame && !input->end_frame));
516 last_filter = &filter->
next;
526 #if FF_API_OLD_FILTER_REGISTER
532 void avfilter_uninit(
void)
544 for (count = 0; pads->
name; count++)
584 #define OFFSET(x) offsetof(AVFilterContext, x)
585 #define FLAGS AV_OPT_FLAG_FILTERING_PARAM
605 int *
ret,
int nb_jobs)
609 for (i = 0; i < nb_jobs; i++) {
610 int r =
func(ctx, arg, i, nb_jobs);
691 #if FF_API_AVFILTER_OPEN
695 return *filter_ctx ? 0 :
AVERROR(ENOMEM);
731 for (i = 0; i < filter->
nb_inputs; i++) {
771 const char *shorthand = NULL;
783 &parsed_key, &
value);
836 #if FF_API_AVFILTER_INIT_FILTER
889 "options, but options were provided: %s.\n", args);
893 #if FF_API_OLD_FILTER_OPTS
894 if ( !strcmp(filter->
filter->
name,
"format") ||
897 !strcmp(filter->
filter->
name,
"frei0r_src") ||
914 if (!strcmp(filter->
filter->
name,
"frei0r") ||
917 else if (!strcmp(filter->
filter->
name,
"frei0r_src"))
920 while (nb_leading--) {
923 p = copy + strlen(copy);
929 deprecated = strchr(p,
':') != NULL;
931 if (!strcmp(filter->
filter->
name,
"aevalsrc")) {
933 while ((p = strchr(p,
':')) && p[1] !=
':') {
934 const char *epos = strchr(p + 1,
'=');
935 const char *spos = strchr(p + 1,
':');
936 const int next_token_is_opt = epos && (!spos || epos < spos);
937 if (next_token_is_opt) {
945 if (p && *p ==
':') {
947 memmove(p, p + 1, strlen(p));
950 while ((p = strchr(p,
':')))
955 "'|' to separate the list items.\n");
969 if (!strncmp(args,
"filter=", 7))
1004 return pads[pad_idx].
name;
1009 return pads[pad_idx].
type;
1040 switch (link->
type) {
1060 switch (link->
type) {
1082 "Processing command time:%f command:%s arg:%s\n",
1117 int insamples = frame->
nb_samples, inpos = 0, nb_samples;
1130 "Samples dropped due to memory allocation failure.\n");
1139 nb_samples =
FFMIN(insamples,
1143 nb_samples, nb_channels, link->
format);
1144 inpos += nb_samples;
1145 insamples -= nb_samples;