diff options
author | Niklas Haas <git@haasn.dev> | 2024-10-10 16:39:20 +0200 |
---|---|---|
committer | Niklas Haas <git@haasn.dev> | 2024-11-25 11:02:16 +0100 |
commit | bf738412e849bcb8c63a330dfb814281b3d97f6b (patch) | |
tree | aa8e89710e86bf1b2a375cf09cd09c302226d8f5 /tests/ref/lavf/zip1.gbrapf32le.exr | |
parent | c461dcf2910bd5062f4cfad6bfa3e240c9cc9a3c (diff) | |
download | ffmpeg-bf738412e849bcb8c63a330dfb814281b3d97f6b.tar.gz |
swscale/graph: add new high-level scaler dispatch mechanism
This interface has been designed from the ground up to serve as a new
framework for dispatching various scaling operations at a high level. This
will eventually replace the old ad-hoc system of using cascaded contexts,
as well as allowing us to plug in more dynamic scaling passes requiring
intermediate steps, such as colorspace conversions, etc.
The starter implementation merely piggybacks off the existing sws_init() and
sws_scale(), functions, though it does bring the immediate improvement of
splitting up cascaded functions and pre/post conversion functions into
separate filter passes, which allows them to e.g. be executed in parallel
even when the main scaler is required to be single threaded. Additionally,
a dedicated (multi-threaded) noop memcpy pass substantially improves
throughput of that fast path.
Follow-up commits will eventually expand this to move all of the scaling
decision logic into the graph init function, and also eliminate some of the
current special cases.
Sponsored-by: Sovereign Tech Fund
Signed-off-by: Niklas Haas <git@haasn.dev>
Diffstat (limited to 'tests/ref/lavf/zip1.gbrapf32le.exr')
0 files changed, 0 insertions, 0 deletions