History

avfiltergraph: fix format selection.

The old code had two bugs: For audio filters, the format was not set. For video filters, if several links reference the same format list, the same format must be selected in the end. This is done by setting formats->format_count to 1: the other links sharing the reference will therefore have only one choice. If the heuristic does not pick the first format, the selected format must also be moved to the first position.

Nicolas George committed 14 years ago

Commit fd2cd641 parent 62b745a1 file · +3 −3Browse files

Showing the changes to libavfilter/avfiltergraph.c (1 of 1 file). Show all

Unified · Split

libavfilter/avfiltergraph.c+3−3
@@ -269,12 +269,12 @@ static void pick_format(AVFilterLink *link, AVFilterLink *ref) · 268 unmodified lines
269269 enum PixelFormat p = link->in_formats->formats[i];
270270 best= avcodec_find_best_pix_fmt2(best, p, ref->format, has_alpha, NULL);
271271 }
272− link->format = best;
273− }else
274− link->format = link->in_formats->formats[0];
272+ link->in_formats->formats[0] = best;
273+ }
275274 }
276275
277276 link->in_formats->format_count = 1;
277+ link->format = link->in_formats->formats[0];
278278 avfilter_formats_unref(&link->in_formats);
279279 avfilter_formats_unref(&link->out_formats);
280280

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