Skip to content

Conversation

cN3rd
Copy link

@cN3rd cN3rd commented Oct 8, 2021

VapourSynth got a big API change in R55 which broke compatibility with many plugins.

Note that I almost didn't change any code in the plugin, apart from adding Plugin::Version. I still need to figure out how to get a number out of the release tag, but it shouldn't be too complicated.

Tested only under windows.

@msg7086
Copy link
Member

msg7086 commented Oct 8, 2021

Thanks for the PR.

I have no idea about vsAPI v4. Does it completely break compatibility? Like, what if I use new v4 plugins with v3 API VS? Is it possible to have one plugin interface working with both old and new APIs?

@DJATOM
Copy link

DJATOM commented Oct 8, 2021

It's actually not backward compatible. Yet APIv3 plugins works with APIv4 host. Sometimes there's inefficient cache usage and maybe other drawbacks but in general it's not so critical. There's a post on doom9 from Myrsloik that describes stuff better:
doom9pic

@AkarinVS
Copy link
Contributor

AkarinVS commented Oct 9, 2021

In reality though, for video plugins, there are almost no benefits for updating to APIv4.

Unless you try very hard to expose both APIv3 and APIv4 interfaces, migrating to APIv4 means losing support for all previous VS versions. On the other hand, APIv4 VS can use APIv3 filters just fine. Contrary to popular belief, there is no performance penalty for using APIv3 filters in APIv4 VS (even the source filters that make use of nfMakeLinear, there is no performance differences whatsoever because APIv4 VS contains a proper workaround.)

@msg7086
Copy link
Member

msg7086 commented Oct 9, 2021

In that case, I'm thinking maybe we can keep 2 branches together for now, where v3 being the main one, and when most of us are on v4 then we can switch over. What do you guys think?

@DJATOM
Copy link

DJATOM commented Oct 9, 2021

I'm fine with that decision.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants