[FFmpeg-devel] [PATCH 25/33] fftools/ffmpeg_filter: stop disregarding user-specified pixel format

Michael Niedermayer michael at niedermayer.cc
Fri Jul 14 02:11:07 EEST 2023


On Thu, Jul 13, 2023 at 12:55:45PM +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.
> ---
>  doc/ffmpeg.texi                               |  3 +-
>  fftools/ffmpeg_filter.c                       | 35 +------------------
>  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 +-
>  8 files changed, 13 insertions(+), 47 deletions(-)
>  rename tests/ref/fate/{fitsdec-gbrap16le => fitsdec-gbrap16be} (79%)
>  rename tests/ref/fate/{fitsdec-gbrp16 => fitsdec-gbrp16be} (79%)
> 
> diff --git a/doc/ffmpeg.texi b/doc/ffmpeg.texi
> index 6769f8d305..08b11097b7 100644
> --- a/doc/ffmpeg.texi
> +++ b/doc/ffmpeg.texi
> @@ -1014,8 +1014,7 @@ Disable autoscale at your own risk.
>  @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.

The commit message makes this sound like a bugfix, while really this is
removing a documented feature.

It also breaks some scripts (fate is an example as it requires changes)

If the removial of that feature is intended, it should be argued somewhere
that this feature is never usefull.

To me as a lazy person it surely feels usefull to be able to ask for
both "exactly rgb" as well as something close to rgb (like bgr or gbrp)
without needing to know what each individual codec uses to return R,G,B

thx

[...]
-- 
Michael     GnuPG fingerprint: 9FF2128B147EF6730BADF133611EC787040B0FAB

Never trust a computer, one day, it may think you are the virus. -- Compn
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 195 bytes
Desc: not available
URL: <https://ffmpeg.org/pipermail/ffmpeg-devel/attachments/20230714/6cd7fef6/attachment.sig>


More information about the ffmpeg-devel mailing list