0
0
mirror of https://github.com/mpv-player/mpv.git synced 2024-09-20 12:02:23 +02:00
mpv/DOCS
Crend King 6031a0e173 vf_vapoursynth: upgrade to VapourSynth API v4
VapourSynth introduced their version 4 API in R55, 3 years ago. mpv is
still using the deprecated version 3. I think it is good to migrate
before VapourSynth completely removes it.

The most impacted area is the video format. Previously we have a fixed
table of supported formats, each represented by an integer. In v4, the
integer is replaced by pointer to the full struct of the format.

Second, the way to create video filter is changed. Previously caller
needs to supply a "initialization" callback to `createFilter()`, which
sets up video info etc. In v4, video info is prepared first, passed to
the `createVideoFilter2()` and we get back the node.

Also, previously mpv was using the `fmSerial` filter mode, which means
VapourSynth 1) can only request one frame from mpv at a time, and 2) the
order of frames requested must be sequential. I propose to change it to
the parallel request mode, which requests multiple frames at a time in
semi random order. The reasons are, for 1), the get frame function,
`infiltGetFrame()`, unlocks the mutex during output image generation,
thus can benefit from parallel requests. For 2) thanks to the frame
buffer, unordered frame requests are acceptable. Just make sure the
buffer is large enough.

Third, the way VapourSynth scripting environment works change. In v4,
the scripting API is operated through struct pointer, much like the
exist `vsapi` pointer. The "finalize" function is also no longer needed.
2024-06-14 00:25:18 +02:00
..
interface-changes vf_vapoursynth: upgrade to VapourSynth API v4 2024-06-14 00:25:18 +02:00
man stats.lua: display file tags 2024-06-09 00:58:48 +02:00
client-api-changes.rst DOCS/client-api-changes.rst: fix formatting 2024-04-18 16:13:57 +02:00
compatibility.rst DOCS/compatibility.rst: add requirement when changing default values 2024-05-20 18:07:38 +02:00
compile-windows.md DOCS/compile-windows.md: improve Windows build documentation 2024-06-08 01:15:56 +02:00
contribute.md DOCS/contribute.md: require interface change begin with type 2024-06-08 23:08:43 +02:00
edl-mpv.rst edl: add a way to add tags 2021-05-11 22:18:40 +02:00
encoding.rst DOCS/encoding: remove the legacy option syntax 2022-07-07 21:12:57 -04:00
interface-changes.rst DOCS/interface-changes: fix formatting 2024-06-08 23:08:43 +02:00
mplayer-changes.rst DOCS: make mentions of macOS consistent 2024-02-21 20:46:53 +01:00
release-policy.md DOCS: document the new way to handle interface changes 2024-03-20 22:38:56 +00:00
tech-overview.txt DOCS/tech-overview.txt: add builtin.conf to etc/ description 2024-03-11 21:01:01 +01:00