Hi. Apparently, we have almost coverage for cases where the format negotiation in libavfilter is not straightforward.
Disabling swap_samplerates() and swap_channel_layouts() (in libavfilter/avfiltergraph.c) does not cause any test to fail. (Disabling swap_sample_fmts() is expected to change nothing because it is completely overridden by the logic in pick_format().) Setting ref=NULL in the video branch of pick_format() causes the following tests to fail: fate-filter-alphaextract_alphamerge_yuv fate-filter-histogram-levels fate-filter-vectorscope_color fate-filter-vectorscope_color2 fate-filter-vectorscope_color3 fate-filter-vectorscope_color4 fate-filter-vectorscope_gray fate-filter-vectorscope_xy In the audio branch: fate-filter-adelay fate-filter-channelmap-one-int fate-filter-channelmap-one-str fate-filter-channelsplit fate-filter-hls-append fate-filter-hls fate-filter-join So that makes a little coverage, but not really intentional. I will be adding a way to observe the negotiation to implement tests. If somebody wants to help libavfilter move forward, and in particular open the way for subtitles filters, finding simple graphs where swap_*() and the logic in pick_format() makes a difference would be a very useful task. See the long documentation for AVFilterNegotiation in libavfilter/formats.h for explanations of what these functions do. In short, when there are several possible formats on the output of a filter but the input is already determined, they chose the one that is most similar. Regards, -- Nicolas George
signature.asc
Description: PGP signature
_______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-requ...@ffmpeg.org with subject "unsubscribe".