FFmpeg/doc
Niklas Haas 2a091d4f2e swscale: introduce new, dynamic scaling API
As part of a larger, ongoing effort to modernize and partially rewrite
libswscale, it was decided and generally agreed upon to introduce a new
public API for libswscale. This API is designed to be less stateful, more
explicitly defined, and considerably easier to use than the existing one.

Most of the API work has been already accomplished in the previous commits,
this commit merely introduces the ability to use sws_scale_frame()
dynamically, without prior sws_init_context() calls. Instead, the new API
takes frame properties from the frames themselves, and the implementation is
based on the new SwsGraph API, which we simply reinitialize as needed.

This high-level wrapper also recreates the logic that used to live inside
vf_scale for scaling interlaced frames, enabling it to be reused more easily
by end users.

Finally, this function is designed to simply copy refs directly when nothing
needs to be done, substantially improving throughput of the noop fast path.

Sponsored-by: Sovereign Tech Fund
Signed-off-by: Niklas Haas <git@haasn.dev>
2024-11-25 11:03:50 +01:00
..
doxy
examples doc/examples/decode_filter_video: switch to new buffersink options 2024-09-30 09:10:20 +02:00
.gitignore
APIchanges swscale: introduce new, dynamic scaling API 2024-11-25 11:03:50 +01:00
authors.texi Use https for repository links 2023-03-01 21:59:10 +01:00
bitstream_filters.texi doc/bitstream_filters: elaborate on h264_redundant_pps 2024-11-09 10:02:34 -06:00
bootstrap.min.css doc/html: fix styling issue with Texinfo 7.0 2023-11-08 23:54:23 +01:00
build_system.txt tools: add a fuzzer tool for bitstream filters 2019-12-05 20:49:15 -03:00
codecs.texi doc/codecs: add missing comma to introduction 2024-01-04 01:10:25 +01:00
community.texi doc/community: update conflict of interest rule according to GA vote 2024-04-01 15:38:28 +02:00
decoders.texi lavc/hevcdec: implement decoding MV-HEVC 2024-09-23 17:15:02 +02:00
default.css
demuxers.texi avformat/dvdvideodec: remove auto value for menu_lu option 2024-11-16 14:40:51 -06:00
developer.texi doc/developer: Document relationship between git accounts and MAINTAINERS 2024-11-20 21:28:14 +01:00
devices.texi
doxy-wrapper.sh doc: fix generating doxy with out-of-tree builds 2021-06-11 19:28:27 +02:00
Doxyfile doc/Doxyfile: Add FF_PAD_STRUCTURE to PREDEFINED 2022-10-17 09:55:19 +02:00
encoders.texi doc/av1_qsv: Add missed options 2024-09-04 12:14:57 +08:00
errno.txt
faq.texi doc/faq: use texi's @tie instead of 0xA0 for non-breaking space 2024-01-10 19:52:23 +01:00
fate.texi doc/fate: advise on --assert-level=2 2024-03-19 04:10:48 +01:00
fate_config.sh.template fate: Allow running multiple rounds of tests with differing settings 2023-12-19 13:34:25 +02:00
ffmpeg-bitstream-filters.texi
ffmpeg-codecs.texi
ffmpeg-devices.texi
ffmpeg-filters.texi
ffmpeg-formats.texi
ffmpeg-protocols.texi
ffmpeg-resampler.texi
ffmpeg-scaler.texi
ffmpeg-utils.texi
ffmpeg.texi Document stream specifier syntax change from 46cbe4ab5c 2024-11-09 02:45:58 +01:00
ffmpeg.txt
ffplay.texi fftools/ffplay: add hwaccel decoding support 2023-11-15 01:20:11 +08:00
ffprobe.texi fftools/ffprobe: add support for Stream Groups 2024-03-05 12:56:21 -03:00
ffprobe.xsd avformat: Add a new stream disposition for multilayer video 2024-07-07 12:38:50 -03:00
fftools-common-opts.texi Document stream specifier syntax change from 46cbe4ab5c 2024-11-09 02:45:58 +01:00
filter_design.txt
filters.texi lavfi/f_select: allow selection based on view ID 2024-09-23 17:11:40 +02:00
formats.texi avformat/demux: add duration_probesize AVOption 2024-04-02 19:53:40 +02:00
general.texi doc/general: move contents into a separate file. 2020-09-08 14:29:19 +02:00
general_contents.texi avcodec/rv60: RealVideo 6.0 decoder 2024-11-03 10:53:15 +11:00
git-howto.texi doc/git-howto: remove outdated line about gitolite 2024-11-08 15:59:13 +10:00
indevs.texi avdevice/decklink_dec: extend available actions on signal loss 2024-09-09 23:47:49 +02:00
infra.txt doc/infra: Document trac backup system 2024-11-20 21:28:13 +01:00
issue_tracker.txt
lexicon
libav-merge.txt
libavcodec.texi
libavdevice.texi
libavfilter.texi
libavformat.texi
libavutil.texi
libswresample.texi
libswscale.texi
mailing-list-faq.texi doc/mailing-list-faq: remove dead link 2024-08-14 18:25:37 +02:00
Makefile doc: use HOSTEXESUF when calling print_options 2024-04-24 00:09:38 +02:00
metadata.texi doc/muxers: add ffmetadata 2024-03-18 17:59:19 +01:00
mips.txt doc/mips: Update list of files with MIPS copyright notice 2024-05-27 19:04:08 +02:00
multithreading.txt avcodec/codec_internal: Remove FF_CODEC_CAP_ALLOCATE_PROGRESS 2024-04-19 13:18:04 +02:00
muxers.texi libavformat/hlsplaylist: add subtitle_varname for naming subtitle streams 2024-10-13 23:01:59 +08:00
nut.texi
optimization.txt configure: drop yasm support 2024-10-06 01:32:47 +02:00
outdevs.texi avdevice: deprecate sdl outdev 2024-02-28 10:28:49 +01:00
patchwork
platform.texi configure: drop yasm support 2024-10-06 01:32:47 +02:00
print_options.c
protocols.texi avformat/http: Add support for Retry-After header 2024-04-25 15:21:25 +01:00
rate_distortion.txt
resampler.texi swresample/swresample: add a used channel layout option using the new API 2023-02-19 18:28:45 -03:00
scaler.texi doc/swscaler: explain default Lanczos parameter 2019-05-27 21:32:33 +05:30
snow.txt
style.min.css
swresample.txt
swscale.txt
t2h.init
t2h.pm doc/html: support texinfo 7.0 2023-11-08 23:53:19 +01:00
tablegen.txt
texi2pod.pl doc/texi2pod: support @float. 2020-09-08 14:29:19 +02:00
texidep.pl configure, etc: switch to shebang without space 2024-04-09 16:01:24 +02:00
transforms.md x86/tx_float: add 15xN PFA FFT AVX SIMD 2022-09-23 12:35:27 +02:00
undefined.txt
utils.texi avutil/channel_layout: add Binaural channels and layout 2024-11-13 12:38:04 -03:00
writing_filters.txt Update missed irc links 2021-06-18 18:58:25 +02:00