On Fri, Jul 07, 2023 at 11:48:38AM +0200, Anton Khirnov wrote: > When the user explicitly specifies a pixel format that is not supported > by the encoder, ffmpeg CLI will currently use some heuristics to pick > another supported format. This is wrong and the correct action here is > to fail. > > Surprisingly, a number of FATE tests are affected by this and actually > use a different pixel format than is specified in the makefiles. > --- > fftools/ffmpeg_filter.c | 36 ++----------------- > tests/fate/fits.mak | 6 ++-- > tests/fate/lavf-video.mak | 2 +- > tests/fate/vcodec.mak | 4 +-- > .../{fitsdec-gbrap16le => fitsdec-gbrap16be} | 4 +-- > .../fate/{fitsdec-gbrp16 => fitsdec-gbrp16be} | 4 +-- > tests/ref/lavf/gif | 2 +- > 7 files changed, 13 insertions(+), 45 deletions(-) > rename tests/ref/fate/{fitsdec-gbrap16le => fitsdec-gbrap16be} (79%) > rename tests/ref/fate/{fitsdec-gbrp16 => fitsdec-gbrp16be} (79%) This also seems to break the user interface and seems to violates what is documented: (unless iam too tired and mix something up here) @item -pix_fmt[:@var{stream_specifier}] @var{format} (@emph{input/output,per-stream}) Set pixel format. Use @code{-pix_fmts} to show all the supported pixel formats. If the selected pixel format can not be selected, ffmpeg will print a warning and select the best pixel format supported by the encoder. If @var{pix_fmt} is prefixed by a @code{+}, ffmpeg will exit with an error if the requested pixel format can not be selected, and automatic conversions inside filtergraphs are disabled. If @var{pix_fmt} is a single @code{+}, ffmpeg selects the same pixel format as the input (or graph output) and automatic conversions are disabled. [...] -- Michael GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB Take away the freedom of one citizen and you will be jailed, take away the freedom of all citizens and you will be congratulated by your peers in Parliament.