[FFmpeg-devel] [PATCH v2 14/17] fftools/ffmpeg_filter: simplify choose_pix_fmts

Michael Niedermayer michael at niedermayer.cc
Wed Apr 10 04:13:02 EEST 2024


On Mon, Apr 08, 2024 at 02:57:18PM +0200, 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(-)

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

Press [q] to stop, [?] for help
Assertion !ost->keep_pix_fmt || (!ofp->format && !ofp->formats) failed at fftools/ffmpeg_filter.c:1314
Aborted (core dumped)


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

The real ebay dictionary, page 2
"100% positive feedback" - "All either got their money back or didnt complain"
"Best seller ever, very honest" - "Seller refunded buyer after failed scam"
-------------- 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/20240410/938493d8/attachment.sig>


More information about the ffmpeg-devel mailing list