[FFmpeg-devel] [PATCH 06/11] fftools/ffmpeg_filter: simplify choose_pix_fmts

Michael Niedermayer michael at niedermayer.cc
Fri Jan 12 23:10:46 EET 2024


On Fri, Jan 12, 2024 at 09:26:03AM +0100, Niklas Haas wrote:
> From: Niklas Haas <git at haasn.dev>
> 
> The only meaningful difference between choose_pix_fmts and the default
> code was the inclusion of an extra branch for `keep_pix_fmt` being true.
> 
> However, in this case, we either:
> 1. Force the specific `ofp->format` that we inherited from
>    ofilter_bind_ost, or if no format was set:
> 2. Print an empty format list
> 
> Both of these goals can be accomplished by simply moving the decision
> logic to ofilter_bind_ost, to avoid setting any format list when
> keep_pix_fmt is enabled. This is arguably cleaner as it moves format
> selection logic to a single function. In the case of branch 1, nothing
> else needs to be done as we already force the format provided in
> ofp->format, if any is set. Add an assertion to verify this assumption
> just in case.
> 
> (Side note: The "choose_*" family of functions are arguably misnomers,
> as they should really be called "print_*" - their current behavior is to
> print the relevant format lists to the `vf/af_format` filter arguments)
> ---
>  fftools/ffmpeg_filter.c | 49 ++++++++---------------------------------
>  1 file changed, 9 insertions(+), 40 deletions(-)


./ffmpeg -y -i fate-suite/lena.pnm -pix_fmt +yuv444p -vf scale -strict -1 -bitexact -threads 2 -thread_type slice file-2s-444.jpg

Assertion !ost->keep_pix_fmt || (!ofp->format && !ofp->formats) failed at fftools/ffmpeg_filter.c:1240
Aborted (core dumped)

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

I have never wished to cater to the crowd; for what I know they do not
approve, and what they approve I do not know. -- Epicurus
-------------- 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/20240112/35fff823/attachment.sig>


More information about the ffmpeg-devel mailing list