avconv: add a function for determining whether a filtergraph is simple

This makes the code easier to read.
pull/228/head
Anton Khirnov 9 years ago
parent 58640fe89e
commit 49670e4218
  1. 4
      avconv.c
  2. 1
      avconv.h
  3. 6
      avconv_filter.c

@ -2123,7 +2123,7 @@ static int transcode_init(void)
ist = input_streams[i]; ist = input_streams[i];
for (j = 0; j < ist->nb_filters; j++) { for (j = 0; j < ist->nb_filters; j++) {
if (ist->filters[j]->graph->graph_desc) { if (!filtergraph_is_simple(ist->filters[j]->graph)) {
av_log(NULL, AV_LOG_INFO, " Stream #%d:%d (%s) -> %s", av_log(NULL, AV_LOG_INFO, " Stream #%d:%d (%s) -> %s",
ist->file_index, ist->st->index, ist->dec ? ist->dec->name : "?", ist->file_index, ist->st->index, ist->dec ? ist->dec->name : "?",
ist->filters[j]->name); ist->filters[j]->name);
@ -2144,7 +2144,7 @@ static int transcode_init(void)
continue; continue;
} }
if (ost->filter && ost->filter->graph->graph_desc) { if (ost->filter && !filtergraph_is_simple(ost->filter->graph)) {
/* output from a complex graph */ /* output from a complex graph */
av_log(NULL, AV_LOG_INFO, " %s", ost->filter->name); av_log(NULL, AV_LOG_INFO, " %s", ost->filter->name);
if (nb_filtergraphs > 1) if (nb_filtergraphs > 1)

@ -449,6 +449,7 @@ int guess_input_channel_layout(InputStream *ist);
int configure_filtergraph(FilterGraph *fg); int configure_filtergraph(FilterGraph *fg);
int configure_output_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out); int configure_output_filter(FilterGraph *fg, OutputFilter *ofilter, AVFilterInOut *out);
int ist_in_filtergraph(FilterGraph *fg, InputStream *ist); int ist_in_filtergraph(FilterGraph *fg, InputStream *ist);
int filtergraph_is_simple(FilterGraph *fg);
FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost); FilterGraph *init_simple_filtergraph(InputStream *ist, OutputStream *ost);
int init_complex_filtergraph(FilterGraph *fg); int init_complex_filtergraph(FilterGraph *fg);

@ -691,7 +691,7 @@ static int configure_input_filter(FilterGraph *fg, InputFilter *ifilter,
int configure_filtergraph(FilterGraph *fg) int configure_filtergraph(FilterGraph *fg)
{ {
AVFilterInOut *inputs, *outputs, *cur; AVFilterInOut *inputs, *outputs, *cur;
int ret, i, simple = !fg->graph_desc; int ret, i, simple = filtergraph_is_simple(fg);
const char *graph_desc = simple ? fg->outputs[0]->ost->avfilter : const char *graph_desc = simple ? fg->outputs[0]->ost->avfilter :
fg->graph_desc; fg->graph_desc;
@ -760,3 +760,7 @@ int ist_in_filtergraph(FilterGraph *fg, InputStream *ist)
return 0; return 0;
} }
int filtergraph_is_simple(FilterGraph *fg)
{
return !fg->graph_desc;
}

Loading…
Cancel
Save